全般的な要件
エンティティは、フィード内のエンティティごとに 1 行に配置するように構成する必要があります(エンティティは改行文字で区切られます)。読みやすくするために、このページの JSON の例は、この構造に従っていません。ただし、フィードを送信する際は、その構造に従う必要があります。たとえば、メニュー エンティティは次のコードのような構造にする必要があります。
{"@type": "Menu","name": "Coffee Shop A","@id": "1535"}
各「レストラン」エンティティには、2 つの Service エンティティ(「DELIVERY」サービスタイプと「TAKEOUT」サービスタイプのそれぞれ 1 つ)を含めることができます。各「Service」エンティティに設定できる「Menu」エンティティは 1 つのみです。
サブエンティティは、複数のレストランで再利用できます。
JSON 値のガイドライン
型強制型変換
値を必要な型に強制変換できる限り、JSON 値の型はスキーマで定義された型と異なる場合があります。たとえば、文字列プロパティは、文字列値と整数値の両方を入力として受け入れることができます。同様に、整数プロパティは、文字列を有効な整数に解析できる限り、文字列値を受け入れることができます。
型変換は、繰り返しプロパティにも適用されます。繰り返しプロパティは、角かっこ []
で囲まなくても値を入力として受け入れることができます。たとえば、OperationHours.serviceId
プロパティは "service_id"
と ["service_id"]
の両方を有効な入力として受け入れます。
DateTime と Time の値
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 の構文は次のとおりです。
// Time format: THH:MM:SS
例:
T08:08:00 // 8:08 AM
DateTime
または Time
を指定する場合は、次の点に注意してください。
- 時刻の前に付く「T」は形式の一部であり、必須です。
DATETIME
にはタイムゾーンを指定する必要があります。TIME
の場合は不要です。- 時刻は、レストランまたはサービスの現地時間で指定する必要があります。
レストランのデータ
レストラン(必須)
実装に必要なエンティティ。レストランの説明。
次の表に、Restaurant
タイプのプロパティを示します。
プロパティ | タイプ | 説明 | |
---|---|---|---|
@type |
Const | 必須。 値: |
|
@id |
String | 必須。 レストランまたはデリバリー プロバイダの一意の識別子。 例: |
|
name |
String | 必須。 レストランの名前。 例: |
|
description |
String |
レストランの説明。 例: |
|
url |
URL |
レストランを表す URL。レストランのドメインは、アグリゲータのドメインよりも優先されます。 例: |
|
sameAs |
URL |
レストランの公式ウェブサイト。 例: |
|
telephone |
String |
レストランの電話番号。 例: |
|
streetAddress |
String | 必須。 レストランの住所。 例: |
|
addressLocality |
String | 必須。 市町村区。 例: |
|
addressRegion |
String | 必須。 地域または州。 例: |
|
postalCode |
String | 必須。 郵便番号です。 例: |
|
addressCountry |
String | 必須。 2 文字の ISO 3166-1 alpha-2 国コード。 例: |
|
latitude |
数値 |
緯度。値は [[-90, 90]] の範囲に制限されます。精度は小数点 5 桁以上にする必要があります。 例: |
|
longitude |
数値 |
経度。値は [-180, 180] の範囲に制限されます。精度は小数点 5 桁以上にする必要があります。 例: |
|
dealId |
List<String> |
レストランの該当する |
|
imprint |
String |
レストランの概要は、レストランに関する追加情報(正式名称、正式な住所、登録番号など)のセクションです。この情報は「"」を使用してフォーマットできます。 例:
|
|
economicOperator |
String |
レストランに関連付けられた経済事業者の情報(該当する場合)。この情報は、[取引業者情報] セクションに表示されます。テキストは「 」を使用して書式設定できます。 例:
|
|
dateModified |
ISO タイムスタンプ |
レストラン エンティティ フィードの最終更新日時(ISO タイムスタンプ形式、型は String)。 例: |
次の例は、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 |
Const | 必須。 値: |
|
@id |
String | 必須。 取引の一意の識別子。 例: |
|
dealCode |
String | 必須。 パートナーごとに取引ごとに一意の取引 ID。この ID は、プロモーション システム内の取引を一意に識別する必要があります。Google からこの ID が 例: |
|
applicableServiceType |
List<ServiceType > |
この取引が適用されるサービス。デフォルトでは、すべてのユーザーに適用される取引が想定されます。 |
|
eligibleMaxOrders |
整数 |
この取引が対象となるのは、ユーザーの過去の注文数がこの数以下である場合に限られます。 |
|
availabilityId |
List<文字列> |
メニュー セクションが利用可能な日時の詳細を提供する、空室状況エンティティの @id 値。 例: |
|
isDisabled |
ブール値 |
これにより、他の有効性チェックがオーバーライドされます。 |
|
dealType |
DealType |
必須。 割引を適用するディールのカテゴリ。カテゴリには、カート内の合計金額、サービス料金、配送料金などがあります。 |
|
priceCurrency |
String |
割引の通貨(3 文字の ISO 4217 形式)。 例: |
|
eligibleTransactionVolumeMin |
数値 |
このプロモーションが有効な取引額(通貨単位)。 |
|
termsOfServiceUrl |
URL | 必須。 人が読める形式の利用規約に関するドキュメント。 |
|
dateModified |
ISO タイムスタンプ |
取引エンティティ フィードの最終更新日時(ISO タイムスタンプ形式、型は文字列)。 例: |
|
次のいずれかのプロパティ グループを 1 つ指定する必要があります。 | |||
discount |
グループ 1 | 数値 |
数値で表した割引の値。 |
discountPercentage |
グループ 2 | 数値 |
元の価格に対する割引率。 |
次の例は、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 |
Const | 必須。 値: |
|
@id |
String | 必須。 フルフィルメント サービスの識別子。 例: |
|
serviceType |
ServiceType |
必須。 提供されるサービスのタイプ。指定可能な値は「DELIVERY」または「TAKEOUT」です。 例: |
|
restaurantId |
String | 必須。 この Service エンティティに関連付けられている Restaurant エンティティの @id 値。 例: |
|
menuId |
String | 必須。 この Service エンティティに関連付けられた Menu エンティティの @id 値。 例: |
|
dateModified |
ISO タイムスタンプ |
サービス エンティティ フィードの最終更新日時(ISO タイムスタンプ形式)。 例: |
|
isDisabled |
ブール値 |
エンティティが無効かどうかを示します。このタイプは、予期しない事象によりエンティティを無効にする必要があり、サービスが再開される時期が不明な場合にのみ使用してください(例: 休日には使用しないでください)。 例: |
|
servingConfig |
ServingConfig |
プロモーション ウィジェットの無効化など、さまざまな機能の制御に使用されるサービスのサービス構成。 |
|
actionLinkUrl |
String |
エンドツーエンドの料理注文エクスペリエンスからリダイレクトに移行する際に使用される、デリバリー/テイクアウト サービスの URL が含まれています。 |
次の例は、Service
要素を示しています。
例 1
{ "@type": "Service", "@id": "10824/takeout", "serviceType": "TAKEOUT", "menuId": "10824", "restaurantId": "10824", "actionLinkUrl": "https://www.rwgpartnerwebsite.com/foodorderpickup/merchant_foepa_3" }
例 2
{ "@type": "Service", "@id": "10824/delivery", "serviceType": "DELIVERY", "menuId": "10824", "restaurantId": "10824", "actionLinkUrl": "https://www.rwgpartnerwebsite.com/foodorderdelivery/merchant_foepa_3" }
ServiceArea
食品の配送が可能な地理的な場所を表します。関連する Service
エンティティの serviceType
が「DELIVERY」に設定されている場合、このエンティティを実装する必要があります。
次の表に、ServiceArea
タイプのプロパティを示します。
プロパティ | タイプ | 説明 | |
---|---|---|---|
@type |
Const | 必須。 値: |
|
@id |
String | 必須。 サービスエリアの一意の識別子。 例: |
|
serviceId |
List<String> | 必須。 この ServiceArea エンティティに関連付けられた Service エンティティの @id 値。 例: |
|
dateModified |
ISO タイムスタンプ |
ServiceArea エンティティ フィードの最終更新日時(ISO タイムスタンプ形式、型は String)。 例: |
|
exclude |
ブール値 |
このサービス提供地域を配送地域から除外します。たとえば、広いエリアのポリゴンから郵便番号を除外できます。 |
|
次のいずれかのプロパティ グループを 1 つ指定する必要があります。 | |||
polygon |
グループ 1 | List<文字列> |
3 つ以上のスペース区切りの点の連続で表されるポリゴンまたはマルチポリゴン。最初と最後のポイントを同じにすることをおすすめしますが、必須ではありません。 ポリゴンまたはマルチポリゴンの各ポイントは、緯度ポイントと経度ポイントで定義されます。また、点を反時計回りに指定する必要があります。 例: |
geoMidpointLatitude |
グループ 2 | 数値 |
CIRCLE エリアの中心の緯度座標を示します。 例: |
geoMidpointLongitude |
グループ 2 | 数値 |
CIRCLE エリアの中心の経度座標を示します。 例: |
geoRadius |
グループ 2 | 整数 |
CIRCLE エリアのおおよその半径(メートル単位)を示します。 例: |
postalCode |
グループ 3 | String |
郵便番号を示します。 例: |
addressCountry |
グループ 3 | String |
2 文字の 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(必須)
ユーザーがフローからアクセスして、ASAP または将来の注文を行うことができる注文期間を指定します。OperationHours
の実装が必須です。デフォルトでは、すべての曜日の終日稼働を表すようにします。
OperationHours
opens
属性と closes
属性は、ユーザーが注文できるオンライン システムの営業時間と閉店時間を指定します。これらのオンライン システム営業時間内で、ServiceHours
を使用して、ユーザーの注文を処理できる営業時間と閉店時間を指定します。
時間は、サービスのローカル時間で指定する必要があります。opens
値にタイムゾーンを含めないでください。タイムゾーンが指定されている場合、この情報は無視されます。詳細については、DateTime と Time の形式をご覧ください。
次の表に、OperationHours
タイプのプロパティを示します。
プロパティ | タイプ | 説明 | |
---|---|---|---|
@type |
Const | 必須。 値: |
|
@id |
String | 必須。 ユーザーがフローからアクセスして ASAP または将来の注文をできる注文期間を記述するエンティティの一意の識別子。 例: |
|
serviceId |
List<String> | 必須。 この OperationHours エンティティに関連付けられている Service エンティティの @id 値。 例: |
|
opens |
ISO 時間(現地時間) |
ユーザーが注文を開始できる時刻を ISO 形式で指定します。 例: |
|
closes |
ISO 時刻(ローカル) |
ISO 形式で、その日以降はユーザーの注文ができない時間帯を指定します。 例: |
|
dayOfWeek |
リスト<DayOfWeek > |
これらの営業時間が有効な曜日のリスト。指定可能な値は「MONDAY」、「TUESDAY」、「WEDNESDAY」、「THURSDAY」、「FRIDAY」、「SATURDAY」、「SUNDAY」です。 例: |
|
validFrom |
ISO タイムスタンプ |
ユーザーがフローから ASAP 注文または将来の注文をできる注文期間の開始時間を示す ISO タイムスタンプ。 例: |
|
validThrough |
ISO タイムスタンプ |
注文期間の終了時間を示す ISO タイムスタンプ。これ以降、ユーザーはフローにアクセスしてできるだけ早く(将来の)注文を行えなくなります。 例: |
|
isSpecialHour |
ブール値 |
OperationHours が特別営業時間かどうかを示すブール値。指定できる値は「false」と「true」です。 例: |
|
dateModified |
ISO タイムスタンプ |
OperationHours エンティティ フィードの最終更新日時(ISO タイムスタンプ形式、型は String)。 例: |
次の例は、OperationHours
要素を示しています。
例 1
{ "@type": "OperationHours", "@id": "10824/deliveryOh", "serviceId": [ "10824/delivery" ], "isSpecialHour": false }
例 2
{ "@type": "OperationHours", "@id": "10824/takeoutOh", "serviceId": [ "10824/takeout" ], "isSpecialHour": false }
ServiceHours(必須)
ユーザーがフルフィルメント スロット(ASAP または将来のスロット)を選択できるフルフィルメント期間を指定します。ServiceHours
の実装は必須です。
OperationHours
opens
属性と closes
属性は、ユーザーが注文できるオンライン システムの営業時間と閉店時間を指定します。これらのオンライン システム営業時間内で、ServiceHours
を使用して、ユーザーの注文を処理できる営業時間と閉店時間を指定します。
時間は、サービスのローカル時間で指定する必要があります。opens
値にタイムゾーンを含めないでください。タイムゾーンが指定されている場合、この情報は無視されます。詳細については、日時と時刻の形式をご覧ください。
次の表に、ServiceHours
タイプのプロパティを示します。
プロパティ | タイプ | 説明 | |
---|---|---|---|
@type |
Const | 必須。 値: |
|
@id |
String | 必須。 ユーザーがフルフィルメント スロット(ASAP または将来のスロット)を選択できるフルフィルメント期間を記述するエンティティの一意の ID。 例: |
|
orderType |
OrderType |
必須。 サービス時間は ASAP 注文と事前注文のどちらに適用されるかを示す文字列。有効な値は「ASAP」と「ADVANCE」です。 例: |
|
serviceId |
List<String> | 必須。 この ServiceHours エンティティに関連付けられている Service エンティティの @id 値。 例: |
|
operationHoursId |
List<文字列> |
この ServiceHours エンティティに関連付けられている OperationHours エンティティの @id 値。 例: |
|
opens |
ISO 時刻(ローカル) |
ユーザーの注文を処理できる特定の時間帯を ISO 形式で示します。 例: |
|
closes |
ISO 時刻(ローカル) |
ユーザーの注文を処理できない ISO 形式の特定の時刻を指定します。 例: |
|
dayOfWeek |
List<DayOfWeek > |
営業時間が有効な曜日のリスト。 例: |
|
validFrom |
ISO タイムスタンプ |
ユーザーがフローから ASAP 注文または将来の注文をできる注文期間の開始時間を示す ISO タイムスタンプ。 例: |
|
validThrough |
ISO タイムスタンプ |
注文期間の終了時間を示す ISO タイムスタンプ。これ以降、ユーザーはフローにアクセスしてできるだけ早く(将来の)注文を行えなくなります。 例: |
|
isSpecialHour |
ブール値 |
OperationHours が特別営業時間かどうかを示すブール値。指定できる値は「false」と「true」です。 例: |
|
leadTimeMin |
整数 |
できるだけ早く注文が行われた後の配送/集荷の最短所要時間(分単位)。このプロパティを設定することを強くおすすめします。 例: |
|
leadTimeMax |
整数 |
ASAP 注文が確定してから配送/集荷までの最長予想時間(分)。このプロパティを設定することを強くおすすめします。 例: |
|
advanceBookingRequirementMin |
整数 |
注文時刻から事前注文を処理できる最短時間(分)。 たとえば、事前注文の処理に 60 分以上かかる場合、advanceBookingRequirementMin は 60 になります。 例: |
|
advanceBookingRequirementMax |
整数 |
事前注文の処理が完了するまでの最大分数。 たとえば、事前注文の提供が 2 日以上遅れることが制限されている場合、advanceBookingRequirementMax の値は 2880 です。 例: |
|
advanceBookingSlotInterval |
String |
連続する 2 つの事前予約スロット時間の間隔。たとえば、営業開始時間と営業終了時間が午前 8 時と午後 8 時で、advanceBookingSlotInterval が 15 分の場合、ユーザーは午前 8 時、午前 8 時 15 分、午前 8 時 30 分、午前 8 時 45 分など、午後 8 時までの提供時間を指定できます。 期間は ISO 期間として指定する必要があります。たとえば、「PT15M」は 15 分間隔を意味します。 例: |
|
dateModified |
ISO タイムスタンプ |
ServiceHours エンティティ フィードの最終更新日時(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 |
Const | 必須。 値: |
|
@id |
String | 必須。 料金を表すエンティティの一意の識別子。 例: |
|
serviceId |
List<文字列> | 必須。 この料金エンティティに関連付けられている Service エンティティの @id 値。 例: |
|
feeType |
FeeType |
必須。 配送注文またはサービス注文に手数料が適用されるかどうかを示す文字列。指定できる値は「DELIVERY」と「SERVICE」です。 例: |
|
priceCurrency |
String | 必須。 3 文字の ISO 4217 通貨コードを指定します。 例: |
|
basePrice |
数値 |
料金の基本価格。 例: |
|
minPrice |
数値 |
例: |
|
maxPrice |
数値 |
例: |
|
eligibleRegion |
List<String> |
料金が有効な地政学的地域の ServiceArea の @id。このプロパティは、配送料が地域によって異なる場合にのみ使用します。 例: |
|
eligibleTransactionVolumeMin |
数値 |
この料金仕様が有効となる最小取引額(通貨単位)。 例: |
|
eligibleTransactionVolumeMax |
数値 |
この料金仕様が有効な取引の最大額(通貨単位)。たとえば、注文量が一定量を超えると手数料は適用されません。 例: |
|
validFrom |
ISO タイムスタンプ |
料金の有効期間の開始時刻を示す ISO タイムスタンプ。 例: |
|
validThrough |
ISO タイムスタンプ |
料金が無効になる終了時間を示す ISO タイムスタンプ。 例: |
|
dateModified |
ISO タイムスタンプ |
料金エンティティ フィードの最終更新日時(ISO タイムスタンプ形式、型は文字列)。 例: |
|
priority |
数値 |
ゼロ以外の正の値。ユーザーのカートに複数の料金が適用される場合、優先度の高い料金が優先されます。このフィールドが指定されている場合、優先度は常に計算された優先度よりも優先されます。 例: |
|
次のプロパティ グループのいずれか 1 つのみが必要です。 | |||
price |
グループ 1 | 数値 |
料金の価格。価格が固定されていない場合は、価格の代わりに minPrice と maxPrice を指定できます。 例: |
percentageOfCart |
グループ 2 | 数値 |
カート内の商品の金額に対する料金の割合。指定できる値は、0 ~ 100 の範囲内の浮動小数点値です。 例: |
pricePerMeter |
グループ 3 | 数値 |
ユーザーからの距離に応じた料金(1 メートルあたり)。例: ユーザーまでの距離が 5 km で、料金が $0.001 の場合、ユーザー料金は $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 |
Const | 必須。 値: |
|
@id |
String | 必須。 メニューの一意の識別子。 例: |
|
name |
String |
ユーザーがメニューを閲覧しているときにメニューを識別できるテキスト。 例: |
|
disclaimer |
String |
メニューの免責条項。たとえば、栄養情報の開示やアレルゲンの開示などです。 例: |
|
disclaimerUrl |
URL |
免責条項の詳細が記載されているページへの URL。 |
|
dateModified |
ISO タイムスタンプ |
メニュー エンティティ フィードの最終更新日時(ISO タイムスタンプ形式、型は文字列)。 例: |
次の例は、Menu
要素を示しています。
例
{ "@type": "Menu", "@id": "10824" }
MenuSection
実装するオプションのエンティティ。メニューの特定のセクションを記述します。
次の表に、MenuSection
タイプのプロパティを示します。
プロパティ | タイプ | 説明 | |
---|---|---|---|
@type |
Const | 必須。 値: |
|
@id |
String | 必須。 メニュー セクションの一意の識別子。 例: |
|
menuId |
List<ReverseReference > |
この 例: |
|
menuSectionId |
List<String> |
この 重要: 例: |
|
parentMenuSectionId |
リスト<ReverseReference > |
この 重要: 例: |
|
name |
String | 必須。 ユーザーがメニューを閲覧しているときに 例: |
|
description |
String |
メニュー セクションの説明。 例: |
|
image |
URL |
メニュー セクションの画像の URL。 例: |
|
menuItemId |
List<String> |
この 重要: 例: |
|
parentMenuItemId |
List<ReverseReference > |
この 重要: 例: |
|
parentMenuItemOptionId |
List<ReverseReference > |
この 重要: 例: |
|
eligibleQuantityMax |
整数 |
アドオン セクションで選択できるアドオンの最大数。 例: |
|
eligibleQuantityMin |
整数 |
アドオン セクションで選択する必要があるアドオンの最小数。 例: |
|
defaultItemId |
List<String> |
アドオン 例: |
|
availabilityId |
List<String> |
メニュー セクションがいつ使用可能であるかの詳細を提供する Availability エンティティの @id 値。 例: |
|
numberOfFreeAddOns |
整数 |
ユーザーが無料で選択できるアドオンの数を示します。アドオン メニュー セクションでのみ有効です。 例: |
|
dateModified |
ISO タイムスタンプ |
例: |
|
applicableServiceType |
List<ServiceType > |
この |
|
offeredById |
List<String> |
この 例: |
次の例は、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 |
Const | 必須。 値: |
|
@id |
String | 必須。 メニュー セクションの提供状況を記述するエンティティの一意の識別子。 例: |
|
availabilityStarts |
ISO 時間(現地時間) |
メニュー セクションの空き状況が有効になる開始時間を示す ISO タイムスタンプ。 例: |
|
availabilityEnds |
ISO 時刻(ローカル) |
メニュー セクションの提供が無効になる終了時間を示す ISO タイムスタンプ。 例: |
|
availableDay |
List<DayOfWeek > |
メニュー欄の空き状況が有効な曜日のリスト。 例: |
|
validFrom |
ISO タイムスタンプ |
メニュー セクションの空き状況が有効な開始時間を示す ISO タイムスタンプ。 例: |
|
validThrough |
ISO タイムスタンプ |
メニュー セクションの提供が無効になる終了時間を示す ISO タイムスタンプ。 例: |
|
dateModified |
ISO タイムスタンプ |
空室状況エンティティ フィードの最終更新日時(ISO タイムスタンプ形式、型は文字列)。 例: |
次の例は、Availability
要素を示しています。
例
{ "@type": "Availability", "@id": "85343705", "availabilityStarts": "06:00", "availabilityEnds": "22:30", "availableDay": [ "SATURDAY", "SUNDAY" ] }
MenuItem(必須)
実装に必要なエンティティ。Menu
エンティティ内のアイテムを記述します。
次の表に、MenuItem
タイプのプロパティを示します。
プロパティ | タイプ | 説明 | |
---|---|---|---|
@type |
Const | 必須。 値: |
|
@id |
String | 必須。 メニュー項目の一意の識別子。 例: |
|
name |
String | 必須。 ユーザーがメニューを閲覧しているときに 例: |
|
description |
String |
メニュー項目の説明。 例: |
|
image |
URL |
メニュー項目の画像の URL。 例: |
|
parentMenuSectionId |
List<ReverseReference > |
この 重要: 例: |
|
menuAddOnId |
List<String> |
この 重要: 例: |
|
nutrition |
NutritionInformation |
その料理の栄養情報、特にカロリーの情報。 例: |
|
allergen |
List<Allergen > |
この MenuItem のアレルゲン。 例: |
|
additive |
リスト<Additive > |
この MenuItem の追加機能。 例: |
|
suitableDiet |
List<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
実装するオプションのエンティティ。料理やセットを選択する際にユーザーが行う必要がある選択について説明します。ユーザーがオプションを選択する必要があります。選択しなかった場合、注文は無効と見なされます(例: ピザのサイズを小、中、大から選択する必要があります)。
次の表に、MenuItemOption
タイプのプロパティを示します。
プロパティ | タイプ | 説明 | |
---|---|---|---|
@type |
Const |
値: |
|
@id |
String | 必須。 メニュー項目オプションの一意の識別子。 例: |
|
menuItemId |
ReverseReference |
必須。 この 例: |
|
optionType |
OptionType |
メニュー項目のオプションがサイズ、オプション、ピザのサイドに分類されているかどうかを示す文字列。指定できる値は「SIZE」、「OPTION」、「PIZZA_SIDE」です。"SIZE": MenuItemOption のサイズ。(小、中、大など)。「オプション」: サイズ以外のバリエーション(サラダまたはサンドイッチのいずれかとして提供される料理など)。「SIZE」と「OPTION」を区別できない場合は、「OPTION」を使用します。「PIZZA_SIDE」: ピザに固有の項目です。この 例: |
|
value |
文字列または
PizzaSide |
文字列値または列挙型の値。列挙型の値は、PIZZA_SIDE オプション タイプに固有です。 |
|
applicableParentOptionValue |
String |
このオプションが使用可能な親アイテムのオプション値の値を含む文字列。 例: |
|
menuAddOnId |
List<String> |
この 重要: 例: |
|
nutrition |
NutritionInformation |
料理の栄養情報(特にカロリー)。 例: |
|
allergen |
List<Allergen > |
この MenuItem のアレルゲン。 例: |
|
additive |
List<Additive > |
この MenuItem の追加機能。 例: |
|
depositInfo |
DepositInfo |
この MenuItem の梱包とリサイクルに関する情報。 例: |
|
numberOfServings |
整数 |
特定のメニュー アイテム オプションで利用できる人数。 例: |
|
dateModified |
ISO タイムスタンプ |
MenuItemOption エンティティ フィードの最終更新日時(ISO タイムスタンプ形式、型は String)。 例: |
次の例は、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 |
Const | 必須。 値: |
|
@id |
String | 必須。 メニュー項目の提供を一意に識別する ID。 例: |
|
sku |
String | 必須。 メニュー アイテム オファーの識別子。SKU の値は、複数のメニュー アイテム オファー エンティティ間で異なる場合も同じ場合もあります。SKU の値は、API 呼び出しを行う際に順番に設定されます。 例: |
|
price |
数値 | 必須。 メニュー項目の価格。 例: |
|
priceCurrency |
String | 必須。 3 文字の ISO 4217 通貨コードを指定します。 例: |
|
availabilityId |
List<String> |
メニューアイテムの提供が可能な日時に関する詳細情報を提供する、在庫状況エンティティの @id 値。 例: |
|
eligibleQuantityMin |
数値 |
例: |
|
eligibleQuantityMax |
数値 |
例: |
|
inventoryLevel |
数値 |
この MenuItemOffer に対応するアイテムの現在の在庫レベル(おおよその数値)。 例: |
|
dateModified |
ISO タイムスタンプ |
例: |
|
applicableServiceType |
List<ServiceType > |
この |
|
offeredById |
List<String> |
この 例: |
|
次のいずれかのプロパティ グループを 1 つ指定する必要があります。 | |||
menuItemId |
グループ 1 | String |
この 例: |
menuItemOptionId |
グループ 2 | String |
この 例: |
次の例は、MenuItemOffer
要素を示しています。
例
{ "@type": "MenuItemOffer", "@id": "6680262", "sku": "offer-mediterranean-bagel", "menuItemId": "896532", "price": 15.5, "priceCurrency": "USD", "applicableServiceType": [ "DELIVERY" ], "offeredById": [ "bagel_shop_location_5" ] }
一般的な
ReverseReference
次の表に、ReverseReference
タイプのプロパティを示します。
プロパティ | タイプ | 説明 | |
---|---|---|---|
@id |
String | 必須。 親エンティティの @id。 |
|
displayOrder |
整数 | 必須。 親内のアイテムの表示順序。 |
情報" id="nutrition_information" tabindex="-1">NutritionInformation
次の表に、NutritionInformation
タイプのプロパティを示します。
プロパティ | タイプ | 説明 | |
---|---|---|---|
description |
String |
栄養情報(自由形式)。たとえば、「防腐剤が含まれています」など。 |
|
calories |
String |
カロリー数(Cal、kcal、kJ): 値 Cal または最小値~最大値 Cal の形式で指定します。 例: |
|
sodiumContent |
String |
ナトリウムの mg または 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 |
String | 必須。 添加物の名称。 |
|
levelOfContainment |
ContainmentLevel |
メニュー項目内の特定の添加物のレベル。 |
次の例は、Additive
要素を示しています。
例
{ "additiveName": "Sodium nitrite", "levelOfContainment": "CONTAINS" }
DepositInfo
次の表に、DepositInfo
タイプのプロパティを示します。
プロパティ | タイプ | 説明 | |
---|---|---|---|
depositCode |
DepositCode |
デポジット コード。 |
|
depositValue |
数値 |
商品アイテムのデポジットの数値(リサイクルした場合など)。 |
|
depositValueCurrency |
String |
デポジット額の通貨 |
次の例は、DepositInfo
要素を示しています。
例
{ "depositCode": "RECYCLABLE", "depositValue": 0.05, "depositValueCurrency": "USD" }
ServingConfig
さまざまな機能(プロモーション ウィジェットの無効化など)の制御に使用されるサービスのサービング構成。
次の表に、ServingConfig
タイプのプロパティを示します。
プロパティ | タイプ | 説明 | |
---|---|---|---|
disableOrderInstructions |
ブール値 |
注文の手順を指定する機能は表示されません。 |
|
disableMenuItemSpecialInstructions |
ブール値 |
メニュー項目に特別な指示を指定できないようにします。 |
|
disableTipWidget |
ブール値 |
注文フローの [注文する] ページで、ヒント ウィジェットを非表示にします。 |
|
disablePromoWidget |
ブール値 |
注文フローの [注文] ページでプロモーション ウィジェットを非表示にします。 |
|
menuItemSpecialInstructionsMaxLength |
数値 |
メニュー項目の特別な指示に含めることができる文字数の上限を指定します。 |
|
orderInstructionsMaxLength |
数値 |
注文指示に含めることができる文字数の上限を指定します。 |
次の例は、ServingConfig
要素を示しています。
例 1
{ "disableMenuItemSpecialInstructions": true }
例 2
{ "disableTipWidget": true, "disablePromoWidget": true }
例 3
{ "menuItemSpecialInstructionsMaxLength": 250, "orderInstructionsMaxLength": 1000 }
列挙型
DayOfWeek
DayOfWeek
型には次の値を使用できます。
MONDAY
TUESDAY
WEDNESDAY
THURSDAY
FRIDAY
SATURDAY
SUNDAY
ServiceType
ServiceType
型には次の値を使用できます。
DELIVERY
TAKEOUT
OrderType
OrderType
型には次の値を使用できます。
ASAP
ADVANCE
FeeType
FeeType
型には次の値を使用できます。
DELIVERY
SERVICE
OptionType
OptionType
型には次の値を使用できます。
SIZE
OPTION
PIZZA_SIDE
PizzaSide
PizzaSide
型には次の値を使用できます。
PIZZA_SIDE_LEFT
PIZZA_SIDE_RIGHT
PIZZA_SIDE_WHOLE
AllergenType
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
ContainmentLevel
型には次の値を使用できます。
CONTAINS
FREE_FROM
MAY_CONTAIN
DepositCode
DepositCode
型には次の値を使用できます。
REUSABLE
RECYCLABLE
DealType
割引を適用する取引のカテゴリ。カテゴリは、カート内の合計金額または配送料金に設定できます。
DealType
型には次の値を使用できます。
CART_OFF
DELIVERY_OFF
RestrictedDiet
schema.org:RestrictedDiet に従った制限付き食事の種類。
RestrictedDiet
型には次の値を使用できます。
DIABETIC
GLUTEN_FREE
HALAL
HINDU
KOSHER
LOW_CALORIE
LOW_FAT
LOW_LACTOSE
LOW_SALT
VEGAN
VEGETARIAN