參與候位名單計畫的合作夥伴必須先完成設定帳戶,才能開始使用這項功能。不過,使用一般名單中的某些步驟時,並不需要使用候位名單功能。本頁指南將說明有意使用「透過 Google 預訂」加入候補名單功能的合作夥伴。建議您先閱讀這份總覽說明,再進行整合步驟。
發布程序
圖 1 概略說明在透過「透過 Google 預訂」推出候位名單功能的商家。
整體來說,您 (合作夥伴) 與 Google 之間的主要資料流,如圖 2 所示:
所有等候名單合作夥伴適用的規範
導入等候名單功能時,請注意下列事項:
- 每個候位名單服務的服務都必須填入
waitlist_rules
。- 候位名單和預約服務必須使用相同的服務。換句話說,如果您的餐廳也允許預訂,只要將預約的相關中繼資料新增至預訂服務即可。
- 在以下情況中,您必須傳送簡訊更新,才能加入等候名單:
- 確認使用者已成功加入候位名單。
- 通知使用者其資料表已準備就緒。
- 通知使用者候位名單已經取消。
- 簡訊必須包含一個網頁連結,方便使用者查看候位名單狀態。
- 等候名單的商家不需要提供供應情形動態饋給給「透過 Google 預訂」。
- 您的預訂伺服器必須實作導入預訂伺服器中列出的所有候補名單專屬步驟。如果合作夥伴同時支援預訂和候位名單,可以將新方法加入現有的預訂伺服器。
- 「透過 Google 預訂」會針對預訂伺服器中的候位名單方法執行一組測試案例。
狀態流程圖
這張圖表說明回應 GetWaitlistEntry
呼叫時,WaitlistEntry.waitlist_entry_state
中必須回報的狀態。圖表也會顯示錄製和填入 WaitlistEntry.waitlist_entry_state_times.*_time_seconds
欄位的時機,以及向使用者告知他們已進入新狀態的時機。
常見的邊緣情況
以下是候位名單整合的常見極端案例,以及這些解決方案的偏好解決方案。
-
如果部分 (但並非全部) 派對人數不接受增加這些候補名單,這是因為系統不需等待這些派對人數,則在
BatchGetWaitEstimates
回應中,針對所有預訂人數傳回WaitEstimates
,並讓使用者能夠直接加入這些人數的候補名單,且不用等候。針對party_size
,傳回包含 0parties_ahead_count
的WaitLength
和/或包含estimated_seat_time_range
的start_seconds
,以及party_size
的estimated_seat_time_range
。 -
如果一或多位派對人數因候補時間過長而無法接受新的候位名單,則建議在
BatchGetWaitEstimates
回應中省略這些派對大小的WaitEstimates
。
我們建議採用這些方法,因為即便商家未完全開放,也能提供使用者的選項。
僅限等候名單合作夥伴適用規範
如果預訂伺服器僅用於等候名單,請注意下列事項:
- 僅限候補名單合作夥伴並未提供「透過 Google 預訂」的供應情形動態饋給。
- 僅限候補名單合作夥伴不會在預訂伺服器中導入預訂方法。而應改為導入預訂伺服器的操作說明,以便加入候位名單。
- 僅限等候名單合作夥伴不應向 Google 提出 API 呼叫;也就是說,僅具備候位名單的合作夥伴不需要設定雲端專案或提供開發人員的電子郵件地址。您不需要完成即時 API 更新。不過,您還是必須一併提供商家和服務動態饋給給「透過 Google 預訂」。
適用於商家必須手動接受/拒絕候補名單的合作夥伴相關規範
如果您的商家必須手動接受或拒絕 Google 加入新的候位名單,則必須執行額外步驟:
- 針對需要手動確認的預訂人數,在
wait_estimate
中將waitlist_confirmation_mode
設為WAITLIST_CONFIRMATION_MODE_ASYNCHRONOUS
。您必須在BatchGetWaitEstimateResponse
和GetWaitlistEntryResponse
中設定這項資訊。 - 使用者已要求、但商家尚未接受的候補名單項目應處於
PENDING_MERCHANT_CONFIRMATION
狀態。
等候名單測試案例
Google 會測試下列用途,以確保在預訂伺服器實作中導入候位名單方法的功能。並測試及監控延遲時間。這些測試必須全數通過,商家才能上線。
WaitEstimate 擷取
- 系統會針對
BatchGetWaitEstimatesRequest
中要求的每個派對大小傳回等待時間預估值。 - 如果商家可選擇接受或拒絕新增候位名單的人數,請將等候名單_confirmation_mode 設為
WAITLIST_CONFIRMATION_MODE_ASYNCHRONOUS
。
建立等候名單項目
- 可透過
CreateWaitlistEntry
要求建立候位名單項目。 - 如果候補名單項目建立失敗,回應中會顯示商業邏輯錯誤。
- 如果
CreateWaitlistEntry
嘗試成功,則當再次收到相同的CreateWaitlistEntry
時,會傳回相同的回應。 - 如果
CreateWaitlistEntry
嘗試失敗,伺服器會在再次收到相同的CreateWaitlistEntry
時重試。 - 等候名單項目會顯示在商家的介面中。
- 呼叫
GetWaitlistEntry
成功傳回已建立的候位名單項目。
等候名單項目狀態和時間戳記
- 確認
GetWaitlistEntry
回應的候補名單項目中,所有傳回的候補名單項目狀態皆已正確傳回。 - 確認
GetWaitlistEntry
回應中候位名單項目中適當的時間戳記欄位是否已設定每個狀態時間戳記。
刪除等候名單項目
- 您可以刪除現有的等候名單項目。刪除成功的回應必須為空白的 proto
{}
。
停用
- 確認選擇停用的商家符合商家選擇退出中所述的處理方式。
範例等候名單服務動態饋給 (JSON)
候補名單服務動態饋給商家選擇退出
對於先前已啟用候補名單,但已決定不採用此商家的商家,Google 會預期收到特定回應。
立即選擇退出
- 針對
BatchGetWaitEstimates
要求,傳回CLOSED_OTHER
。 - 針對
CreateWaitlistEntry
要求傳回WAITLIST_CLOSED
。 - 為已排入候補名單中的使用者正確傳回
GetWaitlistEntry
要求。
延時選擇退出
- 如果商家未選擇退出預訂功能,請將
waitlist_rules
從商家的服務動態饋給中移除。 - 如果商家選擇停用所有 Google 整合服務,請將商家從商家動態饋給中移除。