一般規定
實體在動態饋給中,每個實體的結構必須分行列出 (以換行符號分隔)。為方便閱讀,本頁的 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
每次指定 DateTime
或 Time
時,請注意下列事項:
- 時間前面的「T」前置字元是格式的一部分,且為必要項目。
- 請指定
DATETIME
的時區。「TIME
」不需要。 - 時間必須指定當地餐廳或服務時間。
餐廳資料
餐廳 (必填)
要實作的必要實體。用於描述餐廳。
下表列出 Restaurant
類型的屬性:
屬性 | 類型 | 說明 | |
---|---|---|---|
@type |
缺點 | 這是必填欄位。 值: |
|
@id |
字串 | 這是必填欄位。 餐廳或外送服務供應商的專屬 ID。 範例: |
|
name |
字串 | 這是必填欄位。 餐廳名稱。 範例: |
|
description |
字串 |
餐廳說明。 範例: |
|
url |
網址 |
代表餐廳的網址。餐廳網域偏好於集結網站網域。 範例: |
|
sameAs |
網址 |
餐廳的官方網站。 範例: |
|
telephone |
字串 |
餐廳的電話號碼。 範例: |
|
streetAddress |
字串 | 這是必填欄位。 餐廳的街道地址。 範例: |
|
addressLocality |
字串 | 這是必填欄位。 地區或城市。 範例: |
|
addressRegion |
字串 | 這是必填欄位。 地區或州/省。 範例: |
|
postalCode |
字串 | 這是必填欄位。 郵遞區號。 範例: |
|
addressCountry |
字串 | 這是必填欄位。 雙字母 ISO 3166-1 alpha-2 國家/地區代碼。 範例: |
|
latitude |
Number |
緯度度數。值僅限於 [[-90, 90]] 範圍。 精確度必須至少達到第 5 位小數。 範例: |
|
longitude |
Number |
經度度數。值僅限於 [[-180, 180]] 範圍。 精確度必須至少達到第 5 位小數。 範例: |
|
dealId |
清單<字串> |
餐廳的 |
|
imprint |
字串 |
餐廳出版公司是餐廳的其他資訊,例如法定全名、法定地址和註冊編號。請使用「 」來設定此資訊的格式。 範例: |
|
dateModified |
ISO 時間戳記 |
餐廳實體動態饋給上次修改的日期和時間,採用 ISO 時間戳記格式,但類型為字串。 範例: |
以下範例顯示 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 |
缺點 | 這是必填欄位。 值: |
|
@id |
字串 | 這是必填欄位。 交易的專屬 ID。 範例: |
|
dealCode |
字串 | 這是必填欄位。 每個夥伴每筆交易的專屬交易 ID。這個 ID 可明確識別您的促銷系統中的優惠。Google 會在 範例: |
|
applicableServiceType |
清單<ServiceType > |
此交易適用的服務。預設會假設所有交易都適用交易。 |
|
eligibleMaxOrders |
整數 |
只有在使用者過去成功的訂單數量少於或等於此數字時,這筆交易才符合優惠資格。 |
|
availabilityId |
清單<字串> |
Availability 實體的 @id 值,提供選單部分可用時間的詳細資訊。 範例: |
|
isDisabled |
布林 |
這會覆寫其他的有效檢查。 |
|
dealType |
DealType |
這是必填欄位。 要套用折扣的交易類別。類別可以是完整的購物車總金額、服務費或運費。 |
|
priceCurrency |
字串 | 當 當 折扣的貨幣 (採 3 個字母的 ISO 4217 格式)。 範例: |
|
eligibleTransactionVolumeMin |
Number |
適用此促銷活動的有效交易量 (以金額為單位)。 |
|
termsOfServiceUrl |
網址 | 這是必填欄位。 使用者可理解的服務條款說明文件。 |
|
dateModified |
ISO 時間戳記 |
交易實體資訊提供上次修改日期和時間,採用 ISO 時間戳記格式,但類型為字串。 範例: |
|
必須加入下列一組屬性。 | |||
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 |
缺點 | 這是必填欄位。 值: |
|
@id |
字串 | 這是必填欄位。 出貨服務的 ID。 範例: |
|
serviceType |
ServiceType |
這是必填欄位。 提供的服務類型。可能的值包括「DELIVERY」或「TAKEOUT」。 範例: |
|
restaurantId |
字串 | 這是必填欄位。 與「服務」實體相關的「餐廳」實體 @id 值。 範例: |
|
menuId |
字串 | 這是必填欄位。 「選單」實體的 @id 值,與此「服務」實體相關。 範例: |
|
dateModified |
ISO 時間戳記 |
服務實體資訊提供的上次修改日期和時間,採用 ISO 時間戳記格式。 範例: |
|
isDisabled |
布林 |
指出實體是否已停用。只有在因意外事件而停用實體,且您不知道何時需要重新啟用服務時 (例如不為假日使用),才應使用此類型。 範例: |
|
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 |
缺點 | 這是必填欄位。 值: |
|
@id |
字串 | 這是必填欄位。 服務範圍的專屬識別碼。 範例: |
|
serviceId |
清單<字串> | 這是必填欄位。 Service 實體的 Service 實體 @id 值。 範例: |
|
dateModified |
ISO 時間戳記 |
ServiceArea 實體資訊提供上次修改的日期和時間 (採用 ISO 時間戳記格式,但類型為 String)。 範例: |
|
exclude |
布林 |
從總運送區域中排除這個服務範圍。例如,系統會從較大的多邊形區域中排除郵遞區號。 |
|
必須加入下列一組屬性。 | |||
polygon |
群組 1 | 清單<字串> |
由三個或更多空格分隔點組成的多邊形或多重多邊形。建議第一個點和最後一個點相同,但不強制要求。 多邊形或多重多邊形中的每個點都會由緯度點和經度點來定義。您也必須以逆時針方向指定點。 範例: |
geoMidpointLatitude |
第 2 組 | Number |
用於表示 ICE 區域中心的緯度座標。 範例: |
geoMidpointLongitude |
第 2 組 | Number |
代表 CIRCLE 區域中心的經度座標。 範例: |
geoRadius |
第 2 組 | 整數 |
代表 CIRCLE 區域的約略半徑 (單位為公尺)。 範例: |
postalCode |
第 3 組 | 字串 |
表示郵遞區號。 範例: |
addressCountry |
第 3 組 | 字串 |
指示由兩個英文字母組成的 ISO 3166-1 alpha-2 國家/地區代碼 範例: |
以下範例顯示 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
opens
和 closes
屬性會指定可讓使用者線上下單的線上系統的開始和結束時間。在這些線上系統時數內,使用 ServiceHours
指定使用者訂單可處理的開始和結束營業時間。
時間必須以當地時間指定。請勿在 opens
值中加入時區。如果有指定時區,Google 會忽略這項資訊。詳情請參閱 DateTime 的時間格式。
下表列出 OperationHours
類型的屬性:
屬性 | 類型 | 說明 | |
---|---|---|---|
@type |
缺點 | 這是必填欄位。 值: |
|
@id |
字串 | 這是必填欄位。 實體的專屬識別碼,用於說明訂購視窗,使用者可在其中存取資料流程,並及時提交訂單/日後訂單。 範例: |
|
serviceId |
清單<字串> | 這是必填欄位。 Service 實體的 @id 值與這個 OperationHours 實體相關。 範例: |
|
opens |
ISO 時間 (當地) |
指出一天中特定時間 (採用 ISO 格式,也就是使用者下單的時間)。 範例: |
|
closes |
ISO 時間 (當地) |
用於指出使用者在一天內無法下單的訂單 (採用 ISO 格式)。 範例: |
|
dayOfWeek |
清單<DayOfWeek > |
這些星期幾的營業時間。可接受的值為「MONDAY」、「TUESDAY」、「WEDNESDAY」、「THURSDAY」、「FRIDAY」、「SATURDAY」和「SUNDAY」。 範例: |
|
validFrom |
ISO 時間戳記 | 當 ISO 時間戳記,代表訂購視窗的開始時間,可讓使用者存取流程及進行「盡快」/「未來」訂單。 範例: |
|
validThrough |
ISO 時間戳記 | 當 ISO 時間戳記,代表使用者訂購流程的結束日期,超過這個期限後,使用者就無法存取資料流,且無法及時提交訂單。 範例: |
|
isSpecialHour |
布林 |
表示作業時間是否適用於特殊營業時間的布林值。可接受的值為「false」和「true」。 範例: |
|
dateModified |
ISO 時間戳記 |
作業時間實體的最後修改日期和時間,採 ISO 時間戳記格式,但類型為字串。 範例: |
以下範例顯示 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
opens
和 closes
屬性會指定可讓使用者線上下單的線上系統的開始和結束時間。在這些線上系統時數內,使用 ServiceHours
指定使用者訂單可處理的開始和結束營業時間。
時間必須以當地時間指定。請勿在 opens
值中加入時區。如果有指定時區,Google 會忽略這項資訊。詳情請參閱 DateTime 的時間格式。
下表列出 ServiceHours
類型的屬性:
屬性 | 類型 | 說明 | |
---|---|---|---|
@type |
缺點 | 這是必填欄位。 值: |
|
@id |
字串 | 這是必填欄位。 實體的不重複 ID,用來說明交貨時段,可讓使用者選擇交貨時段,例如「盡快」或未來的時段。 範例: |
|
orderType |
OrderType |
這是必填欄位。 字串,表示服務時間適用於採用「盡快」或「進階」的訂單。可接受的值為「盡快」和「進階」。 範例: |
|
serviceId |
清單<字串> | 這是必填欄位。 Service 實體的 @id 值與這個 ServiceHours 實體相關。 範例: |
|
operationHoursId |
清單<字串> | 當 OperationHours 實體的 @id 值與這個 ServiceHours 實體相關。 範例: |
|
opens |
ISO 時間 (當地) |
表示可以在一天中的特定時段完成 ISO 格式出貨。 範例: |
|
closes |
ISO 時間 (當地) |
以 ISO 格式指出使用者無法下單的具體時間。 範例: |
|
dayOfWeek |
清單<DayOfWeek > |
這些星期幾的營業時間。 範例: |
|
validFrom |
ISO 時間戳記 | 當 ISO 時間戳記,代表訂購視窗的開始時間,可讓使用者存取流程及進行「盡快」/「未來」訂單。 範例: |
|
validThrough |
ISO 時間戳記 | 當 ISO 時間戳記,代表使用者訂購流程的結束日期,超過這個期限後,使用者就無法存取資料流,且無法及時提交訂單。 範例: |
|
isSpecialHour |
布林 |
表示作業時間是否適用於特殊營業時間的布林值。可接受的值為「false」和「true」。 範例: |
|
leadTimeMin |
整數 |
預計 ASAP 訂單後,預計送達/最短送達時間。強烈建議您設定此屬性。 範例: |
|
leadTimeMax |
整數 |
建立「盡快」訂單後,預計送達/取貨時間上限 (以分鐘為單位)。強烈建議您設定此屬性。 範例: |
|
advanceBookingRequirementMin |
整數 | 當 可履行預購訂單的訂購時間 (分鐘)。 舉例來說,如果預購訂單需要至少 60 分鐘才能完成,那麼 preBookingBookingmentMin 為 60。 範例: |
|
advanceBookingRequirementMax |
整數 | 當 可履行預購訂單的訂購時間上限 (以分鐘為單位)。 例如,如果預購訂單的限制時間超過 2 天才達成,則 preBookingBookingmentment 值為 2880。 範例: |
|
advanceBookingSlotInterval |
字串 | 當 兩個連續的提前預訂時段間隔時間。 舉例來說:假設開場和打烊時間為上午 8 點和晚上 8 點,而前進預訂時段間隔為 15 分鐘,那麼使用者可以選擇 8 點早上 8 點 15 分、8 點 30 分、早上 8 點 45 分等等,直到晚上 8 點為止。 時間長度必須為 ISO 經期長度。例如:「PT15M」表示間隔 15 分鐘。 範例: |
|
dateModified |
ISO 時間戳記 |
服務時間動態饋給的最後修改日期和時間,採用 ISO 時間戳記格式但類型為 String。 範例: |
以下範例顯示 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 |
缺點 | 這是必填欄位。 值: |
|
@id |
字串 | 這是必填欄位。 描述費用的實體專屬 ID。 範例: |
|
serviceId |
清單<字串> | 這是必填欄位。 「服務」實體的 @id 值與這個「費用」實體相關。 範例: |
|
feeType |
FeeType |
這是必填欄位。 這個字串是用於表示運費或服務訂單是否適用費用。可接受的值為「DELIVERY」和「SERVICE」。 範例: |
|
priceCurrency |
字串 | 這是必填欄位。 包含 3 個英文字母的 ISO 4217 貨幣代碼。 範例: |
|
basePrice |
Number |
使用底價時,使用 範例: |
|
minPrice |
Number |
使用 範例: |
|
maxPrice |
Number |
使用 範例: |
|
eligibleRegion |
清單<字串> |
該領域在有效地理區域的 ServiceArea 的 @id。這項屬性僅適用於各區域的外送費用。 範例: |
|
eligibleTransactionVolumeMin |
Number |
最低交易金額,以金額單位為單位。 範例: |
|
eligibleTransactionVolumeMax |
Number |
交易金額上限,以金額單位為單位。舉例來說,如果訂單金額超過特定訂單量,則不適用該筆費用。 範例: |
|
validFrom |
ISO 時間戳記 |
表示費用有效時間的 ISO 時間戳記。 範例: |
|
validThrough |
ISO 時間戳記 |
表示收費時間無效的 ISO 時間戳記。 範例: |
|
dateModified |
ISO 時間戳記 |
費用實體動態饋給的上次修改日期和時間,採用 ISO 時間戳記格式,但類型為字串。 範例: |
|
priority |
Number |
正值。如果使用者的購物車有超過一筆費用,系統會優先採用優先順序較低的費用。如果提供這個欄位,系統一律會優先採用優先順序值。 範例: |
|
必須加入下列一組屬性。 | |||
price |
群組 1 | Number |
手續費。如果價格不正確,可以提供 minPrice 和 maxPrice 而非價格。 範例: |
percentageOfCart |
第 2 組 | Number |
以購物車價值百分比表示的費用。可接受的值為介於 0 到 100 (含) 之間的浮點值。 範例: |
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. 範例: |
以下範例顯示 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 |
缺點 | 這是必填欄位。 值: |
|
@id |
字串 | 這是必填欄位。 選單的專屬識別碼。 範例: |
|
name |
字串 |
使用者瀏覽選單時可辨識的選單文字。 範例: |
|
disclaimer |
字串 |
菜單的免責聲明。例如營養資訊公開和過敏原揭露資訊。 範例: |
|
disclaimerUrl |
網址 |
這個網址所指向的網頁,提供了有關免責事項的更多詳情。 |
|
dateModified |
ISO 時間戳記 |
選單實體資訊提供的上次修改日期和時間,採用 ISO 時間戳記格式,但類型為字串。 範例: |
以下範例顯示 Menu
元素:
範例
{ "@type": "Menu", "@id": "10824" }
菜單部分
要實作的選用實體。描述選單中的特定部分。
下表列出 MenuSection
類型的屬性:
屬性 | 類型 | 說明 | |
---|---|---|---|
@type |
缺點 | 這是必填欄位。 值: |
|
@id |
字串 | 這是必填欄位。 選單專區的專屬 ID。 範例: |
|
menuId |
清單<ReverseReference > |
選單實體的 @id 值,與此 範例: |
|
menuSectionId |
清單<字串> |
與此 重要事項:您只能使用 範例: |
|
parentMenuSectionId |
清單<ReverseReference > |
與這個 重要事項:您只能使用 範例: |
|
name |
字串 | 這是必填欄位。 當使用者瀏覽選單時,可識別 範例: |
|
description |
字串 |
選單專區的說明。 範例: |
|
image |
網址 |
菜單區塊的圖片網址。 範例: |
|
menuItemId |
清單<字串> |
與這個 重要事項:您只能使用 範例: |
|
parentMenuItemId |
清單<ReverseReference > |
與這個 重要事項:您只能使用 範例: |
|
parentMenuItemOptionId |
清單<ReverseReference > |
與這個 重要事項:您只能使用 範例: |
|
eligibleQuantityMax |
整數 |
可在外掛程式部分選取的外掛程式數量上限。 範例: |
|
eligibleQuantityMin |
整數 |
外掛程式章節應選取的最低外掛程式數量。 範例: |
|
defaultItemId |
清單<字串> |
這個 @id 清單,針對外掛程式 範例: |
|
availabilityId |
清單<字串> |
Availability 實體的 @id 值,提供選單部分可用時間的詳細資訊。 範例: |
|
numberOfFreeAddOns |
整數 |
指出使用者可以選取的外掛程式數量。僅適用於外掛程式選單專區。 範例: |
|
dateModified |
ISO 時間戳記 |
範例: |
|
applicableServiceType |
清單<ServiceType > |
此 |
|
offeredById |
清單<字串> |
這個 範例: |
以下範例顯示 MenuSection
元素:
範例 1
{ "@type": "MenuSection", "@id": "853705", "menuId": [ { "@id": "10824", "displayOrder": 853705 } ], "menuSectionId": [ 12345, 43645 ], "name": "Pasta", "applicableServiceType": [ "TAKEOUT" ], "offeredById": [ "italian_restaurant_location_1" ] }
範例 2
{ "@type": "MenuSection", "@id": "427484", "menuId": [ { "@id": "4287", "displayOrder": 964376 } ], "menuItemId": [ 46784, 42728 ], "name": "Burger", "applicableServiceType": [ "TAKEOUT", "DELIVERY" ] }
範例 3
{ "@type": "MenuSection", "@id": "3138486", "name": "Choose a side:", "parentMenuItemId": [ { "@id": "6680295", "displayOrder": 3138486 } ], "eligibleQuantityMax": "5", "numberOfFreeAddOns": "2" }
示例 4
{ "@type": "MenuSection", "@id": "3138482", "name": "Additional Pizza Toppings", "parentMenuItemId": [ { "@id": "6680246", "displayOrder": 3138482 } ], "eligibleQuantityMax": "3" }
發布資訊
要實作的選用實體。說明 MenuSection
實體提供服務的時間範圍。
下表列出 Availability
類型的屬性:
屬性 | 類型 | 說明 | |
---|---|---|---|
@type |
缺點 | 這是必填欄位。 值: |
|
@id |
字串 | 這是必填欄位。 可描述選單部分供應情形的實體的專屬 ID。 範例: |
|
availabilityStarts |
ISO 時間 (當地) |
表示選單區段可用性有效時間的 ISO 時間戳記。 範例: |
|
availabilityEnds |
ISO 時間 (當地) |
ISO 時間戳記代表的選單部分供應情形無效,且結束時間部分無效。 範例: |
|
availableDay |
清單<DayOfWeek > |
菜單部分供應時段的星期幾。 範例: |
|
validFrom |
ISO 時間戳記 |
可表示選單區段有效時間的 ISO 時間戳記。 範例: |
|
validThrough |
ISO 時間戳記 |
表示 ISO 時間戳記的結束時間,超過選單區段的供應情形無效。 範例: |
|
dateModified |
ISO 時間戳記 |
供應情形實體動態饋給的上次修改日期和時間,採用 ISO 時間戳記格式,但類型為字串。 範例: |
以下範例顯示 Availability
元素:
範例
{ "@type": "Availability", "@id": "85343705", "availabilityStarts": "06:00", "availabilityEnds": "22:30", "availableDay": [ "SATURDAY", "SUNDAY" ] }
選單項目 (必填)
要實作的必要實體。說明 Menu
實體中的項目。
下表列出 MenuItem
類型的屬性:
屬性 | 類型 | 說明 | |
---|---|---|---|
@type |
缺點 | 這是必填欄位。 值: |
|
@id |
字串 | 這是必填欄位。 選單項目的專屬 ID。 範例: |
|
name |
字串 | 這是必填欄位。 當使用者瀏覽選單時,可識別 範例: |
|
description |
字串 |
選單項目的說明。 範例: |
|
image |
網址 |
菜單項目圖片的網址。 範例: |
|
parentMenuSectionId |
清單<ReverseReference > |
與這個 重要事項:您只能使用 範例: |
|
menuAddOnId |
清單<字串> |
這個 重要事項:您只能使用 範例: |
|
nutrition |
NutritionInformation |
菜餚的營養資訊,其中最為熱量。 範例: |
|
allergen |
清單<Allergen > |
這個菜單項目的過敏原。 範例: |
|
additive |
清單<Additive > |
這個 MenuItem 的新增。 範例: |
|
suitableDiet |
清單<RestrictedDiet > |
這道菜符合上述飲食限制。 範例: |
|
depositInfo |
DepositInfo |
這個 MenuItem 的包裝與回收資訊。 範例: |
|
numberOfServings |
整數 |
指定選單項目的可用份數。 範例: |
|
dateModified |
ISO 時間戳記 |
範例: |
以下範例顯示 MenuItem
元素:
範例 1
{ "@type": "MenuItem", "@id": "18931508", "name": "Sauteed Baby Spinach", "parentMenuSectionId": [ { "@id": "3138479", "displayOrder": 18931508 } ] }
範例 2
{ "@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 |
缺點 |
值: |
|
@id |
字串 | 這是必填欄位。 選單項目選項的專屬 ID。 範例: |
|
menuItemId |
ReverseReference |
這是必填欄位。 與這個 範例: |
|
optionType |
OptionType |
這個字串代表選單項目選項的分類方式是大小、選項或披薩端。可接受的值為「SIZE」、「OPTION」和「PIZZA_SIDE」。"SIZE":MenuItemOption 的大小。例如「小」、「中」或「大」。「OPTION」:任何大小以外的變化形式 (例如,提供沙拉或三明治的料理)。如果無法區分「SIZE」和「OPTION」,請使用「OPTION」。"PIZZA_SIDE":專指披薩:例如,此 範例: |
|
value |
字串或 PizzaSide |
當 字串值或列舉值。列舉值是 PIZZA_SIDE 選項類型專用的。 |
|
applicableParentOptionValue |
字串 |
包含這個選項的父項項目選項值的字串。 範例: |
|
menuAddOnId |
清單<字串> |
這個 重要事項:您只能使用 範例: |
|
nutrition |
NutritionInformation |
菜餚的營養資訊,其中最為熱量。 範例: |
|
allergen |
清單<Allergen > |
這個菜單項目的過敏原。 範例: |
|
additive |
清單<Additive > |
這個 MenuItem 的新增。 範例: |
|
depositInfo |
DepositInfo |
這個 MenuItem 的包裝與回收相關資訊。 範例: |
|
numberOfServings |
整數 |
指定選單項目選項中的份數。 範例: |
|
dateModified |
ISO 時間戳記 |
上次修改日期與時間的 範例: |
以下範例顯示 MenuItemOption
元素:
範例 1
{ "@type": "MenuItemOption", "@id": "56177944", "menuItemId": { "@id": "18930213", "displayOrder": 1234 }, "optionType": "PIZZA_SIDE", "value": "PIZZA_SIDE_LEFT" }
範例 2
{ "@type": "MenuItemOption", "@id": "56177944", "menuItemId": { "@id": "18930213", "displayOrder": 1234 }, "applicableParentOptionValue": "Small Pizza" }
MenuItemOffer (必要)
要實作的必要實體。說明 MenuItem
或 MenuItemOption
實體的優惠。
下表列出 MenuItemOffer
類型的屬性:
屬性 | 類型 | 說明 | |
---|---|---|---|
@type |
缺點 | 這是必填欄位。 值: |
|
@id |
字串 | 這是必填欄位。 菜單商品優惠的專屬 ID。 範例: |
|
sku |
字串 | 這是必填欄位。 菜單品項的識別碼。SKU 值可能與多個選單項目優惠實體相同或相同。當我們向您發出 API 呼叫時,即會設定 SKU 值。 範例: |
|
price |
Number | 這是必填欄位。 菜單商品優惠價格。 範例: |
|
priceCurrency |
字串 | 這是必填欄位。 包含 3 個英文字母的 ISO 4217 貨幣代碼。 範例: |
|
availabilityId |
清單<字串> |
Availability 實體的 @id 值,可提供選單項目優惠的供應時間。 範例: |
|
eligibleQuantityMin |
Number |
範例: |
|
eligibleQuantityMax |
Number |
範例: |
|
inventoryLevel |
Number |
與此 MenuItemOffer 對應的項目目前的約略庫存量。 範例: |
|
dateModified |
ISO 時間戳記 |
範例: |
|
applicableServiceType |
清單<ServiceType > |
此 |
|
offeredById |
清單<字串> |
這個 範例: |
|
必須加入下列一組屬性。 | |||
menuItemId |
群組 1 | 字串 |
與這個 範例: |
menuItemOptionId |
第 2 組 | 字串 |
與這個 範例: |
以下範例顯示 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 範例: |
|
sodiumContent |
字串 |
鈉或 g 的份數,格式如下:g 或 min-max g 範例: |
以下範例顯示 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