REST Resource: inventory.partners.merchants.services

资源:服务

对商家所提供服务的介绍,例如“理发”。

JSON 表示法
{
  "name": string,
  "serviceName": string,
  "localizedServiceName": {
    object (Text)
  },
  "description": string,
  "localizedDescription": {
    object (Text)
  },
  "price": {
    object (Price)
  },
  "priceInterpretation": enum (PriceInterpretation),
  "rules": {
    object (SchedulingRules)
  },
  "prepaymentType": enum (PrepaymentType),
  "prepaymentTerms": {
    object (PrepaymentTerms)
  },
  "form": [
    {
      object (ServiceIntakeForm)
    }
  ],
  "intakeForm": {
    object (ServiceIntakeForm)
  },
  "perTicketIntakeForm": {
    object (ServiceIntakeForm)
  },
  "taxRate": {
    object (TaxRate)
  },
  "paymentOptionId": [
    string
  ],
  "deposit": {
    object (Deposit)
  },
  "noShowFee": {
    object (NoShowFee)
  },
  "requireCreditCard": enum (RequireCreditCard),
  "actionLink": [
    {
      object (ActionLink)
    }
  ],
  "type": enum (ServiceType),
  "ticketType": [
    {
      object (TicketType)
    }
  ],
  "relatedMedia": [
    {
      object (RelatedMedia)
    }
  ],
  "serviceAttributeValueId": [
    {
      object (ServiceAttributeValueId)
    }
  ],
  "waitlistRules": {
    object (WaitlistRules)
  },
  "ticketingVerticalSpecificData": {
    object (TicketingVerticalSpecificData)
  },
  "integrationType": enum (IntegrationType),
  "perOrderFee": {
    object (PerOrderFee)
  },
  "toursAndActivitiesContent": {
    object (ToursAndActivitiesContent)
  },
  "location": [
    {
      object (Location)
    }
  ],
  "rating": {
    object (Rating)
  },
  "homeServiceData": {
    object (HomeServiceData)
  },
  "virtualSession": {
    object (VirtualSession)
  },
  "directMerchantPayment": {
    object (DirectMerchantPayment)
  },
  "uriTemplate": {
    object (UriTemplate)
  }
}
字段
name

string

服务资源的名称,格式为 partners/{partner_id}/merchants/{merchantId}/services/{serviceId}

serviceName

string

服务的名称,例如“男士理发”。已弃用,请改用 localizedServiceName。

localizedServiceName

object (Text)

服务的名称,例如“男士理发”。可能适用于多个语言区域。

description

string

可供用户查看的服务简介。已弃用,请改用 localizedDescription。

localizedDescription

object (Text)

可供用户查看的服务简介。

此字段同时支持纯文本格式及类似于 HTML 的格式。与纯文本部分不同,自定义布局的创建可使用标题、段落、列表和一些词组标记。请仔细阅读以下说明和注意事项,确保提供最佳的用户体验。

支持的类似于 HTML 的格式标记:

标题标记:<h1>、<h2>、<h3>、<h4>、<h5>、<h6>
标题标记可用于显示标题和副标题。例如,<h1>行程</h1>会将内嵌文本显示为该部分最重要的标题。请注意,所有内部 HTML 标记、样式或属性都将被忽略。例如,<h1 style=".."> 与 <h1> 的处理方式相同。仅保留纯文本。

段落标记:<p>
段落标记可用于突出显示详细信息或内容。任何内部标记、样式或属性都将被忽略,但存在以下几种例外情况:<br>、<strong> 和 <em>。如需了解详情,请参阅下面的词组标记部分。

列表标记:<ul>、<ol>、<li>
<ul> 标记可与 <li> 标记用于显示无序列表,<ol> 标记可与 <li> 标记用于显示有序列表。这是显示核对清单、时间表或任何其他适合您的用例的列表的好方法。
示例:如需显示游轮之旅的特色列表,请使用以下代码:
<ol>
<li>绝佳的海景,还有机会与野生动物互动。</li>
<li>精心设计的旅行安排和服务。</li>
<li>保证最低价。</li>
</ol>
请注意,只有 <ul> 或 <ol> 标记下的 <li> 子标记会被转换。所有其他子级内容都会被舍弃。此外,所有内部标记、属性和样式都会被忽略,只保留纯文本内容。

分区标记:<div>
系统会根据上述规则对 <div> 标记受支持的所有内部标记进行解析,<div> 标记本身并不意味着在此进行任何分组或缩进。此外,所有内部属性和样式都会被忽略。

词组标记:<br>、<strong>、<em>
仅支持以上 3 种标记。<br> 用于对段落中的内容进行分行,<strong>/<em> 用于突出显示重要文本。所有其他词组标记都会被忽略。

不受支持的标记:

  • 不允许使用 <html>、<header> 和 <body> 标记。
  • 上面未提及的所有其他标记均不受支持(例如 <table>、<td> 等标记)。
    任何网址、锚标记和链接都会被删除,且任何时候都不会向最终用户显示。如果您想通过图片来打造丰富的用户体验,请通过下面的“relatedMedia”字段发送图片的网址。

重要注意事项:

  • 请勿使用上述受支持的标记以外的其他标记,因为不受支持的标记中的内容会被删除,用户体验也可能会受到影响。
  • 尽量避免使用深层嵌套结构,例如 3 个以上的不同标题级别或嵌套列表。确保结构简单明了,从而打造更优质的用户体验。
  • 如果目前支持的布局无法满足您的使用情形,请与“通过 Google 预订”团队联系。
  • 建议的大小上限为 32000 个字符。
price

object (Price)

服务的价格。

priceInterpretation

enum (PriceInterpretation)

说明价格的解析方式和面向用户显示的方式。可用于供餐饮和推荐活动以外的任何行业配置服务价格的显示方式。

rules

object (SchedulingRules)

与预订/取消预约相关的规则。

prepaymentType

enum (PrepaymentType)

预付款是必需项、可选项或不支持预付款。

prepaymentTerms

object (PrepaymentTerms)

关于预付款完成时间的条款。

form[]
(deprecated)

object (ServiceIntakeForm)

已弃用。请使用 intakeForm 和 perTicketIntakeForm。

intakeForm

object (ServiceIntakeForm)

在用户预订此服务时,用于请求用户提供更多信息的表单。(可选)

perTicketIntakeForm

object (ServiceIntakeForm)

在用户预订此服务时,用于请求用户提供更多信息的表单。用户预订每张票券时均需填写一次该表单。(可选)

taxRate

object (TaxRate)

服务的税率。如果设置该字段,它将替换在商家级别设置的任何 taxRate。如果消息为空(即 taxRate { }),系统会将适用的税率重置为零。

paymentOptionId[]

string

ID 列表,其中列出了可用于支付此服务费用的付款方式。实际的付款方式需在商家级别定义,且多个商家可共享付款方式。

deposit

object (Deposit)

指定向用户收取押金的方式。如果指定了押金,则会替换在服务级别定义的押金。如果将该字段留空,系统会移除服务级别的所有押金。(可选)

noShowFee

object (NoShowFee)

指定可能需要向用户收取的违约金。如果指定了违约金,则会替换在服务级别定义的违约金。如果将该字段留空,系统会移除服务级别的所有违约金。(可选)

requireCreditCard

enum (RequireCreditCard)

指明用户是否必须提供信用卡信息才能预订相应服务。可在可用性级别替换该字段。(可选)

type

enum (ServiceType)

服务的预定义类型。(可选)

ticketType[]

object (TicketType)

可预订/购买的服务票券类型(如果支持票券)。(可选)

relatedMedia[]

object (RelatedMedia)

与服务相关的图片。Google 会抓取并存储媒体,用于确保以最有效的方式向最终用户展示。(可选)

serviceAttributeValueId[]

object (ServiceAttributeValueId)

适用于相应服务的服务属性值(可选)。对于在相应商家中定义的每个服务属性,每项服务都可能具有零个或多个值。(可选)

waitlistRules

object (WaitlistRules)

加入候位名单时需遵守的规则。

ticketingVerticalSpecificData

object (TicketingVerticalSpecificData)

特定于活动门票行业的其他信息。(可选)

integrationType

enum (IntegrationType)

我们所支持的集成深度。(可选)不适用于采用初级集成的合作伙伴。系统会始终为此类合作伙伴停用端到端集成。

perOrderFee

object (PerOrderFee)

用于购买相应服务的订单级费用。(可选)

toursAndActivitiesContent

object (ToursAndActivitiesContent)

特定于游览项目和活动的“内容”字段。

location[]

object (Location)

与服务相关的地点。重要注意事项:如果有多个与服务相关的已访问地点,或者 START_LOCATION 与 VISITED_LOCATION 不同,则必须指定 START_LOCATION。示例:- 对于途径 3 个地点的有向导的骑行之旅,需指定第一个地点。- 对于要在酒店大厅集合,然后前往参观地点的观光巴士之旅,需指定集合地点。

rating

object (Rating)

此服务的用户评分可作为所有评价的总指标。

homeServiceData

object (HomeServiceData)

特定于家庭服务行业的其他信息。(可选)

virtualSession

object (VirtualSession)

可选。虚拟会话的相关信息。这是启用虚拟服务所必需的。

directMerchantPayment

object (DirectMerchantPayment)

可选。如果服务要求用户直接向商家付款,则需要添加的其他信息。重要提示:RwG 不会参与此交易。如果已定义 virtualSession,并且服务不是免费的,或者 prepaymentType 未设置为 REQUIRED,则此字段为必需字段。

uriTemplate

object (UriTemplate)

可选。一个可选模板,用于指定 Google 应如何生成指向外部网站的网址。

PriceInterpretation

说明价格的解析方式和面向用户显示的方式。

枚举
PRICE_INTERPRETATION_UNSPECIFIED 未指定价格解析方式,默认为 EXACT_AMOUNT。
EXACT_AMOUNT

应将价格解析为特定值时。

例如:瑜伽课一节 20 元;儿童理发一次 15 元

STARTS_AT

服务的价格不固定,但最低价格已知且向消费者显示价格时。价格可能会因消费者的选择而变高。

请注意,使用 PriceInterpretation 的任何服务都必须使用 PrepaymentType NOT_SUPPORTED。

示例:狗狗美容 30 美元,但消费者的其他选择可能会使价格变高

NOT_DISPLAYED

服务的价格不固定且不提前向消费者显示价格信息时。

请注意,使用 PriceInterpretation 的任何服务都必须使用 PrepaymentType NOT_SUPPORTED,且价格必须为空。

示例:家政服务的相关咨询

SchedulingRules

服务的时间表规则。

JSON 表示法
{
  "minAdvanceOnlineCanceling": string,
  "lateCancellationFee": {
    object (Price)
  },
  "noshowFee": {
    object (Price)
  },
  "admissionPolicy": enum (AdmissionPolicy),
  "cancellationPolicy": {
    object (CancellationPolicy)
  },

  // Union field min_booking_buffer can be only one of the following:
  "minAdvanceBooking": string,
  "minBookingBufferBeforeEndTime": string
  // End of list of possible types for union field min_booking_buffer.
}
字段
minAdvanceOnlineCanceling

string (int64 format)

网上取消预订应至少提前通知的时间(以秒为单位)。(可选)

lateCancellationFee
(deprecated)

object (Price)

在至少应提前通知的期限内取消时应支付的费用。

noshowFee
(deprecated)

object (Price)

未取消预订时应付的违约金。

admissionPolicy

enum (AdmissionPolicy)

适用于此服务的准入政策。如果未设置,默认为 TIME_STRICT。(可选)

cancellationPolicy

object (CancellationPolicy)

时间表规则取消政策。(对于推荐活动,该字段为必填字段)

联合字段 min_booking_buffer。从上次预订时间到可用性空档开始或结束时间的时长(以秒为单位)。

如果已设置“min_advance_booking”,则最后可预订时间的计算方式为:(<空档开始时间> - "min_advance_booking")。如果已设置“min_booking_buffer_before_end_time”,则最后可预订时间的计算方式为:(<空档结束时间> - "min_booking_buffer_before_end_time")。请注意,如需设置“min_booking_buffer_before_end_time”时,必须将其设置为正值。如果二者均未设置,则在空档开始时间之前均可预订。如果这两个字段均已设置,系统只会选择一个值,而忽略另一个值,我们无法可靠地预测系统会选择哪个值。

示例:

  • 需要至少提前 1 个小时预约理发服务。“scheduling_rules{ min_advance_booking: 3600 ...}”

  • 最晚可在闭馆前 30 分钟购买博物馆门票:“scheduling_rules{ min_booking_buffer_before_end_time: 1800 ...}”

  • 需要在电影开始时间之前购买电影票。“scheduling_rules{ ...}”(请将此字段留空)(可选)min_booking_buffer 只能是以下其中一项:

minAdvanceBooking

string (int64 format)

从上次预订时间到可用性空档开始时间的时长(以秒为单位)。

minBookingBufferBeforeEndTime

string (int64 format)

从上次预订时间到可用性空档结束时间的时长(以秒为单位)。如果已设置该字段,必须将“admissionPolicy”字段设置为 TIME_FLEXIBLE,表明用户可以在空档开始后使用所购票券。

AdmissionPolicy

此服务的准入政策。

枚举
ADMISSION_POLICY_UNSPECIFIED 未使用。
TIME_STRICT 客户需要在可用性空档开始时到场,且服务会在此空档结束时结束。TIME_STRICT 使用情形示例:* 某游览项目上午 9:00 开始,所有参加者都需要在开始时间到达,中午 12:00 左右返回。* 预约时间为星期六下午 3:00 的某理发服务大约需要 30 分钟的时间。* 某健身课程的上课时间为晚上 6:00 到晚上 8:00。
TIME_FLEXIBLE

客户可以在可用性空档的开始和结束时间之间的任何时间享受已预约的服务。

TIME_FLEXIBLE 使用情形示例:* 可在购票当天的任何时间使用博物馆门票。* 可在中午 12:00 至晚上 9:00 使用下午时段的游乐园入场券。

TIMED_ENTRY_WITH_FLEXIBLE_DURATION

客户需要在可用性空档的开始时间到达商家地点,但可以随时离开。

例如,上午 10:00 的限时门票要求参观者在上午 10:00 点到达博物馆。此服务的可用性空档的开始时间即指定的到场时间。结束时间仅用作确定可用性空档的键。

CancellationPolicy

服务的取消政策。

JSON 表示法
{
  "refundCondition": [
    {
      object (RefundCondition)
    }
  ]
}
字段
refundCondition[]

object (RefundCondition)

政策中的零或多个退款条件。

RefundCondition

指定单个退款条件。您可使用多个退款条件来描述服务开始时间前各个时段的“退款步骤”。

JSON 表示法
{
  "minDurationBeforeStartTime": string,
  "refundPercent": integer
}
字段
minDurationBeforeStartTime

string (Duration format)

服务开始前的时段,在该时间范围内取消预订的客户可以收到有关 refundPercent 中指定的部分服务费用的退款。如果将该字段设置为 0(默认值),用户将可随时取消相应服务。

该时长以秒为单位,最多包含九个小数位,以“s”结尾。示例:"3.5s"

refundPercent

integer (uint32 format)

只要在服务开始时间前至少 minDurationBeforeStartTime 取消预订,将退还的服务费用百分比,值的范围为 [0, 100]。将该字段设置为 0(默认值)表示相应服务不支持退款。将该字段设置为 100 表示相应服务支持全额退款。

PrepaymentType

用于表示预付款类型的枚举。

枚举
PREPAYMENT_TYPE_UNSPECIFIED 系统默认预付款为 NOT_SUPPORTED。
REQUIRED 用户必须在预订时支付服务费用。
OPTIONAL 用户可以选择在预订时或预订后预付服务的费用,但这并不是进行预订的必要条件。
NOT_SUPPORTED 相应服务不支持预付费。

PrepaymentTerms

有关预付款完成时间的具体信息。

JSON 表示法
{
  "chargeTiming": enum (ChargeTiming),
  "chargeTimeBeforeStartTimeSec": string
}
字段
chargeTiming

enum (ChargeTiming)

相对于购买时间的扣款时间。

chargeTimeBeforeStartTimeSec

string (int64 format)

服务开始时间之前向用户收取付款的秒数。仅当 ChargeTiming 为 CHARGE_LATER 时,才应设置此字段。

ChargeTiming

用于指定相对于购买时间的扣款时间的枚举。

枚举
CHARGE_TIMING_UNSPECIFIED 未使用。
CHARGE_NOW 系统会立即向客户收取费用。
CHARGE_LATER 系统会稍后向客户收费。

ServiceIntakeForm

指定可对商家所提供服务进行自定义的信息录入表单。

JSON 表示法
{
  "field": [
    {
      object (ServiceIntakeFormField)
    }
  ],
  "firstTimeCustomers": boolean,
  "returningCustomers": boolean
}
字段
field[]

object (ServiceIntakeFormField)

将向用户显示的字段。

firstTimeCustomers
(deprecated)

boolean

如果值为 true,系统将向新客户显示此表单。已弃用。信息录入表单不支持此功能。

returningCustomers
(deprecated)

boolean

如果值为 true,系统将向回头客显示此表单。已弃用。信息录入表单不支持此功能。

ServiceIntakeFormField

指定 ServiceIntakeForm 中包含的字段。

JSON 表示法
{
  "id": string,
  "type": enum (FieldType),
  "label": string,
  "localizedLabel": {
    object (Text)
  },
  "value": [
    string
  ],
  "choiceText": [
    {
      object (Text)
    }
  ],
  "isRequired": boolean,
  "allowCustomAnswer": boolean,
  "additionalOption": [
    {
      object (Text)
    }
  ],
  "ticketTypeRestrict": [
    string
  ],
  "hint": {
    object (Text)
  }
}
字段
id

string

集合商家合作伙伴提供的字符串,用于唯一标识表单字段。此 ID 应与相应表单字段回答中的 ID 相同,且必须在服务级别和单张票券信息录入表单中具有唯一性。(必填)

type

enum (FieldType)

此字段的类型。

label

string

该字段中向用户显示的文本。已弃用,请改用 localizedLabel

localizedLabel

object (Text)

该字段中向用户显示的文本。可面向多个语言区域提供。(必填)

value[]

string

仅当字段类型为 LOCATION_SEARCH 时才设置。请使用“location”字段中的“locationId”指定地理位置的值。

choiceText[]

object (Text)

仅当字段类型为 MULTIPLE_CHOICE、CHECKBOXES 或 DROPDOWN 时才设置。用于枚举可能的选择。

isRequired

boolean

指明用户是否需要填写对该字段的回答。

allowCustomAnswer

boolean

指示除了预定义的回答之外,是否允许自定义值。仅当字段类型为 LOCATION_SEARCH 时,此属性才适用。(可选)

additionalOption[]

object (Text)

除了提供的值之外,还提供的其他选项。仅当字段类型为 LOCATION_SEARCH 时适用。例如,除了提供的位置列表之外,另一个可用选项可以是“我稍后会与供应商联系”。(可选)

ticketTypeRestrict[]

string

如果仅应在用户预订某些类型的票券时显示此问题,则应将此字段设置为一组适用的票券类型 ID。如果相应问题始终适用,请将该字段留空。

hint

object (Text)

输入提示文本,显示为文本占位符。这仅适用于字段类型为 SHORT_ANSWER 或 PARAGRAPH 时。(可选)

FieldType

用于表明字段类型的枚举。

枚举
FIELD_TYPE_UNSPECIFIED 未指定或类型未知的字段将被忽略。
SHORT_ANSWER 用于输入文本的单行输入字段。
PARAGRAPH 用于输入文本的多行输入字段。
MULTIPLE_CHOICE 供用户从多个选项中选择一项的一组单选按钮。
CHECKBOXES 一个或多个带有复选框的枚举项。
DROPDOWN 下拉菜单中的一个选项。
BOOLEAN “是/否”按钮。

ServiceType

预定义的服务类型。

枚举
SERVICE_TYPE_UNSPECIFIED 未使用。
SERVICE_TYPE_DINING_RESERVATION 用餐预订。
SERVICE_TYPE_FOOD_ORDERING 订餐,可以是外卖或外带,也可以同时提供这两种服务。
SERVICE_TYPE_FOOD_DELIVERY 外卖。
SERVICE_TYPE_FOOD_TAKEOUT 外卖食品。
SERVICE_TYPE_EVENT_TICKET 活动门票。
SERVICE_TYPE_TRIP_TOUR 旅游。
SERVICE_TYPE_APPOINTMENT 提供预约或课程的服务。建议用于:(1) 保健和健身行业;(2) 水疗和美容行业;以及 (3) 金融咨询和评估服务。如需查看支持的服务类型,请访问:https://developers.google.com/maps-booking/guides/end-to-end-integration/overview
SERVICE_TYPE_ONLINE_APPOINTMENT 提供线上预约服务,用于预约完全虚拟的课程或课程/会议。如果启用虚拟服务预订,则必须设置此参数。
SERVICE_TYPE_SHOPPING 允许用户从指定商家购物的服务。可以是送货,也可以是自提。

TicketType

TicketType 用于区分因用户类型、服务属性或选项/附加服务不同而具有不同价格和/或可用性的票券。

票券是服务最小的可预订单元(例如,漂流之旅中的某个地点、博物馆门票、双人皮划艇全天租借服务)。

JSON 表示法
{
  "ticketTypeId": string,
  "shortDescription": string,
  "localizedShortDescription": {
    object (Text)
  },
  "price": {
    object (Price)
  },
  "perTicketFee": {
    object (PerTicketFee)
  },
  "priceDisplayType": enum (PriceDisplayType),
  "optionDescription": string,
  "localizedOptionDescription": {
    object (Text)
  },
  "inventoryType": enum (InventoryType)
}
字段
ticketTypeId

string

票券 ID 用于区分同一服务的不同票券类型,且仅在同一服务中具有唯一性。

shortDescription

string

对 TicketType 的简要说明。

此内容可面向用户显示,例如“成人”、“儿童”、“退伍军人”和“Row J”等。该字段是必填字段,每种票券类型都应附有面向用户的说明。已弃用,请改用 localizedShortDescription。

localizedShortDescription

object (Text)

对支持国际化的 TicketType 的简要说明。

此内容可面向用户显示,例如“成人”、“儿童”、“退伍军人”和“Row J”等。该字段是必填字段,每种票券类型都应附有面向用户的说明。可分别针对不同语言区域提供不同的值。

price

object (Price)

单张此类票券的价格,不含任何税费。服务税率适用于此类票券。

perTicketFee

object (PerTicketFee)

购买此票券需支付的额外费用。(可选)

priceDisplayType

enum (PriceDisplayType)

可选。此类单张票券的预设价格显示类型。

optionDescription

string

对此票券类型所代表的任何其他选项的说明(如有)。已弃用,请改用 localizedOptionDescription。

localizedOptionDescription

object (Text)

对此票券类型所代表的任何其他选项的说明(如有)。可分别针对不同语言区域提供不同的值。

当票券类型表示多个维度时,其他选项非常有用。

示例 1:将不同类型(例如“成人”、“儿童”)和语言作为附加选项的票券,TicketType 列表可如下所示:- { ticketTypeId: "ticket_type_1" localizedShortDescription { value: "成人" } localizedOptionDescription { value: "英语" } } - { ticketTypeId: "ticket_type_2" localizedShortDescription { value: "成人" } localizedOptionDescription { value: "西班牙语" } } - { ticketTypeId: "ticket_type_3" localizedShortDescription { value: "儿童" } localizedOptionDescription { value: "英语" } } - { ticketTypeId: "ticket_type_4" localizedShortDescription { value: "儿童" } localizedOptionDescription { value: "西班牙语" } }

示例 2:具有防水袋附加选项且租借时长可长达数小时的皮划艇租借服务,其中 shortDescription 可以为“3 个小时”,而 optionDescription 可以为“包含防水袋”或“不含防水袋”:- { ticketTypeId: "ticket_type_1" localizedShortDescription { value: "2 个小时" } localizedOptionDescription { value: "英语" } } - { ticketTypeId: "ticket_type_2" localizedShortDescription { value: "2 个小时" } localizedOptionDescription { value: "西班牙语" } } - { ticketTypeId: "ticket_type_3" localizedShortDescription { value: "3 个小时" } localizedOptionDescription { value: "英语" } } - { ticketTypeId: "ticket_type_4" localizedShortDescription { value: "3 个小时" } localizedOptionDescription { value: "西班牙语" } }

可选,但如果服务的所有票券类型均已设置该字段,则应为其他所有票券类型设置该字段(可以使用默认的 optionDescription)。例如 [{ticket_type_1, 成人, 英语}, {ticket_type_1, 成人, ''}] 并非有效列表。

仅支持两种 HTML 格式标记:
。这两种标记用于指定同时包含标题和详细说明的选项,例如“高级座位
享受私人包厢,提供全包式座椅、专享电视和送餐到座服务。可在此欣赏如画般的田野风景。”

inventoryType

enum (InventoryType)

可选。单张此类票券的预设广告资源类型。

PerTicketFee

用户购买每张票券时必须支付的费用。

JSON 表示法
{
  "serviceCharge": {
    object (Price)
  },
  "facilityFee": {
    object (Price)
  },
  "taxes": {
    object (Price)
  }
}
字段
serviceCharge

object (Price)

针对服务评估的额外费用。

facilityFee

object (Price)

场地/设施费用。

taxes

object (Price)

每张票券的税费。

PriceDisplayType

指示着陆页上显示的价格格式。

对于非链接广告资源,此字段会被忽略。

借助此字段,Google 途径可以显示与着陆页使用的价格格式相同的价格。采用一致的价格格式有助于提高转化率并减少混淆。

枚举
PRICE_DISPLAY_TYPE_UNSPECIFIED 价格显示类型未指定。Google 将决定以哪种格式展示。
PRICE_DISPLAY_TYPE_BASE 着陆页上显示的价格是基本价格。
PRICE_DISPLAY_TYPE_ALL_IN 着陆页上显示的价格包含所有费用和税费。

InventoryType

单张此类票券的预设广告资源类型。

枚举
INVENTORY_TYPE_UNSPECIFIED 未指定广告资源类型。
INVENTORY_TYPE_PRIMARY 主要商品目录。
INVENTORY_TYPE_VERIFIED_RESALE 经过验证的转售商品目录。
INVENTORY_TYPE_RESALE 转销广告资源。
INVENTORY_TYPE_AGGREGATOR 汇总信息网站广告资源。

RelatedMedia

与服务相关的图片。Google 会抓取这些媒体,用于确保面向最终用户正确显示。(可选)

JSON 表示法
{
  "url": string,
  "type": enum (MediaType),
  "localizedCaption": {
    object (Text)
  },
  "attribution": {
    object (Attribution)
  },
  "caption": string
}
字段
url

string

媒体来源的网址。Google 会抓取托管在此网址上的媒体。

type

enum (MediaType)

媒体来源的类型。

localizedCaption

object (Text)

对支持国际化的媒体的说明,仅支持纯文本格式。所有 HTML 组件均会被删除。(可选)

attribution

object (Attribution)

有关媒体来源的提供方信息。请注意,如果提供方信息需要与媒体一同显示,以便注明摄影师或代理机构,则必须设置该字段。(可选)

caption
(deprecated)

string

已弃用,建议使用 localizedCaption。

MediaType

用于指明媒体来源类型的枚举。仅支持图片格式。如需使用图片以外的其他媒体,请与“通过 Google 预订”团队联系。

枚举
TYPE_UNSPECIFIED 未使用。
PHOTO 表示网址所提供的媒体是图片。

提供方

媒体提供方的相关信息。

JSON 表示法
{
  "localizedText": {
    object (Text)
  },
  "text": string
}
字段
localizedText

object (Text)

用于注明支持国际化的摄影师或代理机构的文本。此文本将与源媒体一同显示。请注意,该字段仅支持纯文本,所有 HTML 组件均会被删除(不支持基于超链接的提供方信息)。

text
(deprecated)

string

已弃用,建议使用 localizedText。

ServiceAttributeValueId

标识要应用于服务的服务属性的特定值。

JSON 表示法
{
  "attributeId": string,
  "valueId": string
}
字段
attributeId

string

Merchant.service_attribute 中指定的属性 ID,例如“service-type”。

valueId

string

此属性值的 ID,例如“理发”。必须与服务属性定义中的 valueId 相匹配。

WaitlistRules

加入候位名单需遵守的规则。

JSON 表示法
{
  "minPartySize": integer,
  "maxPartySize": integer,
  "supportsAdditionalRequest": boolean,
  "aboveMaxPartySizeOptions": [
    {
      object (UnsupportedPartySizeOption)
    }
  ]
}
字段
minPartySize

integer

必填。对于提供候位名单功能的服务,必须提供正整数。如果服务或商家不提供候位名单功能,则不得填充该字段。

maxPartySize

integer

必需。对于提供候位名单功能的服务,必须提供正整数。如果服务或商家不提供候位名单功能,则不得填充该字段。

supportsAdditionalRequest

boolean

如果为 true,用户将可以在加入服务的候位名单时发送任何形式的其他文本请求。

aboveMaxPartySizeOptions[]

object (UnsupportedPartySizeOption)

为大于设定的 maxPartySize 的对话设置选项。如果不应为人数较多的团体提供加入等候名单的替代选项,请留空。

UnsupportedPartySizeOption

适用于不在范围内的对方的选项。

JSON 表示法
{

  // Union field kind can be only one of the following:
  "callMerchant": {
    object (CallMerchant)
  }
  // End of list of possible types for union field kind.
}
字段
联合字段 kind。适用于不在范围内的对方的选项。kind 只能是下列其中一项:
callMerchant

object (CallMerchant)

如果人数超出上限,可以给商家打电话。系统会向用户显示预定义的消息。要显示的文本示例:“如果人数超过 {waitlistRules.max_party_size},请拨打餐厅电话 {phone}。”必须设置 CallMerchant,但该值将为空。

CallMerchant

此类型没有字段。

要在 UnsupportedPartySizeOption 中使用的空消息,设置此选项后,系统会向用户显示一个用于致电商家进行预订的选项。

TicketingVerticalSpecificData

特定于活动门票行业的其他信息。

JSON 表示法
{
  "eventCategory": enum (EventCategory),
  "eventUrl": string,
  "entity": [
    {
      object (Entity)
    }
  ],
  "eventAttendanceMode": enum (AttendanceMode),
  "eventVirtualLocationUrl": [
    string
  ],
  "eventOrganizer": {
    object (Text)
  },
  "eventOrganizerUrl": string,
  "eventOrganizerType": enum (OrganizerType),
  "eventSourceUrl": [
    string
  ],
  "eventState": enum (EventState),
  "brandName": {
    object (Text)
  },
  "eventCreator": {
    object (EventCreator)
  }
}
字段
eventCategory

enum (EventCategory)

活动所属的类别。仅在活动属于某个预定义的类别时设置该字段。(可选)

eventUrl

string

合作伙伴网站上的活动网址。(可选)

entity[]

object (Entity)

与活动相关的实体列表。(可选)

eventAttendanceMode

enum (AttendanceMode)

必需。活动出席情况的类型。

eventVirtualLocationUrl[]

string

可选。用于观看活动的网址。

eventOrganizer

object (Text)

可选。举办活动的组织者。

eventOrganizerUrl

string

可选。举办活动的组织者的网址。

eventOrganizerType

enum (OrganizerType)

可选。组织者的类型。

eventSourceUrl[]

string

必需。可找到事件信息或说明的网页的网址。

eventState

enum (EventState)

可选。事件的状态。

brandName

object (Text)

可选。本地化的品牌名称。

eventCreator

object (EventCreator)

可选。活动创建者的相关信息。

EventCategory

为其自定义产品体验的活动类别的子集。注意:不会作为活动的通用本体。

枚举
EVENT_CATEGORY_UNSPECIFIED 未指定。请勿使用。
EVENT_CATEGORY_CONCERT 演唱会。
EVENT_CATEGORY_SPORTS 体育赛事。
EVENT_CATEGORY_THEATRE 戏剧表演。
EVENT_CATEGORY_EXHIBITS 展览。
EVENT_CATEGORY_WORKSHOPS_AND_CLASSES 讲习班和课程。

实体

表示与活动相关的实体。

JSON 表示法
{
  "id": string,
  "name": string,
  "url": string,
  "entityType": enum (EntityType),
  "entityRole": enum (EntityRole),
  "publicIdentificationData": {
    object (PublicIdentificationData)
  }
}
字段
id

string

合作伙伴数据库中实体的唯一标识符。(可选)

name

string

实体的名称。(必填)

url

string

对实体进行明确描述的网页的网址。这是相应实体在合作伙伴网站上的网页(如有);对于实体的其他公共网址,请使用 publicIdentificationData 中的 relevantUrl。(可选)

entityType

enum (EntityType)

实体的类型。(可选)

entityRole

enum (EntityRole)

实体在活动中的角色。(可选)

publicIdentificationData

object (PublicIdentificationData)

实体的公共引用。(可选)

EntityType

实体的类型。注意:不会作为通用本体。

枚举
ENTITY_TYPE_UNSPECIFIED 未指定。请勿使用。
ENTITY_TYPE_PERFORMER 该实体表示在演唱会或演出中进行表演的艺术家或团体。仅在活动类别为“演唱会”或“戏剧”时适用。
ENTITY_TYPE_PLAYER 该实体表示参加比赛的团队或运动员。仅在活动类别为“体育赛事”时适用。
ENTITY_TYPE_CONCERT_TOUR 该实体表示活动所属的游览项目。仅在活动类别为“演唱会”时适用。
ENTITY_TYPE_SPORTS_SERIES 该实体表示活动所属的体育赛事。仅在活动类别为“体育赛事”时适用。
ENTITY_TYPE_PLAY 该实体表示在活动的表演类型(例如音乐剧、喜剧、芭蕾舞等)。仅在活动类别为“戏剧”时适用。

EntityRole

实体在活动中的角色。

枚举
ENTITY_ROLE_UNSPECIFIED 未指定。
ENTITY_ROLE_HEADLINER 该实体表示参加活动的主角或主要表演者。
ENTITY_ROLE_SUPPORTER 该实体表示参加活动的配角。
ENTITY_ROLE_HOME_TEAM 该实体表示参加(体育)活动的主场队。
ENTITY_ROLE_AWAY_TEAM 该实体表示参加(体育)活动的客场队。

PublicIdentificationData

引用实体的标识符、网页或任何其他公共来源。

JSON 表示法
{
  "relevantUrl": [
    string
  ],
  "musicbrainzId": string
}
字段
relevantUrl[]

string

内容主要涉及相应主题的任何网页的公共网址。包括官方网站、Discogs、社交媒体平台、维基百科或 IMDb 页面,例如 https://www.discogs.com/artist/1124645-Taylor-Swifthttps://www.wikidata.org/wiki/Q19320959https://twitter.com/acmilan。(可选)

musicbrainzId

string

艺术家或其他音乐实体的 36 个字符的 MusicBrainz 标识符(如适用)。如需了解详情,请访问 https://musicbrainz.org/doc/MusicBrainz_Identifier。(可选)

AttendanceMode

活动出席情况的类型。

枚举
ATTENDANCE_MODE_UNSPECIFIED 未指定。
ONLINE 适用于虚拟活动。
PHYSICAL 适用于线下活动。
PHYSICAL_ONLINE_MIXED 对于同时举办线下和虚拟活动的情况。

OrganizerType

组织者的类型。

枚举
ORGANIZER_TYPE_UNSPECIFIED 未指定。
PERSON 对于个人组织者。
ORGANIZATION 对于组织类型的组织者。

EventState

事件的状态。

枚举
EVENT_STATE_UNSPECIFIED 未指定。
SCHEDULED 活动已安排。
RESCHEDULED 活动已重新安排。
CANCELLED 活动已取消。
POSTPONED 活动已延期。

EventCreator

活动创建者的相关信息。仅适用于包含用户生成的内容事件的平台。

JSON 表示法
{
  "name": string
}
字段
name

string

可选。活动创建者的姓名。无字符限制。

IntegrationType

支持的集成深度。

枚举
INTEGRATION_TYPE_UNSPECIFIED 默认为 END_TO_END。
INTEGRATION_TYPE_END_TO_END 允许通过 Google 进行端到端预订的完整集成。
INTEGRATION_TYPE_INVENTORY_ONLY 预订服务器无需支持此服务。只需发送商家、服务和(可选)可用性数据。

PerOrderFee

须为每笔订单支付的费用(无论票券的数量是多少)。

JSON 表示法
{
  "deliveryFee": {
    object (Price)
  },
  "processingFee": {
    object (Price)
  }
}
字段
deliveryFee

object (Price)

随服务方式变化的费用。

processingFee

object (Price)

用于处理用户的付款方式的费用。

ToursAndActivitiesContent

特定于游览项目和活动的“内容”字段。重复字段中的各个元素应相互独立,以便单独呈现(例如以要点的形式显示)。

强烈建议为游览项目和活动填充 ToursAndActivitiesContent,但并非硬性要求。所有字段均支持将纯文本和类似于 HTML 的文本作为基本格式。支持的类似于 HTML 的格式标记:

词组标记:
, , , :仅支持上述三种标记。
用于对段落中的内容进行分行,// 则用于突出显示重要文本。所有其他词组标记都会被忽略。

不允许使用任何其他标记和自定义样式,且相应标记和样式会被移除。任何网址、锚标记和链接都会被删除,且任何时候都不会向最终用户显示。

重要注意事项:* 请勿重复提供服务说明中 highlightsexclusion 及其他更具体的字段中已提供的数据。* 请勿使用上述受支持的标记以外的其他标记,因为不受支持的标记中的内容会被删除,用户体验也可能会受到影响。

JSON 表示法
{
  "highlights": [
    {
      object (Text)
    }
  ],
  "inclusions": [
    {
      object (Text)
    }
  ],
  "exclusions": [
    {
      object (Text)
    }
  ],
  "mustKnow": [
    {
      object (Text)
    }
  ]
}
字段
highlights[]

object (Text)

面向用户显示的突出显示内容列表。

inclusions[]

object (Text)

面向用户显示的所包含内容的列表。

exclusions[]

object (Text)

面向用户显示的排除内容列表。

mustKnow[]

object (Text)

面向用户显示的重要注意事项列表,用于详细说明年龄限制或不符合服务条件的其他情况。

位置

某个地点的地理位置信息。

JSON 表示法
{
  "placeId": string,
  "name": string,
  "telephone": string,
  "url": string,
  "geo": {
    object (GeoCoordinates)
  },
  "locationType": enum (LocationType),
  "locationId": string
}
字段
placeId

string

Google Places 数据库中和 Google 地图上某个地点的地点 ID。如需详细了解地点 ID,请访问 https://developers.google.com/places/web-service/place-id。如果提供了地点 ID,Google 会将营业地点与此地点进行匹配。

name

string

营业地点的名称、电话、网址和地理位置用于将营业地点与 Google 地图上已有的地点进行匹配。

此字段为选填字段,但在某些情况下可能必填。例如,没有名称的 Service.location 不会与商家实体匹配,即使它们位于同一地址也是如此。(可选)

telephone

string

包含国家/地区代码的营业地点公开电话号码,例如 +14567891234。 (可选)

url

string

营业地点公共网站的网址。(可选)

geo

object (GeoCoordinates)

营业地点的地理位置信息,包括纬度、经度和地址。(可选)

locationType

enum (LocationType)

如果已针对服务提供了此营业地点,还必须提供该营业地点的类型。

locationId

string

服务中对营业地点的唯一引用。此 ID 可用于在其他服务字段中引用此营业地点。例如,在自定义信息录入表单中,可以使用一组营业地点 ID 来指定提货地点选项。如果已设置,此 ID 在同一服务中应具有唯一性。(可选)

LocationType

营业地点的类型。

枚举
LOCATION_TYPE_UNSPECIFIED 未指定营业地点的类型。
VISITED_LOCATION 提供服务的地点。
START_LOCATION 服务开始时的地点,也作为 MEETING_LOCATION。
END_LOCATION 服务结束时的地点。

评分

定义实体的评分。

JSON 表示法
{
  "value": number,
  "numberOfRatings": string
}
字段
value

number

平均评分值(numberOfRatings > 0 时为必填项)。该值必须在 [1, 5] 的范围内,且当且仅当 numberOfRatings 为零时才能将其忽略。

numberOfRatings

string

计算时所用的评分数(必填)。

HomeServiceData

家政服务行业需要提供的其他信息。

JSON 表示法
{
  "categoryType": string,
  "jobType": string
}
字段
categoryType

string

此住宅服务所属的高级类别。例如:管道工、电工等

jobType

string

给定住宅服务所属类别下的作业类型。例如,unclog_drain、install_faucet 是 plumber 类别下的作业类型。

VirtualSession

有关虚拟/在线课程的相关信息。例如,线上瑜伽课程、虚拟烹饪课程等。

JSON 表示法
{
  "sessionInstructions": {
    object (Text)
  },
  "sessionRequirements": {
    object (Text)
  },
  "virtualPlatformInfo": {
    object (VirtualPlatformInfo)
  },
  "isSessionPrerecorded": boolean
}
字段
sessionInstructions

object (Text)

有关如何设置此虚拟课程的说明。如果合作伙伴未在预订中添加视频网址,则此文字必须说明何时会与用户分享视频网址。例如 “Zoom 网址将在课前 30 分钟发送给您”。(推荐)

sessionRequirements

object (Text)

给定虚拟会话的要求。例如瑜伽垫、厨具等(推荐)

virtualPlatformInfo

object (VirtualPlatformInfo)

有关此会话中所用虚拟平台的信息。(必须启用虚拟服务)

isSessionPrerecorded

boolean

必需。如果虚拟会议不是直播,而是预录制的,请将此值设为 true。

VirtualPlatformInfo

有关将用于此虚拟会议的平台的信息。

JSON 表示法
{
  "platform": enum (Platform),
  "otherPlatformName": {
    object (Text)
  }
}
字段
platform

enum (Platform)

用于虚拟会议的平台。

otherPlatformName

object (Text)

如果平台设置为“其他”,则为平台名称。(如果平台设置为“其他”,则必填)

平台

用于指明商家将使用哪个虚拟平台的枚举。

枚举
PLATFORM_UNSPECIFIED 未使用。
FLEXIBLE 商家可以灵活选择使用的视频平台。
GOOGLE_HANGOUTS Google Hangouts 产品。
GOOGLE_MEET Google Meet 产品。
ZOOM Zoom Video Communications。
SKYPE Skype。
YOUTUBE 在 YouTube 上直播。
OTHER 如果使用的视频平台不同于此处提及的平台,则应进行设置。

DirectMerchantPayment

有关用户如何直接向商家付款(而非通过 RwG 预付服务费用)的信息。

JSON 表示法
{
  "paymentMethods": [
    {
      object (Text)
    }
  ]
}
字段
paymentMethods[]

object (Text)

建议用户仅通过下述付款方式付款。

UriTemplate

用于指定 Google 应如何生成指向外部网站的网址的模板。

JSON 表示法
{
  "uriTemplate": string
}
字段
uriTemplate

string

可选。URI 模板必须遵循 RFC6570,请参阅 https://datatracker.ietf.org/doc/html/rfc6570。支持第 2 级模板。这些参数将解析为其各自实体中指定的值。

餐厅预订链接的 5 个可用参数:1)(必需){availability_slot_start_seconds} :: 从空房情况 Feed 中的 startSec 字段填充 2)(必需){availability_slot_duration_seconds} :: 从空房情况 Feed 中的 durationSec 字段填充 3)(可选){resources_party_size} :: 从空房情况 Feed 中的 partySize 字段填充 4)(可选){availability_availability_tag} :: 从空房情况 Feed 中的 availabilityTag 字段填充 5)(可选){resources_room_id} :: 从空房情况 Feed 中的 roomId 字段填充

用法示例:http://example.com/book/restaurant?start={availability_slot_start_seconds} &num_guests={resources_party_size} * startSec = 123456 * partySize = 2 https://example.com/book/restaurant?start=123456&num_guests=2

方法

create

创建由指定的集合商家管理的商家的新 Service,并将其返回。

delete

删除由指定的集合商家管理的商家的现有 Service

patch

更新由指定的集合商家管理的商家的现有 Service,并将其返回。