建立預訂的供應情形資料結構

如要在預訂流程中順利顯示空位,你必須傳送準確且最新的空位對應資訊。由於餐廳的性質,以及併桌或人數限制,單一預訂可能會大幅改變可預訂的座位數。本文中的範例可引導您正確維護及對應可用廣告空間。

以下是 Availability definition中指定的參數:

  • party_size:商家在該時段可容納的用餐人數。本文中的圖表顯示設定派對人數的各種方式。
  • spots_open:特定時段和人數可用的桌位數量。
  • spots_total:商家為這項設定擁有的資料表總數,包括無法使用的資料表。

這三個參數會共同運作,建構樓層平面圖的數位呈現方式。party_size 是每桌可容納的人數。每個尺寸的桌子都有一個項目。spots_openspots_total 是可容納該 party_size 的桌位數量。

空樓層平面圖範例

假設餐廳有以下平面圖,且沒有任何有效預訂:

圖 1. 沒有有效預訂的樓層平面圖

圖 1. 沒有有效預訂的樓層平面圖。

party_sizespots_openspots_total 的值如下:

party_size spots_open spots_total
4 3 3
5 3 3
6 4 4
7 1 1
8 1 1

這個商家一個時段的預訂情形動態饋給如下所示:

{
  "availability": [
        {
          "spots_total": 3,
          "spots_open": 3,
          "duration_sec": 3600,
          "service_id": "1000",
          "start_sec": 1535806800,
          "merchant_id": "merch1",
          "resources": {
            "party_size": 4
          }
        },
        {
          "spots_total": 3,
          "spots_open": 3,
          "duration_sec": 3600,
          "service_id": "1000",
          "start_sec": 1535806800,
          "merchant_id": "merch1",
          "resources": {
            "party_size": 5
          }
        },
        {
          "spots_total": 4,
          "spots_open": 4,
          "duration_sec": 3600,
          "service_id": "1000",
          "start_sec": 1535806800,
          "merchant_id": "merch1",
          "resources": {
            "party_size": 6
          }
        },
        {
          "spots_total": 1,
          "spots_open": 1,
          "duration_sec": 3600,
          "service_id": "1000",
          "start_sec": 1535806800,
          "merchant_id": "merch1",
          "resources": {
            "party_size": 7
          }
        },
        {
          "spots_total": 1,
          "spots_open": 1,
          "duration_sec": 3600,
          "service_id": "1000",
          "start_sec": 1535806800,
          "merchant_id": "merch1",
          "resources": {
            "party_size": 8
          }
        }
      ]
}

附有預訂資訊的樓層平面圖範例

先前預訂圓桌的餐廳如下:

圖 1. 有一筆有效預訂的樓層平面圖

圖 2. 附有單一有效預訂的樓層平面圖。

party_sizespots_openspots_total 的值如下:

party_size spots_open spots_total
4 2 3
5 2 3
6 3 4
7 1 1
8 1 1

這個商家一個時段的預訂情形動態饋給如下所示:

{
  "availability": [
        {
          "spots_total": 3,
          "spots_open": 2,
          "duration_sec": 3600,
          "service_id": "1000",
          "start_sec": 1535806800,
          "merchant_id": "merch1",
          "resources": {
            "party_size": 4
          }
        },
        {
          "spots_total": 3,
          "spots_open": 2,
          "duration_sec": 3600,
          "service_id": "1000",
          "start_sec": 1535806800,
          "merchant_id": "merch1",
          "resources": {
            "party_size": 5
          }
        },
        {
          "spots_total": 4,
          "spots_open": 3,
          "duration_sec": 3600,
          "service_id": "1000",
          "start_sec": 1535806800,
          "merchant_id": "merch1",
          "resources": {
            "party_size": 6
          }
        },
        {
          "spots_total": 1,
          "spots_open": 1,
          "duration_sec": 3600,
          "service_id": "1000",
          "start_sec": 1535806800,
          "merchant_id": "merch1",
          "resources": {
            "party_size": 7
          }
        },
        {
          "spots_total": 1,
          "spots_open": 1,
          "duration_sec": 3600,
          "service_id": "1000",
          "start_sec": 1535806800,
          "merchant_id": "merch1",
          "resources": {
            "party_size": 8
          }
        }
      ]
}

指定用餐供應情形,並支援合併資料表

餐廳可以透過多種方式合併桌位,以容納較大的團體。您需要指定 spots_openspots_total,準確反映是否可接受特定大小的派對。

以下範例說明如何指定合併資料表。動態饋給可能會因您使用的計算方法而異。您可以根據業務邏輯指定 spots_openspots_total

如果餐廳支援合併桌位,以容納更多人數,你可以更新 spots_openspots_total 來反映這項資訊。

舉例來說,如果餐廳可以合併兩張小桌子,容納 7 到 10 人的聚會:

圖 1. 沒有有效預訂的樓層平面圖

圖 3. 沒有有效預訂的樓層平面圖。

如果沒有有效預訂,party_sizespots_openspots_total 的值如下:

party_size spots_open spots_total
4 3 3
5 3 3
6 4 4
7 1 1
8 1 1
9 1 1
10 1 1

現在,使用相同樓層平面圖,為十人聚會預訂座位,並合併兩張小桌。

圖 1. 平面圖:一個有效預訂橫跨兩張桌子

圖 4. 平面圖:一個有效預訂項目橫跨兩張桌子。

接著,party_sizespots_openspots_total 的值如下所示:

party_size spots_open spots_total
4 1 3
5 個 1 3
6 2 4
7 1 1
8 1 1
9 0 1
10 0 1