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 時,才需要設定這個屬性。請在「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) 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 集結網站廣告空間。集結網站 (例如 www.bandsintown.com) 是指合作夥伴提供活動和票券資訊。但合作夥伴不會直接販售票券,實際的票券賣家可以是主要賣家、已驗證的轉售賣家或轉售賣家。現在我們只會區分頂層合作夥伴廣告空間類型,並忽略匯總工具中的實際票券賣家廣告空間類型。

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 是 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)

如果平台設為「OTHER」,則為平台名稱。(如果平台設為「OTHER」,則為必填)

平台

列舉,指出商家使用的虛擬平台。

列舉
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 級範本。這些參數會解析為各自實體中指定的值。

「訂位連結」可用的參數:1) (必要) {availability_slot_start_seconds}:從預訂情形動態饋給的 startSec 欄位填入 2) (必要) {resources_party_size}:從預訂情形動態饋給的 partySize 欄位填入 3) (選用) {availability_slot_duration_seconds}:從預訂情形動態饋給的 durationSec 欄位填入 4) (選用) {availability_slot_availability_tag}:從預訂情形動態饋給的 availabilityTag 欄位填入

使用範例: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