- 资源:可用性
- 资源
- Recurrence
- ScheduleException
- 预付款
- PriceInfo
- PriceRange
- DurationRequirement
- SchedulingRuleOverrides
- ConfirmationMode
- LinkoutRequiredReason
- 方法
资源:可用性
商家服务的可用性空档,用于表示时间和空档数。
| JSON 表示法 |
|---|
{ "startTime": string, "duration": string, "spotsTotal": string, "spotsOpen": string, "availabilityTag": string, "resources": { object ( |
| 字段 | |
|---|---|
startTime |
预约空档的开始时间。 采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不进行“Z”归一化处理的偏差时间也是可以接受的。示例: |
duration |
预约空档的持续时间 该时长以秒为单位,最多包含九个小数位,以“ |
spotsTotal |
此可用性的总空档数和可用空档数。示例:
注意:如果使用下面指定的可用性压缩格式发送请求,将推断出以下两个字段。
|
spotsOpen |
可用的空档数。 |
availabilityTag |
用于标识可用性空档的可选不透明字符串。如果设置该字段,它将包含在预订/更新/取消预约的请求中。 |
resources |
当服务中包含不同的工作人员或房间时,用于消除此可用性空档与其他空档之间的歧义的可选资源。 例如,同一瑜伽课程有 2 位老师: |
paymentOptionId[] |
ID 列表,其中列出了可用于支付此空档费用的付款方式。实际的付款方式需在商家级别定义,且多个商家可共享付款方式。 该字段将替换服务消息中指定的任何 payment_option_ids。同样,此处指定的 payment_option_ids 无需在服务消息中显示,但必须在商家级别定义。 |
recurrence |
可用性的重复周期信息,表示多个开始时间。重复周期应包含单个工作日内的可预约项。 |
scheduleException[] |
无法安排此服务的时间。如需限制 scheduleException 消息的数量,请考虑合并相邻的例外情况。 |
deposit |
适用于此可用性的可选押金。如果指定了押金,则会替换在服务级别定义的押金。 |
noShowFee |
适用于此可用性的可选违约金。如果指定了违约金,则会替换在服务级别定义的违约金。 |
prepayment |
可选。相应可用性的可选预付款信息。 |
requireCreditCard |
表明用户是否必须提供信用卡信息才能预订此可用性空档。如果未设置该值,将从服务级别(如果已在该级别设置)继承。(可选) |
ticketTypeId[] |
表示此可用性空档支持的票券类型列表。如果未设置该值,则父级服务中的所有票券类型均适用于此空档。请注意,必须在父级服务中定义此字段的值。示例:
如需表示工作日期间的商品目录,请使用:
如需表示这三种票券类型均适用于此时间空档,请使用 (可选) |
durationRequirement |
显示广告资源块时长和/或结束时间的要求。如果相应 slot 不可用,系统会忽略此字段。不适用于“推荐活动”垂直行业。(可选) |
schedulingRuleOverrides |
可用性时间安排规则。填充后,这些字段将替换服务级 SchedulingRules 上的任何相应的时间安排规则。 |
confirmationMode |
表示预订此可用性时使用哪种确认模式。使用 CONFIRMATION_MODE_SYNCHRONOUS 的确认模式创建可用性的预订时,必须立即确认或拒绝。使用 CONFIRMATION_MODE_ASYNCHRONOUS 的确认模式创建可用性的预订时,必须立即拒绝或创建为 PENDING 的状态。 |
linkoutRequiredReason |
可选。相应广告资源位需要外链的原因。如果设置了此属性,相应广告资源位的商家资源必须具有有效的 LinkoutTemplate。(可选) |
资源
当服务中包含不同的工作人员或房间时,此资源可用于消除这些可用性空档之间的歧义。如果同一服务和时间间隔的多个空档的资源不同,则这些空档可共存。
| JSON 表示法 |
|---|
{
"staffId": string,
"staffName": string,
"roomId": string,
"roomName": string,
"partySize": integer,
"roomDescription": {
object ( |
| 字段 | |
|---|---|
staffId |
提供服务的工作人员的可选 ID。此字段用于标识所有商家、服务和可用性记录中的工作人员。此外,考虑到需与之前的预订相关联,此字段需要随着时间的推移保持一致。如果存在 staffName,则必须提供该字段。 |
staffName |
提供服务的工作人员的可选姓名。办理预订的用户将看到此字段,该字段应该是用户可理解的内容,而非不透明的标识符。如果存在 staffId,则必须提供此字段。 |
roomId |
服务所在房间的可选 ID。此字段用于标识所有商家、服务和可用性记录中的房间。此外,考虑到需与之前的预订相关联,此字段需要随着时间的推移保持一致。如果存在 roomName,则必须显示此字段。 |
roomName |
服务所在房间的可选名称。办理预订的用户将看到此字段,该字段应该是用户可理解的内容,而非不透明的标识符。(可选,但如果存在 roomId,则为必需)在餐饮中,房间名称应仅用于就餐区(例如酒吧或露台),而不应用于固定价格菜单、特殊活动或任何其他非客房值(例如预订或晚餐)。强烈建议默认就座区不与任何会议室相关联。 |
partySize |
仅适用于餐饮服务:此时间空档内可容纳的就餐人数。一家餐厅可以同时与多个空档相关联,每个空档可指定一个不同的 partySize,例如可预订 2 人、3 人或 4 人位。 |
roomDescription |
可选。本地化的聊天室说明。如果设置,则必须提供默认值。最好还提供商家所在区域的常用语言。(可选) |
周期性
重复周期消息是可选的,但允许以更紧凑的方式表示持续重复的可用性空档。它们通常表示一天的工作安排。其中,可使用 ScheduleException 消息来表示工作日内已预订/不可用的时间范围。
要求:
- 可用性空档或重复周期的扩展不得创建相同的空档。如果 ID、startTime、duration 和 resources 相匹配,则将这些空档视为相同的空档。
- 请勿在单个服务的空档内混合使用标准可用性格式和重复周期。重复周期更适合提供预约的商家/服务。标准格式适用于定期安排课程的商家/服务。
- 重复周期不得超过 24 小时。
| JSON 表示法 |
|---|
{ "repeatUntil": string, "repeatEvery": string } |
| 字段 | |
|---|---|
repeatUntil |
可用性重复截止时间的时间戳,需包含最大时间单位的世界协调时间 (UTC)。 采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不进行“Z”归一化处理的偏差时间也是可以接受的。示例: |
repeatEvery |
定义连续可用性空档之间的时间。 示例:持续时间为 20 分钟、repeatEvery 为 30 分钟、startTime 为上午 9:00、repeatUntil 为上午 11:00 的可用性将在上午 9:00-9:20、上午 9:30-9:50、上午 10:00-10:20、上午 10:30-10:50 和上午 11:00-11:20 生成空档。(必填) 该时长以秒为单位,最多包含九个小数位,以“ |
ScheduleException
ScheduleException 消息表示工作日内已预订/不可用的时间范围,它是上述重复周期的例外情况。时间空档被预订后,应更新例外情况列表,以反映新的不可用的时间范围。不应修改重复周期本身。
| JSON 表示法 |
|---|
{
"timeRange": {
object ( |
| 字段 | |
|---|---|
timeRange |
例外情况的时间范围。由重复周期描述且与此已打烊-营业中时间范围重叠的任何空档都将被视为不可用。 示例:如果重复周期指定时长为 20 分钟、repeatEvery 为 30 分钟、startTime 为上午 9:00 且 repeatUntil 为上午 11:00,则 timeRange 为上午 9:45-11:00 的 ScheduleException 会使上午 9:30-9:50、上午 10-10:20 和上午 10:30-10:50 的空档不可用。 请注意,由于时间范围为已打烊-营业中,因此,从上午 11 点开始的空档不会受到影响。 |
预付
用户在预订时可能需要支付的款项。
| JSON 表示法 |
|---|
{
"priceInfo": {
object ( |
| 字段 | |
|---|---|
priceInfo |
价格详情的容器。 |
PriceInfo
价格详情的容器。
| JSON 表示法 |
|---|
{ "priceType": enum ( |
| 字段 | |
|---|---|
priceType |
定义价格或价格范围的应用方式(按人或固定) |
联合字段 price_options。价格选项用于指定确切价格或价格范围。price_options 只能是下列其中一项: |
|
price |
服务的价格或所需费用。 |
priceRange |
服务或费用的上限和/或下限。 |
PriceRange
货币金额范围的封装容器,除非同时设置了两个值,否则视为无界。必须至少指定 minAmount 和 maxAmount 中的一个。
| JSON 表示法 |
|---|
{ "minPrice": { object ( |
| 字段 | |
|---|---|
minPrice |
最低金额。 |
maxPrice |
最高金额。应始终大于 minPrice。 |
DurationRequirement
此枚举表示用户确认或查看所请求的时段时长/结束时间需要满足哪些要求。
| 枚举 | |
|---|---|
DURATION_REQUIREMENT_UNSPECIFIED |
未指定结束时间的处理方式。这是默认值。 |
DO_NOT_SHOW_DURATION |
结束时间不会向用户显示。 |
MUST_SHOW_DURATION |
在用户预约之前,必须向其显示结束时间。 |
SchedulingRuleOverrides
可用性级别时间安排规则。
| JSON 表示法 |
|---|
{ "lastBookableSec": string, "firstBookableSec": string, "lastOnlineCancellableSec": string } |
| 字段 | |
|---|---|
lastBookableSec |
可预订此空档的最后时间(以秒为单位)。此时间戳必须在要预订的空档的 startSec 之前(如果用户在开始时间之后也可预订,请使用服务级别 SchedulingRules.min_booking_before_end_time)。如果存在此字段,将替换相应服务 SchedulingRules 的 min_booking_buffer 中任何指定的内容。 |
firstBookableSec |
能够预订此空档的最早时间(以秒为单位)。此时间戳必须在该空档的 startSec 或 lastBookableSec(如果指定)之前。 |
lastOnlineCancellableSec |
如果已设置,则表示可通过“通过 Google 预订”功能取消此特定预约空档的最后时间(自 Unix 纪元以来的秒数)。此字段将替换任何服务级取消规则。(可选) |
ConfirmationMode
预订可用性时使用的确认模式。
| 枚举 | |
|---|---|
CONFIRMATION_MODE_UNSPECIFIED |
未指定确认模式。系统将进行同步确认。 |
CONFIRMATION_MODE_SYNCHRONOUS |
系统将同步确认对此可用性的预订。 |
CONFIRMATION_MODE_ASYNCHRONOUS |
系统将异步确认对此可用性的预订。 |
LinkoutRequiredReason
相应广告资源块具有链接跳转体验的原因。
| 枚举 | |
|---|---|
LINKOUT_REQUIRED_REASON_UNSPECIFIED |
默认值:请勿使用,相当于未知。 |
PAYMENT_REQUIRED |
如需预订此时段,需要在合作伙伴平台中付款。 |
方法 |
|
|---|---|
|
替换由指定的集合商家管理的商家现有 Service 的 Availability,并将其返回。 |