全般的な要件
エンティティは、フィード内のエンティティごとに 1 行で構成する必要があります(エンティティは改行文字で区切ります)。読みやすくするため、このページの JSON の例はそのような構造に従っていません。ただし、フィードを送信する際はこの構造に従う必要があります。たとえば、メニュー エンティティは次のコードのように構成する必要があります。
{"@type": "Menu","name": "Coffee Shop A","@id": "1535"}
各「レストラン」エンティティには 2 つのサービス エンティティ(「DELIVERY」と「TAKEOUT」サービスタイプに 1 つずつ)を持つことができます。各「サービス」エンティティには「メニュー」エンティティを 1 つだけ含めることができます。
サブエンティティは複数のレストランで再利用できます。
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 |
文字列 | 必須。 レストランまたは宅配業者の一意の識別子。 例: |
|
name |
文字列 | 必須。 レストランの名前。 例: |
|
description |
文字列 |
レストランの説明です。 例: |
|
url |
URL |
レストランを表す URL です。レストラン ドメインはアグリゲータ ドメインよりも優先されます。 例: |
|
sameAs |
URL |
レストランの公式ウェブサイト。 例: |
|
telephone |
文字列 |
レストランの電話番号。 例: |
|
streetAddress |
文字列 | 必須。 レストランの住所。 例: |
|
addressLocality |
文字列 | 必須。 地域または都市。 例: |
|
addressRegion |
文字列 | 必須。 都道府県。 例: |
|
postalCode |
文字列 | 必須。 郵便番号です。 例: |
|
addressCountry |
文字列 | 必須。 2 文字の ISO 3166-1 alpha-2 国コード。 例: |
|
latitude |
Number |
緯度。値の範囲は [[-90, 90]] に制限されます。 精度は小数点以下 5 桁以上にしてください。 例: |
|
longitude |
Number |
経度。値の範囲は [[-180, 180]] に制限されます。 精度は小数点以下 5 桁以上にしてください。 例: |
|
dealId |
<String> |
レストランの「 |
|
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 |
文字列 | 必須。 取引の一意の識別子。 例: |
|
dealCode |
文字列 | 必須。 パートナーごとのディールごとの一意の取引 ID。この ID は、プロモーション システムのディールを一意に識別するものである必要があります。Google からこの ID が、検証用に 例: |
|
applicableServiceType |
リスト <ServiceType > |
この取引が適用されるサービス。デフォルトでは、すべてに適用される取引を想定しています。 |
|
eligibleMaxOrders |
Integer |
この取引は、ユーザーが過去の注文成功数以下である場合にのみ対象となります。 |
|
availabilityId |
<String> |
メニュー セクションが利用可能になったときの詳細を提供する Availability エンティティの @id 値。 例: |
|
isDisabled |
ブール値 |
これは、他の有効性チェックをオーバーライドします。 |
|
dealType |
DealType |
必須。 割引を適用する取引のカテゴリ。カテゴリには、カートの合計金額、サービス手数料、配送料を指定できます。 |
|
priceCurrency |
文字列 |
割引の通貨(3 文字の ISO 4217 形式)。 例: |
|
eligibleTransactionVolumeMin |
Number |
このプロモーションが有効な金額(トランザクション単位)。 |
|
termsOfServiceUrl |
URL | 必須。 人が読める形式の利用規約ドキュメント。 |
|
dateModified |
ISO タイムスタンプ |
取引のエンティティ フィードの最終更新日時(ISO タイムスタンプ形式)。ただし、文字列型です。 例: |
|
次のプロパティ グループのいずれか 1 つのみが必要です。 | |||
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
は、実装する必要のあるエンティティです。
次の表に、Service
タイプのプロパティを示します。
プロパティ | タイプ | 説明 | |
---|---|---|---|
@type |
長所 | 必須。 値: |
|
@id |
文字列 | 必須。 フルフィルメント サービスの識別子。 例: |
|
serviceType |
ServiceType |
必須。 提供するサービスの種類。有効な値は「DELIVERY」または「TAKEOUT」です。 例: |
|
restaurantId |
文字列 | 必須。 この Service エンティティに関連付けられた レストラン エンティティの @id 値。 例: |
|
menuId |
文字列 | 必須。 この Service エンティティに関連付けられた メニュー エンティティの @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 |
<String> | 必須。 この ServiceArea エンティティに関連付けられた Service エンティティの @id 値。 例: |
|
dateModified |
ISO タイムスタンプ |
ServiceArea エンティティ フィードの最終更新日時。ISO タイムスタンプ形式ですが、文字列型です。 例: |
|
exclude |
ブール値 |
配送地域全体からこのサービス提供地域を除外する。たとえば、郵便番号を大きなエリアから除外できます。 |
|
次のプロパティ グループのいずれか 1 つのみが必要です。 | |||
polygon |
グループ 1 | <String> |
3 つ以上のスペースで区切られた一連のポイントとして表されるポリゴンまたはマルチポリゴン。最初と最後の点は同じにすることをおすすめしますが、必須ではありません。 ポリゴンまたはマルチポリゴンの各ポイントは、緯度ポイントと経度ポイントで定義されます。また、反時計回りのポイントも指定する必要があります。 例: |
geoMidpointLatitude |
グループ 2 | Number |
Circle 領域の中央の緯度座標を示します。 例: |
geoMidpointLongitude |
グループ 2 | Number |
Circle 領域の中央の経度座標を示します。 例: |
geoRadius |
グループ 2 | Integer |
Circle エリアのおおよその半径(メートル単位)を示します。 例: |
postalCode |
グループ 3 | 文字列 |
郵便番号を示します。 例: |
addressCountry |
グループ 3 | 文字列 |
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
の opens
属性と closes
属性には、ユーザーが注文できるオンライン システムの開閉時刻を指定します。それらのオンライン システム時間内では、ServiceHours
を使用して、ユーザーの注文を処理できる開始時刻と終了時刻を指定します。
時刻はサービスの現地時間で指定します。opens
値にタイムゾーンを含めないでください。タイムゾーンが指定されている場合、Google はこの情報を無視します。詳細については、DateTime と時刻の形式をご覧ください。
次の表に、OperationHours
タイプのプロパティを示します。
プロパティ | タイプ | 説明 | |
---|---|---|---|
@type |
長所 | 必須。 値: |
|
@id |
文字列 | 必須。 エンティティで、ユーザーがフローにアクセスして今後の注文にすばやくアクセスするための注文期間を表す一意の識別子。 例: |
|
serviceId |
<String> | 必須。 この OperationHours エンティティと相関する Service エンティティの @id 値。 例: |
|
opens |
ISO 時間(現地) |
ユーザーの注文が可能な ISO 形式の特定の時刻を示します。 例: |
|
closes |
ISO 時間(現地) |
ユーザーの注文ができない特定の時刻を ISO 形式で指定します。 例: |
|
dayOfWeek |
リスト <DayOfWeek > |
これらの営業時間が有効な曜日のリスト。有効な値は「MONDAY」、「TUESDAY」、「WEDNESDAY」、「THURSDAY」、「FRIDAY」、「SATURDAY」、「SUNDAY」です。 例: |
|
validFrom |
ISO タイムスタンプ |
注文フローの開始時刻を示す 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
値にタイムゾーンを含めないでください。タイムゾーンが指定されている場合、Google はこの情報を無視します。詳細については、DateTime と時刻の形式をご覧ください。
次の表に、ServiceHours
タイプのプロパティを示します。
プロパティ | タイプ | 説明 | |
---|---|---|---|
@type |
長所 | 必須。 値: |
|
@id |
文字列 | 必須。 ユーザーがフルフィルメント スロット(ASAP または将来のスロット)を選択できる、フルフィルメント期間を表すエンティティの一意の識別子。 例: |
|
orderType |
OrderType |
必須。 サービス提供時間ができるだけ早く注文か事前注文かを示す文字列。指定できる値は「ASAP」と「ADVANCE」です。 例: |
|
serviceId |
<String> | 必須。 この ServiceHours エンティティに関連付けられた Service エンティティの @id 値。 例: |
|
operationHoursId |
<String> |
この ServiceHours エンティティに相関する OperationHours エンティティの @id 値。 例: |
|
opens |
ISO 時間(現地) |
ユーザーの注文処理を開始する ISO 形式の特定の時刻を示します。 例: |
|
closes |
ISO 時間(現地) |
ユーザーの注文処理ができない特定の時刻を ISO 形式で指定します。 例: |
|
dayOfWeek |
リスト <DayOfWeek > |
これらの営業時間が有効な曜日のリスト。 例: |
|
validFrom |
ISO タイムスタンプ |
注文フローの開始時刻を示す ISO タイムスタンプ。ユーザーがフローにアクセスし、その後すぐに注文することも、それ以降の注文することもできます。 例: |
|
validThrough |
ISO タイムスタンプ |
注文フローの終了時間を示す ISO タイムスタンプ。これを超えると、ユーザーはフローにアクセスしてすぐに注文することができません。 例: |
|
isSpecialHour |
ブール値 |
OperationHours が特別時間かどうかを示すブール値。有効な値は「false」と「true」です。 例: |
|
leadTimeMin |
Integer |
できるだけ早く発注し、最短のお届け日数/集荷時間(分)。このプロパティを設定することを強くおすすめします。 例: |
|
leadTimeMax |
Integer |
できるだけ早く発注された後の配送/集荷時間の最長(分単位)。このプロパティを設定することを強くおすすめします。 例: |
|
advanceBookingRequirementMin |
Integer |
事前注文を処理できる最小注文時間(分)です。 たとえば、事前注文の処理に 60 分以上かかる場合、advancedBookingRequirementMin は 60 です。 例: |
|
advanceBookingRequirementMax |
Integer |
事前注文を完了できる注文時刻からの最大時間(分)。 たとえば、事前注文の処理が 2 日以上制限されている場合、advancedBookingRequirementMax 値は 2880 です。 例: |
|
advanceBookingSlotInterval |
文字列 |
2 つの連続した予約枠の間隔。 たとえば、開店と閉店が午前 8 時と午後 8 時で、advancedBookingSlotInterval が 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」に設定されている場合は、feeType
が「DELIVERY」に設定された Fee
が必要です。
次の表に、Fee
タイプのプロパティを示します。
プロパティ | タイプ | 説明 | |
---|---|---|---|
@type |
長所 | 必須。 値: |
|
@id |
文字列 | 必須。 料金を説明するエンティティの一意の識別子。 例: |
|
serviceId |
<String> | 必須。 この料金のエンティティに関連付けられた Service エンティティの @id 値。 例: |
|
feeType |
FeeType |
必須。 配送料が配送サービスまたはサービス注文に適用されるかどうかを示す文字列。有効な値は「DELIVERY」と「SERVICE」です。 例: |
|
priceCurrency |
文字列 | 必須。 3 文字の ISO 4217 通貨コードを指定します。 例: |
|
basePrice |
Number |
料金の基本価格。 例: |
|
minPrice |
Number |
最低料金、 例: |
|
maxPrice |
Number |
例: |
|
eligibleRegion |
<String> |
料金が有効な地域行政区域の ServiceArea の @id。このプロパティは、地域によって送料が異なる場合に使用してください。 例: |
|
eligibleTransactionVolumeMin |
Number |
この料金指定の対象となる最小取引量(金銭的単位)。 例: |
|
eligibleTransactionVolumeMax |
Number |
この料金の指定が有効な最大トランザクション量(金銭的単位)。たとえば、一定の注文数を超える場合は、料金は適用されません。 例: |
|
validFrom |
ISO タイムスタンプ |
料金が有効な開始時刻を示す ISO タイムスタンプ。 例: |
|
validThrough |
ISO タイムスタンプ |
料金が無効である終了時刻を示す ISO タイムスタンプ。 例: |
|
dateModified |
ISO タイムスタンプ |
料金エンティティ フィードの最終更新日時(ISO タイムスタンプ形式)。ただし、文字列型。 例: |
|
priority |
Number |
ゼロでない正の値。ユーザーのカートに 1 つ以上の料金が適用される場合は、優先度の高い料金が低いものよりも優先されます。このフィールドを指定すると、常に計算された優先度よりも優先されます。 例: |
|
次のプロパティ グループのいずれか 1 つのみが必要です。 | |||
price |
グループ 1 | Number |
手数料の価格。price が固定されていない場合は、price の代わりに minPrice と maxPrice を指定できます。 例: |
percentageOfCart |
グループ 2 | Number |
カート値の割合。有効な値は 0 ~ 100 の浮動小数点数です。 例: |
pricePerMeter |
グループ 3 | Number |
ユーザーのラジアル距離のメートルあたりの料金。例: ユーザーとの距離が 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 |
文字列 | 必須。 メニューの一意の識別子です。 例: |
|
name |
文字列 |
ユーザーがメニューをブラウジングしているときにメニューを識別できるテキスト。 例: |
|
disclaimer |
文字列 |
メニューに関する免責条項。たとえば、栄養に関する情報の開示やアレルゲンの開示などです。 例: |
|
disclaimerUrl |
URL |
免責事項に関する詳細情報を提供するページを指す URL。 |
|
dateModified |
ISO タイムスタンプ |
メニュー エンティティ フィードの最終更新日時。ISO タイムスタンプ形式ですが、文字列型です。 例: |
次の例は、Menu
要素を示しています。
例
{ "@type": "Menu", "@id": "10824" }
メニュー セクション
実装する省略可能なエンティティ。メニューの特定のセクションを説明します。
次の表に、MenuSection
タイプのプロパティを示します。
プロパティ | タイプ | 説明 | |
---|---|---|---|
@type |
長所 | 必須。 値: |
|
@id |
文字列 | 必須。 メニュー セクションの一意の識別子。 例: |
|
menuId |
リスト <ReverseReference > |
この 例: |
|
menuSectionId |
<String> |
この 重要: 例: |
|
parentMenuSectionId |
リスト <ReverseReference > |
親 重要: 例: |
|
name |
文字列 | 必須。 ユーザーがメニューをブラウジングしているときに 例: |
|
description |
文字列 |
メニュー セクションの説明。 例: |
|
image |
URL |
メニュー セクションの画像の URL。 例: |
|
menuItemId |
<String> |
この 重要: 例: |
|
parentMenuItemId |
リスト <ReverseReference > |
この 重要: 例: |
|
parentMenuItemOptionId |
リスト <ReverseReference > |
この 重要: 例: |
|
eligibleQuantityMax |
Integer |
[アドオン] セクションで選択できるアドオンの最大数。 例: |
|
eligibleQuantityMin |
Integer |
[アドオン] セクションで選択するアドオンの最小数。 例: |
|
defaultItemId |
<String> |
アドオン 例: |
|
availabilityId |
<String> |
メニュー セクションが利用可能になったときの詳細を提供する Availability エンティティの @id 値。 例: |
|
numberOfFreeAddOns |
Integer |
ユーザーが料金なしで選択できるアドオンの数を示します。[アドオン メニュー] のセクションでのみ有効です。 例: |
|
dateModified |
ISO タイムスタンプ |
ISO タイムスタンプ形式(String 型)の 例: |
|
applicableServiceType |
リスト <ServiceType > |
この |
|
offeredById |
<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 |
文字列 | 必須。 メニュー セクションの在庫状況を表すエンティティの一意の識別子。 例: |
|
availabilityStarts |
ISO 時間(現地) |
メニュー セクションの在庫状況が有効である開始時間を示す ISO タイムスタンプ。 例: |
|
availabilityEnds |
ISO 時間(現地) |
終了時間がメニュー セクションが利用可能でない時間を示す ISO タイムスタンプ。 例: |
|
availableDay |
リスト <DayOfWeek > |
メニュー セクションの在庫状況が有効である曜日のリスト。 例: |
|
validFrom |
ISO タイムスタンプ |
ISO メニュー タイムスタンプ(メニュー欄が利用可能になる開始時刻)。 例: |
|
validThrough |
ISO タイムスタンプ |
終了時間がメニュー セクションが利用可能でない時間を示す ISO タイムスタンプ。 例: |
|
dateModified |
ISO タイムスタンプ |
Availability エンティティ フィードの最終更新日時(ISO タイムスタンプ形式)。ただし、文字列型。 例: |
次の例は、Availability
要素を示しています。
例
{ "@type": "Availability", "@id": "85343705", "availabilityStarts": "06:00", "availabilityEnds": "22:30", "availableDay": [ "SATURDAY", "SUNDAY" ] }
メニュー項目(必須)
実装するエンティティ。Menu
エンティティのアイテムを記述します。
次の表に、MenuItem
タイプのプロパティを示します。
プロパティ | タイプ | 説明 | |
---|---|---|---|
@type |
長所 | 必須。 値: |
|
@id |
文字列 | 必須。 メニュー アイテムの一意の識別子。 例: |
|
name |
文字列 | 必須。 ユーザーがメニューをブラウジングしているときに 例: |
|
description |
文字列 |
メニュー項目の説明。 例: |
|
image |
URL |
メニュー項目の画像の URL。 例: |
|
parentMenuSectionId |
リスト <ReverseReference > |
この 重要: 例: |
|
menuAddOnId |
<String> |
この 重要: 例: |
|
nutrition |
NutritionInformation |
料理の栄養情報です。とりわけカロリーが重要です。 例: |
|
allergen |
リスト <Allergen > |
この MenuItem のアレルゲン。 例: |
|
additive |
リスト <Additive > |
この MenuItem の追加。 例: |
|
suitableDiet |
リスト <RestrictedDiet > |
料理が記載の食事制限に適合している。 例: |
|
depositInfo |
DepositInfo |
この MenuItem のパッケージングとリサイクルに関する情報。 例: |
|
numberOfServings |
Integer |
特定のメニュー項目で利用可能な提供数。 例: |
|
dateModified |
ISO タイムスタンプ |
ISO タイムスタンプ形式(String 型)の 例: |
次の例は、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 |
文字列 | 必須。 メニュー項目オプションの一意の識別子。 例: |
|
menuItemId |
ReverseReference |
必須。
例: |
|
optionType |
OptionType |
メニュー項目のオプションが、サイズ、オプション、またはピザ側のどちらで分類されているかを示す文字列。有効な値は「SIZE」、「OPTION」、「PIZZA_SIDE」です。"SIZE": MenuItemOption のサイズ。(小、中、大など)。「OPTION」: サイズ以外のバリエーション(サラダやサンドイッチの一品など)。「SIZE」と「OPTION」を区別できない場合は「OPTION」を使用します。"PIZZA_SIDE": ピザ専用: この 例: |
|
value |
文字列または
PizzaSide |
文字列値または列挙値。列挙値は PIZZA_SIDE オプション型に固有のものです。 |
|
applicableParentOptionValue |
文字列 |
このオプションを利用できる親アイテムのオプション値の値を含む文字列。 例: |
|
menuAddOnId |
<String> |
この 重要: 例: |
|
nutrition |
NutritionInformation |
料理の栄養情報です。とりわけカロリーが重要です。 例: |
|
allergen |
リスト <Allergen > |
この MenuItem のアレルゲン。 例: |
|
additive |
リスト <Additive > |
この MenuItem の追加。 例: |
|
depositInfo |
DepositInfo |
この MenuItem のパッケージとリサイクルに関する情報。 例: |
|
numberOfServings |
Integer |
特定のメニュー項目オプションで使用可能なサービングの数。 例: |
|
dateModified |
ISO タイムスタンプ |
ISO タイムスタンプ形式の String 型の MenuItemOption エンティティ フィードの最終更新日時。 例: |
次の例は、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 の値が異なる場合があります。SKU 値は、API 呼び出しが行われたときに順番に設定されます。 例: |
|
price |
Number | 必須。 メニュー項目の特典の価格。 例: |
|
priceCurrency |
文字列 | 必須。 3 文字の ISO 4217 通貨コードを指定します。 例: |
|
availabilityId |
<String> |
メニュー項目が利用可能になったときに関する詳細情報を提供する Availability エンティティの @id 値。 例: |
|
eligibleQuantityMin |
Number |
例: |
|
eligibleQuantityMax |
Number |
例: |
|
inventoryLevel |
Number |
この MenuItemOffer に対応する 1 つまたは複数のアイテムの現在のおおよその在庫レベルです。 例: |
|
dateModified |
ISO タイムスタンプ |
ISO タイムスタンプ形式(String 型)の 例: |
|
applicableServiceType |
リスト <ServiceType > |
この |
|
offeredById |
<String> |
この 例: |
|
次のプロパティ グループのいずれか 1 つのみが必要です。 | |||
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 |
Integer | 必須。 親項目内のアイテムの表示順。 |
栄養成分情報
次の表に、NutritionInformation
タイプのプロパティを示します。
プロパティ | タイプ | 説明 | |
---|---|---|---|
description |
文字列 |
自由回答形式の栄養情報です。例: 「保存料配合」 |
|
calories |
文字列 |
kcal、kcal、kJ 単位までのカロリー数。値 Cal または min-max Cal の形式 例: |
|
sodiumContent |
文字列 |
ナトリウムの 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 |
文字列 | 必須。 添加剤の名前。 |
|
levelOfContainment |
ContainmentLevel |
メニュー項目内の特定の添加物のレベル。 |
次の例は、Additive
要素を示しています。
例
{ "additiveName": "Sodium nitrite", "levelOfContainment": "CONTAINS" }
入金
次の表に、DepositInfo
タイプのプロパティを示します。
プロパティ | タイプ | 説明 | |
---|---|---|---|
depositCode |
DepositCode |
コードを委任します。 |
|
depositValue |
Number |
商品の預金の数値(リサイクルの場合など)。 |
|
depositValueCurrency |
文字列 |
デポジット額の通貨 |
次の例は、DepositInfo
要素を示しています。
例
{ "depositCode": "RECYCLABLE", "depositValue": 0.05, "depositValueCurrency": "USD" }
ServingConfig
さまざまな機能を制御するために使用されるサービスのサービス構成です(例: プロモーション ウィジェットの無効化など)。
次の表に、ServingConfig
タイプのプロパティを示します。
プロパティ | タイプ | 説明 | |
---|---|---|---|
disableOrderInstructions |
ブール値 |
注文手順を指定する機能を非表示にします。 |
|
disableMenuItemSpecialInstructions |
ブール値 |
メニュー項目に特別な指示を指定する機能を非表示にします。 |
|
disableTipWidget |
ブール値 |
注文フローの [注文] ページでチップ ウィジェットを非表示にします。 |
|
disablePromoWidget |
ブール値 |
注文フローの [注文] ページでプロモーション ウィジェットを非表示にします。 |
|
menuItemSpecialInstructionsMaxLength |
Number |
メニュー項目の特殊手順に使用できる最大文字数を指定します。 |
|
orderInstructionsMaxLength |
Number |
注文指示に含める最大文字数を指定します。 |
次の例は、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
タイプには次の値があります。
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
タイプには次の値があります。
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