予約の順番待ちリスト プログラムに参加しているパートナーは、利用を開始する前にアカウントの設定を完了する必要があります。ただし、順番待ちリストの機能では、全般ガイドの一部の手順は必要ありません。このページのガイドラインでは、「Google で予約」の順番待ちリスト機能を使用するパートナー向けの手順について説明します。統合手順に入る前に、この概要をお読みになることをおすすめします。
公開プロセス
図 1 は、Actions Center で順番待ちリスト対応の販売者情報を公開するプロセスの概要を示しています。
図 2 には、販売者(パートナー)と Google の間の主なデータの流れがまとめられています。
予約の順番待ちリストを利用するすべてのパートナー向けのガイドライン
予約の順番待ちリスト機能を実装する際は、次の点にご注意ください。
- すべての予約順番待ちリストの販売者のサービスには、入力済みの
waitlist_rules
が必要です。- ウェイティング リストと予約の両方に同じサービスを使用する必要があります。つまり、レストランで予約も可能にしている場合は、予約サービスの待機リスト関連のメタデータを追加するだけです。
- 順番待ちリストの実装では、次の場合に SMS の最新情報を送信する必要があります。
- お客様が順番待ちリストに正常に登録されたことを確認します。
- テーブルの準備ができたことをユーザーに通知します。
- 順番待ちリストへの登録がキャンセルされたことをユーザーに通知する。
- SMS メッセージには、ユーザーが順番待ちのステータスを確認できるページへのリンクを含める必要があります。
- 順番待ちリストのみを利用する販売者は、Actions Center に空き情報フィードを提供する必要はありません。
- 予約サーバーでは、予約サーバーの実装に記載されている順番待ちリスト用の手順をすべて完了する必要があります。予約と順番待ちリストの両方を利用するパートナーは、既存の予約サーバーに新しいメソッドを追加できます。
- Actions Center は、予約サーバーの順番待ちリストを対象に、一連のテストケースを実行します。
ステータス フローチャート
この表は、
GetWaitlistEntry
呼び出しに応答するときに
WaitlistEntry.waitlist_entry_state
で報告する必要があるステータスを示しています。このグラフには、
WaitlistEntry.waitlist_entry_state_times.*_time_seconds
フィールドを記録して入力するタイミングと、新しい状態に入ったことをユーザーに通知する SMS を送信するタイミングも示されます。
一般的なエッジケース
以下は、予約の順番待ちリストの統合における一般的なエッジケースと推奨される解決策です。
-
待ち時間がないため、順番待ちリストの新規追加を受け付けない人数の場合は、
BatchGetWaitEstimates
レスポンスで、すべての人数のWaitEstimates
を返し、ユーザーがその人数で、待ち時間なしで順番待ちリストに参加できるようにすることをおすすめします。0parties_ahead_count
のWaitLength
を返すか、start_seconds
が 0 でend_seconds
が 0 のestimated_seat_time_range
を返します。party_size
が待機状態でない場合に使用します。 -
待ち時間が長すぎて、順番待ちリストの新規追加を受け付けない人数の場合は、
BatchGetWaitEstimates
レスポンスで、その人数のWaitEstimates
を省略します。
販売者の順番待ちリストが完全にオープンになっていない場合でも、ユーザーに選択肢を与えることができるため、これらの方法が推奨されます。
予約の順番待ちリストのみを利用するパートナー向けのガイドライン
予約サーバーを順番待ちリストにのみ使用する場合は、次の点に注意してください。
- 予約の順番待ちリストのみを利用するパートナーは、「Google で予約」に空き情報フィードは提供しません。
- 予約と順番待ちリストのみを利用するパートナーは、予約サーバーに予約メソッドを実装しません。代わりに、順番待ちリストの実装手順に従い、予約サーバーを実装します。
- 予約の順番待ちリストのみを利用するパートナーは、Google に対して API 呼び出しを実行することはありません。つまり、予約の順番待ちリストのみを利用するパートナーは、クラウド プロジェクトを設定したり、デベロッパーのメールアドレスを指定したりする必要はありません。リアルタイムの API 更新を行う必要はありません。ただし、販売者フィードとサービス フィードは引き続き Actions Center に提供する必要があります。
順番待ちリストの追加を手動で承認または拒否する必要がある販売者(パートナー)向けのガイドライン
販売者が、Google からの順番待ちリストの新規追加を手動で承認または拒否する必要がある場合は、追加の手順が必要です。
- 手動での確認が必要な人数の場合は、
wait_estimate
でwaitlist_confirmation_mode
をWAITLIST_CONFIRMATION_MODE_ASYNCHRONOUS
に設定します。これは、BatchGetWaitEstimateResponse
とGetWaitlistEntryResponse
で設定する必要があります。 - ユーザーがリクエストしたものの、販売者がまだ承認していない順番待ちリストのエントリは、
PENDING_MERCHANT_CONFIRMATION
のステータスにする必要があります。
予約の順番待ちリストのテストケース
Google では、予約サーバーの実装における順番待ちリストのメソッドの機能を確認するために、次のユースケースをテストしています。Google では、遅延のテストとモニタリングも行っています。公開前にこれらのテストにすべて合格する必要があります。
WaitEstimate の取得
- 各人数の推定待ち時間は、
BatchGetWaitEstimatesRequest
で返されます。 - 販売者が順番待ちリストの新規追加を承認または拒否できる人数の場合は、waitlist_confirmation_mode を
WAITLIST_CONFIRMATION_MODE_ASYNCHRONOUS
に設定します。
順番待ちリストエントリの作成
- 順番待ちリストエントリは、
CreateWaitlistEntry
リクエストから作成できます。 - 順番待ちリストエントリの作成に失敗した場合は、ビジネス ロジックのエラーがレスポンスに表示されます。
CreateWaitlistEntry
の試行が成功した場合は、同じCreateWaitlistEntry
を再度受け取ったときに同じレスポンスが返されます。CreateWaitlistEntry
の試行が失敗した場合、サーバーは、同じCreateWaitlistEntry
を再度受信したときに再試行します。- 順番待ちリストエントリは販売者のインターフェースに表示されます。
GetWaitlistEntry
の呼び出しによって、作成された順番待ちリストエントリが正常に返されます。
順番待ちリストエントリのステータスとタイムスタンプ
GetWaitlistEntry
レスポンスの順番待ちリストエントリで、順番待ちリストエントリの各ステータスが正しく返されることを確認します。GetWaitlistEntry
レスポンスの順番待ちリストエントリの適切なタイムスタンプ フィールドで、各ステータスのタイムスタンプが設定されていることを確認します。
順番待ちリストエントリの削除
- 既存の順番待ちリストエントリは削除できます。削除成功に対するレスポンスは、空の proto
{}
にする必要があります。
オプトアウト
- オプトアウトした販売者が、販売者のオプトアウトの説明に沿って処理されていることを確認します。
順番待ちリストのサービス フィードのサンプル(JSON)
順番待ちリストのサービス フィード販売者のオプトアウト
順番待ちリストを有効にしたものの、オプトアウトすることを決めた販売者には、以下のレスポンスを推奨しています。
緊急のオプトアウト
BatchGetWaitEstimates
リクエストに対してCLOSED_OTHER
を返します。CreateWaitlistEntry
リクエストに対してWAITLIST_CLOSED
を返します。- すでに順番待ちリストに登録されているユーザーには、
GetWaitlistEntry
リクエストを適切に返します。
通常のオプトアウト
- 販売者が予約をオプトアウトしていない場合は、販売者のサービス フィードから
waitlist_rules
を削除します。 - 販売者が Google サービスのすべての統合をオプトアウトしている場合は、販売者フィードからその販売者を削除します。