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)
  },
  "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>:
僅支援上述三種標記。<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,則必須使用此屬性。

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,而且「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)
  },
  "priceDisplayType": enum (PriceDisplayType),
  "optionDescription": string,
  "localizedOptionDescription": {
    object (Text)
  },
  "inventoryType": enum (InventoryType)
}
欄位
ticketTypeId

string

票券 ID 用來區分同一服務中的不同票券類型;單一服務中不得有重複的 ID。

shortDescription

string

這個 TicketType 的簡短說明。

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

localizedShortDescription

object (Text)

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

這項內容可向使用者顯示,例如「成人」、「兒童」、「退伍軍人」、「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)

支援 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

如為「是」,則使用者在加入這項服務的等候名單時,將能傳送任意形式的額外文字要求。

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 研討會和課程。

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 活動已延期。

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 地方資訊資料庫和 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)

說明如何設定這個虛擬課程。如果合作夥伴未在預訂中加入影片網址,則必須在這段文字中加入與使用者分享影片網址的時間。例如:「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} :: 取自可預訂時段動態饋給中的 startSec 欄位 2) (必要) {availability_slot_duration_seconds} :: 取自可預訂時段動態饋給中的 durationSec 欄位 3) (選用) {resources_party_size} :: 取自可預訂時段動態饋給中的 partySize 欄位 4) (選用) {availability_availability_tag} :: 取自可預訂時段動態饋給中的 availabilityTag 欄位 5) (選用) {resources_room_id} :: 取自可預訂時段動態饋給中的 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