若要在预订流程中成功显示您的空闲时段,您必须发送准确且最新的商品目录映射。由于餐饮场所的性质以及拼桌或聚餐人数的灵活性,在单次预订后,可预订的空位数量可能会发生显著变化。本文档中的示例将指导您如何正确维护和映射可用商品目录。
以下是 Availability definition 中指定的参数:
- party_size:商家在此时间段可容纳的团体人数。本文中的图表展示了配置同行人数的各种方式。
- spots_open:特定空闲时段和就餐人数目前可预订的餐桌数量。
- spots_total:商家针对相应配置拥有的餐桌总数,包括不可用的餐桌。
这三个参数共同用于构建楼层平面图的数字表示形式。party_size 是每张桌子可容纳的人数。每个表格可容纳的尺寸都对应一个条目。spots_open 和 spots_total 是可容纳相应 party_size 的餐桌数量。
空楼层平面图示例
假设某餐厅的平面图如下,且没有有效预订:

图 1. 没有有效预订的楼层平面图。
party_size、spots_open 和 spots_total 的值如下所示:
| party_size | spots_open | spots_total | 
|---|---|---|
| 4 | 3 | 3 | 
| 5 | 3 | 3 | 
| 6 | 4 | 4 | 
| 7 | 1 | 1 | 
| 8 | 1 | 1 | 
此商家的一个时间段的可用性 Feed 如下所示:
{
  "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
          }
        }
      ]
}
包含预订信息的楼层平面图示例
之前预订过其中一个圆桌的餐厅如下所示:

图 2. 包含一项有效预订的楼层平面图。
party_size、spots_open 和 spots_total 的值如下所示:
| party_size | spots_open | spots_total | 
|---|---|---|
| 4 | 2 | 3 | 
| 5 | 2 | 3 | 
| 6 | 3 | 4 | 
| 7 | 1 | 1 | 
| 8 | 1 | 1 | 
此商家的一个时间段的可用性 Feed 如下所示:
{
  "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_open 和 spots_total。
以下示例展示了如何指定要合并的表格。您的 Feed 可能会因所用的计算方法而有所不同。您可以根据自己的业务逻辑指定 spots_open 和 spots_total。
如果餐厅支持合并餐桌以容纳更多人数的聚餐,您可以更新 spots_open 和 spots_total 以反映这一点。
例如,一家餐厅可以将两张小桌子拼在一起,供 7-10 人用餐:

图 3. 没有有效预订的楼层平面图。
如果没有有效预订,party_size、spots_open 和 spots_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 | 
现在,在同一楼层平面图上,预订了 10 人聚餐,需要合并两张小桌。

图 4. 包含一项跨两张餐桌的有效预订的平面图。
然后,party_size、spots_open 和 spots_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 |