Relationales Inventarschema

Auf dieser Seite wird das Format für die End-to-End-Bestelldatenfeeds (Food Catalog Specification) beschrieben, die Sie Google zur Verfügung stellen. Eine maschinenlesbare Version dieser Informationen können Sie als JSON-Schema herunterladen.

Allgemeine Anforderungen

Entitäten müssen so strukturiert sein, dass in den Feeds eine Zeile pro Entität vorhanden ist. Entitäten werden durch Zeilenumbruchzeichen getrennt. Aus Gründen der Lesbarkeit folgen die JSON-Beispiele auf dieser Seite nicht dieser Struktur. Sie müssen diese Struktur jedoch beim Senden Ihrer Feeds einhalten. Ein Menüelement muss beispielsweise so strukturiert sein:

{"@type": "Menu","name": "Coffee Shop A","@id": "1535"}

Jede „Restaurant“-Entität kann zwei „Service“-Entitäten haben (je eine für die Dienstleistungstypen „DELIVERY“ und „TAKEOUT“). Jede „Service“-Entität darf nur eine „Menu“-Entität haben.

Alle untergeordneten Entitäten können für mehrere Restaurants wiederverwendet werden.

Richtlinien für JSON-Werte

Typumwandlung

Der Typ eines JSON-Werts kann sich vom im Schema definierten Typ unterscheiden, solange der Wert in den erforderlichen Typ umgewandelt werden kann. Stringeigenschaften können beispielsweise sowohl Strings als auch Ganzzahlwerte als Eingabe akzeptieren. Ähnlich können für Ganzzahleigenschaften Stringwerte verwendet werden, solange der String in eine gültige Ganzzahl geparst werden kann.

Die Typumwandlung funktioniert auch für wiederkehrende Properties. Für wiederholte Properties können Werte als Eingabe akzeptiert werden, ohne in Klammern [] eingeschlossen zu sein. Für das Attribut OperationHours.serviceId sind beispielsweise sowohl "service_id" als auch ["service_id"] als gültige Eingaben zulässig.

Datums- und Uhrzeitwerte

DateTime basiert auf dem schema.org-Typ und muss, sofern nicht anders angegeben, dem ISO 8601-Format entsprechen und das Datum, die Uhrzeit und die Zeitzone enthalten. Verwenden Sie für DateTime die folgende Syntax:

// DateTime format:
YYYY-MM-DDTHH:MM:SS[∓HH:MM|Z]

Beispiel:

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 ist die Ortszeit für die Zeitzone eines bestimmten Restaurants oder Dienstleistungsorts. Sie basiert ebenfalls auf dem schema.org-Typ und muss dem ISO 8601-Format entsprechen. Für die Zeit wird die folgende Syntax verwendet:

// Time format:
THH:MM:SS

Beispiel:

T08:08:00 // 8:08 AM

Beachten Sie Folgendes, wenn Sie DateTime oder Time angeben:

  • Das Präfix „T“ vor der Uhrzeit ist Teil des Formats und erforderlich.
  • Die Zeitzone muss für DATETIME angegeben werden. Für TIME ist das nicht erforderlich.
  • Die Uhrzeit muss in der Ortszeit des Restaurants oder des Dienstes angegeben werden.

Restaurantdaten

Restaurant (erforderlich)

Eine erforderliche Entität, die implementiert werden muss. Beschreibt ein Restaurant.

In der folgenden Tabelle sind die Properties für den Typ Restaurant aufgeführt:

Attribut Typ Beschreibung
@type Const

Erforderlich.

Wert: Restaurant

@id String

Erforderlich.

Eine eindeutige Kennung des Restaurants oder Lieferservice.

Beispiel: restaurant_1

name String

Erforderlich.

Name des Restaurants.

Beispiel: Foo

description String

Eine Beschreibung des Restaurants.

Beispiel: Best seafood in town

url URL

Die URL des Restaurants. Die Restaurantdomain wird gegenüber der Aggregatordomain bevorzugt.

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

sameAs URL

Die offizielle Website des Restaurants.

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

telephone String

Telefonnummer des Restaurants.

Beispiel: +12345665898

streetAddress String

Erforderlich.

Die Adresse des Restaurants.

Beispiel: 12345 Bar Avenu

addressLocality String

Erforderlich.

Der Ort oder die Stadt.

Beispiel: San Francisco

addressRegion String

Erforderlich.

Die Region oder der Bundesstaat.

Beispiel: CA

postalCode String

Erforderlich.

Die Postleitzahl.

Beispiel: 94124

addressCountry String

Erforderlich.

Zweistelliger Ländercode nach ISO 3166-1 Alpha-2.

Beispiel: US

latitude Number

Breitengrad in Grad Die Werte sind auf den Bereich [[-90, 90]] beschränkt. Er muss mit einer Genauigkeit von mindestens fünf Nachkommastellen angegeben werden.

Beispiel: 35.7392607

longitude Number

Längengrad in Grad Die Werte sind auf den Bereich [[-180, 180]] beschränkt. Er muss mit einer Genauigkeit von mindestens fünf Nachkommastellen angegeben werden.

Beispiel: -120.3895522

dealId List<String>

Gültige Deals des Restaurants.

imprint String

Der Impressumsbereich eines Restaurants enthält zusätzliche Informationen zum Restaurant, z. B. den rechtsgültigen Namen, die Anschrift und die Registrierungsnummer. Diese Informationen können mit „ “ formatiert werden.

Beispiel:

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

Commercial Register: 123456789

economicOperator String

Informationen zum wirtschaftlichen Betreiber des Restaurants, sofern zutreffend. Diese Informationen werden im Abschnitt „Informationen zum Händler“ angezeigt. Text kann mit „ “ formatiert werden.

Beispiel:

XYZ Corp
123 Main Street
555-555-5555

dateModified ISO-Zeitstempel

Datum und Uhrzeit der letzten Änderung des Feeds mit Restaurant-Entitäten im ISO-Zeitstempelformat, aber vom Typ „String“.

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

Das folgende Beispiel zeigt ein Restaurant-Element:

Beispiel

{
  "@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

Rabatttypen, die auf einen Einkaufswagen angewendet werden können.

In der folgenden Tabelle sind die Properties für den Typ Deal aufgeführt:

Attribut Typ Beschreibung
@type Const

Erforderlich.

Wert: Deal

@id String

Erforderlich.

Eine eindeutige Kennzeichnung des Angebots.

Beispiel: FREEDELIVERY

dealCode String

Erforderlich.

Eindeutige Deal-ID pro Deal und pro Partner. Diese ID muss den Deal in Ihrem Angebotssystem eindeutig identifizieren. Google sendet Ihnen diese Kennung zur Bestätigung im Feld promotions.coupon einer CheckoutRequest.

Beispiel: ADETRE23

applicableServiceType List<ServiceType>

Der Dienst, auf den sich dieses Angebot bezieht. Standardmäßig wird davon ausgegangen, dass das Angebot für alle gilt.

eligibleMaxOrders Ganzzahl

Dieses Angebot ist nur dann gültig, wenn der Nutzer weniger oder genau diese Anzahl erfolgreicher Bestellungen hat.

availabilityId List<String>

Die @id-Werte der Verfügbarkeits-Entitäten, die angeben, wann der Menübereich verfügbar ist.

Beispiel: [ "availability_1" ]

isDisabled Boolesch

Dadurch werden andere Gültigkeitsprüfungen überschrieben.

dealType DealType

Erforderlich.

Kategorie des Angebots, auf das der Rabatt angewendet werden soll. Die Kategorie kann der Gesamtbetrag des Einkaufswagens, Servicegebühren oder Liefergebühren sein.

priceCurrency String

Erforderlich, wenn discount is defined.

Erforderlich, wenn eligibleTransactionVolumeMin is defined.

Währung (im dreistelligen ISO 4217-Format) des Rabatts.

Beispiel: USD

eligibleTransactionVolumeMin Number

Transaktionsvolumen in einer Währung, für die dieses Angebot gilt.

termsOfServiceUrl URL

Erforderlich.

Eine für Menschen lesbare Dokumentation der Nutzungsbedingungen.

dateModified ISO-Zeitstempel

Datum und Uhrzeit der letzten Änderung des Feeds mit Angebotselementen im ISO-Zeitstempelformat, aber vom Typ „String“.

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

Es ist genau eine der folgenden Gruppen von Properties erforderlich.
discount Gruppe 1 Number

Der Wert des Rabatts als Zahl.

discountPercentage Gruppe 2 Number

Der Wert des Rabatts als Prozentsatz des ursprünglichen Preises.

Das folgende Beispiel zeigt ein Deal-Element:

Beispiel 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"
}

Beispiel 2

{
  "@type": "Deal",
  "@id": "10PERCOFF",
  "dealCode": "10PERCOFF",
  "dealType": "CART_OFF",
  "availabilityId": [
    "availability_weekdays_evening"
  ],
  "termsOfServiceUrl": "http://www.provider.com/deal",
  "discountPercentage": 10,
  "priceCurrency": "USD"
}

Beispiel 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"
}

Dienstdaten

Dienst (erforderlich)

Hier werden die Details zum Bestellservice für ein Restaurant beschrieben. Service ist eine erforderliche Entität.

In der folgenden Tabelle sind die Properties für den Typ Service aufgeführt:

Attribut Typ Beschreibung
@type Const

Erforderlich.

Wert: Service

@id String

Erforderlich.

Kennung für den Fulfillment-Dienst.

Beispiel: service_1

serviceType ServiceType

Erforderlich.

Die Art der angebotenen Dienstleistung. Mögliche Werte sind „DELIVERY“ oder „TAKEOUT“.

Beispiel: DELIVERY

restaurantId String

Erforderlich.

Der @id-Wert der Restaurant-Entität, der mit dieser Dienstleistungs-Entität verknüpft ist.

Beispiel: restaurant_1

menuId String

Erforderlich.

Der @id-Wert der Menü-Entität, der mit dieser Dienstleistungs-Entität verknüpft ist.

Beispiel: menu_1

dateModified ISO-Zeitstempel

Datum und Uhrzeit der letzten Änderung des Feeds mit Dienstentitäten im ISO-Zeitstempelformat.

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

isDisabled Boolesch

Gibt an, ob die Entität deaktiviert ist. Verwenden Sie diesen Typ nur, wenn Sie die Entität aufgrund eines unerwarteten Ereignisses deaktivieren müssen und nicht wissen, wann der Dienst wiederhergestellt wird. Verwenden Sie ihn beispielsweise nicht für Feiertage.

Beispiel: true

servingConfig ServingConfig

Bereitstellungskonfiguration für den Dienst, mit der verschiedene Funktionen gesteuert werden, z. B. das Deaktivieren des Angebots-Widgets.

actionLinkUrl String

Enthält eine URL für einen Liefer-/Abholservice, die während der Migration von der End-to-End-Bestellfunktion zur Weiterleitung verwendet wird.

Das folgende Beispiel zeigt ein Service-Element:

Beispiel 1

{
  "@type": "Service",
  "@id": "10824/takeout",
  "serviceType": "TAKEOUT",
  "menuId": "10824",
  "restaurantId": "10824",
  "actionLinkUrl": "https://www.rwgpartnerwebsite.com/foodorderpickup/merchant_foepa_3"
}

Beispiel 2

{
  "@type": "Service",
  "@id": "10824/delivery",
  "serviceType": "DELIVERY",
  "menuId": "10824",
  "restaurantId": "10824",
  "actionLinkUrl": "https://www.rwgpartnerwebsite.com/foodorderdelivery/merchant_foepa_3"
}

ServiceArea

Beschreibt die Region, in der Lebensmittel geliefert werden können. Diese Entität muss implementiert werden, wenn für die zugehörige Service-Entität serviceType auf „DELIVERY“ (LIEFERUNG) festgelegt ist.

In der folgenden Tabelle sind die Properties für den Typ ServiceArea aufgeführt:

Attribut Typ Beschreibung
@type Const

Erforderlich.

Wert: ServiceArea

@id String

Erforderlich.

Eine eindeutige Kennung des Servicebereichs.

Beispiel: service_area_1

serviceId List<String>

Erforderlich.

Der @id-Wert der Service-Entität, die mit dieser ServiceArea-Entität verknüpft ist.

Beispiel: [ "service_1" ]

dateModified ISO-Zeitstempel

Datum und Uhrzeit der letzten Änderung des Feeds mit Servicearea-Entitäten im ISO-Zeitstempelformat, aber vom Typ String.

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

exclude Boolesch

Schließen Sie dieses Einzugsgebiet von der gesamten Lieferregion aus. So kann beispielsweise eine Postleitzahl aus einem größeren Polygonbereich ausgeschlossen werden.

Es ist genau eine der folgenden Gruppen von Properties erforderlich.
polygon Gruppe 1 List<String>

Ein Polygon oder Multipolygon, das durch eine Reihe von drei oder mehr durch Leerzeichen getrennten Punkten ausgedrückt wird. Es wird empfohlen, dass der erste und der letzte Punkt identisch sind. Dies ist jedoch nicht erforderlich. Jeder Punkt in einem Polygon oder Multipolygon wird durch einen Breitengradpunkt gefolgt von einem Längengradpunkt definiert. Außerdem müssen Sie die Punkte gegen den Uhrzeigersinn angeben.

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

geoMidpointLatitude Gruppe 2 Number

Gibt die Breitengradkoordinate des Mittelpunkts des CIRCLE-Bereichs an.

Beispiel: 37.806000

geoMidpointLongitude Gruppe 2 Number

Gibt die Längengradkoordinate des Mittelpunkts des CIRCLE-Bereichs an.

Beispiel: -122.425592

geoRadius Gruppe 2 Ganzzahl

Gibt den ungefähren Radius (in Metern) des CIRCLE-Bereichs an.

Beispiel: 10000

postalCode Gruppe 3 String

Die Postleitzahl.

Beispiel: 91234

addressCountry Gruppe 3 String

Der aus zwei Buchstaben bestehende Ländercode nach ISO 3166-1 Alpha-2

Beispiel: US

Das folgende Beispiel zeigt ein ServiceArea-Element:

Beispiel

{
  "@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 (erforderlich)

Beschreibt den Bestellzeitraum, in dem Nutzer auf den Ablauf zugreifen und sofort oder in Zukunft Bestellungen aufgeben können. Die Implementierung von OperationHours ist erforderlich. Standardmäßig wird angegeben, dass der Betrieb an allen Tagen rund um die Uhr möglich ist.

Mit den Attributen OperationHours opens und closes werden die Öffnungszeiten des Onlinesystems angegeben, über das Nutzer Bestellungen aufgeben können. Geben Sie innerhalb dieser Online-Systemzeiten mit ServiceHours die Öffnungszeiten an, zu denen Bestellungen von Nutzern ausgeführt werden können.

Die Zeiten müssen in der Ortszeit für den Dienst angegeben werden. Fügen Sie einem opens-Wert keine Zeitzone hinzu. Wenn eine Zeitzone angegeben ist, ignoriert Google diese Informationen. Weitere Informationen finden Sie unter Datums-/Uhrzeitformate.

In der folgenden Tabelle sind die Properties für den Typ OperationHours aufgeführt:

Attribut Typ Beschreibung
@type Const

Erforderlich.

Wert: OperationHours

@id String

Erforderlich.

Eine eindeutige Kennung für die Entität, die das Bestellfenster beschreibt, über das Nutzer auf den Ablauf zugreifen und sofort oder in Zukunft Bestellungen aufgeben können.

Beispiel: operation_hour_1

serviceId List<String>

Erforderlich.

Der @id-Wert der Service-Entität, der mit dieser Entität „Geschäftszeiten“ verknüpft ist.

Beispiel: [ "service_1" ]

opens ISO-Zeit (lokal)

Gibt die Uhrzeit im ISO-Format an, ab der Bestellungen von Nutzern aufgegeben werden können.

Beispiel: T00:00

closes ISO-Zeit (lokal)

Gibt die Uhrzeit im ISO-Format an, nach der Bestellungen von Nutzern nicht mehr aufgegeben werden können.

Beispiel: T16:00

dayOfWeek List<DayOfWeek>

Eine Liste der Wochentage, für die diese Öffnungszeiten gelten. Zulässige Werte sind „MONDAY“, „TUESDAY“, „WEDNESDAY“, „THURSDAY“, „FRIDAY“, „SATURDAY“ und „SUNDAY“.

Beispiel: [ "MONDAY", "TUESDAY" ]

validFrom ISO-Zeitstempel

Erforderlich, wenn isSpecialHour = true.

Ein ISO-Zeitstempel, der den Beginn des Bestellzeitraums angibt, in dem Nutzer auf den Bestellvorgang zugreifen und sofort oder in Zukunft Bestellungen aufgeben können.

Beispiel: 2017-01-01T00:00:00-07:00

validThrough ISO-Zeitstempel

Erforderlich, wenn isSpecialHour = true.

Ein ISO-Zeitstempel, der das Ende des Bestellzeitraums angibt, nach dem Nutzer nicht mehr auf den Ablauf zugreifen und ASAP-/zukünftige Bestellungen aufgeben können.

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

isSpecialHour Boolesch

Ein boolescher Wert, der angibt, ob die Öffnungszeiten für spezielle Öffnungszeiten gelten. Zulässige Werte sind „false“ und „true“.

Beispiel: False

dateModified ISO-Zeitstempel

Datum und Uhrzeit der letzten Änderung des Feeds mit den Öffnungszeiten im ISO-Zeitstempelformat, aber vom Typ „String“.

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

Das folgende Beispiel zeigt ein OperationHours-Element:

Beispiel 1

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

Beispiel 2

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

ServiceHours (erforderlich)

Beschreibt das Erfüllungszeitraum, in dem Nutzer Erfüllungsslots auswählen können (sofort oder zukünftige Slots). Die Implementierung von ServiceHours ist erforderlich.

Mit den Attributen OperationHours opens und closes werden die Öffnungszeiten des Onlinesystems angegeben, über das Nutzer Bestellungen aufgeben können. Geben Sie innerhalb dieser Online-Systemzeiten mit ServiceHours die Öffnungszeiten an, zu denen Bestellungen von Nutzern ausgeführt werden können.

Die Zeiten müssen in der Ortszeit für den Dienst angegeben werden. Fügen Sie einem opens-Wert keine Zeitzone hinzu. Wenn eine Zeitzone angegeben ist, ignoriert Google diese Informationen. Weitere Informationen finden Sie unter Datums-/Uhrzeitformate.

In der folgenden Tabelle sind die Properties für den Typ ServiceHours aufgeführt:

Attribut Typ Beschreibung
@type Const

Erforderlich.

Wert: ServiceHours

@id String

Erforderlich.

Eine eindeutige Kennung der Entität, die das Erfüllungszeitraum beschreibt, in dem Nutzer Erfüllungsslots auswählen können, z.B. so bald wie möglich oder zukünftige Zeiträume.

Beispiel: service_hour_1

orderType OrderType

Erforderlich.

Ein String, der angibt, ob die Öffnungszeiten für ASAP- oder Vorabbestellungen gelten. Zulässige Werte sind „ASAP“ und „ADVANCE“.

Beispiel: ASAP

serviceId List<String>

Erforderlich.

Der @id-Wert der Dienstentität, der mit dieser ServiceHours-Entität verknüpft ist.

Beispiel: [ "service_1" ]

operationHoursId List<String>

Erforderlich, wenn isSpecialHour = false.

Der @id-Wert der Entität „OperationHours“, die mit dieser Entität „ServiceHours“ verknüpft ist.

Beispiel: [ "operation_hour_1" ]

opens ISO-Zeit (lokal)

Gibt die Uhrzeit im ISO-Format an, ab der Bestellungen von Nutzern ausgeführt werden können.

Beispiel: T00:00

closes ISO-Zeit (lokal)

Gibt die Uhrzeit im ISO-Format an, nach der Bestellungen von Nutzern nicht mehr ausgeführt werden können.

Beispiel: T16:00

dayOfWeek List<DayOfWeek>

Eine Liste der Wochentage, für die diese Öffnungszeiten gelten.

Beispiel: [ "MONDAY", "TUESDAY" ]

validFrom ISO-Zeitstempel

Erforderlich, wenn isSpecialHour = true.

Ein ISO-Zeitstempel, der den Beginn des Bestellzeitraums angibt, in dem Nutzer auf den Bestellvorgang zugreifen und sofort oder in Zukunft Bestellungen aufgeben können.

Beispiel: 2017-01-01T00:00:00-07:00

validThrough ISO-Zeitstempel

Erforderlich, wenn isSpecialHour = true.

Ein ISO-Zeitstempel, der das Ende des Bestellzeitraums angibt, nach dem Nutzer nicht mehr auf den Ablauf zugreifen und ASAP-/zukünftige Bestellungen aufgeben können.

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

isSpecialHour Boolesch

Ein boolescher Wert, der angibt, ob die Öffnungszeiten für spezielle Öffnungszeiten gelten. Zulässige Werte sind „false“ und „true“.

Beispiel: False

leadTimeMin Ganzzahl

Geschätzte Mindestliefer-/Abholzeit in Minuten nach der Bestellung. Wir empfehlen dringend, diese Property festzulegen.

Beispiel: 60

leadTimeMax Ganzzahl

Maximale geschätzte Liefer-/Abholzeit in Minuten nach der Bestellung. Wir empfehlen dringend, diese Property festzulegen.

Beispiel: 70

advanceBookingRequirementMin Ganzzahl

Erforderlich, wenn orderType = "ADVANCE".

Die Mindestanzahl von Minuten nach der Bestellzeit, nach der die Vorbestellung ausgeführt werden kann. Wenn eine Vorbestellung beispielsweise mindestens 60 Minuten in Anspruch nimmt, ist „advanceBookingRequirementMin“ 60.

Beispiel: 15

advanceBookingRequirementMax Ganzzahl

Erforderlich, wenn orderType = "ADVANCE".

Die maximale Anzahl von Minuten nach der Bestellzeit, innerhalb derer die Vorbestellung ausgeführt werden kann. Wenn eine Vorbestellung beispielsweise nicht später als 2 Tage nach der Bestellung ausgeführt werden darf, ist der Wert für „advanceBookingRequirementMax“ 2880.

Beispiel: 10080

advanceBookingSlotInterval String

Erforderlich, wenn orderType = "ADVANCE".

Intervall zwischen zwei aufeinanderfolgenden Zeiträumen für die Vorausbuchung. Beispiel: Wenn die Öffnungszeiten 8:00 Uhr und 20:00 Uhr sind und das Intervall für die Vorreservierung 15 Minuten beträgt, kann der Nutzer die Erfüllungszeiten 8:00 Uhr, 8:15 Uhr, 8:30 Uhr, 8:45 Uhr usw. bis 20:00 Uhr auswählen. Die Dauer muss als ISO-Zeitraumdauer angegeben werden. Beispiel: „PT15M“ steht für Intervalle von 15 Minuten.

Beispiel: PT15M

dateModified ISO-Zeitstempel

Datum und Uhrzeit der letzten Änderung des Feeds mit ServiceHours-Entitäten im ISO-Zeitstempelformat, aber mit dem Typ „String“.

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

Das folgende Beispiel zeigt ein ServiceHours-Element:

Beispiel 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"
}

Beispiel 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
}

Gebühr

Beschreibt eine Gebühr. Wenn für die zugehörige Service-Entität serviceType auf „DELIVERY“ festgelegt ist, ist eine Fee mit feeType auf „DELIVERY“ erforderlich.

In der folgenden Tabelle sind die Properties für den Typ Fee aufgeführt:

Attribut Typ Beschreibung
@type Const

Erforderlich.

Wert: Fee

@id String

Erforderlich.

Eine eindeutige Kennung der Entität, die die Gebühr beschreibt.

Beispiel: service_fee_1

serviceId List<String>

Erforderlich.

Der @id-Wert der Dienstentität, der mit dieser Gebührenentität verknüpft ist.

Beispiel: [ "service_1" ]

feeType FeeType

Erforderlich.

Ein String, der angibt, ob die Gebühr für Liefer- oder Dienstleistungsaufträge gilt. Zulässige Werte sind „DELIVERY“ und „SERVICE“.

Beispiel: DELIVERY

priceCurrency String

Erforderlich.

Der dreistellige ISO 4217-Währungscode.

Beispiel: USD

basePrice Number

Grundpreis der Gebühr, gilt, wenn percentageOfCart oder pricePerMeter verwendet wird.

Beispiel: 2.0

minPrice Number

Mindestgebühr, begrenzt den Gebührenwert, wenn percentageOfCart oder pricePerMeter verwendet wird.

Beispiel: 2.0

maxPrice Number

Max. Gebühr: Der Gebührenwert wird begrenzt, wenn percentageOfCart oder pricePerMeter verwendet wird.

Beispiel: 10.0

eligibleRegion List<String>

Die @id der ServiceArea für die geografisch-politischen Regionen, für die die Gebühr gilt. Verwenden Sie diese Property nur, wenn die Liefergebühren je nach Region variieren.

Beispiel: [ "service_area_1" ]

eligibleTransactionVolumeMin Number

Das Mindesttransaktionsvolumen in einer Währungseinheit, für das diese Gebührenspezifikation gilt.

Beispiel: 50

eligibleTransactionVolumeMax Number

Das maximale Transaktionsvolumen in einer Währungseinheit, für das diese Gebührenspezifikation gilt. Die Gebühr fällt beispielsweise nicht an, wenn ein bestimmtes Bestellvolumen überschritten wird.

Beispiel: 10

validFrom ISO-Zeitstempel

Ein ISO-Zeitstempel, der den Beginn der Gültigkeit der Gebühr angibt.

Beispiel: 2017-01-01T00:00:00-07:00

validThrough ISO-Zeitstempel

Ein ISO-Zeitstempel, der die Endzeit angibt, nach der die Gebühr ungültig ist.

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

dateModified ISO-Zeitstempel

Datum und Uhrzeit der letzten Änderung des Feeds mit Gebührenelementen im ISO-Zeitstempelformat, aber vom Typ „String“.

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

priority Number

Ein positiver Wert ungleich Null. Wenn für den Einkaufswagen des Nutzers mehr als eine Gebühr gilt, hat die Gebühr mit der höchsten Priorität Vorrang vor den niedrigeren Gebühren. Wenn dieses Feld angegeben ist, hat die Priorität immer Vorrang vor einer berechneten Priorität.

Beispiel: 3

Es ist genau eine der folgenden Gruppen von Properties erforderlich.
price Gruppe 1 Number

Preis der Gebühr. Wenn der Preis nicht fest ist, können anstelle von „price“ die Werte „minPrice“ und „maxPrice“ angegeben werden.

Beispiel: 1.5

percentageOfCart Gruppe 2 Number

Gebühr als Prozentsatz des Warenkorbwerts. Zulässig sind Gleitkommawerte zwischen 0 und 100.

Beispiel: 9.00

pricePerMeter Gruppe 3 Number

Gebühr pro Meter für die radiale Entfernung vom Nutzer. Wenn die Entfernung zum Nutzer beispielsweise 5 km beträgt und der Preis 0,001 $beträgt, beträgt die Nutzergebühr 5 $.

Beispiel: 0.001

Das folgende Beispiel zeigt ein Fee-Element:

Beispiel 1

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

Beispiel 2

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

Beispiel 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
}

Beispiel 4

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

Beispiel 5

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

Eine erforderliche Entität, die implementiert werden muss. Beschreibt ein Menü.

In der folgenden Tabelle sind die Properties für den Typ Menu aufgeführt:

Attribut Typ Beschreibung
@type Const

Erforderlich.

Wert: Menu

@id String

Erforderlich.

Eine eindeutige Kennung des Menüs.

Beispiel: menu_1

name String

Der Text, der das Menü identifizieren kann, wenn ein Nutzer das Menü durchsucht.

Beispiel: Foo

disclaimer String

Haftungsausschluss für das Menü. Dazu gehören beispielsweise die Offenlegung von Nährwertinformationen und Allergenen.

Beispiel: Items may contain peanuts.

disclaimerUrl URL

URL zu einer Seite mit weiteren Informationen zum Haftungsausschluss.

dateModified ISO-Zeitstempel

Datum und Uhrzeit der letzten Änderung des Feeds mit Menüelementen im ISO-Zeitstempelformat, aber vom Typ „String“.

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

Das folgende Beispiel zeigt ein Menu-Element:

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

Eine optionale Entität, die implementiert werden soll. Beschreibt einen bestimmten Bereich im Menü.

In der folgenden Tabelle sind die Properties für den Typ MenuSection aufgeführt:

Attribut Typ Beschreibung
@type Const

Erforderlich.

Wert: MenuSection

@id String

Erforderlich.

Eine eindeutige Kennung des Menübereichs.

Beispiel: menu_section_1

menuId List<ReverseReference>

Der @id-Wert der Menü-Entität, der mit dieser MenuSection-Entität verknüpft ist.

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

menuSectionId List<String>

Eine Liste der @id-Werte der untergeordneten MenuSection-Entitäten, die dieser MenuSection-Entität entsprechen.

Wichtig:Sie dürfen nur eine der Referenzen menuSectionId oder parentMenuSectionId(in child) verwenden.

Beispiel: [ "child_menu_section_1", "child_menu_section_2" ]

parentMenuSectionId List<ReverseReference>

Der @id-Wert der übergeordneten MenuSection-Entität, die mit dieser MenuSection-Entität verknüpft ist.

Wichtig:Sie dürfen nur eine der Referenzen parentMenuSectionId oder menuSectionId(in parent) verwenden.

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

name String

Erforderlich.

Der Text, der die MenuSection identifizieren kann, wenn ein Nutzer das Menü durchsucht.

Beispiel: Foo

description String

Eine Beschreibung des Menüabschnitts.

Beispiel: Example menu section description that helps users.

image URL

Die URL eines Bildes des Menübereichs.

Beispiel: https://provider.com/someimage

menuItemId List<String>

Eine Liste der @id-Werte der MenuItem-Entitäten, die dieser MenuSection-Entität entsprechen.

Wichtig:Sie dürfen nur eine der Referenzen menuItemId oder MenuItem.parentMenuSectionId verwenden.

Beispiel: [ "menu_item1", "menu_item2" ]

parentMenuItemId List<ReverseReference>

Eine Liste der @id-Werte der übergeordneten MenuItem-Entitäten, die dieser MenuSection-Entität entsprechen.

Wichtig:Sie dürfen nur eine der Referenzen parentMenuItemId oder MenuItem.menuAddOnId verwenden.

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

parentMenuItemOptionId List<ReverseReference>

Eine Liste der @id-Werte der übergeordneten MenuItemOption-Entitäten, die dieser MenuSection-Entität entsprechen.

Wichtig:Sie dürfen nur eine der Referenzen parentMenuItemOptionId oder MenuItemOption.menuAddOnId verwenden.

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

eligibleQuantityMax Ganzzahl

Die maximale Anzahl von Add-ons, die im Add-on-Bereich ausgewählt werden können.

Beispiel: 5

eligibleQuantityMin Ganzzahl

Die Mindestanzahl von Add-ons, die im Bereich „Add-ons“ ausgewählt werden sollten.

Beispiel: 1

defaultItemId List<String>

Eine Liste von @ids, die auf MenuItem-Entitäten verweisen, die standardmäßig für Nutzer im Add-on MenuSection ausgewählt werden sollen. Nutzer können die endgültigen Auswahlen ändern. Wenn „defaultItemId“ nicht angegeben ist, ist keine MenuItem-Option vorausgewählt.

Beispiel: [ "item1", "item2" ]

availabilityId List<String>

Die @id-Werte der Verfügbarkeits-Entitäten, die angeben, wann der Menübereich verfügbar ist.

Beispiel: [ "menu_availability_1" ]

numberOfFreeAddOns Ganzzahl

Gibt an, wie viele Add-ons ein Nutzer kostenlos auswählen kann. Nur gültig für Menüabschnitte für Add-ons.

Beispiel: 3

dateModified ISO-Zeitstempel

Datum und Uhrzeit der letzten Änderung des MenuSection-Entitätsfeeds im ISO-Zeitstempelformat, aber vom Typ „String“.

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

applicableServiceType List<ServiceType>

Der Dienst, auf den sich diese MenuSection bezieht. Standardmäßig wird davon ausgegangen, dass eine MenuSection für alle gilt.

offeredById List<String>

Die @id-Werte der Restaurant-Entitäten, unter denen diese MenuSection verfügbar ist. Standardmäßig wird davon ausgegangen, dass MenuSection an allen Standorten verfügbar ist.

Beispiel: [ "restaurant_id_1", "restaurant_id_55" ]

Das folgende Beispiel zeigt ein MenuSection-Element:

{
  "@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"
}

Verfügbarkeit

Eine optionale Entität, die implementiert werden soll. Beschreibt den Zeitraum, in dem eine MenuSection-Entität ausgeliefert wird.

In der folgenden Tabelle sind die Properties für den Typ Availability aufgeführt:

Attribut Typ Beschreibung
@type Const

Erforderlich.

Wert: Availability

@id String

Erforderlich.

Eine eindeutige Kennung der Entität, die die Verfügbarkeit des Menübereichs beschreibt.

Beispiel: menu_section_avail_1

availabilityStarts ISO-Zeit (lokal)

Der ISO-Zeitstempel, der die Startzeit angibt, zu der die Verfügbarkeit des Menübereichs gilt.

Beispiel: T00:00

availabilityEnds ISO-Zeit (lokal)

Der ISO-Zeitstempel, der die Endzeit angibt, nach der die Verfügbarkeit des Menübereichs ungültig ist.

Beispiel: T16:00

availableDay List<DayOfWeek>

Eine Liste der Wochentage, für die die Verfügbarkeit des Menübereichs gilt.

Beispiel: [ "MONDAY", "TUESDAY" ]

validFrom ISO-Zeitstempel

Ein ISO-Zeitstempel, der den Beginn der Gültigkeit der Verfügbarkeit des Menübereichs angibt.

Beispiel: 2017-01-01T00:00:00-07:00

validThrough ISO-Zeitstempel

Ein ISO-Zeitstempel, der die Endzeit angibt, nach der die Verfügbarkeit des Menübereichs ungültig ist.

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

dateModified ISO-Zeitstempel

Datum und Uhrzeit der letzten Änderung des Feeds mit Verfügbarkeitsdaten im ISO-Zeitstempelformat, aber vom Typ „String“.

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

Das folgende Beispiel zeigt ein Availability-Element:

Beispiel

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

Eine erforderliche Entität, die implementiert werden muss. Beschreibt ein Element in einer Menu-Entität.

In der folgenden Tabelle sind die Properties für den Typ MenuItem aufgeführt:

Attribut Typ Beschreibung
@type Const

Erforderlich.

Wert: MenuItem

@id String

Erforderlich.

Eine eindeutige Kennung des Menüpunkts.

Beispiel: menu_item_1

name String

Erforderlich.

Der Text, der die MenuItem identifizieren kann, wenn ein Nutzer das Menü durchsucht.

Beispiel: Foo

description String

Eine Beschreibung des Menüpunkts.

Beispiel: Foo

image URL

Die URL eines Bildes des Menüpunkts.

Beispiel: http://someprovider.com/someimage

parentMenuSectionId List<ReverseReference>

Eine Liste der @id-Werte der übergeordneten MenuSection-Entitäten, die dieser MenuItem-Entität entsprechen.

Wichtig:Sie dürfen nur eine der Referenzen parentMenuSectionId oder MenuSection.menuItemId verwenden.

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

menuAddOnId List<String>

Eine Liste der @id-Werte der MenuSection-Entitäten aus dem Add-on-Bereich, die dieser MenuItem-Entität entsprechen.

Wichtig:Sie dürfen nur eine der Referenzen menuAddOnId oder MenuSection.parentMenuItemId verwenden.

Beispiel: menu_addon_1

nutrition NutritionInformation

Nährwertinformationen für das Gericht, insbesondere Kalorien.

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

allergen List<Allergen>

Allergene dieses Menüpunkts.

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

additive List<Additive>

Zusatzstoffe dieses Menüpunkts.

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

suitableDiet List<RestrictedDiet>

Das Gericht entspricht der beschriebenen Ernährungseinschränkung.

Beispiel: [ "DIABETIC", "GLUTEN_FREE" ]

depositInfo DepositInfo

Informationen zur Verpackung und zum Recycling dieses Artikels.

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

numberOfServings Ganzzahl

Die Anzahl der Portionen, die für einen bestimmten Menüpunkt verfügbar sind.

Beispiel: 2

dateModified ISO-Zeitstempel

Datum und Uhrzeit der letzten Änderung des MenuItem-Entitätsfeeds im ISO-Zeitstempelformat, aber vom Typ „String“.

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

Das folgende Beispiel zeigt ein MenuItem-Element:

{
  "@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"
  ]
}

Eine optionale Entität, die implementiert werden soll. Beschreibt die Auswahlmöglichkeiten, die ein Nutzer bei der Auswahl eines Gerichts/einer Kombination treffen muss. Der Nutzer muss eine Option auswählen, andernfalls wird die Bestellung als ungültig betrachtet. Beispiel: Der Nutzer muss für eine Pizza „klein“, „mittel“ oder „groß“ auswählen.

In der folgenden Tabelle sind die Properties für den Typ MenuItemOption aufgeführt:

Attribut Typ Beschreibung
@type Const

Wert: MenuItemOption

@id String

Erforderlich.

Eine eindeutige Kennung der Menüpunktoption.

Beispiel: menu_item_1_option

menuItemId ReverseReference

Erforderlich.

Der @id-Wert der MenuItem-Entität, die mit dieser MenuItemOption-Entität korreliert ist.

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

optionType OptionType

Ein String, der angibt, ob die Menüpunktoption nach Größe, Option oder Pizzaseite kategorisiert ist. Zulässige Werte sind „SIZE“, „OPTION“ und „PIZZA_SIDE“. „SIZE“: Größe der MenuItemOption. Beispiel: klein, mittel oder groß. „OPTION“: Alle anderen Varianten als Größe (z.B. ein Gericht, das entweder als Salat oder als Sandwich angeboten wird). Wenn Sie nicht zwischen „SIZE“ und „OPTION“ unterscheiden können, verwenden Sie „OPTION“. „PIZZA_SIDE“: Spezifisch für Pizzen: Diese MenuItemOption ist beispielsweise nur für eine Portion/ganze Pizza gültig (z.B. Pilzbeläge auf der linken, rechten Seite oder auf der ganzen Pizza).

Beispiel: SIZE

value String oder PizzaSide

Erforderlich, wenn optionType is defined.

Ein Stringwert oder ein Enumerationswert. Enum-Werte sind spezifisch für den Optionstyp „PIZZA_SIDE“.

applicableParentOptionValue String

Ein String, der den Wert des Optionswerts des übergeordneten Elements enthält, für das diese Option verfügbar ist.

Beispiel: Small

menuAddOnId List<String>

Eine Liste der @id-Werte der MenuSection-Entitäten aus dem Add-on-Bereich, die dieser MenuItemOption-Entität entsprechen.

Wichtig:Sie dürfen nur eine der Referenzen menuAddOnId oder MenuSection.parentMenuItemId verwenden.

Beispiel: menuAddOnId

nutrition NutritionInformation

Nährwertinformationen für das Gericht, insbesondere Kalorien.

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

allergen List<Allergen>

Allergene dieses Menüpunkts.

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

additive List<Additive>

Zusatzstoffe dieses Menüpunkts.

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

depositInfo DepositInfo

Informationen zur Verpackung und zum Recycling dieses Artikels.

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

numberOfServings Ganzzahl

Die Anzahl der Portionen, die für eine bestimmte Menüpunktoption verfügbar sind.

Beispiel: 2

dateModified ISO-Zeitstempel

Datum und Uhrzeit der letzten Änderung des MenuItemOption-Entitätsfeeds im ISO-Zeitstempelformat, aber mit dem Typ „String“.

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

Das folgende Beispiel zeigt ein MenuItemOption-Element:

{
  "@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"
}

Eine erforderliche Entität, die implementiert werden muss. Beschreibt ein Angebot für eine MenuItem- oder MenuItemOption-Entität.

In der folgenden Tabelle sind die Properties für den Typ MenuItemOffer aufgeführt:

Attribut Typ Beschreibung
@type Const

Erforderlich.

Wert: MenuItemOffer

@id String

Erforderlich.

Eine eindeutige Kennung des Menüpunktangebots.

Beispiel: menu_item_offer

sku String

Erforderlich.

Eine Kennung für das Angebot des Menüpunkts. Die SKU-Werte können für mehrere Entitäten von Menüpunktangeboten unterschiedlich oder gleich sein. Der Wert für „sku“ wird in der Bestellung festgelegt, wenn wir einen API-Aufruf an Sie senden.

Beispiel: Menu_item_offer_sku

price Number

Erforderlich.

Preis des Menüpunkts.

Beispiel: 2.5

priceCurrency String

Erforderlich.

Der dreistellige ISO 4217-Währungscode.

Beispiel: USD

availabilityId List<String>

Die @id-Werte der Verfügbarkeits-Entitäten, die Details dazu enthalten, wann das Angebot für den Menüpunkt verfügbar ist.

Beispiel: [ "menu_availability_1" ]

eligibleQuantityMin Number

Die Mindestbestellmenge, für die der MenuItemOffer gilt.

Beispiel: 1

eligibleQuantityMax Number

Die maximale Bestellmenge, für die der MenuItemOffer gültig ist.

Beispiel: 25

inventoryLevel Number

Der aktuelle ungefähre Inventarbestand für den oder die Artikel, die diesem Menüpunktangebot entsprechen.

Beispiel: 10

dateModified ISO-Zeitstempel

Datum und Uhrzeit der letzten Änderung des MenuItemOffer-Entitätsfeeds im ISO-Zeitstempelformat, aber vom Typ „String“.

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

applicableServiceType List<ServiceType>

Der Dienst, auf den sich diese MenuItemOffer bezieht. Standardmäßig wird davon ausgegangen, dass eine MenuItemOffer für alle gilt.

offeredById List<String>

Die @id-Werte der Restaurant-Entitäten, unter denen diese MenuItemOffer verfügbar ist. Standardmäßig wird davon ausgegangen, dass MenuItemOffer an allen Standorten verfügbar ist.

Beispiel: [ "restaurant_id_5", "restaurant_id_26" ]

Es ist genau eine der folgenden Gruppen von Properties erforderlich.
menuItemId Gruppe 1 String

Der @id-Wert der MenuItem-Entität, die mit dieser MenuItemOffer-Entität korreliert ist.

Beispiel: menu_item_1

menuItemOptionId Gruppe 2 String

Der @id-Wert der MenuItemOption-Entität, die mit dieser MenuItemOffer-Entität korreliert ist.

Beispiel: menu_item_option_1

Das folgende Beispiel zeigt ein MenuItemOffer-Element:

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

Allgemein

ReverseReference

In der folgenden Tabelle sind die Properties für den Typ ReverseReference aufgeführt:

Attribut Typ Beschreibung
@id String

Erforderlich.

Die @id der übergeordneten Entität.

displayOrder Ganzzahl

Erforderlich.

Die Reihenfolge der Elemente im übergeordneten Element.

NutritionInformation

In der folgenden Tabelle sind die Properties für den Typ NutritionInformation aufgeführt:

Attribut Typ Beschreibung
description String

Nährwertangaben im Freitext Beispiel: „Enthält Konservierungsstoffe“.

calories String

Die Anzahl der Kalorien in Kalorien, Kilokalorien oder Kilojoule im folgenden Format: Wert Kalorien oder min-max Kalorien

Beispiel: 120.34 Cal

sodiumContent String

Die Anzahl der mg oder g Natrium im folgenden Format: Wert g oder min-max g

Beispiel: 1200 mg

Das folgende Beispiel zeigt ein NutritionInformation-Element:

Beispiel

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

Allergen

In der folgenden Tabelle sind die Properties für den Typ Allergen aufgeführt:

Attribut Typ Beschreibung
allergenType AllergenType

Erforderlich.

Art des Allergens.

levelOfContainment ContainmentLevel

Der Grad der Allergenbelastung des Menüpunkts.

Das folgende Beispiel zeigt ein Allergen-Element:

Beispiel

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

Additiv

In der folgenden Tabelle sind die Properties für den Typ Additive aufgeführt:

Attribut Typ Beschreibung
additiveName String

Erforderlich.

Name des Zusatzes.

levelOfContainment ContainmentLevel

Der Anteil eines bestimmten Zusatzstoffs im Menüpunkt.

Das folgende Beispiel zeigt ein Additive-Element:

Beispiel

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

DepositInfo

In der folgenden Tabelle sind die Properties für den Typ DepositInfo aufgeführt:

Attribut Typ Beschreibung
depositCode DepositCode

Einzahlungscode

depositValue Number

Der numerische Wert der Pfandgebühr für den Artikel, z. B. bei der Wiederverwertung.

depositValueCurrency String

Währung des Guthabenwerts

Das folgende Beispiel zeigt ein DepositInfo-Element:

Beispiel

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

ServingConfig

Bereitstellungskonfiguration für den Dienst, mit der verschiedene Funktionen gesteuert werden, z. B. das Deaktivieren des Angebots-Widgets.

In der folgenden Tabelle sind die Properties für den Typ ServingConfig aufgeführt:

Attribut Typ Beschreibung
disableOrderInstructions Boolesch

Die Möglichkeit, Bestellanweisungen anzugeben, wird ausgeblendet.

disableMenuItemSpecialInstructions Boolesch

Die Möglichkeit, spezielle Anweisungen für ein Menüelement anzugeben, wird ausgeblendet.

disableTipWidget Boolesch

Das Trinkgeld-Widget wird auf der Seite „Bestellung aufgeben“ des Bestellvorgangs ausgeblendet.

disablePromoWidget Boolesch

Das Angebots-Widget wird auf der Seite „Bestellung aufgeben“ des Bestellvorgangs ausgeblendet.

menuItemSpecialInstructionsMaxLength Number

Gibt die maximale Anzahl von Zeichen an, die eine spezielle Anleitung für einen Menüpunkt enthalten kann.

orderInstructionsMaxLength Number

Gibt die maximale Anzahl von Zeichen an, die eine Bestellanweisung enthalten kann.

Das folgende Beispiel zeigt ein ServingConfig-Element:

Beispiel 1

{
  "disableMenuItemSpecialInstructions": true
}

Beispiel 2

{
  "disableTipWidget": true,
  "disablePromoWidget": true
}

Beispiel 3

{
  "menuItemSpecialInstructionsMaxLength": 250,
  "orderInstructionsMaxLength": 1000
}

Enums

DayOfWeek

Der Typ DayOfWeek hat folgende mögliche Werte:

  • MONDAY
  • TUESDAY
  • WEDNESDAY
  • THURSDAY
  • FRIDAY
  • SATURDAY
  • SUNDAY

ServiceType

Der Typ ServiceType hat folgende mögliche Werte:

  • DELIVERY
  • TAKEOUT

OrderType

Der Typ OrderType hat folgende mögliche Werte:

  • ASAP
  • ADVANCE

FeeType

Der Typ FeeType hat folgende mögliche Werte:

  • DELIVERY
  • SERVICE

OptionType

Der Typ OptionType hat folgende mögliche Werte:

  • SIZE
  • OPTION
  • PIZZA_SIDE

PizzaSide

Der Typ PizzaSide hat folgende mögliche Werte:

  • PIZZA_SIDE_LEFT
  • PIZZA_SIDE_RIGHT
  • PIZZA_SIDE_WHOLE

AllergenType

Allergentyp gemäß gs1:AllergenTypeCode.

Der Typ AllergenType hat folgende mögliche Werte:

  • 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

Der Typ ContainmentLevel hat folgende mögliche Werte:

  • CONTAINS
  • FREE_FROM
  • MAY_CONTAIN

DepositCode

Der Typ DepositCode hat folgende mögliche Werte:

  • REUSABLE
  • RECYCLABLE

DealType

Kategorie des Angebots, auf das der Rabatt angewendet werden soll. Die Kategorie kann der Gesamtbetrag des Einkaufswagens oder die Versandkosten sein.

Der Typ DealType hat folgende mögliche Werte:

  • CART_OFF
  • DELIVERY_OFF

RestrictedDiet

Art der eingeschränkten Ernährung gemäß schema.org:RestrictedDiet.

Der Typ RestrictedDiet hat folgende mögliche Werte:

  • DIABETIC
  • GLUTEN_FREE
  • HALAL
  • HINDU
  • KOSHER
  • LOW_CALORIE
  • LOW_FAT
  • LOW_LACTOSE
  • LOW_SALT
  • VEGAN
  • VEGETARIAN