选择播出信息格式
您可以通过以下两种方式指定空房数据:(1) 空房数或 (2) 重复。请仅选择一种方法,用于在您的所有商家和服务中使用。选择一种方法后,您必须在整个集成(Feed、预订服务器和实时更新)中坚持使用该方法。
请参考以下指南,确定哪种库存状况格式更适合:
- 在您的系统中,您是否将空闲时间存储为显式时段(例如,上午 8:00 至 8:30)?
- 使用开放地点数
- 在您的系统中,您是否以周期性格式存储空闲时间,也就是说,商家提供的服务频率是否一致且很少出现偏差?例如,上午 9:00 到下午 5:00 的空档每 15 分钟重复一次,并且每 15 分钟递增一次,只有一个座位可用。
- 使用重复
- 商家的服务是否可以同时有多个空缺?例如,某门课程有 30 个空缺学位
- 使用开放地点数
- 以上都不是?
- 使用开放地点数
- 注意:虽然使用重复性更高效,并且可以缩减 Feed 大小,但如果您的数据模型不支持原生重复性,则不建议使用重复性,因为您需要针对每次实时更新重新计算一整天的重复性时间段。
开放地点数
参数定义:
- spots_open:此空房信息条目当前可用的空档数。
- spots_total:商家针对此配置的广告位总数,包括不可用的广告位。
“Spots Open”方法会明确指明每个时段的空闲情况,并支持为同一服务设置多个广告位。这两个参数协同工作,以数字方式表示服务容量。
发生预订时,spots_open 数量应通过实时更新递减 1(spots_total 数量应保持不变)。当 spots_open = 0 后,该广告位应该不会再显示。
服务示例
瑜伽课程或美容院有以下平面图,且没有有效的预约
这两家商家的 2 个空档的可用性 Feed 如下所示:
JSON
{ "availability": [ { "spots_total": 6, "spots_open": 6, "duration_sec": 3600, "service_id": "1001", "start_sec": 1535817600, # Sept 1, 2018 4:00:00 PM GMT "merchant_id": "1001" }, { "spots_total": 6, "spots_open": 6, "duration_sec": 3600, "service_id": "1001", "start_sec": 1535832000, # Sept 1, 2018 8:00:00 PM GMT "merchant_id": "1001", } ] }
包含预订的服务示例
现在,用户预订了其中一个停车位。发生预订时,系统会发出实时更新以更新空房情况。下一个每日空房情况 Feed 中应会反映此预订。在这些商家的空房情况 Feed 中,2018 年 9 月 1 日下午 4:00:00(格林尼治标准时间)的时段的 spots_open 会递减 1。2018 年 9 月 1 日 20:00:00(格林尼治标准时间)的时段保持不变。
包含预订信息的 Feed 摘要
JSON
{ "availability": [ { "spots_total": 6, "spots_open": 5, "duration_sec": 3600, "service_id": "1001", "start_sec": 1535817600, # Sept 1, 2018 4:00:00 PM GMT "merchant_id": "1001" }, { "spots_total": 6, "spots_open": 6, "duration_sec": 3600, "service_id": "1001", "start_sec": 1535832000, # Sept 1, 2018 8:00:00 PM GMT "merchant_id": "1001", } ] }
周期性
参数定义
- 重复周期:表示持续重复的可用性空档。
- repeat_until_sec:可用性重复截止时间的最后一个空档的结束时间的 UTC 时间戳。
- repeat_every_sec:连续可用性空档之间的秒数。例如,如果 repeat_every_sec = 1800(30 分钟),并且 start_sec 从上午 9:00 开始,则这些空档将每 30 分钟重复一次,分别在上午 9:00、9:30、10:00 等时间重复。
- 注意:无需指定 spots_open 和 spots_total,除非存在 schedule_exception,否则系统会假定它们均为 1
重复方式用于指明定期发生的服务的每日空档情况,例如每天上午 9:00 至下午 5:00 每 30 分钟发生一次的服务。使用重复设置时,您可以指定时段的时长、时段在一天中的首次出现时间、该时段应重复的频率,以及它在同一天应停止重复的时间。 注意:您需要为每天单独指定一组新的重复时段。如果相应时间范围内已预订了某个时段,您需要指定时间表例外情况。例如,上午 9:00 到晚上 9:00 每半小时重复一次,但上午 11:00 到上午 11:30 除外。每项服务都有自己的重复周期和时间安排例外情况。
服务示例
美容院有以下平面图,且没有有效的预约
这些商家 1 个空档的可用性 Feed 如下所示:
Feed 摘要:
JSON
{ "availability": [ { "merchant_id": "1001", "service_id": "1001", # haircut "start_sec": 1493888400, # May 4, 2017 9:00:00 AM GMT "duration_sec": 1800, "recurrence": { "repeat_every_sec": 1800, "repeat_until_sec": 1493915400 # May 4, 2017 4:30:00 PM GMT } } ] }
包含预订的服务示例
现在假设,用户预约了下午 12:30 与 Sally 的理发服务。发生预订时,系统会发出实时更新以更新空房情况。下一个每日空房情况 Feed 中应会反映此预订。这些商家的可用性 Feed 中会有一个时段安排例外情况,即下午 12:30 至 1:00 点,服务时长为 30 分钟。
包含预订信息的 Feed 摘要:
JSON
{ "availability": [ { "merchant_id": "1001", "service_id": "1001", "start_sec": 1493888400, # May 4, 2017 9:00:00 AM GMT "duration_sec": 1800, "recurrence": { "repeat_every_sec": 1800, "repeat_until_sec": 1493915400 # May 4, 2017 4:30:00 PM GMT }, "schedule_exception": [ { "time_range": { "begin_sec": 1493901000, # May 4, 2017 12:30:00 PM GMT "end_sec": 1493902800 # May 4, 2017 1:00:00 PM GMT } } ], } ] }