UnlockOS — Google Calendar 連携

時間貸し・宿泊施設のダブルブッキング防止と他社予約取り込みのためのカレンダー連携

概要

UnlockOS は、時間貸し・宿泊施設の鍵連動チェックインを提供するインフラサービスです。多くの施設は Spacemarket、インスタベース、スペイシー、Airbnb 等の複数の予約チャネルを並行運用しており、各チャネルは施設の Google Calendar を介して在庫を同期しています。UnlockOS で直接受け付けた予約をリアルタイムで Google Calendar に書き込み、他チャネル側での該当時間枠の販売を即時停止してダブルブッキングを防ぎます。あわせて、他チャネルが同じ Google Calendar に書き込んだ予約を読み取って取り込み、それらのゲストにも鍵発行・チェックインを行います。

要求スコープ

https://www.googleapis.com/auth/calendar.events

理由: 予約イベントの読み取り・書き込みに使用します。書き込み — UnlockOS 直予約をブロックイベントとして作成・更新・削除。読み取り — 他予約チャネルが連携先カレンダーに書き込んだ予約を取り込み (UnlockOS 自身が作成したイベントは識別子で除外)。

https://www.googleapis.com/auth/calendar.calendarlist.readonly

理由: 連携先カレンダーを選択する画面に、お客様のアカウントのカレンダー一覧を表示するためのみに使用します (カレンダーのメタデータの閲覧のみ)。

実行する操作

  • Events.insert / update / delete — UnlockOS 直予約のブロックイベントを作成・更新・削除
  • Events.list — 連携先カレンダーから他社予約を読み取り、予約として取り込み
  • CalendarList.list — 連携先カレンダー選択のためカレンダー一覧を表示

実行しない操作

  • UnlockOS が作成していないイベントの変更・削除
  • ACL・カレンダー管理 / フルアクセス (calendar) スコープ
  • プッシュ通知 / Webhook 経由のイベント購読

データ取扱い

  • 保存するデータ: OAuth refresh token (Supabase vault 暗号化保管)、連携先カレンダー ID、施設識別子
  • 取り込んだ予約: 開始・終了日時、イベント名 (予約名)、メモ・場所を、予約管理・鍵発行に必要な範囲で予約データとして保存
  • 保存しないデータ: 同期対象期間外のデータ、予約と無関係な個人カレンダーの内容
  • データ保護措置: 転送時は TLS、保管時は暗号化 managed DB (Supabase/AWS)、OAuth トークンは Supabase Vault で個別暗号化。アクセスは RLS と最小権限で認可施設・必要なサーバー側処理 (Edge Function) のみに限定
  • Google ユーザーデータの使用・転送は、限定的使用 (Limited Use) を含む Google API Services User Data Policy に準拠。広告利用や人間に読ませる目的の第三者販売は行いません
  • 送信先: 認可いただいた施設の Google Calendar のみ。第三者への共有・販売は一切行いません
  • 保管期間: 連携解除後 30 日以内に refresh token を削除

連携解除手順

  1. UnlockOS 管理画面 → 設定 → Google Calendar 連携 → 「連携を解除」
  2. または Google アカウント → セキュリティ → サードパーティアプリで UnlockOS のアクセスを取り消し
  3. 解除後、UnlockOS は新規イベントを作成しなくなり、保存された refresh token は 30 日以内に削除されます

オンボーディング

UnlockOS 管理画面の「設定 > Google Calendar 連携」ボタンから OAuth 同意画面に遷移し、書き込み先カレンダー (デフォルトは primary) を選択してください。要する時間は通常 1 分以内です。

失敗時の動作

API 失敗時は管理画面に再認可バナーを表示し、施設管理者に通知します。書き込みが完了するまで予約自体は確定状態に残ります (鍵発行は影響されません)。

お問い合わせ

スコープや取扱いに関するお問い合わせは info@blockchainlock.io まで。