参数定义
如 Availability 定义中所述:
party_size:此时间段内可容纳的就餐人数。一家餐厅可以同时与多个空档相关联,每个空档可指定一个不同的party_size,例如可预订 2 人、3 人或 4 人位spots_open:相应空闲时段条目的当前可用位置数spots_total:相应配置下商家拥有的总席位数(包括不可用的席位)
这三个参数共同用于构建平面图的数字表示形式。party_size 是每张餐桌可容纳的人数(每种餐桌尺寸都会有一个条目)。spots_open 和 spots_total 是可容纳相应 party_size 的餐桌数量。
空楼层平面图示例
假设某餐厅的平面图如下,且没有有效预订:
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 如下所示:
JSON
{ "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 } } ] }
包含预订的楼层平面图示例
现在,假设其中一张圆桌已被预订:
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 |
JSON
{ "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 } } ] }
指定餐饮供应情况(支持组合表)
餐厅可以通过多种方式合并餐桌,以容纳更多人数的团体。您需要在 Feed 中指定 spots_open 和 spots_total,以准确反映您是否可以接受特定人数的团体。以下示例展示了如何指定合并表。
您的 Feed 在进行此计算时可能略有不同,您可以按照符合您业务逻辑的方式指定 spots_open 和 spots_total。
如果餐厅支持合并餐桌以容纳更多用餐者,您可以更新 spots_open 和 spots_total 以反映此情况。
假设某餐厅可以将两张小桌子拼在一起,供 7-10 人用餐。
如果没有有效预订,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 人聚餐,需要合并两张小桌。
然后,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 |