arrow_back_ios

Googleカレンダー連携はどのように詳細に動作しますか?

Googleカレンダーは当サービスに変更を通知し、当サービス側では即座に(ただし1分に1回まで)占有時間を更新します。 さらに、通知が届かない場合に備えて、当サービスは定期的にカレンダーを自動でポーリングします。 注文が完了する際には、オーバーブックが発生しないよう事前に同期を行います。

予約をGoogleカレンダーへ送信する

時間をブロックするステータスの注文のみがGoogleカレンダーに送信されます。 注文や予約データに変更があるたびに、Googleカレンダーのイベント(時間とタイトルの両方)を即座に更新します。 イベントタイトルは常に「Bukza」という単語で始まり、続いて角括弧内にシェア数(共有料金オプションで予約した場合)が表示されます。 タイトルの残りの部分は、指定したテンプレートから構成され、任意の注文データを含めることができます。 また、Googleカレンダーに送信したイベントには特別な内部プロパティを付与し、サードパーティのイベントと区別できるようにしています。

Googleカレンダーからイベントを取得する

Googleからのイベントは、現在の月の初めから翌年末までのローリング期間内のみインポートされます。 インポートされたイベントは実際の予約には変換されず、Bukza内でリソースの時間をブロックするだけです。 Googleカレンダーの繰り返しイベントも考慮され、シリーズの各発生がBukza内で該当する時間をブロックします。 繰り返しイベントの発生も、ローリング同期期間によって制限されます。
Googleカレンダーからデータを受信する際、Bukzaイベントは重複を避けるためスキップされます。 Googleカレンダーで行われたサードパーティ(非Bukza)イベントの変更も、同期時にBukzaカレンダーへ反映されます。 ただし、Googleカレンダー内で「Bukza」と記載されたイベントは編集しないでください。 そのような変更は当システムの元の予約には影響せず、注文が変更される際に編集内容は上書きされます。
特定のイベントで時間を占有したくない場合は、Googleカレンダーでそのイベントを「予定なし」(Free)に設定してください。そのようなイベントはスキップされます。

オーバーブックからの保護方法

ちょうど同じ瞬間にGoogleカレンダーに同じ時間帯のイベントが現れた場合、システムはBukza側での予約完了を許可しません。 これを実現するため、まずGoogleカレンダーに注文詳細のない空イベント(タイトルテンプレートは適用されません)で時間をブロックします。このイベントがスロットを確保します。 その後、再度Googleカレンダーからデータを取得し、時間がまだ空いているかを確認します:
  • 空いていれば—イベントタイトルを最終データで更新します。
  • 空いていなければ(すでにスロットが埋まっている場合)—予約は完了せず、空イベントは直ちに削除されます。
この完全なチェックは、カレンダーで送信と受信の両方が有効な場合に機能します。それ以外の場合:
  • 受信のみ有効な場合—予約完了時にGoogleカレンダーから最新データを取得したことを保証します。
  • 送信のみ有効な場合—予約は遅延なく完了し、予約完了直後にイベントがGoogleカレンダーへ送信されます。処理の妨げや中断はありません。
オーバーブック防止は、注文が「時間をブロックしない」ステータスから「時間をブロックする」ステータスへ変わる場合のみ実行されます。 すでに時間をブロックしている注文内でマネージャーが予約を変更・追加した場合、その操作はブロックされません(たとえ同じ時間にGoogleカレンダーでイベントが存在していても)。 ただし、利用不可であることはインターフェース上で強調表示されます。

予約済みシェア数

ご自身のイベントのタイトルに角括弧で数値を追加することができます。 当システムはこれをリソースの予約済みシェア数(予約の総シェア数)として解釈します。
予約済みシェア数が指定されていない場合、リソース全体が予約されたものと見なされます。