参数定义
如
Availability
定义:
party_size
:此时间段内可以容纳的就餐人数 。一家餐馆可以同时与多个空档相关联, 分别指定不同的party_size
,例如 2 人、3 人或 4 人 可以预订座位spots_open
:目前可用于此产品或服务的空位数量 空房情况条目spots_total
:商家在这方面拥有的停车位总数 配置(包括不可用的配置)
结合使用这三个参数,可构建以数字方式表示的
楼层平面图。party_size
是每个表可以容纳的人数(将
是一个表所能容纳的所有尺寸的条目)。spots_open
和spots_total
是可以容纳该 party_size
的表的数量的计数。
空白楼层平面图示例
假设一家餐厅具有以下楼层平面图,但没有活动项目 预订:
<ph type="x-smartling-placeholder">![图 1:无有效预订的楼层平面图](https://developers-dot-devsite-v2-prod.appspot.com/static/actions-center/images/tutorial_dining_flow_1.png?authuser=19&hl=zh-cn)
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 } } ] }
包含预订的楼层平面图示例
现在,假设有人预订了一张圆桌会议:
<ph type="x-smartling-placeholder">![图 2:包含一个有效预订的楼层平面图](https://developers-dot-devsite-v2-prod.appspot.com/static/actions-center/images/tutorial_dining_flow_2.png?authuser=19&hl=zh-cn)
现在,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 人的就餐人数 人。
<ph type="x-smartling-placeholder">![图 3:无有效预订的楼层平面图](https://developers-dot-devsite-v2-prod.appspot.com/static/actions-center/images/tutorial_dining_flow_1.png?authuser=19&hl=zh-cn)
如果没有有效预订,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 人就餐, 合并两个小表格。
<ph type="x-smartling-placeholder">![图 4:一个有效预订跨两个表的楼层平面图](https://developers-dot-devsite-v2-prod.appspot.com/static/actions-center/images/tutorial_dining_flow_3.png?authuser=19&hl=zh-cn)
然后,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 |