關聯廣告空間結構定義

透過集合功能整理內容 你可以依據偏好儲存及分類內容。
本頁面說明您提供給 Google 的「訂購 Google 訂餐」動態饋給格式 (食品目錄規格)。 如需機器可解讀的資訊版本,您可以下載 JSON 結構定義

一般規定

實體在動態饋給中,每個實體的結構必須分行列出 (以換行符號分隔)。為方便閱讀,本頁的 JSON 範例不會遵循這個結構。不過,您在傳送動態饋給時必須採用這個結構。舉例來說,選單實體必須採用以下程式碼的結構:

{"@type": "Menu","name": "Coffee Shop A","@id": "1535"}

每個「餐廳」實體都有兩個服務實體 (分別用於「DELIVERY」和「TAKEOUT」服務類型)。每個「Service」實體只能有一個「Menu」實體。

任何子實體可在多間餐廳中重複使用。

JSON 值指南

類型強制

JSON 值的類型可以與結構定義中定義的類型不同,但前提是該值可以強制轉換成必要的類型。例如,字串屬性可接受字串和整數值做為輸入內容。同樣地,只要字串可剖析為有效的整數,則整數屬性可接受字串值。

強制轉換類型也適用於重複的屬性。重複的屬性可接受輸入值,但不必使用方括號 []。舉例來說,OperationHours.serviceId 屬性可接受 "service_id"["service_id"] 做為有效的輸入內容。

日期時間和時間值

DateTime 採用 schema.org 類型,除非另有註明,否則必須採用 ISO 8601 格式,並包含日期、時間和時區。請使用下列語法:DateTime

// DateTime format:
YYYY-MM-DDTHH:MM:SS[∓HH:MM|Z]

例如:

2017-05-01T06:30:00-07:00 // UTC minus 7 hours
2017-05-01T06:30:00Z  // UTC time zone. The optional "Z" suffix represents the UTC time zone.

Time 是特定餐廳或服務地點的時區,同樣以 schema.org 類型為準,且必須採用 ISO 8601 格式。時間使用下列語法:

// Time format:
THH:MM:SS

例如:

T08:08:00 // 8:08 AM

每次指定 DateTimeTime 時,請注意下列事項:

  • 時間前面的「T」前置字元是格式的一部分,且為必要項目。
  • 請指定 DATETIME 的時區。「TIME」不需要。
  • 時間必須指定當地餐廳或服務時間。

餐廳資料

餐廳 (必填)

要實作的必要實體。用於描述餐廳。

下表列出 Restaurant 類型的屬性:

屬性 類型 說明
@type 缺點

這是必填欄位。

值:Restaurant

@id 字串

這是必填欄位。

餐廳或外送服務供應商的專屬 ID。

範例:restaurant_1

name 字串

這是必填欄位。

餐廳名稱。

範例:Foo

description 字串

餐廳說明。

範例:Best seafood in town

url 網址

代表餐廳的網址。餐廳網域偏好於集結網站網域。

範例:http://www.provider.com/somerestaurant

sameAs 網址

餐廳的官方網站。

範例:http://www.provider2.com/somerestaurant

telephone 字串

餐廳的電話號碼。

範例:+12345665898

streetAddress 字串

這是必填欄位。

餐廳的街道地址。

範例:12345 Bar Avenu

addressLocality 字串

這是必填欄位。

地區或城市。

範例:San Francisco

addressRegion 字串

這是必填欄位。

地區或州/省。

範例:CA

postalCode 字串

這是必填欄位。

郵遞區號。

範例:94124

addressCountry 字串

這是必填欄位。

雙字母 ISO 3166-1 alpha-2 國家/地區代碼。

範例:US

latitude Number

緯度度數。值僅限於 [[-90, 90]] 範圍。 精確度必須至少達到第 5 位小數。

範例:35.7392607

longitude Number

經度度數。值僅限於 [[-180, 180]] 範圍。 精確度必須至少達到第 5 位小數。

範例:-120.3895522

dealId 清單<字串>

餐廳的Deal

imprint 字串

餐廳出版公司是餐廳的其他資訊,例如法定全名、法定地址和註冊編號。請使用「 」來設定此資訊的格式。

範例:

Three Brothers Tacos
123 FooSt
Mountain View
CA 94041, United States
email: contact@threebrotherstacos.com

Commercial Register: 123456789

dateModified ISO 時間戳記

餐廳實體動態饋給上次修改的日期和時間,採用 ISO 時間戳記格式,但類型為字串。

範例:2017-01-02T00:00:00-07:00

以下範例顯示 Restaurant 元素:

範例

{
  "@type": "Restaurant",
  "@id": "10824",
  "name": "Pronto Wood Fired Pizzeria",
  "url": "https://www.provider.com/pronto-wood-fired-pizzeria",
  "telephone": "+16503659978",
  "streetAddress": "2560 El Camino Real",
  "addressLocality": "Palo Alto",
  "addressRegion": "CA",
  "postalCode": "94061",
  "addressCountry": "US",
  "latitude": 37.472842,
  "longitude": -122.217144
}

交易

可套用至購物車的折扣類型。

下表列出 Deal 類型的屬性:

屬性 類型 說明
@type 缺點

這是必填欄位。

值:Deal

@id 字串

這是必填欄位。

交易的專屬 ID。

範例:FREEDELIVERY

dealCode 字串

這是必填欄位。

每個夥伴每筆交易的專屬交易 ID。這個 ID 可明確識別您的促銷系統中的優惠。Google 會在 CheckoutRequestpromotions.coupon 欄位中傳送這個 ID 進行驗證。

範例:ADETRE23

applicableServiceType 清單<ServiceType>

此交易適用的服務。預設會假設所有交易都適用交易。

eligibleMaxOrders 整數

只有在使用者過去成功的訂單數量少於或等於此數字時,這筆交易才符合優惠資格。

availabilityId 清單<字串>

Availability 實體的 @id 值,提供選單部分可用時間的詳細資訊。

範例:[ "availability_1" ]

isDisabled 布林

這會覆寫其他的有效檢查。

dealType DealType

這是必填欄位。

要套用折扣的交易類別。類別可以是完整的購物車總金額、服務費或運費。

priceCurrency 字串

discount is defined 時為必要欄位。

eligibleTransactionVolumeMin is defined 時為必要欄位。

折扣的貨幣 (採 3 個字母的 ISO 4217 格式)。

範例:USD

eligibleTransactionVolumeMin Number

適用此促銷活動的有效交易量 (以金額為單位)。

termsOfServiceUrl 網址

這是必填欄位。

使用者可理解的服務條款說明文件。

dateModified ISO 時間戳記

交易實體資訊提供上次修改日期和時間,採用 ISO 時間戳記格式,但類型為字串。

範例:2017-01-02T00:00:00-07:00

必須加入下列一組屬性。
discount 群組 1 Number

以數字表示的折扣值。

discountPercentage 第 2 組 Number

以原始價格的百分比表示折扣。

以下範例顯示 Deal 元素:

範例 1

{
  "@type": "Deal",
  "@id": "ONEDOLLARFEE",
  "dealCode": "THREEDOLLARFEE",
  "dealType": "CART_OFF",
  "availabilityId": [
    "availability_may2020"
  ],
  "termsOfServiceUrl": "http://www.provider.com/onedollardeal",
  "applicableServiceType": [
    "TAKEOUT"
  ],
  "discount": 3,
  "priceCurrency": "USD"
}

範例 2

{
  "@type": "Deal",
  "@id": "10PERCOFF",
  "dealCode": "10PERCOFF",
  "dealType": "CART_OFF",
  "availabilityId": [
    "availability_weekdays_evening"
  ],
  "termsOfServiceUrl": "http://www.provider.com/deal",
  "discountPercentage": 10,
  "priceCurrency": "USD"
}

範例 3

{
  "@type": "Deal",
  "@id": "FREEDELIVERY",
  "dealCode": "FREEDELIVERY",
  "dealType": "DELIVERY_OFF",
  "availabilityId": [
    "availability_may"
  ],
  "applicableServiceType": [
    "DELIVERY"
  ],
  "termsOfServiceUrl": "http://www.provider.com/free_delivery_deal",
  "discountPercentage": 100,
  "eligibleTransactionVolumeMin": 25,
  "priceCurrency": "USD"
}

服務資料

服務 (必填)

說明餐廳的訂餐服務詳情。Service 是必須實作的實體。

下表列出 Service 類型的屬性:

屬性 類型 說明
@type 缺點

這是必填欄位。

值:Service

@id 字串

這是必填欄位。

出貨服務的 ID。

範例:service_1

serviceType ServiceType

這是必填欄位。

提供的服務類型。可能的值包括「DELIVERY」或「TAKEOUT」。

範例:DELIVERY

restaurantId 字串

這是必填欄位。

與「服務」實體相關的「餐廳」實體 @id 值。

範例:restaurant_1

menuId 字串

這是必填欄位。

「選單」實體的 @id 值,與此「服務」實體相關。

範例:menu_1

dateModified ISO 時間戳記

服務實體資訊提供的上次修改日期和時間,採用 ISO 時間戳記格式。

範例:2017-01-02T00:00:00-07:00

isDisabled 布林

指出實體是否已停用。只有在因意外事件而停用實體,且您不知道何時需要重新啟用服務時 (例如不為假日使用),才應使用此類型。

範例:true

servingConfig ServingConfig

用來控管各種功能的服務的服務設定,例如停用促銷小工具等。

以下範例顯示 Service 元素:

範例 1

{
  "@type": "Service",
  "@id": "10824/takeout",
  "serviceType": "TAKEOUT",
  "menuId": "10824",
  "restaurantId": "10824"
}

範例 2

{
  "@type": "Service",
  "@id": "10824/delivery",
  "serviceType": "DELIVERY",
  "menuId": "10824",
  "restaurantId": "10824"
}

服務範圍

說明可運送食物的地理區域。如果相關的 Service 實體的 serviceType 已設為「DELIVERY」,則必須實作這個實體。

下表列出 ServiceArea 類型的屬性:

屬性 類型 說明
@type 缺點

這是必填欄位。

值:ServiceArea

@id 字串

這是必填欄位。

服務範圍的專屬識別碼。

範例:service_area_1

serviceId 清單<字串>

這是必填欄位。

Service 實體的 Service 實體 @id 值。

範例:[ "service_1" ]

dateModified ISO 時間戳記

ServiceArea 實體資訊提供上次修改的日期和時間 (採用 ISO 時間戳記格式,但類型為 String)。

範例:2017-01-02T00:00:00-07:00

exclude 布林

從總運送區域中排除這個服務範圍。例如,系統會從較大的多邊形區域中排除郵遞區號。

必須加入下列一組屬性。
polygon 群組 1 清單<字串>

由三個或更多空格分隔點組成的多邊形或多重多邊形。建議第一個點和最後一個點相同,但不強制要求。 多邊形或多重多邊形中的每個點都會由緯度點和經度點來定義。您也必須以逆時針方向指定點。

範例:[ "37.806000 -122.425592 37.775849 -122.419043 37.795547 -122.394046 37.808747" ]

geoMidpointLatitude 第 2 組 Number

用於表示 ICE 區域中心的緯度座標。

範例:37.806000

geoMidpointLongitude 第 2 組 Number

代表 CIRCLE 區域中心的經度座標。

範例:-122.425592

geoRadius 第 2 組 整數

代表 CIRCLE 區域的約略半徑 (單位為公尺)。

範例:10000

postalCode 第 3 組 字串

表示郵遞區號。

範例:91234

addressCountry 第 3 組 字串

指示由兩個英文字母組成的 ISO 3166-1 alpha-2 國家/地區代碼

範例:US

以下範例顯示 ServiceArea 元素:

範例

{
  "@type": "ServiceArea",
  "@id": "28427",
  "serviceId": [
    "10824/delivery"
  ],
  "polygon": [
    "37.4818562 -122.25801303 37.48247836 -122.25801303 37.48434484 -122.25621319 37.48621133 -122.25424681 37.49181077 -122.24704744 37.49305509 -122.24541414 37.49429942 -122.2436143 37.49803238 -122.23821477 37.49803238 -122.21285044 37.49367726 -122.15885517 37.49056645 -122.15722187 37.48621133 -122.15542202 37.48558917 -122.15525548 37.4818562 -122.15525548 37.43191387 -122.17865343 37.43191387 -122.23444854"
  ]
}

作業時間 (必填)

說明可讓使用者存取流程及放置盡快或日後訂購的排序視窗。您必須實作 OperationHours,並預設表示全天全天的營運。

OperationHours openscloses 屬性會指定可讓使用者線上下單的線上系統的開始和結束時間。在這些線上系統時數內,使用 ServiceHours 指定使用者訂單可處理的開始和結束營業時間。

時間必須以當地時間指定。請勿在 opens 值中加入時區。如果有指定時區,Google 會忽略這項資訊。詳情請參閱 DateTime 的時間格式

下表列出 OperationHours 類型的屬性:

屬性 類型 說明
@type 缺點

這是必填欄位。

值:OperationHours

@id 字串

這是必填欄位。

實體的專屬識別碼,用於說明訂購視窗,使用者可在其中存取資料流程,並及時提交訂單/日後訂單。

範例:operation_hour_1

serviceId 清單<字串>

這是必填欄位。

Service 實體的 @id 值與這個 OperationHours 實體相關。

範例:[ "service_1" ]

opens ISO 時間 (當地)

指出一天中特定時間 (採用 ISO 格式,也就是使用者下單的時間)。

範例:T00:00

closes ISO 時間 (當地)

用於指出使用者在一天內無法下單的訂單 (採用 ISO 格式)。

範例:T16:00

dayOfWeek 清單<DayOfWeek>

這些星期幾的營業時間。可接受的值為「MONDAY」、「TUESDAY」、「WEDNESDAY」、「THURSDAY」、「FRIDAY」、「SATURDAY」和「SUNDAY」。

範例:[ "MONDAY", "TUESDAY" ]

validFrom ISO 時間戳記

isSpecialHour = true 時為必要欄位。

ISO 時間戳記,代表訂購視窗的開始時間,可讓使用者存取流程及進行「盡快」/「未來」訂單。

範例:2017-01-01T00:00:00-07:00

validThrough ISO 時間戳記

isSpecialHour = true 時為必要欄位。

ISO 時間戳記,代表使用者訂購流程的結束日期,超過這個期限後,使用者就無法存取資料流,且無法及時提交訂單。

範例:2017-01-02T00:00:00-07:00

isSpecialHour 布林

表示作業時間是否適用於特殊營業時間的布林值。可接受的值為「false」和「true」。

範例:False

dateModified ISO 時間戳記

作業時間實體的最後修改日期和時間,採 ISO 時間戳記格式,但類型為字串。

範例:2017-01-02T00:00:00-07:00

以下範例顯示 OperationHours 元素:

範例 1

{
  "@type": "OperationHours",
  "@id": "10824/deliveryOh",
  "serviceId": [
    "10824/delivery"
  ],
  "isSpecialHour": false
}

範例 2

{
  "@type": "OperationHours",
  "@id": "10824/takeoutOh",
  "serviceId": [
    "10824/takeout"
  ],
  "isSpecialHour": false
}

ServiceHours (必填)

說明出貨時段,可讓使用者選擇出貨時段 (「盡快」或未來的時段)。必須實作 ServiceHours

OperationHours openscloses 屬性會指定可讓使用者線上下單的線上系統的開始和結束時間。在這些線上系統時數內,使用 ServiceHours 指定使用者訂單可處理的開始和結束營業時間。

時間必須以當地時間指定。請勿在 opens 值中加入時區。如果有指定時區,Google 會忽略這項資訊。詳情請參閱 DateTime 的時間格式

下表列出 ServiceHours 類型的屬性:

屬性 類型 說明
@type 缺點

這是必填欄位。

值:ServiceHours

@id 字串

這是必填欄位。

實體的不重複 ID,用來說明交貨時段,可讓使用者選擇交貨時段,例如「盡快」或未來的時段。

範例:service_hour_1

orderType OrderType

這是必填欄位。

字串,表示服務時間適用於採用「盡快」或「進階」的訂單。可接受的值為「盡快」和「進階」。

範例:ASAP

serviceId 清單<字串>

這是必填欄位。

Service 實體的 @id 值與這個 ServiceHours 實體相關。

範例:[ "service_1" ]

operationHoursId 清單<字串>

isSpecialHour = false 時為必要欄位。

OperationHours 實體的 @id 值與這個 ServiceHours 實體相關。

範例:[ "operation_hour_1" ]

opens ISO 時間 (當地)

表示可以在一天中的特定時段完成 ISO 格式出貨。

範例:T00:00

closes ISO 時間 (當地)

以 ISO 格式指出使用者無法下單的具體時間。

範例:T16:00

dayOfWeek 清單<DayOfWeek>

這些星期幾的營業時間。

範例:[ "MONDAY", "TUESDAY" ]

validFrom ISO 時間戳記

isSpecialHour = true 時為必要欄位。

ISO 時間戳記,代表訂購視窗的開始時間,可讓使用者存取流程及進行「盡快」/「未來」訂單。

範例:2017-01-01T00:00:00-07:00

validThrough ISO 時間戳記

isSpecialHour = true 時為必要欄位。

ISO 時間戳記,代表使用者訂購流程的結束日期,超過這個期限後,使用者就無法存取資料流,且無法及時提交訂單。

範例:2017-01-02T00:00:00-07:00

isSpecialHour 布林

表示作業時間是否適用於特殊營業時間的布林值。可接受的值為「false」和「true」。

範例:False

leadTimeMin 整數

預計 ASAP 訂單後,預計送達/最短送達時間。強烈建議您設定此屬性。

範例:60

leadTimeMax 整數

建立「盡快」訂單後,預計送達/取貨時間上限 (以分鐘為單位)。強烈建議您設定此屬性。

範例:70

advanceBookingRequirementMin 整數

orderType = "ADVANCE" 時為必要欄位。

可履行預購訂單的訂購時間 (分鐘)。 舉例來說,如果預購訂單需要至少 60 分鐘才能完成,那麼 preBookingBookingmentMin 為 60。

範例:15

advanceBookingRequirementMax 整數

orderType = "ADVANCE" 時為必要欄位。

可履行預購訂單的訂購時間上限 (以分鐘為單位)。 例如,如果預購訂單的限制時間超過 2 天才達成,則 preBookingBookingmentment 值為 2880。

範例:10080

advanceBookingSlotInterval 字串

orderType = "ADVANCE" 時為必要欄位。

兩個連續的提前預訂時段間隔時間。 舉例來說:假設開場和打烊時間為上午 8 點和晚上 8 點,而前進預訂時段間隔為 15 分鐘,那麼使用者可以選擇 8 點早上 8 點 15 分、8 點 30 分、早上 8 點 45 分等等,直到晚上 8 點為止。 時間長度必須為 ISO 經期長度。例如:「PT15M」表示間隔 15 分鐘。

範例:PT15M

dateModified ISO 時間戳記

服務時間動態饋給的最後修改日期和時間,採用 ISO 時間戳記格式但類型為 String。

範例:2017-01-02T00:00:00-07:00

以下範例顯示 ServiceHours 元素:

範例 1

{
  "@type": "ServiceHours",
  "@id": "613741/delivery",
  "orderType": "ASAP",
  "serviceId": [
    "10824/delivery"
  ],
  "opens": "T00:00",
  "closes": "T00:00",
  "isSpecialHour": true,
  "validFrom": "2017-12-25T00:00:00-07:00",
  "validThrough": "2017-12-25T23:59:00-07:00"
}

範例 2

{
  "@type": "ServiceHours",
  "@id": "10824/takeoutSh_0",
  "orderType": "ASAP",
  "serviceId": [
    "10824/takeout"
  ],
  "operationHoursId": [
    "10824/takeoutOh"
  ],
  "opens": "11:00",
  "closes": "21:00",
  "dayOfWeek": [
    "MONDAY",
    "TUESDAY",
    "WEDNESDAY",
    "THURSDAY"
  ],
  "isSpecialHour": false
}

費用

說明費用。如果關聯的 Service 實體的 serviceType 已設為「DELIVERY」,則需要將 feeType 設為「DELIVERY」的 Fee 為必要項目。

下表列出 Fee 類型的屬性:

屬性 類型 說明
@type 缺點

這是必填欄位。

值:Fee

@id 字串

這是必填欄位。

描述費用的實體專屬 ID。

範例:service_fee_1

serviceId 清單<字串>

這是必填欄位。

「服務」實體的 @id 值與這個「費用」實體相關。

範例:[ "service_1" ]

feeType FeeType

這是必填欄位。

這個字串是用於表示運費或服務訂單是否適用費用。可接受的值為「DELIVERY」和「SERVICE」。

範例:DELIVERY

priceCurrency 字串

這是必填欄位。

包含 3 個英文字母的 ISO 4217 貨幣代碼。

範例:USD

basePrice Number

使用底價時,使用 percentageOfCartpricePerMeter 時適用。

範例:2.0

minPrice Number

使用 percentageOfCartpricePerMeter 時,最低費用為上限費用值。

範例:2.0

maxPrice Number

使用 percentageOfCartpricePerMeter 時,費用上限、上限費用值。

範例:10.0

eligibleRegion 清單<字串>

該領域在有效地理區域的 ServiceArea 的 @id。這項屬性僅適用於各區域的外送費用。

範例:[ "service_area_1" ]

eligibleTransactionVolumeMin Number

最低交易金額,以金額單位為單位。

範例:50

eligibleTransactionVolumeMax Number

交易金額上限,以金額單位為單位。舉例來說,如果訂單金額超過特定訂單量,則不適用該筆費用。

範例:10

validFrom ISO 時間戳記

表示費用有效時間的 ISO 時間戳記。

範例:2017-01-01T00:00:00-07:00

validThrough ISO 時間戳記

表示收費時間無效的 ISO 時間戳記。

範例:2017-01-02T00:00:00-07:00

dateModified ISO 時間戳記

費用實體動態饋給的上次修改日期和時間,採用 ISO 時間戳記格式,但類型為字串。

範例:2017-01-02T00:00:00-07:00

priority Number

正值。如果使用者的購物車有超過一筆費用,系統會優先採用優先順序較低的費用。如果提供這個欄位,系統一律會優先採用優先順序值。

範例:3

必須加入下列一組屬性。
price 群組 1 Number

手續費。如果價格不正確,可以提供 minPrice 和 maxPrice 而非價格。

範例:1.5

percentageOfCart 第 2 組 Number

以購物車價值百分比表示的費用。可接受的值為介於 0 到 100 (含) 之間的浮點值。

範例:9.00

pricePerMeter 第 3 組 Number

Fee per meter for radial distance from user. e.g. If distance to user is 5km and rate is $0.001 then user fee will be $5.

範例:0.001

以下範例顯示 Fee 元素:

範例 1

{
  "@type": "Fee",
  "@id": "28427",
  "serviceId": [
    "10824/delivery"
  ],
  "feeType": "DELIVERY",
  "priceCurrency": "USD",
  "eligibleRegion": [
    "28427"
  ],
  "eligibleTransactionVolumeMin": 20,
  "price": 5
}

範例 2

{
  "@type": "Fee",
  "@id": "28427",
  "serviceId": [
    "10824/delivery"
  ],
  "feeType": "DELIVERY",
  "priceCurrency": "USD",
  "eligibleRegion": [
    "28427"
  ],
  "eligibleTransactionVolumeMin": 20,
  "pricePerMeter": 0.0005,
  "basePrice": 4
}

範例 3

{
  "@type": "Fee",
  "@id": "28427",
  "serviceId": [
    "10824/delivery"
  ],
  "feeType": "DELIVERY",
  "priceCurrency": "USD",
  "eligibleRegion": [
    "28427"
  ],
  "eligibleTransactionVolumeMin": 20,
  "pricePerMeter": 0.0005,
  "basePrice": 4,
  "minPrice": 5,
  "maxPrice": 50
}

示例 4

{
  "@type": "Fee",
  "@id": "28427",
  "serviceId": [
    "10824/delivery"
  ],
  "feeType": "DELIVERY",
  "priceCurrency": "USD",
  "eligibleRegion": [
    "28427"
  ],
  "eligibleTransactionVolumeMin": 20,
  "percentageOfCart": 5,
  "basePrice": 4
}

範例 5

{
  "@type": "Fee",
  "@id": "28427",
  "serviceId": [
    "10824/delivery"
  ],
  "feeType": "DELIVERY",
  "priceCurrency": "USD",
  "eligibleRegion": [
    "28427"
  ],
  "eligibleTransactionVolumeMin": 20,
  "percentageOfCart": 5,
  "basePrice": 4,
  "minPrice": 5,
  "maxPrice": 50
}

要實作的必要實體。用於描述選單。

下表列出 Menu 類型的屬性:

屬性 類型 說明
@type 缺點

這是必填欄位。

值:Menu

@id 字串

這是必填欄位。

選單的專屬識別碼。

範例:menu_1

name 字串

使用者瀏覽選單時可辨識的選單文字。

範例:Foo

disclaimer 字串

菜單的免責聲明。例如營養資訊公開和過敏原揭露資訊。

範例:Items may contain peanuts.

disclaimerUrl 網址

這個網址所指向的網頁,提供了有關免責事項的更多詳情。

dateModified ISO 時間戳記

選單實體資訊提供的上次修改日期和時間,採用 ISO 時間戳記格式,但類型為字串。

範例:2017-01-02T00:00:00-07:00

以下範例顯示 Menu 元素:

{
  "@type": "Menu",
  "@id": "10824"
}

要實作的選用實體。描述選單中的特定部分。

下表列出 MenuSection 類型的屬性:

屬性 類型 說明
@type 缺點

這是必填欄位。

值:MenuSection

@id 字串

這是必填欄位。

選單專區的專屬 ID。

範例:menu_section_1

menuId 清單<ReverseReference>

選單實體的 @id 值,與此 MenuSection 實體相關。

範例:[ { "@id": "menu_id", "displayOrder": 4 } ]

menuSectionId 清單<字串>

與此 MenuSection 實體相對應的子 MenuSection 實體 @id 值清單。

重要事項:您只能使用 menuSectionIdparentMenuSectionId(in child) 參照之一。

範例:[ "child_menu_section_1", "child_menu_section_2" ]

parentMenuSectionId 清單<ReverseReference>

與這個 MenuSection 實體相關的父 MenuSection 實體 @id 值。

重要事項:您只能使用 parentMenuSectionIdmenuSectionId(in parent) 參照之一。

範例:[ { "@id": "parent_menu_section_id", "displayOrder": 4 } ]

name 字串

這是必填欄位。

當使用者瀏覽選單時,可識別 MenuSection 的文字。

範例:Foo

description 字串

選單專區的說明。

範例:Example menu section description that helps users.

image 網址

菜單區塊的圖片網址。

範例:https://provider.com/someimage

menuItemId 清單<字串>

與這個 MenuSection 實體對應的 MenuItem 實體 @id 值清單。

重要事項:您只能使用 menuItemIdMenuItem.parentMenuSectionId 參照之一。

範例:[ "menu_item1", "menu_item2" ]

parentMenuItemId 清單<ReverseReference>

與這個 MenuSection 實體對應的父 MenuItem 實體的 @id 值清單。

重要事項:您只能使用 parentMenuItemIdMenuItem.menuAddOnId 參照之一。

範例:[ { "@id": "parent_menu_item_id", "displayOrder": 4 } ]

parentMenuItemOptionId 清單<ReverseReference>

與這個 MenuSection 實體對應的父 MenuItemOption 實體的 @id 值清單。

重要事項:您只能使用 parentMenuItemOptionIdMenuItemOption.menuAddOnId 參照之一。

範例:[ { "@id": "parent_menu_item_option_id", "displayOrder": 4 } ]

eligibleQuantityMax 整數

可在外掛程式部分選取的外掛程式數量上限。

範例:5

eligibleQuantityMin 整數

外掛程式章節應選取的最低外掛程式數量。

範例:1

defaultItemId 清單<字串>

這個 @id 清單,針對外掛程式 MenuSection 中的使用者預設預選的 MenuItem 實體。使用者可以變更最後的選擇。如未指定 defaultItemId,則系統不會預先選取任何 MenuItem

範例:[ "item1", "item2" ]

availabilityId 清單<字串>

Availability 實體的 @id 值,提供選單部分可用時間的詳細資訊。

範例:[ "menu_availability_1" ]

numberOfFreeAddOns 整數

指出使用者可以選取的外掛程式數量。僅適用於外掛程式選單專區。

範例:3

dateModified ISO 時間戳記

MenuSection 實體動態饋給的上次修改日期和時間,採用 ISO 時間戳記格式,但類型為字串。

範例:2017-01-02T00:00:00-07:00

applicableServiceType 清單<ServiceType>

MenuSection 適用的服務。預設值假設所有 MenuSection 都適用。

offeredById 清單<字串>

這個 MenuSection 所屬 Restaurant 實體的 @id 值。預設假設 MenuSection 適用於所有地點。

範例:[ "restaurant_id_1", "restaurant_id_55" ]

以下範例顯示 MenuSection 元素:

{
  "@type": "MenuSection",
  "@id": "853705",
  "menuId": [
    {
      "@id": "10824",
      "displayOrder": 853705
    }
  ],
  "menuSectionId": [
    12345,
    43645
  ],
  "name": "Pasta",
  "applicableServiceType": [
    "TAKEOUT"
  ],
  "offeredById": [
    "italian_restaurant_location_1"
  ]
}
{
  "@type": "MenuSection",
  "@id": "427484",
  "menuId": [
    {
      "@id": "4287",
      "displayOrder": 964376
    }
  ],
  "menuItemId": [
    46784,
    42728
  ],
  "name": "Burger",
  "applicableServiceType": [
    "TAKEOUT",
    "DELIVERY"
  ]
}
{
  "@type": "MenuSection",
  "@id": "3138486",
  "name": "Choose a side:",
  "parentMenuItemId": [
    {
      "@id": "6680295",
      "displayOrder": 3138486
    }
  ],
  "eligibleQuantityMax": "5",
  "numberOfFreeAddOns": "2"
}
{
  "@type": "MenuSection",
  "@id": "3138482",
  "name": "Additional Pizza Toppings",
  "parentMenuItemId": [
    {
      "@id": "6680246",
      "displayOrder": 3138482
    }
  ],
  "eligibleQuantityMax": "3"
}

發布資訊

要實作的選用實體。說明 MenuSection 實體提供服務的時間範圍。

下表列出 Availability 類型的屬性:

屬性 類型 說明
@type 缺點

這是必填欄位。

值:Availability

@id 字串

這是必填欄位。

可描述選單部分供應情形的實體的專屬 ID。

範例:menu_section_avail_1

availabilityStarts ISO 時間 (當地)

表示選單區段可用性有效時間的 ISO 時間戳記。

範例:T00:00

availabilityEnds ISO 時間 (當地)

ISO 時間戳記代表的選單部分供應情形無效,且結束時間部分無效。

範例:T16:00

availableDay 清單<DayOfWeek>

菜單部分供應時段的星期幾。

範例:[ "MONDAY", "TUESDAY" ]

validFrom ISO 時間戳記

可表示選單區段有效時間的 ISO 時間戳記。

範例:2017-01-01T00:00:00-07:00

validThrough ISO 時間戳記

表示 ISO 時間戳記的結束時間,超過選單區段的供應情形無效。

範例:2017-01-02T00:00:00-07:00

dateModified ISO 時間戳記

供應情形實體動態饋給的上次修改日期和時間,採用 ISO 時間戳記格式,但類型為字串。

範例:2017-01-02T00:00:00-07:00

以下範例顯示 Availability 元素:

範例

{
  "@type": "Availability",
  "@id": "85343705",
  "availabilityStarts": "06:00",
  "availabilityEnds": "22:30",
  "availableDay": [
    "SATURDAY",
    "SUNDAY"
  ]
}

要實作的必要實體。說明 Menu 實體中的項目。

下表列出 MenuItem 類型的屬性:

屬性 類型 說明
@type 缺點

這是必填欄位。

值:MenuItem

@id 字串

這是必填欄位。

選單項目的專屬 ID。

範例:menu_item_1

name 字串

這是必填欄位。

當使用者瀏覽選單時,可識別 MenuItem 的文字。

範例:Foo

description 字串

選單項目的說明。

範例:Foo

image 網址

菜單項目圖片的網址。

範例:http://someprovider.com/someimage

parentMenuSectionId 清單<ReverseReference>

與這個 MenuItem 實體對應的父 MenuSection 實體的 @id 值清單。

重要事項:您只能使用 parentMenuSectionIdMenuSection.menuItemId 參照之一。

範例:{ "@id": "menu_section_parent_id", "displayOrder": 4 }

menuAddOnId 清單<字串>

這個 MenuSection 實體的 @id 值清單來自對應這個 MenuItem 實體的 Add 區段。

重要事項:您只能使用 menuAddOnIdMenuSection.parentMenuItemId 參照之一。

範例:menu_addon_1

nutrition NutritionInformation

菜餚的營養資訊,其中最為熱量。

範例:{ "calories": "120-150 Cal" }

allergen 清單<Allergen>

這個菜單項目的過敏原。

範例:[ { "allergenType": "PEANUTS", "levelOfContainment": "MAY_CONTAIN" } ]

additive 清單<Additive>

這個 MenuItem 的新增。

範例:[ { "additiveName": "Sodium nitrite", "levelOfContainment": "CONTAINS" } ]

suitableDiet 清單<RestrictedDiet>

這道菜符合上述飲食限制。

範例:[ "DIABETIC", "GLUTEN_FREE" ]

depositInfo DepositInfo

這個 MenuItem 的包裝與回收資訊。

範例:{ "depositCode": "RECYCLABLE", "depositValue": "0.05", "depositValueCurrency": "USD" }

numberOfServings 整數

指定選單項目的可用份數。

範例:2

dateModified ISO 時間戳記

MenuItem 實體動態饋給的上次修改日期和時間,採用 ISO 時間戳記格式,但類型為字串。

範例:2017-01-02T00:00:00-07:00

以下範例顯示 MenuItem 元素:

{
  "@type": "MenuItem",
  "@id": "18931508",
  "name": "Sauteed Baby Spinach",
  "parentMenuSectionId": [
    {
      "@id": "3138479",
      "displayOrder": 18931508
    }
  ]
}
{
  "@type": "MenuItem",
  "@id": "18931508",
  "name": "Hamburger",
  "parentMenuSectionId": [
    {
      "@id": "4645747",
      "displayOrder": 12345
    }
  ],
  "nutrition": {
    "calories": "400 cal"
  },
  "allergen": [
    {
      "allergenType": "GLUTEN",
      "levelOfContainment": "CONTAINS"
    }
  ],
  "additive": [
    {
      "additiveName": "Sodium nitrite",
      "levelOfContainment": "CONTAINS"
    }
  ],
  "suitableDiet": [
    "DIABETIC",
    "LOW_FAT"
  ]
}

要實作的選用實體。說明使用者在選取餐點/組合時必須做出哪些選擇。使用者必須選取一個選項,否則訂單會視為無效 (例如使用者必須選擇小、中或大的披薩)。

下表列出 MenuItemOption 類型的屬性:

屬性 類型 說明
@type 缺點

值:MenuItemOption

@id 字串

這是必填欄位。

選單項目選項的專屬 ID。

範例:menu_item_1_option

menuItemId ReverseReference

這是必填欄位。

與這個 MenuItemOption 實體相關的 MenuItem 實體 @id 值。

範例:{ "@id": "menu_item_1", "displayOrder": 4 }

optionType OptionType

這個字串代表選單項目選項的分類方式是大小、選項或披薩端。可接受的值為「SIZE」、「OPTION」和「PIZZA_SIDE」。"SIZE":MenuItemOption 的大小。例如「小」、「中」或「大」。「OPTION」:任何大小以外的變化形式 (例如,提供沙拉或三明治的料理)。如果無法區分「SIZE」和「OPTION」,請使用「OPTION」。"PIZZA_SIDE":專指披薩:例如,此 MenuItemOption 僅適用於部分/全披薩的披薩 (例如食材配菜的左側、右側或整份披薩)。

範例:SIZE

value 字串或 PizzaSide

optionType is defined 時為必要欄位。

字串值或列舉值。列舉值是 PIZZA_SIDE 選項類型專用的。

applicableParentOptionValue 字串

包含這個選項的父項項目選項值的字串。

範例:Small

menuAddOnId 清單<字串>

這個 MenuSection 實體的 @id 值清單來自對應這個 MenuItemOption 實體的 Add 區段。

重要事項:您只能使用 menuAddOnIdMenuSection.parentMenuItemId 參照之一。

範例:menuAddOnId

nutrition NutritionInformation

菜餚的營養資訊,其中最為熱量。

範例:{ "calories": "120-150 Cal" }

allergen 清單<Allergen>

這個菜單項目的過敏原。

範例:{ "allergenType": "PEANUTS", "levelOfContainment": "MAY_CONTAIN" }

additive 清單<Additive>

這個 MenuItem 的新增。

範例:{ "additiveName": "Sodium nitrite", "levelOfContainment": "CONTAINS" }

depositInfo DepositInfo

這個 MenuItem 的包裝與回收相關資訊。

範例:{ "depositCode": "RECYCLABLE", "depositValue": "0.05", "depositValueCurrency": "USD" }

numberOfServings 整數

指定選單項目選項中的份數。

範例:2

dateModified ISO 時間戳記

上次修改日期與時間的

範例:2017-01-02T00:00:00-07:00

以下範例顯示 MenuItemOption 元素:

{
  "@type": "MenuItemOption",
  "@id": "56177944",
  "menuItemId": {
    "@id": "18930213",
    "displayOrder": 1234
  },
  "optionType": "PIZZA_SIDE",
  "value": "PIZZA_SIDE_LEFT"
}
{
  "@type": "MenuItemOption",
  "@id": "56177944",
  "menuItemId": {
    "@id": "18930213",
    "displayOrder": 1234
  },
  "applicableParentOptionValue": "Small Pizza"
}

要實作的必要實體。說明 MenuItemMenuItemOption 實體的優惠。

下表列出 MenuItemOffer 類型的屬性:

屬性 類型 說明
@type 缺點

這是必填欄位。

值:MenuItemOffer

@id 字串

這是必填欄位。

菜單商品優惠的專屬 ID。

範例:menu_item_offer

sku 字串

這是必填欄位。

菜單品項的識別碼。SKU 值可能與多個選單項目優惠實體相同或相同。當我們向您發出 API 呼叫時,即會設定 SKU 值。

範例:Menu_item_offer_sku

price Number

這是必填欄位。

菜單商品優惠價格。

範例:2.5

priceCurrency 字串

這是必填欄位。

包含 3 個英文字母的 ISO 4217 貨幣代碼。

範例:USD

availabilityId 清單<字串>

Availability 實體的 @id 值,可提供選單項目優惠的供應時間。

範例:[ "menu_availability_1" ]

eligibleQuantityMin Number

MenuItemOffer 有效訂購的最低數量。

範例:1

eligibleQuantityMax Number

MenuItemOffer 有效訂購數量上限。

範例:25

inventoryLevel Number

與此 MenuItemOffer 對應的項目目前的約略庫存量。

範例:10

dateModified ISO 時間戳記

MenuItemOffer 實體動態饋給的上次修改日期和時間,採用 ISO 時間戳記格式,但類型為字串。

範例:2017-01-02T00:00:00-07:00

applicableServiceType 清單<ServiceType>

MenuItemOffer 適用的服務。預設值假設所有 MenuItemOffer 都適用。

offeredById 清單<字串>

這個 MenuItemOffer 所屬 Restaurant 實體的 @id 值。預設假設 MenuItemOffer 適用於所有地點。

範例:[ "restaurant_id_5", "restaurant_id_26" ]

必須加入下列一組屬性。
menuItemId 群組 1 字串

與這個 MenuItemOffer 實體相關的 MenuItem 實體 @id 值。

範例:menu_item_1

menuItemOptionId 第 2 組 字串

與這個 MenuItemOffer 實體相關的 MenuItemOption 實體 @id 值。

範例:menu_item_option_1

以下範例顯示 MenuItemOffer 元素:

{
  "@type": "MenuItemOffer",
  "@id": "6680262",
  "sku": "offer-mediterranean-bagel",
  "menuItemId": "896532",
  "price": 15.5,
  "priceCurrency": "USD",
  "applicableServiceType": [
    "DELIVERY"
  ],
  "offeredById": [
    "bagel_shop_location_5"
  ]
}

常用

反向參考

下表列出 ReverseReference 類型的屬性:

屬性 類型 說明
@id 字串

這是必填欄位。

父系實體的 @id。

displayOrder 整數

這是必填欄位。

顯示上層項目的商品順序。

營養資訊

下表列出 NutritionInformation 類型的屬性:

屬性 類型 說明
description 字串

任意文字的營養資訊。例如「包含防製品」。

calories 字串

熱量、千焦耳或千焦耳的卡路里數,格式如下:Cal 或 min-max Cal

範例:120.34 Cal

sodiumContent 字串

鈉或 g 的份數,格式如下:g 或 min-max g

範例:1200 mg

以下範例顯示 NutritionInformation 元素:

範例

{
  "calories": "120-150 Cal",
  "sodiumContent": "100 mg"
}

過敏原

下表列出 Allergen 類型的屬性:

屬性 類型 說明
allergenType AllergenType

這是必填欄位。

過敏原類型。

levelOfContainment ContainmentLevel

選單項目中特定過敏原的等級。

以下範例顯示 Allergen 元素:

範例

{
  "allergenType": "PEANUTS",
  "levelOfContainment": "MAY_CONTAIN"
}

附加

下表列出 Additive 類型的屬性:

屬性 類型 說明
additiveName 字串

這是必填欄位。

添加劑名稱。

levelOfContainment ContainmentLevel

選單項目中特定添加劑的級別。

以下範例顯示 Additive 元素:

範例

{
  "additiveName": "Sodium nitrite",
  "levelOfContainment": "CONTAINS"
}

DepositInfo

下表列出 DepositInfo 類型的屬性:

屬性 類型 說明
depositCode DepositCode

存款代碼。

depositValue Number

商品存款的數值,例如回收產品。

depositValueCurrency 字串

存款金額的幣別

以下範例顯示 DepositInfo 元素:

範例

{
  "depositCode": "RECYCLABLE",
  "depositValue": 0.05,
  "depositValueCurrency": "USD"
}

放送設定

用來控管各種功能的服務的服務設定,例如停用促銷小工具等。

下表列出 ServingConfig 類型的屬性:

屬性 類型 說明
disableOrderInstructions 布林

隱藏指定訂單指示的功能。

disableMenuItemSpecialInstructions 布林

隱藏針對選單項目指定特殊指示的功能。

disableTipWidget 布林

在訂購流程的 [下單] 頁面中隱藏小費小工具。

disablePromoWidget 布林

在訂購流程的「下單」網頁中隱藏宣傳小工具。

menuItemSpecialInstructionsMaxLength Number

指定選單項目特殊指示可包含的字元數上限。

orderInstructionsMaxLength Number

指出訂單指示可包含的字元數上限。

以下範例顯示 ServingConfig 元素:

範例 1

{
  "disableMenuItemSpecialInstructions": true
}

範例 2

{
  "disableTipWidget": true,
  "disablePromoWidget": true
}

範例 3

{
  "menuItemSpecialInstructionsMaxLength": 250,
  "orderInstructionsMaxLength": 1000
}

列舉

星期幾

DayOfWeek 類型具有下列可能的值:

  • MONDAY
  • TUESDAY
  • WEDNESDAY
  • THURSDAY
  • FRIDAY
  • SATURDAY
  • SUNDAY

ServiceType

ServiceType 類型具有下列可能的值:

  • DELIVERY
  • TAKEOUT

OrderType

OrderType 類型具有下列可能的值:

  • ASAP
  • ADVANCE

費用類型

FeeType 類型具有下列可能的值:

  • DELIVERY
  • SERVICE

選項類型

OptionType 類型具有下列可能的值:

  • SIZE
  • OPTION
  • PIZZA_SIDE

披薩店

PizzaSide 類型具有下列可能的值:

  • PIZZA_SIDE_LEFT
  • PIZZA_SIDE_RIGHT
  • PIZZA_SIDE_WHOLE

過敏原類型

每個 gs1:AllergenTypeCode 的過敏原類型。

AllergenType 類型具有下列可能的值:

  • ALMONDS
  • ALPHA_ISOMETHYL_IONONE
  • ALCOHOL
  • AMYL_CINNAMAL
  • ANISE_ALCOHOL
  • BARLEY
  • BENZYL_ALCOHOL
  • BENZYL_BENZOATE
  • BENZYL_CINNAMATE
  • BENZYL_SALICYLATE
  • BRAZIL_NUTS
  • BUTYLPHENYL_METHYLPROPIONATE
  • CARROTS
  • CASHEW_NUTS
  • CELERY
  • CEREALS_CONTAINING_GLUTEN
  • CINNAMAL
  • CINNAMYL_ALCOHOL
  • CITRAL
  • CITRONELLOL
  • COCOA
  • CORIANDER
  • CORN
  • COUMARIN
  • CRUSTACEANS
  • EGGS
  • EUGENOL
  • EVERNIA_FURFURACEA
  • EVERNIA_PRUNASTRI
  • FARNESOL
  • FISH
  • GERANIOL
  • GLUTEN
  • HAZELNUTS
  • HEXYL_CINNAMAL
  • HYDROXYCITRONELLAL
  • HYDROXYISOHEXYL_3_CYCLOHEXENE_CARBOXALDEHYDE_ISOEUGENOL_LIMONENE_LINAL
  • KAMUT
  • LACTOSE
  • LUPINE
  • MACADAMIA_NUTS
  • METHYL_2_OCTYNOATE
  • MILK
  • MOLLUSCS
  • MUSTARD
  • NO_DECLARED_ALLERGENS
  • OAT
  • PEANUTS
  • PEAS
  • PECAN_NUTS
  • PISTACHIOS
  • POD_FRUITS
  • QUEENSLAND_NUTS
  • RYE
  • SESAME_SEEDS
  • SOYBEANS
  • SPELT
  • SULPHUR_DIOXIDE
  • TREE_NUTS
  • TREE_NUT_TRACES
  • WALNUTS
  • WHEAT

包含層級

ContainmentLevel 類型具有下列可能的值:

  • CONTAINS
  • FREE_FROM
  • MAY_CONTAIN

DepositCode

DepositCode 類型具有下列可能的值:

  • REUSABLE
  • RECYCLABLE

特惠類型

要套用折扣的交易類別。類別可以是整體的購物車總金額或運費。

DealType 類型具有下列可能的值:

  • CART_OFF
  • DELIVERY_OFF

限制飲食

每個 schema.org:RestrictedDiet 的受限飲食類型。

RestrictedDiet 類型具有下列可能的值:

  • DIABETIC
  • GLUTEN_FREE
  • HALAL
  • HINDU
  • KOSHER
  • LOW_CALORIE
  • LOW_FAT
  • LOW_LACTOSE
  • LOW_SALT
  • VEGAN
  • VEGETARIAN