予約スケジュールの統合
SuperSaaSで作成したリソースタイプスケジュールは統合、連携することが可能です。 定員制スケジュールにおいては異なるスケジュール間の統合、連携機能はありません。
- 複数のリソースが1つの予約に必要な場合 例えば、治療の予約には、部屋とセラピストの両方が利用可能である必要があります。
- 1つのリソースを占有すると、別のリソースが使用可能になる場合 例えば、アシスタンスの予約をする前に、ボランティアが手伝うためにサインアップする必要があります。
- プールされたリソースを単一のエンティティとして提示する場合 例えば、レンタル用の同一の機器が20個あり、ユーザーに特定のものを選ばせたくない場合です。
- 単一のリソースを複数のエンティティとして提示する場合 例えば、クラブがメンバーにテニスコートを予約させるが、飛び込みの顧客も許可する場合です。メンバーは、同じコートをより安い価格で、またはより前もって予約できるようにすることができます。
- 複数スケジュールを同一画面へ表示する 例えば、週の特定の日に異なる制約がある場合、その日のための別のスケジュールを作成し、それを統合してユーザーに統一された週のビューを提示することができます。
サービススケジュールはリソーススケジュールを利用可能
SuperSaaSの3つの異なるスケジュールタイプにおいて、サービスタイプのみが統合機能を利用可能であり、統合対象はリソースタイプスケジュールに限られ、定員制スケジュールにおいては異なるスケジュール間の統合機能はありません。(デメリットとしてこの機能には、繰り返しの予約やサービススケジュールで予約時間の可変型の予約を作成できないというトレードオフがあります。)
1回の予約に複数のリソースが必要
多くの場合、サービスは1つ以上のリソースが利用可能であること要求します。 たとえば、マッサージでは、リソースとしてセラピストが必要であり、また、 プロジェクターを備えた会議室のサービスでは、会議室とプロジェクターが各1つずつ必要です。 サービスタイプスケジュールは、異なるリソーススケジュールを横断して必要なリソースの空き状況を確認し、予約が可能となります。 これを実現するために、サービスが依存する1つ以上のリソースタイプのスケジュールを作成します。このスケジュールは、サービススケジュールを作成する前でも後でも設定できます。 詳細はこちらチュートリアル
すべてのリソースを単一のリソーススケジュールへ、または個別のスケジュールに配置することも可能です。 原則として、交換可能なリソースがある場合、たとえば、複数の部屋があり、そのいずれかでサービスを提供できる場合、それらを同じリソーススケジュールに配置することが最善です。
1つのリソースを占有すると、別のリソースが使用可能に
マッチするには2つまたはそれ以上のリソースが必要な場合があります。たとえば、顧客と営業担当者をマッチングしたいとします。 展示会の場合、営業チームに1つのスケジュールにサインアップするよう依頼すると、別のスケジュールに空き枠が空き、顧客はその空き枠を予約できるようになります。もう1つの方法は、営業チームに空き状況を反映したリソーススケジュールをSuperSaaSで作成するよう依頼し、顧客にそのスケジュール予約するよう案内することですが、営業チームに負担が生じます。
通常、サービスは、接続されているすべてのリソースが利用可能な場合にのみ利用可能です。また、サービスが予約されると、接続されているすべてのリソースが使用中、占有済みとしてマークされます。ただし、サービスを設定するときに、
ボタンをクリックしてから、リソースの横にある ボタンをクリックすると、そのロジックが反転します。 その場合、サービスは、リソースが占有されている場合にのみ利用可能になります。そのサービスを予約しても、"使用中"とマークされたリソースには影響しません。したがって、たとえば、"使用中"リソースに加えて通常のリソースも接続するなどして、サービスが複数回予約可能になるのを防ぐ必要があります。プールされたリソースを単一のエンティティとして表示
ユーザが多数の類似リソースから選択できるようにすることは、不便、または望ましくない場合があります。たとえば、面接担当者のリストから候補者に選択させるのではなく、利用可能な最初の候補者を割り当てたり、ランダムに割り当てたりすることができます。
複数のリソースを持つリソーススケジュールにサービスを接続すると、設定 > サービスページにおいて、 では、ユーザーがリソースを選択、またはランダムにリソースを選択、そしてスケジュールにリストされている順序で最初のリソースを利用できるようにするなどのオプション設定が可能です。
、つまり任意のリソースに接続するオプションが表示されます。 また、スケジュールを超えたリソースの統合は、 ボタンより設定可能です。 サービススケジュールの上記で説明したように、例えば、ツアーのグループ予約で5台の自転車と1人のガイドが必要な場合、どのガイドでも構わず、プールからどの特定の自転車が選ばれても良いとします。その場合は、
「任意の…」オプションを複数回選択するだけです単一のリソースを複数のエンティティとして提示
リソースの総数がオーバーブッキングされないようにしながら、異なる顧客に異なるスケジュールを提示したい場合もあるでしょう。 例としては、複数の場所で作業し、各場所に合わせたスケジュールを提供したいコンサルタントが挙げられます。それぞれの場所で、異なる価格、異なるサービス、異なる営業時間を設定できます。
このケースでは、基準となるリソーススケジュールを作成してから、同じリソーススケジュールに接続する1つ以上のサービススケジュールを作成します。 ユーザグループを定義して、あるスケジュールを対象としたユーザが別のスケジュールにアクセスできないようにすることができます。詳細はこちらのユーザーグループを参照してください。
スケジュールを単一画面にまとめる
スケジュールを組み合わせると解決策が得られるという点で、単一のスケジュールの設定よりも柔軟性が必要になる場合があります。例として、平日とは異なるバッファータイムを週末に設定したい場合、または、金曜日にはユーザーあたりの予約の制限数を変更して、より多くの予約を促したい場合など
この場合、2つまたはそれ以上のリソースタイプスケジュールを作成し、それらを"平日"と"週末"に分け、それぞれに異なる制約を適用します。その後、サービスタイプスケジュールを作成し、“平日”、 or "週末"に依存するサービスを定義します。これにより、各スケジュールの設定が論理的に組み合わさった結果が得られます。スケジュールがどのように相互作用するかについての詳細は次のセクションをご覧ください。
スケジュールの相互作用
システムが空き状況を確認する際には、当然ながら、要求されたリソースに対して競合する予定があるかどうかを考慮します。ただし、設定できるスケジューリング制約は他にも多数あります。:- 営業時間
- 休日などの特別な日
- 予約がどれくらい前から可能かの制限
- 期間ごとまたは合計での予約数の制限
- GoogleまたはOutlookカレンダーが同期されていることの確認
ある期間が利用可能であるためには、サービスが依存する各リソースの制約を含む、これらすべての制約を満たしている必要があります。
⊗ "占有時に利用可能"とマークされたリソースについては、すべての制約、営業時間、およびその他の可用性制限は無視されます。 サービスの可用性に影響を与えるのは、これらのリソースの予約が占有している期間だけです。
スケジュールのその他すべての設定は、その特定のスケジュールで行われた予約にのみ適用されます。例えば、確認設定で定義されたように、予約を作成したスケジュールでは1回のメールリマインダーのみが送信されます。また、価格と支払いの設定も、予約が行われたスケジュールにのみ適用されます。
サービス定義のANDとORという用語を理解することも重要です。 たとえば、スケジュールAが9:00と10:00に利用可能で、スケジュールBが10:00と11:00に利用可能である場合、スケジュールA AND スケジュールBの両方に依存するサービスは、10:00にのみ利用可能です。一方、サービスがスケジュールA OR スケジュールBに依存している場合は、9:00、10:00、11:00に利用可能になります。
依存スケジュールでの通知のトリガー
各スケジュールの設定 > プロセスページにおいて、サービススケジュールでは、予約が連携されたスケジュールにおいて通知やWebhooksのトリガーとなるかどうか指定できます。予約が複数のスケジュールに影響を与える場合、影響を受けるスケジュールごとに追加のメールが1通送信され、影響を受けるリソースごとにWebhookが1つ送信されます。例えば、Bike 1、Bike 2、Bike 3を予約する旅行の予約は、旅行のスケジュールでメールとWebhookをトリガーし、その後、バイクのスケジュールでさらに1通のメールと3つのWebhookをトリガーすることができます。