總覽

參與預訂等候名單計畫的合作夥伴必須先完成帳戶設定程序,才能開始進行。不過,即使有一般指南中的某些步驟,您還是可以使用等候名單功能。本頁指南說明有意使用「透過 Google 預訂」等候名單功能的合作夥伴,可執行哪些步驟。建議您先詳閱這份總覽,再執行整合步驟。

發布程序

圖 1 概略說明瞭在 Actions Center 中啟用已啟用等候名單商家的程序。

圖 1:高階整合步驟
圖 1:高階整合步驟

整體而言,您 (合作夥伴) 和 Google 之間的主要資料流程如下圖 2 所示:

圖 2:整合資料流程圖
圖 2:整合資料流程圖表

所有預訂等候名單合作夥伴適用的指南

實作預訂等候名單功能時,請注意下列事項:

  • 每個預訂等候名單的商家都必須填入 waitlist_rules
    • 候位名單和預訂要求必須使用相同的服務。也就是說,如果您的餐廳也允許預訂,只要將與預訂服務相關的中繼資料加入服務中即可。
  • 在下列情況下,你必須傳送簡訊更新,才能導入等候名單:
    • 確認使用者已成功加入等候名單。
    • 通知使用者資料表已準備就緒。
    • 通知使用者等候名單項目已取消。
  • 簡訊必須包含等候名單狀態的頁面連結,供使用者查看。
  • 僅限等候名單的商家不需要將供應情形動態饋給提供給 Actions Center。
  • 您的預訂伺服器必須執行「導入預訂伺服器」中列出的所有等候名單專屬步驟。如果合作夥伴同時支援預訂和等候名單,可以將新方法加進現有的預訂伺服器。
  • Actions Center 會針對預訂伺服器中的等候名單方法執行一組測試案例

狀態流程圖

這張圖表說明回應 GetWaitlistEntry 呼叫時,必須在 WaitlistEntry.waitlist_entry_state 中回報的狀態。圖表也會說明何時應錄製及填入 WaitlistEntry.waitlist_entry_state_times.*_time_seconds 欄位,以及何時傳送簡訊給使用者,通知使用者已進入新的狀態。

圖 3:等候名單狀態流程圖
圖:3 等候名單狀態流程圖

常見的邊緣情況

以下是預留項目等候名單整合的常見極端情況,以及他們適用的建議解決方案。

  • 如果因為不需等待,導致部分 (但非全部) 派對規模不接受新增候位名單,請在 BatchGetWaitEstimates 回應中傳回所有派對規模的 WaitEstimates,並允許使用者加入這些不須等候的預訂人數等候名單。傳回 parties_ahead_count 為 0 的 WaitLength 和/或 estimated_seat_time_range 為 0 的 estimated_seat_time_range,針對 party_size 傳回 0 end_seconds,無須等候start_seconds
  • 如果一或多張預訂人數因等候時間過長而不接受新增候位名單,建議在 BatchGetWaitEstimates 回應中省略這些預訂人數的 WaitEstimates

因此建議您採用這些方法,因為即使商家的等候名單可能未完全開放,仍可為使用者提供選項。

僅限預訂等候名單合作夥伴規範

如果預訂伺服器僅用於等候名單,請注意下列事項:

  • 僅限預訂等候名單的合作夥伴不會向「透過 Google 預訂」提供供應情形動態饋給。
  • 僅限預訂等候名單的合作夥伴不得在預訂伺服器中導入預訂方法,而是依照等候名單導入操作說明導入預訂伺服器
  • 僅限預訂等候名單的合作夥伴不會向 Google 發出 API 呼叫。也就是說,僅限預訂等候名單的合作夥伴不需要設定雲端專案,也不必提供開發人員電子郵件地址。您不需要完成即時 API 更新。不過,商家服務動態饋給仍須提供給 Actions Center。

商家必須手動接受/拒絕新增等候名單的合作夥伴適用規範

如果商家必須手動接受或拒絕 Google 新增的候位名單,請務必完成額外步驟:

  • 如果是需要手動確認的預訂人數,請在 wait_estimate 中將 waitlist_confirmation_mode 設為 WAITLIST_CONFIRMATION_MODE_ASYNCHRONOUS。必須在 BatchGetWaitEstimateResponseGetWaitlistEntryResponse 中設定。
  • 使用者已要求、但商家尚未接受的等候名單項目,狀態應為 PENDING_MERCHANT_CONFIRMATION

預訂等候名單測試案例

Google 會測試下列用途,確保預訂伺服器導入的等候名單方法功能能正常運作。Google 也會測試及監控延遲情況。這些測試必須全數通過,商家才能上線。

WaitEstimate 擷取

  • 系統會針對 BatchGetWaitEstimatesRequest 中要求的各組人數傳回預估等待時間。
  • 對於商家可選擇接受或拒絕新增等候名單的派對尺寸,請將 waitlist_confirmation_mode 設為 WAITLIST_CONFIRMATION_MODE_ASYNCHRONOUS

建立等候名單項目

  • 您可以透過 CreateWaitlistEntry 要求建立等候名單項目。
  • 如果無法建立等候名單項目,回應中會顯示商業邏輯錯誤。
  • 如果 CreateWaitlistEntry 嘗試成功,當再次收到相同的 CreateWaitlistEntry 時,系統會傳回相同的回應。
  • 如果 CreateWaitlistEntry 嘗試失敗,伺服器會在再次收到相同的 CreateWaitlistEntry 時重試。
  • 等候名單項目會顯示在商家的介面中。
  • 呼叫 GetWaitlistEntry 成功傳回已建立的等候名單項目。

等候名單項目狀態和時間戳記

  • 確認 GetWaitlistEntry 回應的等候名單項目中是否已正確傳回每個等候名單項目狀態。
  • 確認 GetWaitlistEntry 回應中等候清單項目的適當時間戳記欄位,均已設定每個狀態時間戳記。

刪除等候名單項目

  • 您可以刪除現有的等候名單項目。成功刪除的回應必須為空白 proto {}

選擇禁止顯示

範例等候名單服務動態饋給 (JSON)

等候名單服務動態饋給

商家選擇退出

對於先前已啟用等候名單但後來選擇退出的商家,Google 預期會收到特定回應。

立即選擇退出

延時選擇退出

  • 如果商家未選擇停用預訂功能,請從商家的服務動態饋給中移除 waitlist_rules
  • 如果商家選擇不採用所有 Google 整合服務,請從商家動態饋給中移除該商家。