全般的な要件
エンティティは、フィード内のエンティティごとに 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 |
定数 | 必須。 値: |
|
@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 タイムスタンプ形式(文字列型)です。 例: |
次の例は、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 |
String | 必須。 取引の一意の識別子。 例: |
|
dealCode |
String | 必須。 各パートナーのディールごとに固有の取引 ID。この ID で、プロモーション システムで取引を一意に識別する必要があります。Google が検証のために、この ID を 例: |
|
applicableServiceType |
リスト<ServiceType > |
この取引が適用されるサービス。デフォルトでは、取引がすべてに適用されることを前提としています。 |
|
eligibleMaxOrders |
整数 |
このディールは、ユーザーの過去の成功注文数がこの値以下である場合にのみ対象となります。 |
|
availabilityId |
List<String> |
Availability エンティティの @id 値。メニュー セクションが利用可能になるタイミングの詳細を提供します。 例: |
|
isDisabled |
ブール値 |
これは他の有効性チェックをオーバーライドします。 |
|
dealType |
DealType |
必須。 割引を適用するディールのカテゴリ。カート全体の合計、サービス手数料、配送料などをカテゴリとして指定できます。 |
|
priceCurrency |
String |
割引の通貨(3 文字の ISO 4217 形式)。 例: |
|
eligibleTransactionVolumeMin |
番号 |
このプロモーションの有効な取引量(金額単位)。 |
|
termsOfServiceUrl |
URL | 必須。 人が読める形式の利用規約ドキュメント。 |
|
dateModified |
ISO タイムスタンプ |
取引エンティティ フィードの最終更新日時(ISO タイムスタンプ形式、文字列型)。 例: |
|
次のいずれかのプロパティ グループを指定する必要があります。 | |||
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 |
定数 | 必須。 値: |
|
@id |
String | 必須。 フルフィルメント サービスの ID。 例: |
|
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 |
定数 | 必須。 値: |
|
@id |
String | 必須。 サービス提供地域の一意の識別子。 例: |
|
serviceId |
List<String> | 必須。 この ServiceArea エンティティに関連付けられた Service エンティティの @id 値。 例: |
|
dateModified |
ISO タイムスタンプ |
ServiceArea エンティティ フィードの最終更新日時(ISO タイムスタンプ形式、文字列型)。 例: |
|
exclude |
ブール値 |
このサービス提供地域を合計配達地域から除外します。たとえば、より大きなポリゴン領域から郵便番号を除外できます。 |
|
次のいずれかのプロパティ グループを指定する必要があります。 | |||
polygon |
グループ 1 | List<String> |
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(必須)
ユーザーがフローにアクセスして、できるだけ早くまたは将来の注文を行える注文時間枠を記述します。OperationHours
の実装は必須で、デフォルトでは終日の 24 時間営業のオペレーションを表します。
OperationHours
の opens
属性と closes
属性は、ユーザーが注文できるオンライン システムの開始時間と終了時間を指定します。このオンライン システム時間内で、ServiceHours
を使用して、ユーザーの注文を処理できる営業時間と閉店時間を指定します。
時刻はサービスの現地時間で指定する必要があります。opens
の値にタイムゾーンを含めないでください。タイムゾーンが指定されている場合、この情報は無視されます。詳細については、DateTime 形式と Time 形式をご覧ください。
次の表に、OperationHours
タイプのプロパティを示します。
プロパティ | タイプ | 説明 | |
---|---|---|---|
@type |
定数 | 必須。 値: |
|
@id |
String | 必須。 ユーザーがフローにアクセスして、できるだけ早くまたは将来の注文を行える、注文期間を記述するエンティティの一意の識別子。 例: |
|
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 タイムスタンプ形式、文字列型)。 例: |
次の例は、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
の値にタイムゾーンを含めないでください。タイムゾーンが指定されている場合、この情報は無視されます。詳細については、DateTime 形式と Time 形式をご覧ください。
次の表に、ServiceHours
タイプのプロパティを示します。
プロパティ | タイプ | 説明 | |
---|---|---|---|
@type |
定数 | 必須。 値: |
|
@id |
String | 必須。 フルフィルメント ウィンドウを記述するエンティティの一意の識別子。ユーザーがフルフィルメント スロット(ASAP または将来のスロット)を選択できます。 例: |
|
orderType |
OrderType |
必須。 サービス時間が「できるだけ早く」か事前注文かを示す文字列。指定できる値は「ASAP」と「ADVANCE」です。 例: |
|
serviceId |
List<String> | 必須。 この ServiceHours エンティティに関連付けられた Service エンティティの @id 値。 例: |
|
operationHoursId |
List<String> |
この ServiceHours エンティティに関連付けられた OperationHours エンティティの @id 値。 例: |
|
opens |
ISO 時間(現地時間) |
ユーザーの注文を処理できる時刻を ISO 形式で示します。 例: |
|
closes |
ISO 時間(現地時間) |
ユーザーの注文を処理できない特定の時間帯を ISO 形式で示します。 例: |
|
dayOfWeek |
リスト<DayOfWeek > |
これらの営業時間が有効な曜日のリスト。 例: |
|
validFrom |
ISO タイムスタンプ |
ユーザーがフローにアクセスして ASAP/将来の注文を行える注文時間枠の開始時間を示す ISO タイムスタンプ。 例: |
|
validThrough |
ISO タイムスタンプ |
注文期間の終了時刻を示す ISO タイムスタンプ。この時間を過ぎると、ユーザーはフローにアクセスして「できるだけ早く」または「将来の注文」を発注できなくなります。 例: |
|
isSpecialHour |
ブール値 |
OperationHours が特別営業時間かどうかを示すブール値。指定できる値は「false」と「true」です。 例: |
|
leadTimeMin |
整数 |
ASAP で注文された後の最短の配達/受け取り時間(分単位)。このプロパティを設定することを強くおすすめします。 例: |
|
leadTimeMax |
整数 |
ASAP 注文が確定してからの最長の配達/受け取り時間(分単位)。このプロパティを設定することを強くおすすめします。 例: |
|
advanceBookingRequirementMin |
整数 |
予約注文時刻からその日の最短の分数。たとえば、事前注文の処理に 60 分以上かかる場合、advanceBookingRequirementMin は 60 です。 例: |
|
advanceBookingRequirementMax |
整数 |
注文時刻からその日の最長時間(分)で、事前予約を受け付けることができます。たとえば、事前予約の注文が 2 日以上遅れて処理されないように制限されている場合、advanceBookingRequirementMax の値は 2,880 になります。 例: |
|
advanceBookingSlotInterval |
String |
連続する 2 つの予約スロットの時間の間隔。 たとえば、開店時間と閉店時間が午前 8 時と午後 8 時で、advanceBookingSlotInterval が 15 分の場合、ユーザーはフルフィルメントの時間を午前 8 時、午前 8 時 15 分、午前 8 時 30 分、午前 8 時 45 分など、午後 8 時まで選択できます。期間は ISO 期間として指定する必要があります。たとえば、「PT15M」は 15 分間隔を意味します。 例: |
|
dateModified |
ISO タイムスタンプ |
ServiceHours エンティティ フィードの最終更新日時(ISO タイムスタンプ形式、文字列型)。 例: |
次の例は、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」に設定されている場合は、Fee
で feeType
を「DELIVERY」に設定する必要があります。
次の表に、Fee
タイプのプロパティを示します。
プロパティ | タイプ | 説明 | |
---|---|---|---|
@type |
定数 | 必須。 値: |
|
@id |
String | 必須。 料金を記述するエンティティの一意の識別子。 例: |
|
serviceId |
List<String> | 必須。 この Price エンティティに関連付けられた 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 |
番号 |
ゼロ以外の正の値。ユーザーのカートに複数の料金が適用されている場合は、優先度の高い料金が低い料金よりも優先されます。このフィールドを指定した場合、優先度は常に計算された優先度よりも優先されます。 例: |
|
次のいずれかのプロパティ グループを指定する必要があります。 | |||
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 |
定数 | 必須。 値: |
|
@id |
String | 必須。 メニューの一意の識別子。 例: |
|
name |
String |
ユーザーがメニューをブラウジングしているときにメニューを識別できるテキスト。 例: |
|
disclaimer |
String |
メニューの免責条項。例: 栄養情報の開示、アレルゲンの開示。 例: |
|
disclaimerUrl |
URL |
免責条項の詳細を説明するページの URL。 |
|
dateModified |
ISO タイムスタンプ |
メニュー エンティティ フィードの最終更新日時(ISO タイムスタンプ形式、文字列型)。 例: |
次の例は、Menu
要素を示しています。
例
{ "@type": "Menu", "@id": "10824" }
MenuSection
実装するエンティティ(省略可)。メニューの特定のセクションについての説明です。
次の表に、MenuSection
タイプのプロパティを示します。
プロパティ | タイプ | 説明 | |
---|---|---|---|
@type |
定数 | 必須。 値: |
|
@id |
String | 必須。 メニュー セクションの一意の識別子。 例: |
|
menuId |
リスト<ReverseReference > |
この 例: |
|
menuSectionId |
List<String> |
この 重要: 例: |
|
parentMenuSectionId |
リスト<ReverseReference > |
この 重要: 例: |
|
name |
String | 必須。 ユーザーがメニューをブラウジングしているときに 例: |
|
description |
String |
メニュー セクションの説明。 例: |
|
image |
URL |
メニュー セクションの画像の URL。 例: |
|
menuItemId |
List<String> |
この 重要: 例: |
|
parentMenuItemId |
リスト<ReverseReference > |
この 重要: 例: |
|
parentMenuItemOptionId |
リスト<ReverseReference > |
この 重要: 例: |
|
eligibleQuantityMax |
整数 |
アドオン セクションで選択できるアドオンの最大数。 例: |
|
eligibleQuantityMin |
整数 |
アドオン セクションで選択する必要があるアドオンの最小数。 例: |
|
defaultItemId |
List<String> |
アドオン 例: |
|
availabilityId |
List<String> |
Availability エンティティの @id 値。メニュー セクションが利用可能になるタイミングの詳細を提供します。 例: |
|
numberOfFreeAddOns |
整数 |
ユーザーが無料で選択できるアドオンの数を示します。アドオン メニュー セクションでのみ有効です。 例: |
|
dateModified |
ISO タイムスタンプ |
例: |
|
applicableServiceType |
リスト<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 |
定数 | 必須。 値: |
|
@id |
String | 必須。 メニュー セクションの空き状況を表すエンティティの一意の識別子。 例: |
|
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" ] }
MenuItem(必須)
実装が必要なエンティティ。Menu
エンティティ内のアイテムを表します。
次の表に、MenuItem
タイプのプロパティを示します。
プロパティ | タイプ | 説明 | |
---|---|---|---|
@type |
定数 | 必須。 値: |
|
@id |
String | 必須。 メニュー項目の一意の識別子。 例: |
|
name |
String | 必須。 ユーザーがメニューをブラウジングしているときに 例: |
|
description |
String |
メニュー項目の説明。 例: |
|
image |
URL |
メニュー項目の画像の URL。 例: |
|
parentMenuSectionId |
リスト<ReverseReference > |
この 重要: 例: |
|
menuAddOnId |
List<String> |
この 重要: 例: |
|
nutrition |
NutritionInformation |
料理の栄養情報、特にカロリー。 例: |
|
allergen |
リスト<Allergen > |
この MenuItem のアレルゲン。 例: |
|
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
実装するエンティティ(省略可)。料理/組み合わせを選択する際にユーザーが選択する必要がある内容についての説明です。ユーザーがいずれかのオプションを選択しないと、注文が無効とみなされます(例: ピザの場合、小、中、大から選択する必要があります)。
次の表に、MenuItemOption
タイプのプロパティを示します。
プロパティ | タイプ | 説明 | |
---|---|---|---|
@type |
定数 |
値: |
|
@id |
String | 必須。 メニュー項目オプションの一意の識別子。 例: |
|
menuItemId |
ReverseReference |
必須。 この 例: |
|
optionType |
OptionType |
メニュー項目のオプションが、サイズ、オプション、ピザ面のいずれに分類されるかを示す文字列。指定できる値は「SIZE」、「OPTION」、「PIZZA_SIDE」です。"SIZE": MenuItemOption のサイズ。(小、中、大など)。「OPTION」: サイズ以外のすべてのバリエーション(サラダまたはサンドイッチとして提供される料理など)。「SIZE」と「OPTION」が区別できない場合は、「OPTION」を使用します。"PIZZA_SIDE": ピザに固有のもの。たとえば、この 例: |
|
value |
文字列または PizzaSide |
文字列値または列挙値。列挙値は、PIZZA_SIDE オプション タイプに固有のものです。 |
|
applicableParentOptionValue |
String |
このオプションを使用できる親アイテムのオプション値を含む文字列。 例: |
|
menuAddOnId |
List<String> |
この 重要: 例: |
|
nutrition |
NutritionInformation |
料理の栄養情報、特にカロリー。 例: |
|
allergen |
リスト<Allergen > |
この MenuItem のアレルゲン。 例: |
|
additive |
リスト<Additive > |
この MenuItem の添加物。 例: |
|
depositInfo |
DepositInfo |
この MenuItem のパッケージとリサイクルに関する情報。 例: |
|
numberOfServings |
整数 |
1 つのメニュー オプションで利用可能な提供数。 例: |
|
dateModified |
ISO タイムスタンプ |
MenuItemOption エンティティ フィードの最終更新日時(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 |
String | 必須。 メニュー アイテム オファーの一意の識別子。 例: |
|
sku |
String | 必須。 メニュー アイテムのオファーの ID。SKU 値は、複数のメニュー項目 オファー エンティティで異なっていても同じでもかまいません。SKU の値は、Google が API 呼び出しを行うときに順序どおりに設定されます。 例: |
|
price |
番号 | 必須。 メニュー項目の価格。 例: |
|
priceCurrency |
String | 必須。 3 文字の ISO 4217 通貨コードを指定します。 例: |
|
availabilityId |
List<String> |
Availability エンティティの @id 値。メニュー アイテムのオファーが利用可能になるタイミングの詳細を提供します。 例: |
|
eligibleQuantityMin |
番号 |
例: |
|
eligibleQuantityMax |
番号 |
例: |
|
inventoryLevel |
番号 |
この MenuItemOffer に対応する 1 つまたは複数のアイテムの現在のおおよその在庫レベル。 例: |
|
dateModified |
ISO タイムスタンプ |
例: |
|
applicableServiceType |
リスト<ServiceType > |
この |
|
offeredById |
List<String> |
この 例: |
|
次のいずれかのプロパティ グループを指定する必要があります。 | |||
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 |
kcal、kcal、kJ のカロリー数。「値 Cal」または「最小 - 最大 Cal」の形式で表示されます。 例: |
|
sodiumContent |
String |
ナトリウムの量の mg または g を次の形式で表します: 値 g または最小 - 最大 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