REST Resource: inventory.partners.merchants.services

Resource: Service

商家所提供服務的相關資訊,例如剪髮

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)
  }
}
欄位
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>
請注意,只有 <li><ul> 歲以下兒童或 <ol>代碼之間會經過轉換所有其他子項都將會捨棄。此外,系統會忽略所有內部標記、屬性和樣式,只保留純文字內容。

分區標記:<div>
針對 <div> 標記中所有支援的內部標記,系統都會根據上述規則進行剖析,這表示 <div> 標記本身不代表任何分組或縮排。此外,系統也會忽略所有內部屬性和樣式。

詞組標記:<br>、<strong>、<em>:
僅支援上述三種標記。<br> 可以用於在段落中斷行,而 <strong>/<em> 則可用來標明重要文字。系統會忽略其他所有詞組標記。

不支援的標記:

  • 禁止使用 <html>、<header> 和 <body> 標記。
  • 上文中未提及的標記將不予支援 (例如 <table>、<td>...)。
    所有網址、錨定標記和連結都將移除,且一律不會向使用者顯示。如果您想利用相片打造豐富的使用者體驗,請使用下方的「relatedMedia」欄位傳送相片網址。

重要注意事項:

  • 除了上述支援的標記以外,請盡量不要使用其他標記,因為系統會將不支援的標記中的內容移除,而這可能會影響使用者體驗。
  • 盡量避免使用深度巢狀結構,例如超過 3 個不同的標題層級或巢狀清單。建議使用扁平、簡潔且直觀的結構,有助改善使用者體驗。
  • 如果目前支援的版面配置無法滿足您的用途,請與「透過 Google 預訂」團隊聯絡。
  • 建議大小上限為 32,000 個字元。
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)

定義向使用者收取訂金的方式。指定此欄位將會覆寫該服務的訂金。如將此項設為空白的 Deposit 訊息,則系統會移除所有服務層級的訂金。(選填)

noShowFee

object (NoShowFee)

定義可能會向使用者收取的逾時未到費用。指定此欄位將會覆寫該服務的逾時未到費用。如將此項設為空白的 NoShowFee 訊息,則系統會移除所有服務層級的逾時未到費用。(選填)

requireCreditCard

enum (RequireCreditCard)

指出使用者是否必須提供信用卡才能預訂這項服務。您可以在供應情形層級覆寫這個欄位。(選填)

type

enum (ServiceType)

這項服務的預先定義類型。(選填)

ticketType[]

object (TicketType)

這項服務可預訂/購買的票券類型 (如果支援票券的話)。(選填)

relatedMedia[]

object (RelatedMedia)

與這項服務相關的相片。Google 會檢索並儲存媒體,確保以最有效率的方式向使用者顯示相關內容。(選填)

serviceAttributeValueId[]

object (ServiceAttributeValueId)

適用於這項服務的服務屬性值 (選用)。每項「Service」對於在對應「Merchant」中定義的每個服務屬性都可設定零或多個值。(選填)

waitlistRules

object (WaitlistRules)

加入等候名單的規則。

ticketingVerticalSpecificData

object (TicketingVerticalSpecificData)

活動售票業專用的額外資訊。(選填)

integrationType

enum (IntegrationType)

我們針對這項服務支援的整合深度。(選用) 不適用於採用新手整合的合作夥伴。這類合作夥伴的端對端功能將一律停用。

perOrderFee

object (PerOrderFee)

購買這項服務的訂單層級費用。(選填)

toursAndActivitiesContent

object (ToursAndActivitiesContent)

「導覽行程」和「活動」專用的內容欄位。

location[]

object (Location)

與這項服務相關的位置。重要注意事項:如有多個造訪地點與這項服務有關,或是 START_LOCATION 與 VISITED_LOCATION 不同,則必須指定 START_LOCATION。範例:- 單車導覽行程,中間將停留三個景點,則必須指定起點。- 巴士導覽行程,在飯店大廳集合,然後前往參觀地點。必須指定會議地點。

rating

object (Rating)

這項服務的使用者評分,視為所有評論的匯總指標。

homeServiceData

object (HomeServiceData)

適用於居家服務產業的額外資訊。(選填)

virtualSession

object (VirtualSession)

選用設定。虛擬工作階段的相關資訊。如要啟用虛擬服務,此為必要條件。

directMerchantPayment

object (DirectMerchantPayment)

選用設定。如果服務要求使用者直接付款給商家,則必須加入額外資訊。重要注意事項:RwG 不會參與這筆交易。如果已定義 virtualSession,但服務並非免費,或 prepaymentType 設為「REQUIRED」,則必須提供這個參數。

PriceInterpretation

說明如何向使用者呈現及顯示價格。

列舉
PRICE_INTERPRETATION_UNSPECIFIED 未指定價格呈現細項,預設為 EXACT_AMOUNT。
EXACT_AMOUNT

適用於必須以特定值顯示價格的情況。

範例:瑜珈課程每堂 $20 美元、兒童剪髮每次 $15 美元

STARTS_AT

適用於服務價格會變動,但可向消費者顯示已知最低價格的情況。消費者選擇的服務項目可能會高於顯示的價格。

請注意,凡是使用這個 PriceInterpretation 的服務都必須使用 PrepaymentType NOT_SUPPORTED。

範例:愛犬美容服務 $30 美元,但消費者可能會加購其他項目,因此總價會增加

NOT_DISPLAYED

適用於服務價格會變動,但系統不會預先向消費者顯示價格資訊的情況。

請注意,凡是使用這個 PriceInterpretation 的服務都必須使用 PrepaymentType NOT_SUPPORTED,而且「Price」部分必須空白。

範例:居家服務諮詢

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 點開始的導覽行程,要求所有參加者在開始時間抵達,預計於中午 12 點返回。* 預約週六下午 3 點剪髮,需時大約 30 分鐘。* 晚上 6 點到 8 點的健身課程。
TIME_FLEXIBLE

客戶只要在供應時段的開始與結束時間之間的任何時間點抵達,就能使用本次預訂的服務。

TIME_FLEXIBLE 用途範例:* 在購買日期的任何時段都能使用的博物館票券。* 遊樂園午後入場券,可用時段為中午 12 點到晚上 9 點。

TIMED_ENTRY_WITH_FLEXIBLE_DURATION

客戶必須在供應時段的開始時間抵達商家,但隨時可以離開。

以博物館入場門票為例,如果使用者持有的是上午 10 點入場的限時門票,就必須在早上 10 點抵達博物館。這項服務供應時段的開始時間代表指定的入場時間。結束時間則僅用來當做識別可供預訂的供應時段的索引鍵。

CancellationPolicy

服務的取消政策。

JSON 表示法
{
  "refundCondition": [
    {
      object (RefundCondition)
    }
  ]
}
欄位
refundCondition[]

object (RefundCondition)

適用於該政策的零或多項退款條件。

RefundCondition

定義單一退款條件。您可以同時採用多項退款條件,按照服務開始時間前的不同階段來說明「退款步驟」。

JSON 表示法
{
  "minDurationBeforeStartTime": string,
  "refundPercent": integer
}
欄位
minDurationBeforeStartTime

string (Duration format)

在開始時間之前的期間,直到客戶可收到服務費用的部分退款 (比例依 refundPercent 中指定的值) 為止。如果設為 0 (預設值),代表可隨時取消服務。

持續時間以秒為單位,最多 9 個小數位數,結尾為「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

如果為「是」,系統會向初次光顧的客戶顯示這份表單。已淘汰。登記表單不支援這項功能。

returningCustomers
(deprecated)

boolean

如果為「是」,系統會向回流客戶顯示這份表單。已淘汰。登記表單不支援這項功能。

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 時設定。請使用「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) SPA 與美容,以及 (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)
  },
  "optionDescription": string,
  "localizedOptionDescription": {
    object (Text)
  }
}
欄位
ticketTypeId

string

票券 ID 可用來區分同一服務的不同票券類型,且每項服務中均不得重複。

shortDescription

string

這個 TicketType 的簡短說明。

這項內容可向使用者顯示,例如「成人」、「兒童」、「退伍軍人」、「J 排」等。這是必要項目,每種票券類型都應向使用者顯示說明。已淘汰,請改用 localizedShortDescription。

localizedShortDescription

object (Text)

這個 TicketType 的簡短說明,支援 i18n。

這項內容可向使用者顯示,例如「成人」、「兒童」、「退伍軍人」、「J 排」等。這是必要項目,每種票券類型都應向使用者顯示說明。您可以針對各個語言代碼提供不同的值。

price

object (Price)

這個類型一張票券的價格,不含任何稅金。票券會套用「服務」稅率。

perTicketFee

object (PerTicketFee)

購買此票券需要的額外費用。(選填)

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 格式標記:
。這兩者是用來指定含有標題和詳細說明的選項,例如:「高級座位
這個選項提供私人包廂座位,附全軟墊座椅、私人電視、座位餐飲服務。這些座位能將如畫的美景盡收眼底。」

PerTicketFee

使用者購買每張票需要支付的費用。

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

object (Price)

服務收取的額外費用。

facilityFee

object (Price)

場地/設施的費用。

taxes

object (Price)

每張票券稅金。

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)

支援 i18n 的媒體說明文字,僅支援純文字格式。系統會移除所有 HTML 元件。(選填)

attribution

object (Attribution)

媒體來源的作者資訊。請注意,如果必須提供出處,註明拍攝該媒體的攝影師或拍攝機構,就必須設定這個欄位。(選填)

caption
(deprecated)

string

已淘汰,建議使用 localizedCaption。

MediaType

以列舉方式指出這個媒體來源的類型。僅支援相片。如果需要支援相片以外的媒體,請與「透過 Google 預訂」團隊聯絡。

列舉
TYPE_UNSPECIFIED 未使用。
PHOTO 指出該網址提供的媒體是一張相片。

Attribution

這個媒體的作者資訊。

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

object (Text)

註明媒體出處 (例如攝影師或拍攝機構名稱) 的文字,支援 i18n。這段文字會與來源媒體一起顯示。請注意,這個欄位只支援純文字,所有 HTML 元件都會被移除 (不支援以超連結為基礎的作者資訊)。

text
(deprecated)

string

已淘汰,建議使用 localizedText。

ServiceAttributeValueId

識別要套用到某項「服務」的特定服務屬性值。

JSON 表示法
{
  "attributeId": string,
  "valueId": string
}
欄位
attributeId

string

Merchant.service_attribute 中定義的屬性 ID,例如「service-type」。

valueId

string

這項屬性值的 ID,例如「haircut」。必須與服務屬性定義中的 valueId 相符。

WaitlistRules

加入等候名單的相關規則。

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

integer

必要。適用於提供等候名單功能的服務,必須填入正整數。如果服務或商家未提供等候名單功能,就不能填入這個欄位。

maxPartySize

integer

必要欄位。適用於提供等候名單功能的服務,必須填入正整數。如果服務或商家未提供等候名單功能,就不能填入這個欄位。

supportsAdditionalRequest

boolean

如果設為「true」,使用者加入這項服務的等候名單時,將可以傳送任意形式的額外文字要求。

aboveMaxPartySizeOptions[]

object (UnsupportedPartySizeOption)

為大於 set maxPartySize 的參與者設定選項。如果大型方不應提供加入等候名單的替代選項,請將這個欄位留空。

UnsupportedPartySizeOption

超出範圍的派對選項。

JSON 表示法
{
  "callMerchant": {
    object (CallMerchant)
  }
}
欄位
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)
}
欄位
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)

選用設定。事件狀態。

EventCategory

一部分的活動類別,可供我們自訂產品體驗。注意:這不會用來當做活動的通用本體。

列舉
EVENT_CATEGORY_UNSPECIFIED 未指定。請勿使用。
EVENT_CATEGORY_CONCERT 音樂會/演唱會。
EVENT_CATEGORY_SPORTS 運動賽事。
EVENT_CATEGORY_THEATRE 戲劇活動。
EVENT_CATEGORY_EXHIBITS 展覽。
EVENT_CATEGORY_WORKSHOPS_AND_CLASSES 研討會和課程。

Entity

代表與活動相關的實體。

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

string

合作夥伴資料庫中實體的專屬 ID。(選填)

name

string

實體名稱。(必填)

url

string

明確描述實體的網頁網址。這是指合作夥伴網站上有關該實體的網頁 (如有);至於實體的其他公開網址,請使用 publicIdentificationData 中的 relevantUrl。(選填)

entityType

enum (EntityType)

實體的類型。(選填)

entityRole

enum (EntityRole)

活動中實體扮演的角色。(選填)

publicIdentificationData

object (PublicIdentificationData)

實體的公開參照。(選填)

EntityType

實體的類型。注意:這不會用來當做通用本體。

列舉
ENTITY_TYPE_UNSPECIFIED 未指定。請勿使用。
ENTITY_TYPE_PERFORMER 實體代表在演唱會/音樂會或節目中演出的演出者或團體。只有在活動類別是 CONCERT 或 THEATRE 的時候才適用。
ENTITY_TYPE_PLAYER 實體代表活動中的隊伍或選手。只有在活動類別是 SPORTS 的時候才適用。
ENTITY_TYPE_CONCERT_TOUR 實體代表這個活動所屬的導覽行程。只有在活動類別是 CONCERT 的時候才適用。
ENTITY_TYPE_SPORTS_SERIES 實體代表此活動所屬的體育錦標賽。只有在活動類別是 SPORTS 的時候才適用。
ENTITY_TYPE_PLAY 實體代表活動中演出的節目類型 (例如音樂劇、喜劇、芭蕾等)。只有在活動類別是 THEATRE 的時候才適用。

EntityRole

活動中實體扮演的角色。

列舉
ENTITY_ROLE_UNSPECIFIED 未指定。
ENTITY_ROLE_HEADLINER 實體代表活動的主角或首席演出者。
ENTITY_ROLE_SUPPORTER 實體代表活動的配角。
ENTITY_ROLE_HOME_TEAM 實體代表 (體育) 賽事活動中的主隊。
ENTITY_ROLE_AWAY_TEAM 實體代表 (體育) 賽事活動中的客隊。

PublicIdentificationData

ID、網頁,或任何其他參照實體的公開來源。

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 ID (如有)。請參閱 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 活動已延期。

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 地方資訊資料庫和 Google 地圖上特定地點的地點 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 這項服務結束時的所在地點。

Rating

為某實體定義「評分」標準。

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 是「水電工」類別下的工作類型。

VirtualSession

線上/線上工作階段相關資訊。例如:線上瑜珈課程、虛擬烹飪課程等

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

object (Text)

設定這個虛擬課程的操作說明。如果合作夥伴預訂時沒有提供影片網址,則這段文字必須包含影片網址,以便向使用者分享。例如:「縮放網址將在課程開始前 30 分鐘收到。」(建議選項)

sessionRequirements

object (Text)

特定虛擬工作階段的需求。例如:瑜珈墊、烹飪用具等 (建議)

virtualPlatformInfo

object (VirtualPlatformInfo)

此工作階段中使用的虛擬平台相關資訊。(啟用虛擬服務時必須啟用)

isSessionPrerecorded

boolean

必要欄位。如果虛擬工作階段未直播且已預先錄製,請設為 true。

VirtualPlatformInfo

將用於這個虛擬工作階段的平台相關資訊。

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

enum (Platform)

用於虛擬工作階段的平台。

otherPlatformName

object (Text)

平台名稱 (如果平台設為 OTHER)。(如果平台設為 OTHER,則為必要欄位)

平台

以列舉方式表示商家要使用的虛擬平台。

列舉
PLATFORM_UNSPECIFIED 未使用。
FLEXIBLE 商家可以靈活運用影片平台,
GOOGLE_HANGOUTS Google Hangouts 產品。
GOOGLE_MEET Google Meet 產品。
ZOOM Zoom 視訊通訊。
SKYPE Skype。
YOUTUBE 在 YouTube 中直播。
OTHER 如果使用的影片平台與本文未提及的平台不同,則應設定。

DirectMerchantPayment

說明使用者如何直接向商家付款,而非透過 RwG 預付服務。

JSON 表示法
{
  "paymentMethods": [
    {
      object (Text)
    }
  ]
}
欄位
paymentMethods[]

object (Text)

建議使用者只透過下列付款方式付款。

方法

create

建立並傳回由指定集結網站管理的商家的新 Service

delete

刪除由指定集結網站管理的商家的現有 Service

patch

更新並傳回由指定集結網站管理的商家的現有 Service