リレーショナル インベントリ スキーマ

コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。
このページでは、Google に送信する、Order with Google のデータフィード(食品カタログの仕様)の形式について説明します。 マシンで読み取り可能なこの情報のバージョンの場合は、JSON スキーマをダウンロードできます。

全般的な要件

エンティティは、フィード内のエンティティごとに 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 長所

必須。

値: Restaurant

@id 文字列

必須。

レストランまたは宅配業者の一意の識別子。

例: restaurant_1

name 文字列

必須。

レストランの名前。

例: Foo

description 文字列

レストランの説明です。

例: Best seafood in town

url URL

レストランを表す URL です。レストラン ドメインはアグリゲータ ドメインよりも優先されます。

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

sameAs URL

レストランの公式ウェブサイト。

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

telephone 文字列

レストランの電話番号。

例: +12345665898

streetAddress 文字列

必須。

レストランの住所。

例: 12345 Bar Avenu

addressLocality 文字列

必須。

地域または都市。

例: San Francisco

addressRegion 文字列

必須。

都道府県。

例: CA

postalCode 文字列

必須。

郵便番号です。

例: 94124

addressCountry 文字列

必須。

2 文字の ISO 3166-1 alpha-2 国コード。

例: US

latitude Number

緯度。値の範囲は [[-90, 90]] に制限されます。 精度は小数点以下 5 桁以上にしてください。

例: 35.7392607

longitude Number

経度。値の範囲は [[-180, 180]] に制限されます。 精度は小数点以下 5 桁以上にしてください。

例: -120.3895522

dealId <String>

レストランの「Deal」が該当します。

imprint 文字列

レストランのブランドは、そのレストランに関する追加情報(正式名称、正式な住所、登録番号など)です。この情報は、" " を使用してフォーマットできます。

例:

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

Commercial Register: 123456789

dateModified ISO タイムスタンプ

レストラン エンティティ フィードの最終更新日時(ISO タイムスタンプ形式)。ただし、文字列型。

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

次の例は、Restaurant 要素を示しています。

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

取引

カートに適用できる割引の種類。

次の表に、Deal タイプのプロパティを示します。

プロパティ タイプ 説明
@type 長所

必須。

値: Deal

@id 文字列

必須。

取引の一意の識別子。

例: FREEDELIVERY

dealCode 文字列

必須。

パートナーごとのディールごとの一意の取引 ID。この ID は、プロモーション システムのディールを一意に識別するものである必要があります。Google からこの ID が、検証用に CheckoutRequestpromotions.coupon フィールドに送信されます。

例: ADETRE23

applicableServiceType リスト <ServiceType>

この取引が適用されるサービス。デフォルトでは、すべてに適用される取引を想定しています。

eligibleMaxOrders Integer

この取引は、ユーザーが過去の注文成功数以下である場合にのみ対象となります。

availabilityId <String>

メニュー セクションが利用可能になったときの詳細を提供する Availability エンティティの @id 値。

例: [ "availability_1" ]

isDisabled ブール値

これは、他の有効性チェックをオーバーライドします。

dealType DealType

必須。

割引を適用する取引のカテゴリ。カテゴリには、カートの合計金額、サービス手数料、配送料を指定できます。

priceCurrency 文字列

discount is defined の場合は必須。

eligibleTransactionVolumeMin is defined の場合は必須。

割引の通貨(3 文字の ISO 4217 形式)。

例: USD

eligibleTransactionVolumeMin Number

このプロモーションが有効な金額(トランザクション単位)。

termsOfServiceUrl URL

必須。

人が読める形式の利用規約ドキュメント。

dateModified ISO タイムスタンプ

取引のエンティティ フィードの最終更新日時(ISO タイムスタンプ形式)。ただし、文字列型です。

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

次のプロパティ グループのいずれか 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 長所

必須。

値: Service

@id 文字列

必須。

フルフィルメント サービスの識別子。

例: service_1

serviceType ServiceType

必須。

提供するサービスの種類。有効な値は「DELIVERY」または「TAKEOUT」です。

例: DELIVERY

restaurantId 文字列

必須。

この Service エンティティに関連付けられた レストラン エンティティの @id 値。

例: restaurant_1

menuId 文字列

必須。

この Service エンティティに関連付けられた メニュー エンティティの @id 値。

例: menu_1

dateModified ISO タイムスタンプ

サービス エンティティ フィードの最終更新日時(ISO タイムスタンプ形式)。

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

isDisabled ブール値

エンティティが無効になっているかどうかを示します。このタイプは、予期しないイベントが原因でエンティティを無効にする必要がある場合にのみ使用し、サービスがいつ再確立されるかわからない場合に使用します(例: 休日には使用しない)。

例: true

servingConfig ServingConfig

さまざまな機能を制御するために使用されるサービスのサービス構成です(例: プロモーション ウィジェットの無効化など)。

次の例は、Service 要素を示しています。

例 1

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

例 2

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

サービス提供地域

料理の配送地域を表します。関連する Service エンティティの serviceType が「DELIVERY」に設定されている場合、このエンティティを実装する必要があります。

次の表に、ServiceArea タイプのプロパティを示します。

プロパティ タイプ 説明
@type 長所

必須。

値: ServiceArea

@id 文字列

必須。

サービス提供地域の一意の識別子。

例: service_area_1

serviceId <String>

必須。

この ServiceArea エンティティに関連付けられた Service エンティティの @id 値。

例: [ "service_1" ]

dateModified ISO タイムスタンプ

ServiceArea エンティティ フィードの最終更新日時。ISO タイムスタンプ形式ですが、文字列型です。

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

exclude ブール値

配送地域全体からこのサービス提供地域を除外する。たとえば、郵便番号を大きなエリアから除外できます。

次のプロパティ グループのいずれか 1 つのみが必要です。
polygon グループ 1 <String>

3 つ以上のスペースで区切られた一連のポイントとして表されるポリゴンまたはマルチポリゴン。最初と最後の点は同じにすることをおすすめしますが、必須ではありません。 ポリゴンまたはマルチポリゴンの各ポイントは、緯度ポイントと経度ポイントで定義されます。また、反時計回りのポイントも指定する必要があります。

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

geoMidpointLatitude グループ 2 Number

Circle 領域の中央の緯度座標を示します。

例: 37.806000

geoMidpointLongitude グループ 2 Number

Circle 領域の中央の経度座標を示します。

例: -122.425592

geoRadius グループ 2 Integer

Circle エリアのおおよその半径(メートル単位)を示します。

例: 10000

postalCode グループ 3 文字列

郵便番号を示します。

例: 91234

addressCountry グループ 3 文字列

2 文字の ISO 3166-1 alpha-2 国コードを示します。

例: US

次の例は、ServiceArea 要素を示しています。

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

営業時間(必須)

ユーザーがフローにアクセスしてできるだけ早くまたは今後の注文を行える注文期間を表します。OperationHours の実装が必要です。デフォルトでは、すべての曜日の終日オペレーションを表す必要があります。

OperationHoursopens 属性と closes 属性には、ユーザーが注文できるオンライン システムの開閉時刻を指定します。それらのオンライン システム時間内では、ServiceHours を使用して、ユーザーの注文を処理できる開始時刻と終了時刻を指定します。

時刻はサービスの現地時間で指定します。opens 値にタイムゾーンを含めないでください。タイムゾーンが指定されている場合、Google はこの情報を無視します。詳細については、DateTime と時刻の形式をご覧ください。

次の表に、OperationHours タイプのプロパティを示します。

プロパティ タイプ 説明
@type 長所

必須。

値: OperationHours

@id 文字列

必須。

エンティティで、ユーザーがフローにアクセスして今後の注文にすばやくアクセスするための注文期間を表す一意の識別子。

例: operation_hour_1

serviceId <String>

必須。

この OperationHours エンティティと相関する Service エンティティの @id 値。

例: [ "service_1" ]

opens ISO 時間(現地)

ユーザーの注文が可能な ISO 形式の特定の時刻を示します。

例: T00:00

closes ISO 時間(現地)

ユーザーの注文ができない特定の時刻を ISO 形式で指定します。

例: T16:00

dayOfWeek リスト <DayOfWeek>

これらの営業時間が有効な曜日のリスト。有効な値は「MONDAY」、「TUESDAY」、「WEDNESDAY」、「THURSDAY」、「FRIDAY」、「SATURDAY」、「SUNDAY」です。

例: [ "MONDAY", "TUESDAY" ]

validFrom ISO タイムスタンプ

isSpecialHour = true の場合は必須。

注文フローの開始時刻を示す ISO タイムスタンプ。ユーザーがフローにアクセスし、その後すぐに注文することも、それ以降の注文することもできます。

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

validThrough ISO タイムスタンプ

isSpecialHour = true の場合は必須。

注文フローの終了時間を示す ISO タイムスタンプ。これを超えると、ユーザーはフローにアクセスしてすぐに注文することができません。

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

isSpecialHour ブール値

OperationHours が特別時間かどうかを示すブール値。有効な値は「false」と「true」です。

例: False

dateModified ISO タイムスタンプ

OperationHours のエンティティ フィードの最終更新日時(ISO タイムスタンプ形式)。ただし、文字列型。

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

次の例は、OperationHours 要素を示しています。

例 1

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

例 2

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

ServiceHours(必須)

ユーザーがフルフィルメント スロット(ASAP または将来のスロット)を選択できるフルフィルメント ウィンドウを表します。ServiceHours を実装する必要があります。

OperationHoursopens 属性と closes 属性には、ユーザーが注文できるオンライン システムの開閉時刻を指定します。それらのオンライン システム時間内では、ServiceHours を使用して、ユーザーの注文を処理できる開始時刻と終了時刻を指定します。

時刻はサービスの現地時間で指定します。opens 値にタイムゾーンを含めないでください。タイムゾーンが指定されている場合、Google はこの情報を無視します。詳細については、DateTime と時刻の形式をご覧ください。

次の表に、ServiceHours タイプのプロパティを示します。

プロパティ タイプ 説明
@type 長所

必須。

値: ServiceHours

@id 文字列

必須。

ユーザーがフルフィルメント スロット(ASAP または将来のスロット)を選択できる、フルフィルメント期間を表すエンティティの一意の識別子。

例: service_hour_1

orderType OrderType

必須。

サービス提供時間ができるだけ早く注文か事前注文かを示す文字列。指定できる値は「ASAP」と「ADVANCE」です。

例: ASAP

serviceId <String>

必須。

この ServiceHours エンティティに関連付けられた Service エンティティの @id 値。

例: [ "service_1" ]

operationHoursId <String>

isSpecialHour = false の場合は必須。

この ServiceHours エンティティに相関する OperationHours エンティティの @id 値。

例: [ "operation_hour_1" ]

opens ISO 時間(現地)

ユーザーの注文処理を開始する ISO 形式の特定の時刻を示します。

例: T00:00

closes ISO 時間(現地)

ユーザーの注文処理ができない特定の時刻を ISO 形式で指定します。

例: T16:00

dayOfWeek リスト <DayOfWeek>

これらの営業時間が有効な曜日のリスト。

例: [ "MONDAY", "TUESDAY" ]

validFrom ISO タイムスタンプ

isSpecialHour = true の場合は必須。

注文フローの開始時刻を示す ISO タイムスタンプ。ユーザーがフローにアクセスし、その後すぐに注文することも、それ以降の注文することもできます。

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

validThrough ISO タイムスタンプ

isSpecialHour = true の場合は必須。

注文フローの終了時間を示す ISO タイムスタンプ。これを超えると、ユーザーはフローにアクセスしてすぐに注文することができません。

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

isSpecialHour ブール値

OperationHours が特別時間かどうかを示すブール値。有効な値は「false」と「true」です。

例: False

leadTimeMin Integer

できるだけ早く発注し、最短のお届け日数/集荷時間(分)。このプロパティを設定することを強くおすすめします。

例: 60

leadTimeMax Integer

できるだけ早く発注された後の配送/集荷時間の最長(分単位)。このプロパティを設定することを強くおすすめします。

例: 70

advanceBookingRequirementMin Integer

orderType = "ADVANCE" の場合は必須。

事前注文を処理できる最小注文時間(分)です。 たとえば、事前注文の処理に 60 分以上かかる場合、advancedBookingRequirementMin は 60 です。

例: 15

advanceBookingRequirementMax Integer

orderType = "ADVANCE" の場合は必須。

事前注文を完了できる注文時刻からの最大時間(分)。 たとえば、事前注文の処理が 2 日以上制限されている場合、advancedBookingRequirementMax 値は 2880 です。

例: 10080

advanceBookingSlotInterval 文字列

orderType = "ADVANCE" の場合は必須。

2 つの連続した予約枠の間隔。 たとえば、開店と閉店が午前 8 時と午後 8 時で、advancedBookingSlotInterval が 15 分の場合、フルフィルメントは午前 8 時、午前 8 時 15 分、午前 8 時 30 分、午前 8 時 45 分のように、午後 8 時まで選択できます。 期間は ISO 期間の時間として指定する必要があります。たとえば、「PT15M」は 15 分間隔を意味します。

例: PT15M

dateModified ISO タイムスタンプ

ServiceHours エンティティ フィードの最終更新日時。ISO タイムスタンプ形式ですが、文字列型です。

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

次の例は、ServiceHours 要素を示しています。

例 1

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

例 2

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

手数料

手数料を表します。関連する Service エンティティの serviceType が「DELIVERY」に設定されている場合は、feeType が「DELIVERY」に設定された Fee が必要です。

次の表に、Fee タイプのプロパティを示します。

プロパティ タイプ 説明
@type 長所

必須。

値: Fee

@id 文字列

必須。

料金を説明するエンティティの一意の識別子。

例: service_fee_1

serviceId <String>

必須。

この料金のエンティティに関連付けられた Service エンティティの @id 値。

例: [ "service_1" ]

feeType FeeType

必須。

配送料が配送サービスまたはサービス注文に適用されるかどうかを示す文字列。有効な値は「DELIVERY」と「SERVICE」です。

例: DELIVERY

priceCurrency 文字列

必須。

3 文字の ISO 4217 通貨コードを指定します。

例: USD

basePrice Number

料金の基本価格。percentageOfCart または pricePerMeter を使用する場合に適用されます。

例: 2.0

minPrice Number

最低料金、percentageOfCart または pricePerMeter を使用する場合の料金上限。

例: 2.0

maxPrice Number

percentageOfCart または pricePerMeter を使用する場合の上限料金、手数料の値の上限。

例: 10.0

eligibleRegion <String>

料金が有効な地域行政区域の ServiceArea の @id。このプロパティは、地域によって送料が異なる場合に使用してください。

例: [ "service_area_1" ]

eligibleTransactionVolumeMin Number

この料金指定の対象となる最小取引量(金銭的単位)。

例: 50

eligibleTransactionVolumeMax Number

この料金の指定が有効な最大トランザクション量(金銭的単位)。たとえば、一定の注文数を超える場合は、料金は適用されません。

例: 10

validFrom ISO タイムスタンプ

料金が有効な開始時刻を示す ISO タイムスタンプ。

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

validThrough ISO タイムスタンプ

料金が無効である終了時刻を示す ISO タイムスタンプ。

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

dateModified ISO タイムスタンプ

料金エンティティ フィードの最終更新日時(ISO タイムスタンプ形式)。ただし、文字列型。

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

priority Number

ゼロでない正の値。ユーザーのカートに 1 つ以上の料金が適用される場合は、優先度の高い料金が低いものよりも優先されます。このフィールドを指定すると、常に計算された優先度よりも優先されます。

例: 3

次のプロパティ グループのいずれか 1 つのみが必要です。
price グループ 1 Number

手数料の価格。price が固定されていない場合は、price の代わりに minPrice と maxPrice を指定できます。

例: 1.5

percentageOfCart グループ 2 Number

カート値の割合。有効な値は 0 ~ 100 の浮動小数点数です。

例: 9.00

pricePerMeter グループ 3 Number

ユーザーのラジアル距離のメートルあたりの料金。例: ユーザーとの距離が 5 km で、料金が $0.001 の場合、ユーザー料金は $5 になります。

例: 0.001

次の例は、Fee 要素を示しています。

例 1

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

例 2

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

例 3

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

例 4

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

例 5

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

実装するエンティティ。メニューについて説明します。

次の表に、Menu タイプのプロパティを示します。

プロパティ タイプ 説明
@type 長所

必須。

値: Menu

@id 文字列

必須。

メニューの一意の識別子です。

例: menu_1

name 文字列

ユーザーがメニューをブラウジングしているときにメニューを識別できるテキスト。

例: Foo

disclaimer 文字列

メニューに関する免責条項。たとえば、栄養に関する情報の開示やアレルゲンの開示などです。

例: Items may contain peanuts.

disclaimerUrl URL

免責事項に関する詳細情報を提供するページを指す URL。

dateModified ISO タイムスタンプ

メニュー エンティティ フィードの最終更新日時。ISO タイムスタンプ形式ですが、文字列型です。

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

次の例は、Menu 要素を示しています。

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

実装する省略可能なエンティティ。メニューの特定のセクションを説明します。

次の表に、MenuSection タイプのプロパティを示します。

プロパティ タイプ 説明
@type 長所

必須。

値: MenuSection

@id 文字列

必須。

メニュー セクションの一意の識別子。

例: menu_section_1

menuId リスト <ReverseReference>

この MenuSection エンティティと相関する Menu エンティティの @id 値。

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

menuSectionId <String>

この MenuSection エンティティに対応する子 MenuSection エンティティの @id 値のリスト。

重要: menuSectionId または parentMenuSectionId(in child) のいずれかのリファレンスのみを使用してください。

例: [ "child_menu_section_1", "child_menu_section_2" ]

parentMenuSectionId リスト <ReverseReference>

MenuSection エンティティの @id 値は、この MenuSection エンティティと相関関係があります。

重要: parentMenuSectionId または menuSectionId(in parent) のいずれかのリファレンスのみを使用してください。

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

name 文字列

必須。

ユーザーがメニューをブラウジングしているときに MenuSection を識別できるテキスト。

例: Foo

description 文字列

メニュー セクションの説明。

例: Example menu section description that helps users.

image URL

メニュー セクションの画像の URL。

例: https://provider.com/someimage

menuItemId <String>

この MenuSection エンティティに対応する MenuItem エンティティの @id 値のリスト。

重要: menuItemId または MenuItem.parentMenuSectionId のいずれかのリファレンスのみを使用してください。

例: [ "menu_item1", "menu_item2" ]

parentMenuItemId リスト <ReverseReference>

この MenuSection エンティティに対応する親 MenuItem エンティティの @id 値のリスト。

重要: parentMenuItemId または MenuItem.menuAddOnId のいずれかのリファレンスのみを使用してください。

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

parentMenuItemOptionId リスト <ReverseReference>

この MenuSection エンティティに対応する親 MenuItemOption エンティティの @id 値のリスト。

重要: parentMenuItemOptionId または MenuItemOption.menuAddOnId のいずれかのリファレンスのみを使用してください。

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

eligibleQuantityMax Integer

[アドオン] セクションで選択できるアドオンの最大数。

例: 5

eligibleQuantityMin Integer

[アドオン] セクションで選択するアドオンの最小数。

例: 1

defaultItemId <String>

アドオン MenuSection 内のユーザーに対してデフォルトで選択される MenuItem エンティティを参照する @id のリスト。最終的な選択はユーザーが変更できます。defaultItemId が指定されていない場合、MenuItem は選択されていません。

例: [ "item1", "item2" ]

availabilityId <String>

メニュー セクションが利用可能になったときの詳細を提供する Availability エンティティの @id 値。

例: [ "menu_availability_1" ]

numberOfFreeAddOns Integer

ユーザーが料金なしで選択できるアドオンの数を示します。[アドオン メニュー] のセクションでのみ有効です。

例: 3

dateModified ISO タイムスタンプ

ISO タイムスタンプ形式(String 型)の MenuSection エンティティ フィードの最終更新日時。

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

applicableServiceType リスト <ServiceType>

この MenuSection が適用されるサービス。デフォルトでは、すべてに MenuSection が適用されると想定されています。

offeredById <String>

この MenuSection が使用できる Restaurant エンティティの @id 値。デフォルトでは、MenuSection がすべてのロケーションで利用できることを前提としています。

例: [ "restaurant_id_1", "restaurant_id_55" ]

次の例は、MenuSection 要素を示しています。

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

取り扱い

実装する省略可能なエンティティ。MenuSection エンティティが提供される期間を記述します。

次の表に、Availability タイプのプロパティを示します。

プロパティ タイプ 説明
@type 長所

必須。

値: Availability

@id 文字列

必須。

メニュー セクションの在庫状況を表すエンティティの一意の識別子。

例: menu_section_avail_1

availabilityStarts ISO 時間(現地)

メニュー セクションの在庫状況が有効である開始時間を示す ISO タイムスタンプ。

例: T00:00

availabilityEnds ISO 時間(現地)

終了時間がメニュー セクションが利用可能でない時間を示す ISO タイムスタンプ。

例: T16:00

availableDay リスト <DayOfWeek>

メニュー セクションの在庫状況が有効である曜日のリスト。

例: [ "MONDAY", "TUESDAY" ]

validFrom ISO タイムスタンプ

ISO メニュー タイムスタンプ(メニュー欄が利用可能になる開始時刻)。

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

validThrough ISO タイムスタンプ

終了時間がメニュー セクションが利用可能でない時間を示す ISO タイムスタンプ。

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

dateModified ISO タイムスタンプ

Availability エンティティ フィードの最終更新日時(ISO タイムスタンプ形式)。ただし、文字列型。

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

次の例は、Availability 要素を示しています。

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

実装するエンティティ。Menu エンティティのアイテムを記述します。

次の表に、MenuItem タイプのプロパティを示します。

プロパティ タイプ 説明
@type 長所

必須。

値: MenuItem

@id 文字列

必須。

メニュー アイテムの一意の識別子。

例: menu_item_1

name 文字列

必須。

ユーザーがメニューをブラウジングしているときに MenuItem を識別できるテキスト。

例: Foo

description 文字列

メニュー項目の説明。

例: Foo

image URL

メニュー項目の画像の URL。

例: http://someprovider.com/someimage

parentMenuSectionId リスト <ReverseReference>

この MenuItem エンティティに対応する親 MenuSection エンティティの @id 値のリスト。

重要: parentMenuSectionId または MenuSection.menuItemId のいずれかのリファレンスのみを使用してください。

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

menuAddOnId <String>

この MenuItem エンティティに対応するアドオン セクションの MenuSection エンティティの @id 値のリスト。

重要: menuAddOnId または MenuSection.parentMenuItemId のいずれかのリファレンスのみを使用してください。

例: menu_addon_1

nutrition NutritionInformation

料理の栄養情報です。とりわけカロリーが重要です。

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

allergen リスト <Allergen>

この MenuItem のアレルゲン。

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

additive リスト <Additive>

この MenuItem の追加。

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

suitableDiet リスト <RestrictedDiet>

料理が記載の食事制限に適合している。

例: [ "DIABETIC", "GLUTEN_FREE" ]

depositInfo DepositInfo

この MenuItem のパッケージングとリサイクルに関する情報。

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

numberOfServings Integer

特定のメニュー項目で利用可能な提供数。

例: 2

dateModified ISO タイムスタンプ

ISO タイムスタンプ形式(String 型)の MenuItem エンティティ フィードの最終更新日時。

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

次の例は、MenuItem 要素を示しています。

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

実装する省略可能なエンティティ。料理またはセットを選ぶ際にユーザーが行う必要のある選択を説明する。ユーザーはオプションを選択する必要があります。選択しない場合、注文は無効とみなされます(例: ピザの小、中、大のいずれかを選択)。

次の表に、MenuItemOption タイプのプロパティを示します。

プロパティ タイプ 説明
@type 長所

値: MenuItemOption

@id 文字列

必須。

メニュー項目オプションの一意の識別子。

例: menu_item_1_option

menuItemId ReverseReference

必須。

MenuItem エンティティの @id 値は、この MenuItemOption エンティティと相関関係があります。

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

optionType OptionType

メニュー項目のオプションが、サイズ、オプション、またはピザ側のどちらで分類されているかを示す文字列。有効な値は「SIZE」、「OPTION」、「PIZZA_SIDE」です。"SIZE": MenuItemOption のサイズ。(小、中、大など)。「OPTION」: サイズ以外のバリエーション(サラダやサンドイッチの一品など)。「SIZE」と「OPTION」を区別できない場合は「OPTION」を使用します。"PIZZA_SIDE": ピザ専用: この MenuItemOption の例は、ピザの一部のみに限り有効です(例: 左側にマッシュルーム トッピング、右側にピザを入れる、ピザ全体)。

例: SIZE

value 文字列または PizzaSide

optionType is defined の場合は必須。

文字列値または列挙値。列挙値は PIZZA_SIDE オプション型に固有のものです。

applicableParentOptionValue 文字列

このオプションを利用できる親アイテムのオプション値の値を含む文字列。

例: Small

menuAddOnId <String>

この MenuItemOption エンティティに対応するアドオン セクションの MenuSection エンティティの @id 値のリスト。

重要: menuAddOnId または MenuSection.parentMenuItemId のいずれかのリファレンスのみを使用してください。

例: menuAddOnId

nutrition NutritionInformation

料理の栄養情報です。とりわけカロリーが重要です。

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

allergen リスト <Allergen>

この MenuItem のアレルゲン。

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

additive リスト <Additive>

この MenuItem の追加。

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

depositInfo DepositInfo

この MenuItem のパッケージとリサイクルに関する情報。

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

numberOfServings Integer

特定のメニュー項目オプションで使用可能なサービングの数。

例: 2

dateModified ISO タイムスタンプ

ISO タイムスタンプ形式の String 型の MenuItemOption エンティティ フィードの最終更新日時。

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

次の例は、MenuItemOption 要素を示しています。

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

実装するエンティティ。MenuItem または MenuItemOption エンティティのクーポンについて記述します。

次の表に、MenuItemOffer タイプのプロパティを示します。

プロパティ タイプ 説明
@type 長所

必須。

値: MenuItemOffer

@id 文字列

必須。

メニュー アイテムのオファーを一意に識別する ID。

例: menu_item_offer

sku 文字列

必須。

メニュー アイテムのオファーの識別子。複数のメニュー項目の特典エンティティで、SKU の値が異なる場合があります。SKU 値は、API 呼び出しが行われたときに順番に設定されます。

例: Menu_item_offer_sku

price Number

必須。

メニュー項目の特典の価格。

例: 2.5

priceCurrency 文字列

必須。

3 文字の ISO 4217 通貨コードを指定します。

例: USD

availabilityId <String>

メニュー項目が利用可能になったときに関する詳細情報を提供する Availability エンティティの @id 値。

例: [ "menu_availability_1" ]

eligibleQuantityMin Number

MenuItemOffer が有効な最低注文数量。

例: 1

eligibleQuantityMax Number

MenuItemOffer が最大有効注文する数量。

例: 25

inventoryLevel Number

この MenuItemOffer に対応する 1 つまたは複数のアイテムの現在のおおよその在庫レベルです。

例: 10

dateModified ISO タイムスタンプ

ISO タイムスタンプ形式(String 型)の MenuItemOffer エンティティ フィードの最終更新日時。

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

applicableServiceType リスト <ServiceType>

この MenuItemOffer が適用されるサービス。デフォルトでは、すべてに MenuItemOffer が適用されると想定されています。

offeredById <String>

この MenuItemOffer が使用できる Restaurant エンティティの @id 値。デフォルトでは、MenuItemOffer がすべてのロケーションで利用できることを前提としています。

例: [ "restaurant_id_5", "restaurant_id_26" ]

次のプロパティ グループのいずれか 1 つのみが必要です。
menuItemId グループ 1 文字列

MenuItem エンティティの @id 値は、この MenuItemOffer エンティティと相関関係があります。

例: menu_item_1

menuItemOptionId グループ 2 文字列

MenuItemOption エンティティの @id 値は、この MenuItemOffer エンティティと相関関係があります。

例: menu_item_option_1

次の例は、MenuItemOffer 要素を示しています。

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

一般的な

リバース リファレンス

次の表に、ReverseReference タイプのプロパティを示します。

プロパティ タイプ 説明
@id 文字列

必須。

親エンティティの @id。

displayOrder Integer

必須。

親項目内のアイテムの表示順。

栄養成分情報

次の表に、NutritionInformation タイプのプロパティを示します。

プロパティ タイプ 説明
description 文字列

自由回答形式の栄養情報です。例: 「保存料配合」

calories 文字列

kcal、kcal、kJ 単位までのカロリー数。値 Cal または min-max Cal の形式

例: 120.34 Cal

sodiumContent 文字列

ナトリウムの mg または g の数(値: g、min-max g)

例: 1200 mg

次の例は、NutritionInformation 要素を示しています。

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

アレルゲン

次の表に、Allergen タイプのプロパティを示します。

プロパティ タイプ 説明
allergenType AllergenType

必須。

アレルゲンの種類

levelOfContainment ContainmentLevel

メニュー項目の特定のアレルゲンのレベル。

次の例は、Allergen 要素を示しています。

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

モデリング

次の表に、Additive タイプのプロパティを示します。

プロパティ タイプ 説明
additiveName 文字列

必須。

添加剤の名前。

levelOfContainment ContainmentLevel

メニュー項目内の特定の添加物のレベル。

次の例は、Additive 要素を示しています。

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

入金

次の表に、DepositInfo タイプのプロパティを示します。

プロパティ タイプ 説明
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