Booked Scheduler の管理

アプリケーション管理者(Application Administrators)の役割をもつユーザーには、メニューにアプリケーション管理の項目が表示されます。管理操作はこの中にあります。

はじめに

Booked Scheduler ではどのような種類のリソースでも管理できます。例えば、会議室やテニスコート、レンタカーはすべてリソースです。スケジュールとは、あらかじめ決められた時間枠の集まりと考えます。すべてのリソースはスケジュールの一部でなければなりません。

今の段階では、すべてのユーザーが、どのリソースであっても利用時間を予約することができます。

スケジュールの設定

Booked Scheduler をインストールするとき、何もしなくてもデフォルトスケジュールが作成されます。メニューの「スケジュール」から現在操作対象になっているスケジュールの属性を表示し変更することできます。

標準レイアウト

どの曜日を週の始まりの日にするか、そこから何日分一度に表示するかを設定することができます。また、当日の日付からスケジュールを表示することもできます。この場合、「表示を始める日」を「今日」に設定してください。

それぞれのスケジュールで、時間枠を定義しておかなくてはなりません。時間枠は各スケジュールのリソースをどのように利用できるかを決めるものです。「時間枠の変更」をクリックすると時間枠エディターが表示されます。ここで予約の時間区分を作成し、予約可能か予約不能かに分けます。時間区分をどう分けるかは自由ですが、1日(24時間)のすべての時間を網羅するようにしなくてはなりません。一行に一つの時間区分を書きます。時刻の表記は24時間制です。時間区分に任意で表示ラベルを付けることも出来ます。

ラベルの無い時間区分は次のように書きます。10:25 - 16:50

ラベルを付ける場合は次のように書きます。10:25 - 16:50 スケジュール時間4

時間区分設定ウィンドウの下は、支援ツールになっています。開始時刻から終了時刻までを指定の間隔で分割したものを、「予約可能な時間枠」に自動記入することができます。

カスタムレイアウト

カスタムレイアウトに切り替えることで、スケジュールの時間枠をすべてカスタマイズすることができます。これにより、特定の日時の特定の時間帯を時間枠に設定できます。カスタムレイアウトに切り替えると、既存の標準レイアウトの時間枠は削除されます。

スケジュールの管理者

グループ単位で管理権限を設定することができます。あるグループにスケジュール管理者の権限を設定したい場合、スケジュール管理者(Schedule Administrator)の権限をグループに付与します。「管理」メニューの「グループ」から設定してください。すると、「スケジュール管理」でそのグループを選ぶことができるようになります。

スケジュール管理者は、割り当てられたスケジュールに関しては、アプリケーション管理者(Application Administrators)と同じ権限を持ちます。スケジュールの詳細を変更したり、利用不能時間を設定したり、予約の管理や承認をすることができます。

利用可能な期間の設定

季節や学期など特定の期間のみスケジュールを利用可能にしたい場合、利用可能な期間を設定することができます。その期間中のみにしか、予約を作成することができません。

同時に複数の予約をとる

あるリソースを同時に複数の人によって予約できるようにしたい場合、スケジュールの設定を変更してこれを許可することができます。この設定はスケジュールに属するすべてのリソースに適用されます。

リソースの設定

リソースの表示と管理は、メニューの「リソース」から行います。リソースの属性や運用規則を変更することができます。

Booked Scheduler での「リソース」とは、部屋や設備のような予約制にしたいあらゆるもののことです。リソースを予約制にするために、適したスケジュールに割り当ててください。リソースはスケジュールの時間枠をそのまま使用します。

最小予約時間を設定すると、それより短い予約は作成できなくなります。デフォルトでは「制限なし」です。

最大予約時間を設定すると、それより長い予約は作成できなくなります。デフォルトでは「制限なし」です。

リソースを承認が必要であると設定すると、作成した予約は承認されるまで保留状態になります。デフォルトでは承認は不要です。

リソースを「新規ユーザーも利用可能」に設定しておくと、新しいユーザーも登録後すぐにそのリソースを予約できるようになります。デフォルトは「利用可能」になっています。

日/時/分の単位で、予約にリードタイム(先行時間)を要求することができます。例えば、月曜の10:30 AMからの予約を取りたいとし、予約には1日のリードタイムが必要であるとします。この場合、日曜の10:30 AMをすぎると予約できません。デフォルトでは「現在時刻から予約可能」です。

日/時/分の単位で、長時間の予約を禁止できます。例えば、今が月曜の10:30 AMだとし、このリソースでは予約の終了時刻を1日以上先にすることができない設定にしてあるとします。この場合、終了時刻が火曜の10:30 AMを超える予約は出来ません。デフォルトでは「制限なし」です。

リソースによっては使用できる人数に制限があります(例えば、8人しか入れない会議室)。リソースの定員を設定すれば、主催者を除く参加者数をそれ以内に抑えることができます。デフォルトは無制限です。

チェックイン/アウトを必要とすることで、実際、予約したリソースをいつ使い始め、いつ使い終わったのかを記録することができます。加えて、もしユーザーが設定した時間のうちにチェックインを済まさなかった場合、その予約を自動的に解除することができます。自動的に解除したい場合は、自動解除ジョブを設定する必要があります。

アプリケーション管理者は定員の制限を受けません。

リソース管理者

グループ単位で管理権限を設定することができます。あるグループにリソース管理者の権限を設定したい場合、リソース管理者(Resource Administrator)の権限をグループに付与します。「管理」メニューの「グループ」から設定してください。すると、「リソース」の中でそのグループを選択することができるようになります。

リソース管理者は、割り当てられたりソースに関しては、アプリケーション管理者と同じ権限を持ちます。リソースの詳細を変更したり、利用不能時間を設定したり、予約の管理や承認をすることができます。

リソースの画像

予約ページでリソースの詳細を見るときに表示されるリソースの画像を設定することができます。 そのためには php_gd2 がインストールされ php.ini で有効になっていなくてなりません。 詳細はこちら

リソースの状態

リソースを「利用可」に設定すると、ユーザーが予約を作成できるようになります。「利用不可」にすると、リソースはスケジュールに表示されますが、管理者以外はそのリソースを予約することができなくなります。「非表示にする」に設定すると、スケジュールに表示されなくなり、誰も予約を作成することができなくなります。

リソースグループ

リソースグループは、リソースをまとめたり余計なものを表示しないための簡単な方法です。予約を作成するときに、グループに登録されているすべてのリソースをまとめて予約することができるようになります。もしグループの中のあるリソースがほかのスケジュールに割り当てられている場合、共通のスケジュールのリソースのみが予約されます。

リソースグループを使う場合、それぞれのリソースが、少なくとも一つのグループに割り当てられなければなりません。グループの階層関係の都合で、グループから解除されたリソースが、予約できなくなると言うことが起こりえます。

ドラッグ&ドロップでリソースグループを並び替えることができます。

グループの名前を右クリックすると、操作メニューが開きます

リソースをグループ名にドラッグ&ドロップすると、グループに追加できます

リソースタイプ

リソースタイプを設定することで、同じ属性を持つリソースをまとめて管理することができます。リソースタイプにカスタム属性を設定することで、同じリソースタイプのすべてのリソースに、その属性が適用されます。

備品の設定

このシステムでいう「備品」とは予約時間中に使用する物品のことと考えてかまいません。例えば、カンファレンスルームで使うプロジェクターや椅子です。

備品はメニューの「備品」から表示し操作することができます。設定されている備品の数量を超えて、同時に予約することはできません。

予約量を制限する

リソース制限を設定することで、予約できる量を制限することができます。Booked Scheduler のリソース制限システムは柔軟にできていて、予約時間と回数で制限をかけることができます。

また、複数のリソース制限は同時に適用されます。1日に5時間までという制限があり、さらに1日に4回までという制限もあるとします。ユーザーは「1時間の予約を4回」作成することはできますが、「2時間の予約を3回」は作成できません。このようにして、様々な条件の制限を作成することができます

グループに適用したリソース制限は、グループ内の個々のユーザーに適用されます。グループの予約を集計してから適用するわけではありません。

リソース制限は、スケジュールに設定されたタイムゾーンによって計算されると言うことを覚えておいてください。たとえば一日単位の制限は、「スケジュールの」タイムゾーンでの真夜中を集計の起点・終点とします。 ユーザーのタイムゾーンではありません。

アプリケーション管理者は予約量の制限を受けません。

お知らせの設定

お知らせは Booked Scheduler のユーザーに注意事項を知らせる簡単な方法です。

メニューの「お知らせ」から、ユーザーのダッシュボードに表示されるお知らせを管理することができます。お知らせにはオプションとして開始日と終了日があります。また任意で優先度を付けることができ、1から10の順に並べ替えて表示します。

お知らせのテキストではHTMLを使うことができ、リンクや画像を埋め込むことができます。

グループの設定

Booked Scheduler でのグループはユーザーを組織化し、リソース使用の可否を決定し、アプリケーション内での役割を定めます。グループにリソースへの権限を設定すると、グループに所属する全ユーザーに適用されます。個別のユーザーに追加で権限を与えることもできます。

役割

役割はユーザーのグループに特定の操作を行う権限を与えます。

アプリケーション管理者(Application Administrator):この役割を与えられたグループに属するユーザーは、管理特権を行使することができます。この役割はリソースを予約するのにほとんど制限を受けません。アプリケーションのあらゆる箇所を管理できます。

グループ管理者(Group Administrator):この役割を与えられたグループに属するユーザーは、グループを管理し、またグループのユーザーの代理で予約を行うことができます。グループ管理者になるためには、グループ管理者(Group Administrators)の権限を割り当ててもらわなければなりません。

リソース管理者(Resource Administrator):この役割を与えられたグループに属するユーザーは、そのグループが権限を持つすべてのリソースについて、アプリケーション管理者と同じ権限を持ちます。リソースの詳細や利用不能時間の設定、予約の管理や承認を行えます

スケジュール管理者(Schedule Administrator):この役割を与えられたグループに属するユーザーは、そのグループが権限を持つスケジュール上のすべてのリソースについて、アプリケーション管理者と同じ権限を持ちます。スケジュールの詳細や利用不能時間の設定、予約の管理や承認を行えます。

予約の管理

メニューの「予約」で予約の表示と管理を行うことができます。デフォルトの設定では、過去14日分および将来14日分の予約が表示されます。見つけたいものによって粒度を大きくも小さくもできます。このツールで予約の様子をすばやく見ることができます。また予約のリストをCSV形式で出力することができます。

予約の承認

$conf['settings']['reservation']['updates.require.approval'] を はい(true) に設定すると、すべての予約リクエストは一旦保留された状態になります。予約は、管理者が承認して始めて有効になります。管理者は予約管理ツールで承認保留中の予約を表示し承認することができます。保留中の予約はハイライト表示されています。

予約の色

ユーザーやリソース、およびカスタム属性の値によって、予約の色を変えることができます。スケジュールやカレンダービューの予約の背景色が、この色で表示されます。

利用不能時間

利用不能時間を設定すると、特定の時間・期間に予約が作成できなくなります。一時的にリソースが使用できないときや、一定期間ごとに使用不能にしたいときにこの機能を利用できます。管理者を含めすべてのユーザーが予約を作成できません。

ユーザーの管理

メニューの「ユーザー」から、ユーザーを登録したりユーザーを一覧することができます。このツールでは次のようなことができます。ユーザー個々にリソースの使用権限を変更する。アカウントを使用不能にしたり削除する。ユーザーパスワードをリセットする。ユーザー情報の詳細を編集する。新規ユーザーを追加するのもここです。ユーザー自身での登録を無効にしている場合、この機能は無くてはならないものでしょう。

ユーザーがリソースを予約するには、権限を与えなければなりません。ユーザーに直に権限を与えても良いですし、グループを利用することもできます。ユーザーは、所属しているすべてのグループから権限を受け継ぎます。

カスタム属性

カスタム属性は、Booked Scheduler において強力な拡張機能の一つです。予約、リソース、リソース種類、そしてユーザーに対して、属性を追加することができます。

属性は、一行のテキストボックス、複数行のテキストボックス、リストから選択、チェックボックス、のいずれかを指定できます。すべての属性は必須項目に設定することができます。テキストボックスの場合は、オプションで、検証式を設定できます。検証式は有効な正規表現でなければなりません。たとえば、数値の入力のみ受け付ける場合、検証式は /\d+/ となります。

ユーザー、リソース、リソース種類の属性は、特定のエンティティーのみに制限することができます。これらの属性は「適用先」プロパティーを持ちます。適用先プロパティーを設定すると、そのエンティティーのみで属性値が取得されるようになります。

予約の属性は予約処理の最中に取得されます。特定のユーザーやリソースについてのみ、その属性を取得したいときは、「特定の場合のみ取得」をオンにした上で、その属性が表示されるべき条件を選択してください。

ユーザーの属性は、ユーザーのプロファイルを登録・更新するときに取得されます。

リソースの属性はリソース管理時に取得され、リソースの詳細を表示するときに見ることができます。

リソース種類の属性は、リソース種類の管理時に取得され、その詳細を表示するときに見ることができます。

「管理者のみ」の属性は、その予約について管理者権限を持つ人にのみ表示されます。

「プライベート」の属性は、その予約の所有者、もしくはその予約について管理者権限を持つ人にのみ表示されます。

カスタム属性はプラグインからも利用でき、Booked Scheduler の機能拡張に利用することができます。

レポート作成

全てのアプリケーション管理者、グループ管理者、リソース管理者、スケジュール管理者はレポートを利用できます。レポート機能を利用できるユーザーとしてログイン中であれば、メニューにレポートが表示されます。 Booked Scheduler では予め汎用のレポートを用意しており、リストや図として表示すること、CSVとして出力すること、印刷することができます。 それらに加えてメニューの「新しいレポートを作る」からその場でレポートを作成することができます。このレポートもリスト表示、図表示、出力、印刷が可能です。 さらに自作のレポートを保存しておき、メニューの「保存されたレポート」から呼び出すことができます。レポート結果をメールで送信することもできます。

利用料

利用料を使うと、ユーザーの使用量を制御することができます。使用するためには、まずはじめにアプリケーションの設定で有効にしなければなりません。設定は $conf['settings']['credits']['enabled'] の項目です。 有効にすると、繁忙期および閑散期それぞれに利用料レートを設定することができます。繁忙期は、アプリケーション管理のスケジュールの項目から、スケジュールごとに設定することができます。

予約を作成する際、そのユーザーの利用料の制限を超える場合、予約作成は却下されます。管理者はユーザーの詳細を管理する際に利用料も管理できます。

予約への支払い

予約に課金する場合、ユーザーは利用料を購入できます。$conf['settings']['credits']['allow.purchase'] を「はい」に設定してください。管理者はアプリケーション設定の「支払い」項目から、単位あたりの利用料に対する価格や、支払い方法の設定、支払い履歴の下記人をすることができます。

Booked は、Stripe と PayPal の二つの支払い方法をサポートします。利用料を購入するためには、少なくとも一つの支払い方法を有効にしなければなりません。

Stripe を設定する

支払い管理画面にて「支払い手段」タブをクリックして、Stripe を有効にします。Booked はStripe Checkoutを使用します。この方法は Stripe API を使用します。アカウントを持っていなければ、まずはじめにStripeアカウントを作成します。Stripe API 画面にて、Stripe API キー をコピーし、Booked の Stripe 設定画面に貼り付け、保存します。支払いのシミュレーションをしたい場合は、テスト API キーを使用してください。実際にユーザーから料金を徴収するときには、ライブ API キーを使用します。

PayPal を設定する

支払い管理画面にて「支払い手段」タブをクリックして、PayPal を有効にします。Booked はExpress Checkoutを使用します。この方法は PayPal API を使用します。アカウントを持っていなければ、まずはじめにPayPalアカウントを作成します。続いてPayPal Developerを開きます。REST API apps の画面で新しいアプリを作成します。アプリ詳細の画面を開くと、サンドボックスとライブの両方の API 認証情報にアクセスできます。PayPal アプリの認証情報を Booked の PayPal 設定画面に貼り付け、保存します。支払いのシミュレーションをしたい場合は、サンドボックスの認証情報を使用します。実際にユーザーから料金を徴収するときには、ライブの認証情報を使用します。

タブレットでの表示

Booked Scheduler はリソースの現状をタブレットで見やすく表示することができます。この表示を行うには、https://schedule.kibousou.com/Web/resource-display.php を開き、表示したいリソースを選択します。この画面から、ユーザーは使用状況の確認や予約へのチェックイン、新しい予約の作成が行えます。一例として、リソースのそばにタブレットを設置し、リアルタイムに利用状況の確認を行い、その場で予約を入れる、という使い方ができます。

Slack 統合

Slack から Booked の予約作成を行うことができます。このためには、あなたの Slack ワークスペースにてSlack アプリを作成する必要があります。

アプリを作成するとき、Add features and functionality 画面にて Slash Commands を選んでください。コマンドに名前をつけます。この名前は覚えておかなければなりませんので、/book とすることをおすすめします。Request URLを https://schedule.kibousou.com/Web/integrate/slack.php に設定し、Usage Hintをリソース名にします。

これで Slack に/book resource-nameコマンドを打ち込むと、予約を入れる操作が始まります。 resource-name には実際のリソースの名前を入力してください。リソース名を指示しない場合、通常の予約ページが開きます。

ジョブ実行

予約のリマインダー

予約の開始時刻または終了時刻に先立ってリマインダーメールを受け取れるように出来ます。この機能を有効にするには $conf['settings']['enable.email'] および $conf['settings']['reservation']['enable.reminders'] の両方を true にしなくてはなりません。更に、サーバーのスケジュールタスクが Jobs/sendreminders.php を実行するようにしなくてはなりません。

Linux の場合は cron ジョブを使えるでしょう。実行するコマンドは php の後ろに Jobs/sendreminders.php をフルパスで指示したものです。このサーバーの sendreminders.php へのフルパスは /home/kibousou/www/booked/Jobs/sendreminders.php です。

見本としてですが、次のようになるでしょう。* * * * * php -f /home/kibousou/www/booked/Jobs/sendreminders.php

ホスティングサービスを使っていて cPanel が使用できるなら cPanelで cron ジョブを設定する方法 が近道です。「Common Settings」メニューから「Every Minute(毎分)」を選択するか、minute(分)、hour(時)、day(日)、month(月)、weekday(曜日)のすべてを * にしてください。

Windows の場合は タスクスケジューラを使うことが出来るでしょう。タスクは頻繁に(悪くとも5分ごとに)実行されるように設定しなければなりません。実行するタスクは php の後ろに Booked Scheduler\Jobs\sendreminders.php のフルパスを指定したものです。例えば、c:\PHP\php.exe -f c:\inetpub\wwwroot\Booked\Jobs\sendreminders.php のようになります。

自動的に予約を解除する

チェックイン・アウトの機能を使っている場合、チェックインがなされなかったときに自動的にリソースを解放することができます。

Linux の場合は cron ジョブを使えるでしょう。実行するコマンドは php の後ろに Jobs/autorelease.php をフルパスで指示したものです。このサーバーの autorelease.php へのフルパスは /home/kibousou/www/booked/Jobs/autorelease.php です。

たとえば次のような cron の設定になるでしょう。* * * * * php -f /home/kibousou/www/booked/Jobs/autorelease.php

ホスティングサービスを使っていて cPanel が使用できるなら cPanelで cron ジョブを設定する方法 が近道です。「Common Settings」メニューから「Every Minute(毎分)」を選択するか、minute(分)、hour(時)、day(日)、month(月)、weekday(曜日)のすべてを * にしてください。

Windows の場合は タスクスケジューラを使うことが出来るでしょう。タスクは頻繁に(悪くとも5分ごとに)実行されるように設定しなければなりません。実行するタスクは php の後ろに Booked Scheduler\Jobs\autorelease.php のフルパスを指定したものです。例えば、c:\PHP\php.exe -f c:\inetpub\wwwroot\Booked\Jobs\autorelease.php のようになります。

順番待ちの通知

順番待ちの通知機能を有効にしている場合、リソースが利用可能になったときにユーザーに自動で通知を送ることができます。

Linux の場合は cron ジョブを使えるでしょう。実行するコマンドは php の後ろに Jobs/sendwaitlist.php をフルパスで指示したものです。このサーバーの sendwaitlist.php へのフルパスは /home/kibousou/www/booked/Jobs/sendwaitlist.php です。

たとえば次のような cron の設定になるでしょう。* * * * * php -f /home/kibousou/www/booked/Jobs/sendwaitlist.php

ホスティングサービスを使っていて cPanel が使用できるなら cPanelで cron ジョブを設定する方法 が近道です。「Common Settings」メニューから「Every Minute(毎分)」を選択するか、minute(分)、hour(時)、day(日)、month(月)、weekday(曜日)のすべてを * にしてください。

Windows の場合は タスクスケジューラを使うことが出来るでしょう。タスクは頻繁に(悪くとも5分ごとに)実行されるように設定しなければなりません。実行するタスクは php の後ろに Booked Scheduler\Jobs\sendwaitlist.php のフルパスを指定したものです。例えば、c:\PHP\php.exe -f c:\inetpub\wwwroot\Booked\Jobs\sendwaitlist.php のようになります。

チェックイン忘れの通知

予約のチェックインがなされなかったときに、ユーザーに通知を送ることができます。

Linux の場合は cron ジョブを使えるでしょう。実行するコマンドは php の後ろに Jobs/sendmissedcheckin.php をフルパスで指示したものです。このサーバーの sendmissedcheckin.php へのフルパスは /home/kibousou/www/booked/Jobs/sendmissedcheckin.php です。

たとえば次のような cron の設定になるでしょう。* * * * * php -f /home/kibousou/www/booked/Jobs/sendmissedcheckin.php

ホスティングサービスを使っていて cPanel が使用できるなら cPanelで cron ジョブを設定する方法 が近道です。「Common Settings」メニューから「Every Minute(毎分)」を選択するか、minute(分)、hour(時)、day(日)、month(月)、weekday(曜日)のすべてを * にしてください。

Windows の場合は タスクスケジューラを使うことが出来るでしょう。タスクは頻繁に(悪くとも5分ごとに)実行されるように設定しなければなりません。実行するタスクは php の後ろに Booked Scheduler\Jobs\sendmissedcheckin.php のフルパスを指定したものです。例えば、c:\PHP\php.exe -f c:\inetpub\wwwroot\Booked\Jobs\sendmissedcheckin.php のようになります。

アプリケーション設定

$conf['settings']['app.title']ブラウザーで表示されるこのアプリケーションのタイトル

$conf['settings']['default.timezone']デフォルトで使用するタイムゾーンを指定。設定されなければサーバーのタイムゾーンが使われます。設定できる値は次のリンク先を参照:http://php.net/manual/ja/timezones.php

$conf['settings']['allow.self.registration']ユーザー自身でアカウントを作成できるか否か。デフォルトはいいえ(false)

$conf['settings']['admin.email']アプリケーション管理者のメールアドレスを記入

$conf['settings']['default.page.size']リストを表示する際のページあたりの表示件数の初期値

$conf['settings']['enable.email']Booked Scheduler がメールを送信するか否か

$conf['settings']['default.language']ユーザーのデフォルトの言語。Booked Scheduler の lang ディレクトリにある言語を指定します

$conf['settings']['script.url']Booked Scheduler のルートへの公開URL。bookings.php や calendar.php などのファイルを含んでいる Web という名前のディレクトリがあるので、そこを指定すべきです。この値が // で始まる場合、プロトコル(http か https)は自動的に検出されます

$conf['settings']['image.upload.directory']画像を保存する物理的なディレクトリのパス。このディレクトリは書き込み可能でなければなりません(755 を推奨します)。完全ディレクトリ名(フルパス)でも Booked Scheduler のルートディレクトリからの相対パスでも、どちらでもかまいません

$conf['settings']['image.upload.url']アップロードされた画像を表示することができる URL。完全な URL または $conf['settings']['script.url'] からの相対 URL のいずれかです

$conf['settings']['cache.templates']テンプレートをキャッシュするか否か。tpl_c が書き込み可能なら、はい(true)にすることを推奨します

$conf['settings']['use.local.js.libs']JavaScript ライブラリーに、ローカルのものを使うかどうかを決めます。いいえ(false)にした場合、CDN からファイルが配信されます。パフォーマンス改善とネットワーク帯域の改善のため、いいえ(false)にすることを推奨します。デフォルトはいいえ(false)です

$conf['settings']['registration.captcha.enabled']ユーザーアカウントの登録時にキャプチャを使うか否か

$conf['settings']['registration.require.email.activation']ユーザーは最初にログインする前に、メールでアカウントの有効化をする必要があるかどうか

$conf['settings']['registration.auto.subscribe.email']ユーザーを登録する際に、各種通知メールを受け取るように設定するかどうか

$conf['settings']['registration.notify.admin']新しいユーザーが登録された際に、管理者に通知を送るかどうか

$conf['settings']['inactivity.timeout']ユーザーが自動的にログアウトするまでの時間を分で指定。自動ログアウトを無効にしたいときは何も入力しない

$conf['settings']['name.format']ファーストネーム、ラストネームの表示フォーマット。デフォルトは '{first} {last}'

$conf['settings']['css.extension.file']追加で読み込む CSS ファイルの完全または相対 URL。デフォルトのスタイルを上書きするためにも、完全なCSSとしても使用できます。Booked Scheduler のスタイルを変更しないなら空白のままにしておく

$conf['settings']['disable.password.reset']パスワードリセット機能を無効化するかどうか。 デフォルトはいいえ(false)

$conf['settings']['home.url']ロゴをクリックした際に移動するページのURL。デフォルトはユーザーのホームページ

$conf['settings']['logout.url']ログアウト後にユーザーが移動するページ。デフォルトはログインページ

$conf['settings']['default.homepage']新規ユーザーのデフォルトのホームページ。1 = ダッシュボード、2 = スケジュール、3 = マイカレンダー、4 = リソースカレンダー。デフォルトは 1(ダッシュボード)

$conf['settings']['schedule']['use.per.user.colors']予約の表示色を管理者がユーザー毎に設定できるか否か。デフォルトはいいえ(false)

$conf['settings']['schedule']['show.inaccessible.resources']ユーザーが予約できないリソースをスケジュール中に表示するか否か

$conf['settings']['schedule']['reservation.label']予約状況ページで各予約に表示する値。使用できる値は「使用できるトークン」を参照してください

$conf['settings']['schedule']['hide.blocked.periods']予約できない時間帯を予約ページに表示しない。デフォルトはいいえ(false)

$conf['settings']['ics']['subscription.key']カレンダーの購読を許可したい場合、ここに推測が難しい値を設定します。何も設定されない場合は購読が無効になります

$conf['settings']['privacy']['view.schedules']認証されていないユーザーが予約状況を見ることができるかどうか。デフォルトは いいえ(false)

$conf['settings']['privacy']['view.reservations']認証されていないユーザーが予約の詳細を見ることができるかどうか。デフォルトはいいえ(false)

$conf['settings']['privacy']['hide.user.details']管理者でなくても他のユーザーの情報を見ることができるかどうか。デフォルトは いいえ(false)

$conf['settings']['privacy']['hide.reservation.details']管理者でなくても予約の詳細を見ることができるかどうか。true、false、past、current、future が設定できます。デフォルトはいいえ(false)

$conf['settings']['reservation']['start.time.constraint']予約を作成または編集できる時間を設定します。future、current、none が設定できます。future にすると、選択した時間枠の開始時刻が過去の場合、予約の作成・編集ができません。current にすると、選択した時間枠の終了時刻が過去になるまでは、予約の作成・編集ができます。None にすると、制約がありません。デフォルトは future です

$conf['settings']['reservation']['updates.require.approval']承認済みの予約を変更する際に、再度承認が必要かどうか。デフォルトはいいえ(false)

$conf['settings']['reservation']['prevent.participation']はい(true)にすると、ユーザーが別のユーザーを予約に追加・招待できなくなる。デフォルトはいいえ(false)

$conf['settings']['reservation']['prevent.recurrence']はい(true)にすると、繰り返しの予約を作成できなくなる。デフォルトはいいえ(false)

$conf['settings']['reservation']['enable.reminders']Eメールで予約のリマインダーを受け取れるようにするかどうか。この機能を使うには、リマインダーのジョブを設定しなければなりません。デフォルトはいいえ(false)

$conf['settings']['reservation']['allow.guest.participation']未登録のユーザーを予約に招待できるかどうか。デフォルトはいいえ(false)

$conf['settings']['reservation']['allow.wait.list']時間枠が空いたときにユーザーが通知を受けられるかどうか。この機能を使うには、順番待ち通知のジョブを設定しなければなりません。デフォルトはいいえ(false)

$conf['settings']['reservation']['checkin.minutes.prior']予約開始時刻の何分前からチェックインできるようにするか。デフォルトは5分

$conf['settings']['reservation']['default.start.reminder']予約開始時刻のどれだけ前にリマインダーを送るかのデフォルト値を指定。書き方は「数値 単位」。たとえば、10 minutes、1 hours、4 days など。デフォルトは指定なし

$conf['settings']['reservation']['default.end.reminder']予約終了時刻のどれだけ前にリマインダーを送るかのデフォルト値を指定。書き方は「数値 単位」。たとえば、10 minutes、1 hours、4 days など。デフォルトは指定なし

$conf['settings']['reservation']['title.required']予約の作成・更新時に件名を必須にするかどうか。デフォルトはいいえ(false)

$conf['settings']['reservation']['description.required']予約の作成・更新時に説明を必須にするかどうか。デフォルトはいいえ(false)

$conf['settings']['reservation.notify']['resource.admin.add']予約が作成されたとき、全てのリソース管理者にメールを送るかどうか。デフォルトはいいえ(false)

$conf['settings']['reservation.notify']['resource.admin.update']予約が更新されたとき、全てのリソース管理者にメールを送るかどうか。デフォルトはいいえ(false)

$conf['settings']['reservation.notify']['resource.admin.delete']予約が削除されたとき、全てのリソース管理者にメールを送るかどうか。デフォルトはいいえ(false)

$conf['settings']['reservation.notify']['application.admin.add']予約が作成されたとき、全てのアプリケーション管理者にメールを送るかどうか。デフォルトはいいえ(false)

$conf['settings']['reservation.notify']['application.admin.update']予約が更新されたとき、全てのアプリケーション管理者にメールを送るかどうか。デフォルトはいいえ(false)

$conf['settings']['reservation.notify']['application.admin.delete']予約が削除されたとき、全てのアプリケーション管理者にメールを送るかどうか。デフォルトはいいえ(false)

$conf['settings']['reservation.notify']['group.admin.add']予約が作成されたとき、全てのグループ管理者にメールを送るかどうか。デフォルトはいいえ(false)

$conf['settings']['reservation.notify']['group.admin.update']予約が更新されたとき、全てのグループ管理者にメールを送るかどうか。デフォルトはいいえ(false)

$conf['settings']['reservation.notify']['group.admin.delete']予約が削除されたとき、全てのグループ管理者にメールを送るかどうか。デフォルトはいいえ(false)

$conf['settings']['uploads']['enable.reservation.attachments']ユーザーが予約にファイルを添付できるかどうか。デフォルトはいいえ(false)

$conf['settings']['uploads']['reservation.attachment.path']予約の添付ファイルを保存するディレクトリの、ファイルシステム上の絶対または相対パス(相対の場合、Booked Scheduler のルートを基準)。PHP が書き込み可能(755 を推奨)なディレクトリでなければなりません。デフォルトは uploads/reservation

$conf['settings']['uploads']['reservation.attachment.extensions']安全とみなすファイル拡張子をコンマ区切りで指定します。空白にすれば全ての拡張子のファイルがアップロードできます(推奨しません)

$conf['settings']['database']['type']PEAR::MDB2 でサポートされている型を指定します

$conf['settings']['database']['user']データベースにアクセスするためのデータベース側のユーザー名

$conf['settings']['database']['password']上記データベース側ユーザーのパスワード

$conf['settings']['database']['hostspec']データベースホストの URL または名前付きパイプ

$conf['settings']['database']['name']Booked Scheduler が 使うデータベースの名前

$conf['settings']['phpmailer']['mailer']PHP のEメールライブラリーを指定。mail、smtp、sendmail、qmail から選ぶ

$conf['settings']['phpmailer']['smtp.host']smtp を使う場合の SMTPホスト

$conf['settings']['phpmailer']['smtp.port']smtp を使う場合の SMTPポート。25 番がよく使われる

$conf['settings']['phpmailer']['smtp.secure']smtp を使う場合の SMTP セキュリティ。''(空文字列)、ssl、tls のいずれか

$conf['settings']['phpmailer']['smtp.auth']smtp を使う場合に SMTP 認証が必要かどうか。はい(true)またはいいえ(false)

$conf['settings']['phpmailer']['smtp.username']smtp を使う場合の SMTP ユーザー名

$conf['settings']['phpmailer']['smtp.password']smtp を使う場合の SMTP パスワード

$conf['settings']['phpmailer']['sendmail.path']sendmail を使う場合の sendmail へのパス

$conf['settings']['plugins']['Authentication']使用する認証(authentication)プラグインの名称。詳しくは下記のプラグインの項を参照してください

$conf['settings']['plugins']['Authorization']使用する権限(authorization)プラグインの名称。詳しくは下記のプラグインの項を参照してください

$conf['settings']['plugins']['Permission']使用する許可(permission)プラグインの名称。詳しくは下記のプラグインの項を参照してください

$conf['settings']['plugins']['PreReservation']使用する予約前実行(prereservation)プラグインの名称。詳しくは下記のプラグインの項を参照してください

$conf['settings']['plugins']['PostReservation']使用する予約後実行(postreservation)プラグインの名称。詳しくは下記のプラグインの項を参照してください

$conf['settings']['install.password']インストールもしくはアップグレードを実行しようとするとき、ここの値を入力するよう求められます。何かしらランダムな文字列を設定してください

$conf['settings']['pages']['enable.configuration']アプリケーション管理者に設定変更ページを表示するかどうか。はい(true)またはいいえ(false)

$conf['settings']['api']['enabled']Booked Scheduler で RESTful API を有効にするかどうか。この API の使用環境については readme_installation.html を見てください。はい(true)またはいいえ(false)

$conf['settings']['recaptcha']['enabled']組み込みのキャプチャではなく reCAPTCHA を使うかどうか。はい(true)またはいいえ(false)

$conf['settings']['recaptcha']['public.key']reCAPTCHA の公開鍵(public key)を指示します。サインアップするには www.google.com/recaptcha へ

$conf['settings']['recaptcha']['private.key']reCAPTCHA の秘密鍵(private key)を指示します。サインアップするには www.google.com/recaptcha へ

$config['settings']['email']['default.from.address']メールを送信する際の 'from' アドレスとして使われるメールアドレス。 メールがバウンス(エラーで返される)したりスパムと判定されてしまうときは、自身のドメインのメールアドレスを指定してください。例えば、noreply@yourdomain.com など。これは 'from' 名や reply-to アドレスは変更しません

$config['settings']['email']['default.from.name']メールを送信する際の 'from' アドレスの名前を指示します

$conf['settings']['reports']['allow.all.users']管理者以外のユーザーがレポート画面を操作できるかどうか。デフォルトはいいえ(false)

$conf['settings']['password']['minimum.letters']ユーザーパスワードの最小の長さ。デフォルトは 6

$conf['settings']['password']['minimum.numbers']ユーザーパスワード中に必須の数字の数。デフォルトは 0

$conf['settings']['password']['upper.and.lower']ユーザーパスワードに大文字と小文字の両方が必要かどうか。デフォルトはいいえ(false)

$conf['settings']['reservation.labels']['ics.summary']ics フィードの要約に表示する内容を指定します。使用できる値は「使用できるトークン」を参照してください

$conf['settings']['reservation.labels']['rss.description']rss/atom フィードの説明欄に表示する内容を指定します。使用できる値は「使用できるトークン」を参照してください

$conf['settings']['reservation.labels']['my.calendar']マイカレンダーページの予約ラベルに表示する内容を指定します。使用できる値は「使用できるトークン」を参照してください

$conf['settings']['reservation.labels']['resource.calendar']リソースカレンダーページの予約ラベルに表示する内容を指定します。使用できる値は「使用できるトークン」を参照してください

$conf['settings']['reservation.labels']['reservation.popup']予約のポップアップに表示する内容を指定します。使用できる値は、{name} {dates} {duration} {title} {resources} {participants} {accessories} {description} {phone} {email} {attributes} {pending} です。予約のカスタム属性は、「att(属性ID)」と記入すると追加できます。たとえば属性IDが 1 の場合、{att1} と記入します。デフォルトはすべての情報を表示します

$conf['settings']['google.analytics']['tracking.id']Google アナリティクスのトラッキング ID を入力します。設定した場合、Booked のすべてのページに Google アナリティクスのトラッキングコードが追加されます

$conf['settings']['authentication']['allow.facebook.login']Facebook アカウントを使用して Booked にログインできるようにするかを指定します。デフォルトはいいえ(false)です

$conf['settings']['authentication']['allow.google.login']Google アカウントを使用して Booked にログインできるようにするかを指定します。デフォルトはいいえ(false)です

$conf['settings']['authentication']['hide.booked.login.prompt']はい(true)にすると、ユーザー名とパスワードの欄を隠します。デフォルトはいいえ(false)です

$conf['settings']['credits']['enabled']利用料の機能を使用するかを設定します。デフォルトはいいえ(false)です

$conf['settings']['credits']['allow.purchase']利用料を購入できるようにするかを設定します。この機能を使うためには、利用料の機能を有効にしなければなりません。デフォルトはいいえ(false)です

$conf['settings']['slack']['token']Slack Verification Token を入力します。入力しない場合、Slack の スラッシュコマンドは使えません

使用可能なトークン

予約ラベルに使用可能なトークンは次の通りです。{name}、{title}、{description}、{email}、{phone}、{organization}、{position}、{startdate}、{enddate}、{resourcename}、{participants}、{invitees}、{reservationAttributes}

カスタム属性は、att に続けて属性IDをつけることで使用可能です。たとえば、{att1} とします。空欄にすると、何も表示されません。どのようなトークンの組み合わせでもかまいません。

プラグイン

下記のコンポーネントがプラグイン可能になっています:

  • Authentication - 誰がログインできるか
  • Authorization - ログインしたとき何ができるか
  • Permission - ユーザーはどのリソースを使うことができるか
  • Pre Reservation - 予約を作成する直前に何を実行するか
  • Post Reservation - 予約を作成した直後に何を実行するか
  • Post Registration - 新規ユーザーを登録した時に何を実行するか

プラグインを有効にするには、プラグインフォルダの名前を設定ファイルに書きます。例えば、LDAP 認証を有効にするには、次の設定を記述します。$conf['settings']['plugins']['Authentication'] = 'Ldap';

プラグインには固有の設定ファイルがあることがあります。LDAPの場合は、/plugins/Authentication/Ldap/Ldap.config.dist を /plugins/Authentication/Ldap/Ldap.config にリネームするかコピーし、実行環境に合わせて内容を編集します。

プラグインのインストール

新しいプラグインをインストールするには、そのフォルダを適切なディレクトリーにコピーします。そして config.php の $conf['settings']['plugins']['Authentication']、$conf['settings']['plugins']['Authorization'] 、$conf['settings']['plugins']['Permission'] などの該当する項目に、フォルダの名前を書き込みます。

Active Directory 統合

Booked Scheduler は Active Directory を使用して認証を行うことができます。有効にするには、まず$conf['settings']['plugins']['Authentication'] = 'ActiveDirectory'; と設定します。

続いて歯車アイコンからアプリケーション設定を開き、冒頭の「ファイル」で Authentication-ActiveDirectory を選択します。

$conf['settings']['domain.controllers']ActiveDirectory サーバーをコンマ区切りで指定します。例) domaincontroller1,controller2

$conf['settings']['port']デフォルトの 389 か、SSL の 636 を記入

$conf['settings']['username']関連づける管理者ユーザーを指定(必ず必要というわけではありません)

$conf['settings']['password']関連づける管理者ユーザーのパスワードを指定(必ず必要というわけではありません)

$conf['settings']['basedn']あなたのドメインのベース識別名(DN)を指定します。これは通常、あなたのアカウント名のサフィックスを、分割して、DC= のプレフィックスをつけたものです。あなたのベースとなる DN は「Active Directory ユーザーとコンピュータ」MMCスナップインにて、拡張属性を見ると特定できます。(Your base dn can be located in the extended attributes in Active Directory Users and Computers MMC.)

$conf['settings']['version']LDAP プロトコルのバージョン。標準は 3

$conf['settings']['use.ssl']SSL を使用するかどうか。通常、ポート番号にも影響します

$conf['settings']['account.suffix']あなたのドメインのアカウントの完全なサフィックス。例:@uidauthent.domain.com

$conf['settings']['database.auth.when.ldap.user.not.found']Active Directory の認証が失敗した場合、Booked Scheduler のユーザーデータで認証を行うようにする

$conf['settings']['attribute.mapping']必須の属性を、あなたのディレクトリー内の属性名でマッピングする

$conf['settings']['required.groups']ユーザーが必ず所属するグループ名を指示。複数指示された場合、少なくとも一つのグループに所属すれば良いです。空白にすると、制約はありません。例)Group1,Group2

$conf['settings']['sync.groups']グループメンバーシップを Booked Scheduler に同期する。Active Directory のグループを先に Booked Scheduler に作成しておく必要があります。Booked Scheduler に存在しないグループは無視されます

Active Directory に関するより詳しい説明は、こちらを参考にしてください:http://adldap.sourceforge.net/wiki/doku.php?id=documentation_configuration

LDAP 統合

Booked Scheduler は LDAP を使用して認証を行うことができます。有効にするには、まず$conf['settings']['plugins']['Authentication'] = 'Ldap'; と設定します。

続いて歯車アイコンからアプリケーション設定を開き、冒頭の「ファイル」で Authentication-Ldap を選択します。

$conf['settings']['host']LDAPサーバーをコンマ区切りで指定します。例)mydomain1,localhost

$conf['settings']['port']デフォルトの 389 か、SSL の 636 を記入

$conf['settings']['version']LDAP プロトコルのバージョン。標準は 3

$conf['settings']['starttls']StartTLS を使用する

$conf['settings']['binddn'](username) としてバインドする識別名。この項目を指示しない場合、匿名のバインドが確立できてしまいます

$conf['settings']['bindpw']binddn へのパスワード。認証情報が間違っていると、バインドはサーバー側で失敗し、匿名バインドが確立されます。空白にすると、認証なしバインドをリクエストします

$conf['settings']['basedn']LDAP ベース名。例)dc=example,dc=com

$conf['settings']['filter']ユーザーを検索するときのデフォルトの検索フィルター

$conf['settings']['scope']ユーザー検索時の検索範囲。例)uid

$conf['settings']['required.group']ユーザーが必ず所属するグループ名を指示。複数指示された場合、少なくとも一つのグループに所属すれば良いです。空白にすると、制約はありません。例)Group1,Group2

$conf['settings']['database.auth.when.ldap.user.not.found']LDAP の認証が失敗した場合、Booked Scheduler のユーザーデータで認証を行うようにする

$conf['settings']['ldap.debug.enabled']LDAP の詳細なログが必要な場合は有効にする

$conf['settings']['attribute.mapping']必須の属性を、あなたのディレクトリー内の属性名でマッピングする

$conf['settings']['user.id.attribute']ユーザーを特定するときの属性名。例)uid

LDAP に関するより詳しい説明は、こちらを参考にしてください:http://pear.php.net/manual/en/package.networking.net-ldap2.connecting.php

CAS 統合

Booked Scheduler は CAS を使用して認証を行うことができます。有効にするには、まず$conf['settings']['plugins']['Authentication'] = 'CAS'; と設定します。

続いて歯車アイコンからアプリケーション設定を開き、冒頭の「ファイル」で Authentication-CAS を選択します。

$conf['settings']['cas.version']1.0 = CAS_VERSION_1_0、2.0 = CAS_VERSION_2_0、S1 = SAML_VERSION_1_1

$conf['settings']['cas.server.hostname']CASサーバーへのホスト名を指示

$conf['settings']['cas.port']CASサーバーが動作しているポート番号

$conf['settings']['cas.server.uri']CASサーバーが応答する URI を指示

$conf['settings']['cas.change.session.id']session_id を変更することを phpCAS に許可する

$conf['settings']['email.suffix']CASのユーザーを格納するときの、メールアドレスのサフィックス。例)Booked Scheduler に username@yourdomain.com としてメールアドレスが登録されます

$conf['settings']['cas_logout_servers']ログアウトに使用する CAS サーバーをコンマ区切りで指示。CAS のログアウトサーバーを使わない場合は空欄のままにします

$conf['settings']['cas.certificates']CAS に使用する証明書へのフルパスを指示。証明書を使わない場合は空欄のままにします

$conf['settings']['cas.debug.enabled']CAS の詳細なログが必要な場合は有効にする

$conf['settings']['cas.debug.file']cas.debug.enabled を有効にしたときのデバッグファイルへのフルパス

CAS を使用するときは、$conf['settings']['logout.url'] に CAS のログアウトサーバーを指定しなければなりません

CAS に関するより詳しい説明は、こちらを参考にしてください:https://wiki.jasig.org/display/casc/phpcas

SAML 統合

Booked Scheduler は SAML 認証に SimpleSAMLphp を使用しています

はじめに、SimpleSAMLphp を Booked と同じサーバーに導入します。次に、 Booked に管理者としてログインします。アプリケーション設定を開き、冒頭のドロップダウンから Authentication-Saml を選択します。SimpleSAMLphp のベースディレクトリとログディレクトリへのフルパスを指示します。最後に、SAML の属性を、対応する属性に関連づけます

デフォルトの SimpleSAMLphp セッション管理は、Booked と同じサーバーで稼働することができません(セッション不一致例外が発生します。詳細はこちら:https://simplesamlphp.org/docs/development/simplesamlphp-nostate)。セッション保存に sqlite を使用することをお勧めします:https://simplesamlphp.org/docs/stable/simplesamlphp-maintenance#section_2_3

アプリケーション設定で、必ず registration.require.email.activation をいいえ(false)に設定してください

WordPress 統合

Booked Scheduler は同じサーバーで動作している WordPress を使用して認証を行うことができます。有効にするには、まず $conf['settings']['plugins']['Authentication'] = 'WordPress'; を設定してください

続いて歯車アイコンからアプリケーション設定を開き、冒頭の「ファイル」で Authentication-WordPress を選択します

$conf['settings']['wp_includes.directory']wp-includes ディレクトリへのフルパス、もしくは Booked Scheduler からの相対パスを指示します

$conf['settings']['database.auth.when.wp.user.not.found']WordPress の認証が失敗した場合、Booked Scheduler のユーザーデータで認証を行うようにする