總覽

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

發布程序

圖 1 簡要說明如何在 Actions Center 中推出已啟用等候名單的商家。

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

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

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

所有預訂候位名單合作夥伴適用的規範

導入「預訂等候名單」功能時,請注意下列事項:

  • 每個預訂等候名單商家的服務都必須填入 waitlist_rules
    • 您必須使用相同的服務進行候補和預訂。換句話說,如果您的餐廳也提供預訂服務,請將等候名單相關中繼資料新增至預訂服務。
  • 在下列情況下,您必須傳送簡訊更新內容,才能實作等候名單:
    • 確認使用者已成功加入候補名單。
    • 通知使用者表格已就緒。
    • 通知使用者,他們的候補預約已取消。
  • SMS 訊息必須包含連結,可讓使用者查看等候名單狀態。
  • 僅限等候名單的商家不需要將供應情形動態饋給提供給「行動中心」。
  • 您的預訂伺服器必須按照「導入預訂伺服器」中所述,執行等候名單適用的所有步驟。如果是同時支援預訂和等候名單的合作夥伴,可以將新方法加進現有的預訂伺服器。
  • 行動中心會針對預訂伺服器中的等候名單方法執行一系列的測試案例

狀態流程圖

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

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

常見的邊緣情況

以下是預訂等候名單整合的常見邊緣情況,以及各自適用的建議解決方案。

  • 如果因目前情況不須等候,而不接受將部分 (但並非所有) 預訂人數加到新的等候名單,則建議在 BatchGetWaitEstimates 回應中傳回各組預訂人數均適用的 WaitEstimates,並讓使用者可以加入這些不須等候的預訂人數等候名單。傳回 WaitLength 時,parties_ahead_count 和/或 estimated_seat_time_range 為 0,start_secondsend_seconds 為 0,且 party_size 無須等待
  • 如果一或多組預訂人數因等待時間過長而不接受加到新的等候名單,則建議在 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 整合服務,請從商家動態饋給中移除該商家本身。