V1-Inventarschema

Lebensmittelkatalogfeeds basieren auf schema.org DataFeed Entitäten. Ein Feed mit Lebensmittelkatalogen umfasst Informationen zur Lokalität, z. B. die Adresse, die Speisekarte und den Standort sowie den Service des Restaurants Details wie Lieferkosten, Liefergebiete und andere Angaben wie angegeben unten.

Eine DataFeed enthält eine Sammlung von Elementen, die jeweils ein einzelnes Element darstellen im schema.org-Vokabular. Sie können die DataFeed verwenden um alle strukturierten Daten im JSON-LD-Format zu veröffentlichen.

Informationen zur Verwendung dieser Spezifikation zum Erstellen Ihrer Feeds finden Sie unter Übersicht über die Inventarintegration:

Datums-/Uhrzeitformate

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

// 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 eines bestimmten Restaurants oder der Zeitzone des Dienststandorts entspricht, basiert ebenfalls auf dem Schema.org-Typ und muss auch im ISO-8601-Format. Für die Uhrzeit wird die folgende Syntax verwendet:

// Time format:
THH:MM:SS

Beispiel:

T08:08:00 // 8:08 AM

Beachten Sie immer Folgendes, wenn Sie DateTime oder Time angeben:

  • Das „T“ vor der Uhrzeit ist Teil des Formats und ist erforderlich.
  • Für DATETIME muss die Zeitzone angegeben werden. Für TIME ist es nicht erforderlich.
  • Die Uhrzeit muss in der Ortszeit des Restaurants oder der Dienstleistung angegeben werden.

Umschlag

Der Startcode für einen Lebensmittelkatalogfeed muss einen „Umschlag“ enthalten. .

Der „Umschlag“ ist die Struktur der obersten Ebene jedes Feeds und muss DataFeed mit den folgenden Attributen:

Attribut Typ Notwendigkeit Beschreibung
@context URL Erforderlich Den verwendeten Kontext in der Regel „http://schema.googleapis.com“.
@type Text Erforderlich Dies ist immer „DataFeed“.
dateModified DateTime Erforderlich

Die zuletzt geänderte DateTime des Datenfeeds gemäß ISO 8601 Format.

Datum und Uhrzeit im ISO_OFFSET_DATE_TIME-Format, zu dem die Elemente in diesem Feed wurden geändert. Fehlt dieses Feld, wird angenommen, Dieser Aktualisierungszeitpunkt ist der Zeitpunkt, zu dem die Push-Nachricht empfangen wird (oder auf Google-Servern gehostet werden.

Wir empfehlen Ihnen dringend, diese Methode zu implementieren, wenn Sie sowohl Push- als und kriechen zusammen. Für diesen Zeitstempel muss eine Zeitzone angegeben werden und die Genauigkeit im Millisekundenbereich. zum Beispiel "2016-12-28T06:30:00:123-07:00".

In Ihren Batch-Feeds enthält der Parameter Entität Versionsverwaltung wird durch die dateModified bestimmt im Feed-Umschlag ein.

dataFeedElement Array von Menu oder Restaurant oder Service Erforderlich Mindestens ein Element, das Teil dieses Feeds ist. Siehe unten für Details.

Das folgende Beispiel zeigt den Umschlag:

Beispiel

{
  "@context": "http://schema.googleapis.com",
  "dateModified": "2016-12-28T06:30:00:123-07:00",
  "@type": "DataFeed",
  "dataFeedElement": [
    /* All items that are part of this feed go here */
  ]
}

AdditiveDetails

Fügen Sie den gs1-Kontext hinzu, um diesen Typ zu verwenden: "@context": ["http://gs1.org/voc/", "http://schema.org"]

Fügen Sie dann FoodBeverageTobaccoProduct zum Typ des entsprechenden MenuItem hinzu. oder MenuItemOption.

In der folgenden Tabelle werden die Attribute des Typs AdditiveDetails beschrieben:

Attribut Typ Notwendigkeit Beschreibung
@type Text Erforderlich Dies ist immer „AdditiveDetails“.
additiveName Text Optional Name des Zusatzes.
additiveLevelOfContainment Text Optional Begrenzungscode pro gs1:LevelOfIncludementCode. Beispiel: http://gs1.org/voc/LevelOfContainmentCode-CONTAINS, http://gs1.org/voc/LevelOfContainmentCode-FREE_FROM oder http://gs1.org/voc/LevelOfContainmentCode-MAY_CONTAIN

Das folgende Beispiel zeigt die Verwendung des Typs AdditiveDetails:

{
  "@type": ["MenuItem", "FoodBeverageTobaccoProduct"],
  "@id": "http://www.example.com/bar/menuitem/8",
  "name": "Energy Drink",
  "description": "A 0.25l can of energy drink.",
  "offers": {
    "@type": "Offer",
    "sku": "offer-energy-drink",
    "price": "3.49",
    "priceCurrency": "USD"
  },
  "additive": [
    {
      "@type": "AdditiveDetails",
      "additiveName": "caffeine",
      "additiveLevelOfContainment":
        "http://gs1.org/voc/LevelOfContainmentCode-CONTAINS"
    },
    {
      "@type": "AdditiveDetails",
      "additiveName": "phosphate",
      "additiveLevelOfContainment":
        "http://gs1.org/voc/LevelOfContainmentCode-CONTAINS"
    }
  ]
},

AddOnMenuItem

Ein Gericht oder ein Getränk, das in einem Add-on-Menüelement eines MenuItem aufgeführt ist.

In der folgenden Tabelle sind die Attribute für den Typ AddOnMenuItem aufgeführt:

Attribut Typ Notwendigkeit Beschreibung
@type Text Erforderlich Dies ist immer „AddOnMenuItem“.
@id URL Erforderlich Eine eindeutige Kennung des Add-on-Menüelements.
name Text Erforderlich Text, der das AddOnMenuItem identifiziert, wenn ein Nutzer auf der .
description Text Optional Beschreibung des Add-on-Menüelements.
image URL Optional

Bild des Add-on-Menüs, das den folgenden Richtlinien entspricht:

  • Seitenverhältnis 3:2
  • >
  • Mindestauflösung: 600 x 400 Pixel, 72 dpi
  • >
  • Empfohlene Auflösung: 1400 x 960 Pixel, 72 dpi
offers Array mit Offer Erforderlich*

Ein oder mehrere Angebote zum Bereitstellen dieses AddOnMenuItem.

Beschreibt, wann und zu welchem Preis dieses AddOnMenuItem verfügbar ist. Es darf jeweils nur ein Angebot gültig sein. Sie können Viele gültige Angebote, wenn sich Preis oder Verfügbarkeit je nach Tageszeit. Wenn sich das Add-on oder der Artikel durch ein Basisattribut unterscheidet oder eine Variante des Zusatzelements selbst (z. B. klein, mittel und groß) Pommes als Add-on) enthält, verwenden Sie die Methode hasMenuItemOption. Property.

Der Standardwert für Offer.eligibleQuantity ist mindestens von 0, maximal 1.

Die folgenden Offer-Properties werden verwendet in AddOnMenuItem:

  • Offer.sku erforderlich
  • Offer.price erforderlich
  • Offer.priceCurrency erforderlich
  • Offer.availabilityStarts optional
  • Offer.availabilityEnds optional
  • Offer.availableDay optional
  • Offer.validFrom optional
  • Offer.validThrough optional
  • Offer.eligibleQuantity optional
  • Offer.inventoryLevel optional
hasMenuItemOptions Array mit MenuItemOption Erforderlich*

Array von Basisattributen, die eine Variante des Add-on-Artikels beschreiben (z. B. kleine, mittlere und große Pommes frites als Add-on), Menüpunkt „Add-on“. Mithilfe der Optionen können Sie verschiedene verfügbare Varianten angeben. für diesen Add-on-Menüpunkt. Es gibt zwei Szenarien, in denen Folgendes passieren:

  • Die Basisvariante basiert auf dem Add-on-Element selbst (z. B. klein, mittelgroße und große Pommes als Add-on)
  • Die Basisvariante des Menüpunkts, mit dem dieses Add-on verknüpft ist mit (z. B. zusätzlicher Käse als Zusatz für eine große Pizza)
suitableForDiet Array mit RestrictedDiet Optional Das Gericht entspricht den beschriebenen Ernährungseinschränkungen (z. B. „GlutenFreeDiet“ oder „VeganErnährung“). Dies ist eine Aufzählung mit möglichen Werte.
nutrition NutritionInformation Optional Die Nährwertangaben für das Gericht, vor allem die Kalorien.
menuAddOn Array mit AddOnMenuSection Optional Das AddOnMenuItem kann einen Menüabschnitt haben, der aus zulässigen Elementen besteht. die als Add-on hinzugefügt werden können.

Das folgende Beispiel zeigt AddOnMenuItem:

Beispiel 1

{
  "@type": "AddOnMenuSection",
  "@id": "https://www.example.com/1089/addon/1",
  "name": "AddOnCheese",
  "hasMenuItem": [
    {
      "@type": "AddOnMenuItem",
      "@id": "https://www.example.com/1089/addon/a",
      "name": "Swiss",
      "offers": {
        "@type": "Offer",
        "sku": "offer-swiss",
        "price": "2.99",
        "priceCurrency": "USD"
      }
    },
    {
      "@type": "AddOnMenuItem",
      "@id": "https://www.example.com/1089/addon/b",
      "name": "Mozarella",
      "offers": {
        "@type": "Offer",
        "sku": "offer-mozzarella",
        "price": "1.99",
        "priceCurrency": "USD"
      }
    }
  ]
}

Beispiel 2

{
  "@type": "MenuItem",
  "@id": "https://www.example.com/1089/product/170067",
  "name": "Pepperoni Pizza",
  "hasMenuItemOptions": [
    {
      "@type": "MenuItemOption",
      "value": {
        "@type": "PropertyValue",
        "name": "SIZE",
        "value": "Small"
      },
      "offers": {
        "@type": "Offer",
        "sku": "offer-small-pepperoni-pizza",
        "price": "10.00",
        "priceCurrency": "USD"
      }
    },
    {
      "@type": "MenuItemOption",
      "value": {
        "@type": "PropertyValue",
        "name": "SIZE",
        "value": "Large"
      },
      "offers": {
        "@type": "Offer",
        "sku": "offer-large-pepperoni-pizza",
        "price": "20.00",
        "priceCurrency": "USD"
      }
    }
  ],
  "menuAddOn": [
    {
      "@type": "AddOnMenuSection",
      "name": "Choice of toppings",
      "@id": "https://www.example.com/1089/addon/1",
      "hasMenuItem": [
        {
          "@type": "AddOnMenuItem",
          "@id": "https://www.example.com/1089/addon/1/a",
          "name": "Shrimp",
          "hasMenuItemOptions": [
            {
              "@type": "MenuItemOption",
              "value": [
                {
                  "@type": "PropertyValue",
                  "name": "PIZZA_SIDE",
                  "value": "PIZZA_SIDE_LEFT" // Values are predefined for pizza side.
                },
                {
                  "@type": "PropertyValue",
                  "name": "APPLICABLE_ITEM_OPTION",
                  "value": "Small" // Value should be same as mentioned in item's options.
                }
              ],
              "offers": {
                "@type": "Offer",
                "sku": "offer-topping-shrimp-left-small",
                "price": "1.00",
                "priceCurrency": "USD"
              }
            },
            {
              "@type": "MenuItemOption",
              "value": [
                {
                  "@type": "PropertyValue",
                  "name": "PIZZA_SIDE",
                  "value": "PIZZA_SIDE_LEFT" // Values are predefined for pizza side.
                },
                {
                  "@type": "PropertyValue",
                  "name": "APPLICABLE_ITEM_OPTION",
                  "value": "Large" // Value should be same as mentioned in item's options.
                }
              ],

              "offers": {
                "@type": "Offer",
                "sku": "offer-topping-shrimp-left-large",
                "price": "2.00",
                "priceCurrency": "USD"
              }
            },
            {
              "@type": "MenuItemOption",
              "value": [
                {
                  "@type": "PropertyValue",
                  "name": "PIZZA_SIDE",
                  "value": "PIZZA_SIDE_WHOLE" // Values are predefined for pizza side.
                },
                {
                  "@type": "PropertyValue",
                  "name": "APPLICABLE_ITEM_OPTION",
                  "value": "Small" // Value should be same as mentioned in item's options.
                }
              ],

              "offers": {
                "@type": "Offer",
                "sku": "offer-topping-shrimp-whole-small",
                "price": "1.50",
                "priceCurrency": "USD"
              }
            },
            {
              "@type": "MenuItemOption",
              "value": [
                {
                  "@type": "PropertyValue",
                  "name": "PIZZA_SIDE",
                  "value": "PIZZA_SIDE_WHOLE" // Values are predefined for pizza side.
                },
                {
                  "@type": "PropertyValue",
                  "name": "APPLICABLE_ITEM_OPTION",
                  "value": "Large" // Value should be same as mentioned in item's options.
                }
              ],

              "offers": {
                "@type": "Offer",
                "sku": "offer-topping-shrimp-whole-large",
                "price": "2.50",
                "priceCurrency": "USD"
              }
            }
          ]
        }
      ]
    }
  ]
}

AddOnMenuSection

Eine Untergruppe von Lebensmitteln oder Getränken als Zusatz-Menübereich für die Menüpunkt.

In der folgenden Tabelle sind die Attribute für den Typ AddOnMenuSection aufgeführt:

Attribut Typ Notwendigkeit Beschreibung
@type Text Erforderlich Dies ist immer „AddOnMenuSection“.
@id URL Erforderlich Eindeutige Kennung des Speisekartenbereichs.
name Text Erforderlich Text, mit dem der AddOnMenuSection identifiziert werden kann, wenn ein Nutzer im .
description Text Optional Beschreibung des Menüabschnitts.
eligibleQuantity QuantitativeValue Optional Gibt die Anzahl der Elemente an, die als Add-on für dieses Menü zulässig sind . Sie können dieses Feld verwenden, um die Anzahl der Add-ons zu begrenzen, z. B. die minimale und maximale Anzahl von Belägen, die Sie für eine Pizza auswählen können.
image URL Optional Bild des Bereichs für die Speisekarte.
hasMenuItem Array mit AddOnMenuItem Erforderlich* Add-on-Menüelemente, die in einem AddOnMenuSection enthalten sind.
offers Array mit Offer Optional

Offer.availabilityStarts und Offer.availabilityEnds, um den Zeitraum anzugeben in dem dieser AddOnMenuSection verfügbar ist.

Die folgende Liste zeigt, welche Offer-Unterkünfte die in AddOnMenuSection verwendet wird.

  • Offer.availabilityStarts optional
  • Offer.availabilityEnds optional
  • Offer.availableDay optional
  • Offer.validFrom optional
  • Offer.validThrough optional
hasMenuSection Array mit AddOnMenuSection Erforderlich* Logische Untergruppen des Add-on-Menüs (z. B. Abendessen, Vorspeisen oder Fischgerichte.
defaultOption Array mit AddOnMenuItem Optional

Add-on-Menüelemente, die standardmäßig für Nutzer im AddOnMenuSection Nutzer können die endgültige Auswahl ändern. Wenn Nein defaultOption ist angegeben, nein AddOnMenuItem ist vorausgewählt.

AddOnMenuItem-Objekte müssen im hasMenuItem von AddOnMenuSection.

Die Anzahl der defaultOption darf das Maximum nicht überschreiten eligibleQuantity von AddOnMenuSection.

numberOfFreeAddOns Zahl Optional Gibt die Anzahl der Add-ons an, die ein Nutzer kostenlos auswählen kann.

Die folgenden Beispiele enthalten AddOnMenuSection-Objekte:

Beispiel 1

{
  "@type": "AddOnMenuSection",
  "@id": "https://www.example.com/1089/addon/1",
  "name": "AddOnCheese",
  "hasMenuItem": [
    {
      "@type": "AddOnMenuItem",
      "@id": "https://www.example.com/1089/addon/a",
      "name": "Swiss",
      "offers": {
        "@type": "Offer",
        "sku": "offer-swiss",
        "price": "2.99",
        "priceCurrency": "USD"
      }
    },
    {
      "@type": "AddOnMenuItem",
      "@id": "https://www.example.com/1089/addon/b",
      "name": "Mozarella",
      "offers": {
        "@type": "Offer",
        "sku": "offer-mozzarella",
        "price": "1.99",
        "priceCurrency": "USD"
      }
    }
  ]
}

Beispiel 2

"menuAddOn": {
  "@type": "AddOnMenuSection",
  "name": "Cheese",
  "@id": "https://www.example.com/1089/addon/1", // Points to an AddOnMenuSection
  "eligibleQuantity":
    "@type": "QuantitativeValue",
    "minValue": 0,
    "maxValue": 2 // Maximum of 2 cheeses are allowed
  }
}

Beispiel 3

Ein Käsesandwich Menüpunkt mit einer „Käseauswahl“ AddOnMenuSection mit „Swiss“ und „Mozzarella“ vorausgewählt voreingestellt.

{
  "@type": "AddOnMenuSection",
  "@id": "https://www.example.com/1089/addon/1",
  "name": "AddOnCheese",
  "defaultOption": [
    {
      "@type": "AddOnMenuItem",
      "@id": "https://www.example.com/1089/addon/a"
    },
    {
      "@type": "AddOnMenuItem",
      "@id": "https://www.example.com/1089/addon/b"
    }
  ],
  "hasMenuItem": [
    {
      "@type": "AddOnMenuItem",
      "@id": "https://www.example.com/1089/addon/a",
      "name": "Swiss",
      "offers": {
        "@type": "Offer",
        "sku": "offer-swiss",
        "price": "2.99",
        "priceCurrency": "USD"
      }
    },
    {
      "@type": "AddOnMenuItem",
      "@id": "https://www.example.com/1089/addon/b",
      "name": "Mozzarella",
      "offers": {
        "@type": "Offer",
        "sku": "offer-mozzarella",
        "price": "1.99",
        "priceCurrency": "USD"
      }
    }
  ]
}

AdvanceServiceDeliveryHoursSpecification

Stellt die Zeiten für die Auftragsausführung dar, für die Nutzer Vorbestellungen planen können und Essen zum Mitnehmen.

In der Regel ist der Wert von opens kleiner als der Wert von closes. Die Die folgenden Richtlinien gelten für die Verwendung der Properties opens und closes:

  • Die Attribute opens und closes sind optional für AdvanceServiceDeliveryHoursSpecification. Wir empfehlen Ihnen jedoch, und sie einschließen.
  • Die Zeit muss in Ortszeit für den Dienst angegeben werden. Fügen Sie kein Zeitzone in einem opens- oder closes-Wert Angegebene Zeitzonen werden ignoriert.
  • Wenn opens und closes nicht explizit angegeben sind, gehen wir davon aus, dass -Bestellung jederzeit an jedem Tag möglich.
  • Wenn opens und closes gleich sind, nehmen wir an, dass die Voraussortierung nicht verfügbar.
  • Wenn opens größer als closes ist, wird die Schließzeit als am am nächsten Tag. Wenn die Öffnungszeit beispielsweise auf den 1. Januar um 17:00 Uhr und Schließzeit 02:00 Uhr, dann wird das Restaurant als geschlossen interpretiert. am 2. Januar um 02:00 Uhr.
  • opens und closes beziehen sich auf das zukünftige Zeitfenster. closes ist exklusiv. Für Beispiel: opens ist 10 Uhr und closes ist 16 Uhr mit serviceTimeInterval von 15 Minuten beginnt, beginnt der erste Zeitblock um 10:00 Uhr und der letzte Zeitpunkt, beginnt um 15:45 Uhr.

In der folgenden Tabelle werden die Eigenschaften der AdvanceServiceDeliveryHoursSpecification-Typ:

Attribut Typ Notwendigkeit Beschreibung
@type Text Erforderlich Dies ist immer "AdvanceServiceDeliveryHoursSpecification".
validFrom DateTime Bedingt

Das Startdatum, ab dem das Ereignis bei Vorabbestellungen erfüllt sind. Beispiel: „2017-05-01T00:00:00-07:00“.

Wenn dieses Attribut nicht festgelegt ist, wird es als täglich gültig angesehen. Die Attribute validFrom und validThrough müssen zusammen abwesend oder gemeinsam vorhanden sein.

Wenn dieser Typ als specialOpeningHoursSpecification bei Service Ebene, diese validFrom-Property in AdvanceServiceDeliveryHoursSpecification ist erforderlich.

Weitere Informationen finden Sie unter <ph type="x-smartling-placeholder"></ph> Datums- und Uhrzeitformat

validThrough DateTime Optional

Das Enddatum, nach dem das Datum können für Vorabbestellungen erfüllt sind. Beispiel: „2018-12-01T00:00:00-07:00“.

Wenn dieses Attribut nicht festgelegt ist, wird es als täglich gültig angesehen. Die Attribute validFrom und validThrough müssen zusammen abwesend oder gemeinsam vorhanden sein.

Wenn dieser Typ als specialOpeningHoursSpecification bei Service Ebene, die Eigenschaft validThrough in AdvanceServiceDeliveryHoursSpecification ist erforderlich.

Die Uhrzeit für validThrough ist exklusiv. Wenn beispielsweise als Uhrzeit auf 18:00 Uhr eingestellt ist, gilt sie bis 17:59:59 Uhr.

Weitere Informationen finden Sie unter DateTime- und Time-Formate.

opens Time Optional

Gilt für Zeitblöcke zur Lieferung oder zum Mitnehmen.

Die spezifische Tageszeit, ab der die Anzeige der Nutzer können im Voraus erfüllt werden kann. Beispielsweise wird 6:30 Uhr als „T06:30:00“ angegeben.

Die Uhrzeit muss in der Ortszeit für den Fahrbetrieb angegeben werden. Fügen Sie kein Zeitzone in einem opens-Wert Wenn eine Zeitzone angegeben ist, Diese Informationen werden von Google ignoriert.

Weitere Informationen finden Sie unter DateTime- und Time-Formate.

closes Time Optional

Gilt für Zeitblöcke zur Lieferung oder zum Mitnehmen.

Die spezifische Tageszeit, nach der die Nutzer Vorbestellungen können nicht erfüllt werden kann. Beispiel: 21:00 Uhr wird als „T21:00:00“ angegeben. closes> ist exklusiv. Wenn Sie es also auf 21:00 Uhr setzen, serviceTimeInterval von 15 Minuten bedeutet, dass die letzte Der verfügbare Zeitraum beginnt um 20:45 Uhr.

Die Uhrzeit muss in der Ortszeit für den Fahrbetrieb angegeben werden. Das sollten Sie nicht tun: Eine Zeitzone in einen closes-Wert einschließen. Wenn eine Zeitzone angegeben ist, werden diese Informationen von Google ignoriert.

Weitere Informationen finden Sie unter DateTime- und Time-Formate.

dayOfWeek Array mit DayOfWeek Optional

Wochentage, an denen Zeiten im Voraus verfügbar sind. Gültig Werte sind:

  • „Montag“
  • „Dienstag“
  • „Mittwoch“
  • „Donnerstag“
  • „Freitag“
  • „Samstag“
  • „Sonntag“

Wenn Sie keine Wochentage angeben, AdvanceServiceDeliveryHoursSpecification gilt für alle Tage.

serviceTimeInterval Duration Erforderlich

Intervall zwischen zwei aufeinanderfolgenden Betriebszeiten.

Beispiel: Wenn opens und closes 8 Uhr morgens sind und 20:00 Uhr und der serviceTimeInterval 15 Minuten, dann kann der Nutzer zwischen 8:00 und 8:15 Uhr, 8:30 Uhr, 8:45 Uhr und so weiter bis 20:00 Uhr.

Duration muss als Dauer nach ISO 8601 angegeben werden. Für Beispiel: "P15M" steht für 15-Minuten-Intervalle.

advanceBookingRequirement QuantitativeValue Erforderlich

Anzahl der Minuten ab dem Zeitpunkt der Bestellung, in denen die Bestellung im Voraus möglich ist erfüllt sind.

Die QuantitativeValue min und max-Werte müssen auf die Anzahl der Minuten und die unitCode auf "MIN".

Wenn zum Beispiel eine Vorbestellung mindestens 60 Minuten dauert, erfüllt und kann nicht länger als 2 Tage erfüllt werden später ist der Wert von min 60 und der max-Wert ist 2880.

Im folgenden Beispiel wird die Verwendung des AdvanceServiceDeliveryHoursSpecification-Typ:

Beispiel 1

{
  "@type": "AdvanceServiceDeliveryHoursSpecification",
  "opens": "T10:00:00",  // Delivery between 10AM and 7:59:59PM
  "closes": "T20:00:00",
  "serviceTimeInterval": "PT15M", // in slots spaced 15 minutes apart (ISO8601)
  "advanceBookingRequirement": {
    "minValue": 60,   // The slot should be at least 60 mins away
    "maxValue": 8640, // but not more than 6 days away
    "unitCode": "MIN"
  }
}

AllergenDetails

Fügen Sie den gs1-Kontext hinzu, um diesen Typ zu verwenden: "@context": ["http://gs1.org/voc/", "http://schema.org"]

Fügen Sie dann FoodBeverageTobaccoProduct zum Typ des entsprechenden MenuItem hinzu. oder MenuItemOption.

In der folgenden Tabelle werden die Attribute des Typs AllergenDetails beschrieben:

Attribut Typ Notwendigkeit Beschreibung
@type Text Erforderlich Das ist immer „AllergenDetails“.
allergenType Text Optional Allergentyp pro gs1:AllergenTypeCode z. B. http://gs1.org/voc/AllergenTypeCode-PEANUTS.
allergenLevelOfContainmentCode Text Optional Begrenzungscode pro gs1:LevelOfIncludementCode. Beispiel: http://gs1.org/voc/LevelOfContainmentCode-CONTAINS, http://gs1.org/voc/LevelOfContainmentCode-FREE_FROM oder http://gs1.org/voc/LevelOfContainmentCode-MAY_CONTAIN

Das folgende Beispiel zeigt die Verwendung des Typs AllergenDetails:

{
  "@type": ["MenuItem", "FoodBeverageTobaccoProduct"],
  "@id": "http://www.example.com/bar/menuitem/6",
  "name": "Strawberry joghurt drink",
  "description": "A 0.5l bottle of strawberry joghurt drink.",
  "offers": {
    "@type": "Offer",
    "sku": "offer-joghurt-drink",
    "price": "2.49",
    "priceCurrency": "USD"
  },
  "hasAllergen": [
    {
      "@type": "AllergenDetails",
      "allergenType": "http://gs1.org/voc/AllergenTypeCode-GLUTEN",
      "allergenLevelOfContainmentCode":
        "http://gs1.org/voc/LevelOfContainmentCode-FREE_FROM"
    },
    {
      "@type": "AllergenDetails",
      "allergenType": "http://gs1.org/voc/AllergenTypeCode-LACTOSE",
      "allergenLevelOfContainmentCode":
        "http://gs1.org/voc/LevelOfContainmentCode-CONTAINS"
    }
  ]
},

DeliveryChargeSpecification

In der folgenden Tabelle werden die Eigenschaften der DeliveryChargeSpecification-Typ:

Attribut Typ Notwendigkeit Beschreibung
@type Text Erforderlich Dies ist immer „DeliveryChargeSpecification“.
@id URL Optional Kennzeichnung für die Spezifikation der Liefergebühr.
price Zahl Erforderlich Liefergesamtkosten in rein numerischer Form. Verwenden Sie die Methode priceCurrency-Eigenschaft zur Angabe des Währungstyps anstelle von Währungssymbolen. Beispiel: „6.00“ ohne Währung .
priceCurrency Text Erforderlich Der dreistellige ISO 4217-Währungscode. Beispiel: „USD“.
eligibleTransactionVolume PriceSpecification Optional Das Transaktionsvolumen in einer monetären Einheit, für das diese Lieferung Die Angabe der Gebühr ist gültig. Um beispielsweise auf einen minimalen Kaufbetrag hinzuweisen, oder um anzugeben, dass der Versand kostenlos ist. über einem bestimmten Bestellvolumen liegen.
eligibleQuantity QuantitativeValue Optional Intervall und Maßeinheit von Sortiermengen, für die ist die Liefergebühr gültig. So können Sie zum Beispiel angeben, dass ein bestimmte Frachtgebühren nur für eine bestimmte Menge gelten.
eligibleRegion Array von GeoShape oder Place oder GeoCircle Optional Der Ort oder der GeoShape/GeoCircle für die geopolitischen Regionen für die das Angebot oder die Liefergebühr gültig ist. Verwenden angezeigt werden, wenn die Liefergebühren je nach Region variieren.
validFrom DateTime Optional Datum und Uhrzeit (einschließlich Zeitzone) der Versandkosten wird gültig. Beispiel: „2017-05-01T06:30:00-07:00“. Für finden Sie unter DateTime- und Time-Formate.
validThrough DateTime Optional Datum und Uhrzeit (einschließlich Zeitzone) nach dem die Lieferung gesendet wurde Die angegebene Gebühr ist ungültig. Beispiel: „2017-05-01T06:30:00-07:00“. Die Uhrzeit für validThrough ist exklusiv, z. B. wenn das ist auf 18:00 Uhr eingestellt, ist gültig bis 17:59:59 Uhr. Weitere Informationen finden Sie unter DateTime- und Time-Formate.

Die folgenden Beispiele zeigen DeliveryChargeSpecification-Elemente:

Beispiel 1

"offers": {
  "@type":"Offer",
  "priceSpecification":[
    {
      "@type": "DeliveryChargeSpecification",
      "price": "5.0",
      "priceCurrency": "USD"
    }
  ]
}

Beispiel 2

"priceSpecification": [
  {
    "@type": "DeliveryChargeSpecification",
    "@id": "http://www.provider.com/defaultdeliveryfee/foo",
    "price": "10.0",
    "priceCurrency": "USD",
    "eligibleQuantity": {
      "@type": "QuantitativeValue",
      "minValue": 3  // Minimum of 3 items required for delivery
    }
  },
  {
    "@type": "DeliveryChargeSpecification",
    "@id": "http://www.provider.com/deliveryfee/foo/1",
    "price": "20.0",
    "priceCurrency": "USD",
    "validFrom":"T18:00:00", // Valid from 6:00PM
    "validThrough":"T22:00:00", // Valid to 9:59:59PM
    "eligibleQuantity": {
      "@type": "QuantitativeValue",
      "minValue": 3  // Minimum of 3 items required for delivery
    }
  }
]

Beispiel 3

"priceSpecification": [{
    "@type": "DeliveryChargeSpecification",
    "@id": "http://www.provider.com/threebrotherstacos/deliveryfee/1",
    "price": "8.00", // Charges $8 for area5
    "priceCurrency": "USD",
    "eligibleTransactionVolume": {
      "@type": "PriceSpecification",
      "minPrice": "20.00",
      "priceCurrency": "USD"
    },
    "eligibleRegion": [ // area5
      {
        "@type": "GeoCircle",
        "geoMidpoint": {
          "@type": "GeoCoordinates",
          "latitude": "37.7392607",
          "longitude": "-122.3895522"
        },
        "geoRadius": "4505"
      }
    ]
  },
  {
    "@type": "DeliveryChargeSpecification",
    "@id": "http://www.provider.com/threebrotherstacos/defaultdeliveryfee",
    "price": "6.00", // Charges $6 when delivered from Foo restaurant to area1, area2, area3 and area4 (Default charge)
    "priceCurrency": "USD",
    "eligibleTransactionVolume": {
      "@type": "PriceSpecification",
      "minPrice": "20.00", // Minimum order price for delivery is $20
      "priceCurrency": "USD"
    }
  }
]

Zusätzlich zu "@type": ["DeliveryChargeSpecification"] kann das Objekt mit UnitPriceSpecification:

"@type": ["DeliveryChargeSpecification", "UnitPriceSpecification"]

Durch die Erweiterung werden zwei zusätzliche Eigenschaften bereitgestellt, die für Liefergebühren erforderlich sind. werden in Prozentsätzen berechnet.

Attribut Typ Notwendigkeit Beschreibung
referenceQuantity QuantitativeValue Erforderlich Referenzmenge, für die ein bestimmter Preis gilt. Beispiel: referenceQuantity des Werts 10 mit unitCode von „P1“ 10% des Bestellwerts ausmachen. Nur unitCode „P1“ ist unterstützt werden.
basePrice Zahl Optional Grundgebühr zusätzlich zu referenceQuantity. Für Beispiel: referenceQuantity von 10 mit unitCode von "P1" und basePrice von 5 in EUR führen zu 5 USD + 10% des Bestellwert Der Standardwert ist 0.

Beispiele für Liefergebühren

Bei Google können Sie Nutzern im Voraus über Offer.PriceSpecification der Dienstentität.

Beachten Sie, dass die End-to-End-Reihenfolge derzeit nur eine DeliveryChargeSpecification Alle Arten von Gebühren in einem DeliveryChargeSpecification

Weitere Informationen zur Angabe der Zustellung finden Sie in den Beispielen für Servicefeeds. je nach Region, Entfernung und Bestellwert.

Wenn keine Gebühr erhoben wird, wird Offer.PriceSpecification weggelassen.

  • Beispiel 1: Die Liefergebühr beträgt 5% der Zwischensumme des Einkaufswagens
  • Beispiel 2: Die Liefergebühr beträgt 5 €
  • Beispiel 3: Die Liefergebühr beträgt 5 $+ 10% der Zwischensumme des Einkaufswagens.
  • Beispiel 4: Die Liefergebühr beträgt 5 $und die Gepäckgebühr 0,1 $
  • Beispiel 5: Die Liefergebühr beträgt 5% und die Bearbeitungsgebühr 2% der Zwischensumme des Einkaufswagens.
  • Beispiel 6: Die Liefergebühr beträgt 5 € und 1 € für jede zusätzliche Entfernung von 1 km.

Beispiel 1

priceSpecification [
  {
    "@type": ["DeliveryChargeSpecification", "UnitPriceSpecification"],
    "referenceQuantity": {
      "@type": "QuantitativeValue",
      "value": "5.00", // 5%
      "unitCode": "P1" // P1 == %
    },
    "priceCurrency": "USD"
  }
]

Beispiel 2

priceSpecification [
  {
    "@type": ["DeliveryChargeSpecification"],
    "priceCurrency": "USD",
    "price": "5.00"
  }
]

Beispiel 3

priceSpecification [
  {
    "@type": ["DeliveryChargeSpecification", "UnitPriceSpecification"],
    "referenceQuantity": {
      "@type": "QuantitativeValue",
      "value": "10.00", // 10%
      "unitCode": "P1", // P1 == %
    },
    "priceCurrency": "USD",
    "basePrice": "5.00" // User always pays $5 in addition to 10%
  }
]

Beispiel 4

priceSpecification [
  {
    "@type": ["DeliveryChargeSpecification"],
    "priceCurrency": "USD",
    "price": "5.10" //$5 + $0.1
  }

Beispiel 5

priceSpecification [
  {
    "@type": ["DeliveryChargeSpecification", "UnitPriceSpecification"],
    "referenceQuantity": {
      "@type": "QuantitativeValue",
      "value": "7.00", // 5% + 2%
      "unitCode": "P1" // P1 == %
    },
    "priceCurrency": "USD"
  },
]

Beispiel 6

priceSpecification [
  {
    "@type": ["DeliveryChargeSpecification", "UnitPriceSpecification"],
    "basePrice": 5.00, // User always pays $5
    "price": 1.00, // An additional $1.00 is added per 1km
    "priceCurrency": "USD",
    "referenceQuantity": {
      "@type": "QuantitativeValue",
      "unitCode": "MTR", // MTR == meter
      "value": "1000.0" // 1km
    }
  }
]

GeoCircle

In der folgenden Tabelle werden die Attribute des Typs GeoCircle beschrieben:

Attribut Typ Notwendigkeit Beschreibung
@type Text Erforderlich Dies ist immer „GeoCircle“.
geoMidpoint GeoCoordinates Erforderlich Gibt das GeoCoordinates in der Mitte eines GeoCircle.
geoRadius Zahl Erforderlich Gibt den ungefähren Radius (in Metern) eines GeoCircle

Das folgende Beispiel zeigt ein GeoCircle-Element:

Beispiel

{
  "@type": "GeoCircle",
  "geoMidpoint": {
    "@type": "GeoCoordinates",
    "latitude": "37.7392607",
    "longitude": "-122.3895522"
  },
  "geoRadius": "4505"
}

GeoCoordinates

In der folgenden Tabelle werden die Attribute des Typs GeoCoordinates beschrieben:

Attribut Typ Notwendigkeit Beschreibung
@type Text Erforderlich Dies ist immer "GeoCoordinates".
latitude Zahl Erforderlich

Breitengrad in Grad Die Werte sind auf -90 bis 90 beschränkt, inklusiv. Ist der angegebene Wert kleiner als -90, wird er auf -90 gesetzt. wenn größer als 90 ist, ist er auf 90 festgelegt.

Er muss mit einer Genauigkeit von mindestens fünf Dezimalstellen angegeben werden.

longitude Zahl Erforderlich

Längengrad in Grad Werte außerhalb des Bereichs von -180 bis 180 sind so umgeschrieben werden, dass sie innerhalb des Bereichs liegen. Beispiel: Ein Wert von -190 in 170 konvertiert. Ein Wert von 190 wird in -170 umgerechnet. Dieses spiegelt die Tatsache wider, dass sich die Längengrade um den Globus erstrecken.

Er muss mit einer Genauigkeit von mindestens fünf Dezimalstellen angegeben werden.

Das folgende Beispiel zeigt ein GeoCoordinates-Element:

Beispiel

"geo": {
  "@type": "GeoCoordinates",
  "latitude": "35.7392607",
  "longitude": "-120.3895522"
}

GeoShape

In der folgenden Tabelle werden die Attribute des Typs GeoShape beschrieben:

Attribut Typ Notwendigkeit Beschreibung
@type Text Erforderlich Dies ist immer „GeoShape“.
polygon Text-Array Erforderlich

Ein Polygon oder Multipolygon, das als eine Folge von drei oder mehr Leerzeichen ausgedrückt wird durch Trennzeichen zu trennen. Es wird empfohlen, den ersten und letzten Punkt aber das ist nicht unbedingt erforderlich.

Jeder Punkt in einem Polygon oder Multipolygon wird durch einen Breitengradpunkt definiert. gefolgt von einem Längengradpunkt. Außerdem müssen Sie die Punkte in einer gegen den Uhrzeigersinn.

In den meisten Fällen haben Sie nur ein Polygon. Für komplexere Verwendungszwecke finden Sie in der Informationen zum Einzugsgebiet.

Die folgenden Beispiele zeigen GeoShape-Elemente:

Beispiel 1

{
  "@type": "GeoShape", // area4
  // Specify latitude first (i.e., lat long lat long ...)
  "polygon": "37.806000 -122.425592 37.775849 -122.419043 37.795547 -122.394046 37.808747 -122.412619"
},

Beispiel 2

{
  "@type": "GeoShape", // A service area with a hole.
  // Specify latitude first (i.e., lat long lat long ...)
  "polygon": [ “37.771535 -122.506881 37.764289 -122.506669 37.766497 -122.453058”,
               “37.791707 -122.447987 37.746676 -122.449433 37.736150 -122.505944 37.780924 -122.509729”]
},

Beispiel 3

{
  "@type": "Service",
  "@id": "http://www.provider.com/service/1",
  "areaServed": [
    {
      "@type": "GeoShape",  // Richmond District delivery area.
      // Specify latitude first (i.e., lat long lat long ...)
      "polygon": "37.785847 -122.484851 37.772757 -122.483983 37.774442 -122.458563 37.786876 -122.459474"
    },
    {
      "@type": "GeoShape",  // Haight-Ashbury delivery area.
      // Specify latitude first (i.e., lat long lat long ...)
      "polygon": "37.774804 -122.454774 37.766224 -122.452881 37.769087 -122.436043 37.773087 -122.437417"
    }  ],
...
},

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

Attribut Typ Notwendigkeit Beschreibung
@type Text Erforderlich Dies ist immer „Menü“.
@id URL Erforderlich Eindeutige Kennung für die Speisekarte.
name Text Optional Text, mit dem das Menu identifiziert werden kann, wenn ein Nutzer im Web surft .
description Text Optional Beschreibung des Menüs.
disclaimer MenuDisclaimer Optional Haftungsausschluss für die Speisekarte. Zum Beispiel die Offenlegung von Nährwertinformationen. und die Offenlegung von Allergenen.
hasMenuSection Einzelnes Objekt oder Array von MenuSection Optional Logische Untergruppierungen der Speisekarte (z. B. Abendessen, Vorspeisen oder Fisch) Gerichte).
hasMenuItem Einzelnes Objekt oder Array von MenuItem Optional MenuItem-Objekte in einem Menu, In der Regel, wenn die Menu nicht unterteilt ist nach MenuSections
inLanguage Text Optional Sprache des Menüinhalts als Sprachcode des IETF BCP 47-Standard Zum Beispiel: "en-US".

Die folgenden Beispiele zeigen die Verwendung des Typs Menu:

Beispiel 1

{
  "@type": "Menu",
  "@id": "http://www.provider.com/somerestaurant/menu/1",
  "hasMenuSection": {
    "@type": "MenuSection",
    "@id": "http://www.provider.com/somerestaurant/menusection/1",
    "name": "Tacos",
    "description": "Tacos inspired by India cuisine.",
    "offers": {
      "@type": "Offer",
      "availabilityStarts": "T08:00:00", // Starts at 8:00AM
      "availabilityEnds": "T22:00:00" // Ends at 10:00PM. Available 8AM-9:59:59PM
    },
    "hasMenuItem": {
      "@type": "MenuItem",
      "@id": "http://www.provider.com/somerestaurant/menuitem/1",
      "name": "Aloo Gobi Taco",
      "description": "Mexico City-style street corn tortilla taco filled with a flavorful mixture of mildly south Indian spiced cauliflower, potato, tomato, onions and bell peppers.",
      "offers": {
        "@type": "Offer",
        "sku": "offer-aloo-gobi-taco",
        "price": "3.50",
        "priceCurrency": "USD"
      },
      "nutrition": {
        "@type": "NutritionInformation",
        "calories": "170 Cal",
        "fatContent": "3 g",
        "fiberContent": "2 g",
        "proteinContent": "4 g"
      },
      "suitableForDiet": "http://schema.org/GlutenFreeDiet"
    }
  },
  "inLanguage": "English"
}

Beispiel 2

In diesem Beispiel wird hasMenuItem als Array dargestellt.

{
  "@type": "Menu",
  "@id": "http://www.provider.com/somerestaurant/menu/1",
  "name": "Dine-In Menu",
  "description": "Menu for in-restaurant dining only.",
  "hasMenuSection": [
    {
      "@type": "MenuSection",
      "@id": "http://www.provider.com/somerestaurant/menusection/1",
      "name": "Main",
      "description": "Main course",
      "image": "http://www.provider.com/somerestaurant/main_dishes.jpg",
      "hasMenuItem": [
        {
          "@type": "MenuItem",
          "@id": "http://www.provider.com/somerestaurant/menuitem/1",
          "name": "Pizza",
          "description": "Pizza",
          "offers": {
            "@type": "Offer",
            "sku": "offer-pizza",
            "price": "7.49",
            "priceCurrency": "USD",
            "availabilityStarts": "T08:00:00", // Starts at 8:00AM
            "availabilityEnds": "T18:00:00" // Ends at 6:00PM, last order at 5:59:59PM
          }
        },
        {
          "@type": "MenuItem",
          "@id": "http://www.provider.com/somerestaurant/menuitem/2",
          "name": "Pasta",
          "description": "Pasta",
          "offers": [
            {
              "@type": "Offer",
              "sku": "offer-pasta-lunch",
              "price": "7.49",
              "priceCurrency": "USD",
              "availabilityStarts": "T08:00:00", // Starts at 8:00AM
              "availabilityEnds": "T18:00:00" // Ends at 6:00PM, last order at 5:59:59PM
            },
            {
              "@type": "Offer",
              "sku": "offer-pasta-dinner",
              "price": "10.49",
              "priceCurrency": "USD",
              "availabilityStarts": "T18:00:00", // Starts at 6:00PM
              "availabilityEnds": "T21:00:00" // Ends at 9:00PM, last order at 8:59:59PM
            }
          ]
        }
      ]
    },
    {
      "@type": "MenuSection",
      "@id": "http://www.provider.com/somerestaurant/menusection/2",
      "name": "Soups & Salads",
      "description": "Salads and a few choices of soup",
      "image": "https://www.provider.com/somerestaurant/soup_and_salad_dishes.jpg",
      "hasMenuItem": {
        "@type": "MenuItem",
        "@id": "http://www.provider.com/somerestaurant/menuitem/3",
        "name": "Pea Soup",
        "description": "Creamy pea soup topped with melted cheese and sourdough croutons.",
        "offers": {
          "@type": "Offer",
          "sku": "offer-pea-soup",
          "price": "3.49",
          "priceCurrency": "USD"
        },
        "suitableForDiet": "http://schema.org/GlutenFreeDiet"
      }
    }
  ]
}

Beispiel 3

In diesem Beispiel wird hasMenuSection als Array dargestellt.

{
  "@type": "Menu",
  "@id": "http://www.provider.com/somerestaurant/menu/1",
  "name": "Dine-In Menu",
  "description": "Menu for in-restaurant dining only.",
  "hasMenuSection": [
    {
      "@type": "MenuSection",
      "@id": "http://www.provider.com/somerestaurant/menusection/1",
      "name": "Dinner",
      "description": "Dinner dishes",
      "hasMenuSection": [
        {
          "@type": "MenuSection",
          "@id": "http://www.provider.com/somerestaurant/menusection/2",
          "name": "Starters",
          "description": "Appetizers and such",
          "image": "https://www.provider.com/somerestaurant/starter_dishes.jpg",
          "hasMenuItem": {
            "@type": "MenuItem",
            "@id": "http://www.provider.com/somerestaurant/menuitem/1",
            "name": "Potato Skins",
            "description": "Small serving of stuffed potato skins.",
            "offers": {
              "@type": "Offer",
              "sku": "offer-potato-skins",
              "price": "7.49",
              "priceCurrency": "USD"
            },
            "suitableForDiet": "http://schema.org/GlutenFreeDiet"
          }
        },
        {
          "@type": "MenuSection",
          "@id": "http://www.provider.com/somerestaurant/menusection/3",
          "name": "Soups & Salads",
          "description": "Salads and a few choices of soup",
          "image": "https://thisisarestaurant.com/soup_and_salad_dishes.jpg",
          "hasMenuItem": {
            "@type": "MenuItem",
            "@id": "http://www.provider.com/somerestaurant/menuitem/2",
            "name": "Pea Soup",
            "description": "Creamy pea soup topped with melted cheese and sourdough croutons.",
            "offers": {
              "@type": "Offer",
              "sku": "offer-pea-soup",
              "price": "3.49",
              "priceCurrency": "USD"
            },
            "suitableForDiet": "http://schema.org/GlutenFreeDiet"
          }
        },
        {
          "@type": "MenuSection",
          "@id": "http://www.provider.com/somerestaurant/menusection/4",
          "name": "Steak",
          "description": "Steak Dishes",
          "image": "https://steak.com/steak_dishes.jpg",
          "hasMenuItem": {
            "@type": "MenuItem",
            "@id": "http://www.provider.com/somerestaurant/menuitem/3",
            "name": "Sirloin",
            "description": "Sirloin steak dish.",
            "offers": {
              "@type": "Offer",
              "sku": "offer-sirloin-steak",
              "price": "15.49",
              "priceCurrency": "USD"
            },
            "suitableForDiet": "http://schema.org/GlutenFreeDiet"
          }
        }
      ]
    },
    {
      "@type": "MenuSection",
      "@id": "http://www.provider.com/somerestaurant/menusection/5",
      "name": "Desserts",
      "description": "Dessert dishes.",
      "image": "http://www.provider.com/somerestaurant/dessert_dishes.jpg",
      "hasMenuItem": {
        "@type": "MenuItem",
        "@id": "http://www.provider.com/somerestaurant/menuitem/4",
        "name": "Chocolate Pie",
        "description": "A slice of chocolate pie.",
        "offers": {
          "@type": "Offer",
          "sku": "offer-chocolate-pie",
          "price": "3.49",
          "priceCurrency": "USD"
        }
      }
    }
  ]
}

Weitere Beispiele für Menu-Entitäten finden Sie unter Beispiele für Restaurant- und Speisekartenfeeds.

In der folgenden Tabelle sind die Attribute für den Typ MenuDisclaimer aufgeführt:

Attribut Typ Notwendigkeit Beschreibung
@type Text Erforderlich Dies ist immer „Menudisclaimer“.
@id URL Erforderlich Eindeutige Kennung für den Haftungsausschluss für die Speisekarte.
text Text Erforderlich Text des Haftungsausschlusses. Zum Beispiel: „Die durchschnittliche tägliche Energie eines Erwachsenen 8.700 kJ.“
url URL Optional URL, die auf eine Seite mit weiteren Details zum Haftungsausschluss verweist.

Das folgende Beispiel zeigt die Verwendung des Typs MenuDisclaimer:

Beispiel

{
    "@type": "Menu",
    "@id": "menu_1",
    "disclaimer": {
        "@type": "MenuDisclaimer",
        "@id": "menu_1_disclaimer_1",
        "text": "The average adult daily energy intake is 8700 kJ",
        "url": "https://partner.domain.com/menu/provider/disclaimer/more-info.html"
    }
}

Menüpunkt, der das Element im Menü darstellt. In der folgenden Tabelle sind die Attribute für den Typ MenuItem:

Attribut Typ Notwendigkeit Beschreibung
@type Text Erforderlich Dies ist immer „MenuItem“.
@id URL Erforderlich Eindeutige Kennung des Menüpunkts.
name Text Erforderlich Text, der das MenuItem identifizieren kann, wenn ein Nutzer im Web surft Menü.
description Text Optional Beschreibung des Menüpunkts
image URL Optional

Bild des Menüpunkts. Beachten Sie die folgenden Richtlinien für Bilder:

  • Seitenverhältnis 3:2
  • Mindestauflösung: 600 x 400 Pixel, 72 dpi
  • Empfohlene Auflösung: 1400 x 960 Pixel, 72 dpi
menuAddOn Array mit AddOnMenuSection Optional Elemente in einem Menübereich, die als Add-ons zum Menüpunkt.
offers Array mit Offer Erforderlich*

Ein oder mehrere Angebote für diese MenuItem. Beschreibt, wann und zu welchem Preis dieser MenuItem verfügbar ist. Nur ein Angebot sollte zu einem bestimmten Zeitpunkt gültig sein. Es können mehrere Angebote angegeben werden, wenn Preis und Verfügbarkeit variieren je nach Tageszeit. Wenn die Ernährungsartikel unterscheidet sich durch ein Basisattribut (z. B. Größe für Pizza) haben, verwenden Sie menuItemOption. Der Standardwert für Offer.eligibleQuantity ist das Minimum 0 ohne Obergrenze. Limit

Die folgende Liste zeigt, welche Offer-Unterkünfte verwendet in MenuItem.

  • Offer.sku erforderlich
  • Offer.price erforderlich
  • Offer.priceCurrency erforderlich
  • Offer.availabilityStarts optional
  • Offer.availabilityEnds optional
  • Offer.availableDay optional
  • Offer.validFrom optional
  • Offer.validThrough optional
  • Offer.eligibleQuantity optional
  • Offer.inventoryLevel optional
hasMenuItemOptions Array mit MenuItemOption Erforderlich Liste der Basisoptionen/Varianten für diesen Menüpunkt. Optionen sollten werden verwendet, um verschiedene für den Artikel verfügbare Basisvarianten anzugeben, z. B. z. B. klein, mittel und groß.
suitableForDiet Array mit RestrictedDiet Optional Das Gericht entspricht den beschriebenen Ernährungseinschränkungen (z. B. &quot;http://schema.org/GlutenFreeDiet&quot; oder "http://schema.org/VeganDiet". Dieses ist eine Aufzählungsliste möglicher Werte.
nutrition NutritionInformation Optional Nährwertinformationen für das Gericht, vor allem Kalorien.
hasAllergen AllergenDetails Optional Allergene des Gerichts pro gs1:AllergenDetails. Fügen Sie den gs1-Kontext hinzu, um dieses Attribut zu verwenden: "@context": ["http://gs1.org/voc/", "http://schema.org"]. Fügen Sie FoodBeverageTobaccoProduct zum Typ des MenuItem.
additive Array von AdditiveDetails Optional Die Zusatzstoffe des Gerichts pro gs1:AdditiveDetails. Dies ist eine Aufzählungsliste möglicher Werte. Zu verwendenden gs1-Kontext hinzufügen diese Property: "@context": ["http://gs1.org/voc/", "http://schema.org"]. Fügen Sie FoodBeverageTobaccoProduct zum Typ des MenuItem.
packaging PackagingDetails Optional Verpackungs- und Recyclinginformationen dieses MenuItems gemäß gs1:PackagingDetails Fügen Sie den gs1-Kontext hinzu, um dieses Attribut zu verwenden: "@context": ["http://gs1.org/voc/", "http://schema.org"]. Fügen Sie FoodBeverageTobaccoProduct zum Typ des MenuItem.

Die folgenden Beispiele zeigen MenuItem-Elemente:

Beispiel 1

"hasMenuItem": {
  "@type": "MenuItem",
  "@id": "http://www.provider.com/bar/menuitem/1",
  "name": "Potato Skins",
  "description": "Small serving of stuffed potato skins.",
  "offers": {
    "@type": "Offer",
    "sku": "offer-potato-skins",
    "price": "7.49",
    "priceCurrency": "USD"
  },
  "suitableForDiet": "http://schema.org/GlutenFreeDiet"
}

Beispiel 2

"hasMenuItem": [
  {
    "@type": "MenuItem",
    "@id": "https://www.example.com/1089/product/170067",
    "name": "Veg Grill Burrito",
    "offers": {
      "@type": "Offer",
      "sku": "offer-veg-grill-burrito",
      "price": "12.99",
      "priceCurrency": "USD"
    },
    "menuAddOn": {
      "@type": "AddOnMenuSection",
      "name": "Cheese",
      "@id": "https://www.example.com/1089/addon/1", // Points to an AddOnMenuSection
      "eligibleQuantity":
        "@type": "QuantitativeValue",
        "minValue": 0,
        "maxValue": 2 // Maximum of 2 cheeses are allowed
      }
    }
  },
  {
    "@type": "MenuItem",
    "@id": "https://www.example.com/1089/product/170018",
    "name": "Chicken Taco",
    "offers": {
      "@type": "Offer",
      "sku": "offer-chicken-taco",
      "price": "6.99",
      "priceCurrency": "USD"
    }
  }
]

Beispiel 3

{
  "@type": "MenuItem",
  "@id": "https://www.example.com/1089/product/170067",
  "name": "Meat Combo",
  "hasMenuItemOptions": [
    {
      "@type": "MenuItemOption",
      "value": {
        "@type": "PropertyValue",
        "name": "OPTION",
        "value": "Plate",
        "offers": {
          "@type": "Offer",
          "sku": "offer-meat-combo-plate",
          "price": "12.00",
          "priceCurrency": "USD"
        },
        "menuAddOn": [
          {
            "@type": "AddOnMenuSection",
            "name": "Toppings for Plate",
            "@id": "https://www.example.com/1089/addon/1",
            "eligibleQuantity": {
              "@type": "QuantitativeValue",
              "minValue": 0,
              "maxValue": 3
            },
            "hasMenuItem": [
              {
                "@type": "AddOnMenuItem",
                "@id": "https://www.example.com/1089/addon/1/a",
                "name": "Hummus",
                "offers": {
                  "@type": "Offer",
                  "sku": "offer-meat-combo-topping-hummus",
                  "price": "1.00",
                  "priceCurrency": "USD"
                }
              }
              // -- Other Items --
            ]
          }
        ]
      }
    },
    {
      "@type": "MenuItemOption",
      "value": {
        "@type": "PropertyValue",
        "name": "OPTION",
        "value": "Sandwich"
      },
      "offers": {
        "@type": "Offer",
        "sku": "offer-meat-combo-sandwich",
        "price": "10.00",
        "priceCurrency": "USD"
      },
      "menuAddOn": [
        {
          "@type": "AddOnMenuSection",
          "name": "Toppings for Sandwich",
          "@id": "https://www.example.com/1089/addon/1",
          "eligibleQuantity": {
            "@type": "QuantitativeValue",
            "minValue": 0,
            "maxValue": 2
          },
          "hasMenuItem": [
            {
              "@type": "AddOnMenuItem",
              "@id": "https://www.example.com/1089/addon/1/a",
              "name": "Hummus",
              "offers": {
                "@type": "Offer",
                "sku": "offer-meat-combo-topping-hummus",
                "price": "1.00",
                "priceCurrency": "USD"
              }
            }
            // -- Other Items --
          ]
        }
      ]
    }
  ]
}

Beispiel 4

{
  "@type": "MenuItem",
  "@id": "https://www.example.com/1089/product/170067",
  "name": "Pepperoni Pizza",
  "hasMenuItemOptions": [
    {
      "@type": "MenuItemOption",
      "value": {
        "@type": "PropertyValue",
        "name": "SIZE",
        "value": "Small"
      },
      "offers": {
        "@type": "Offer",
        "sku": "offer-small",
        "price": "10.00",
        "priceCurrency": "USD"
      }
    },
    {
      "@type": "MenuItemOption",
      "value": {
        "@type": "PropertyValue",
        "name": "SIZE",
        "value": "Medium"
      },
      "offers": {
        "@type": "Offer",
        "sku": "offer-medium",
        "price": "15.00",
        "priceCurrency": "USD"
      }
    },
    {
      "@type": "MenuItemOption",
      "value": {
        "@type": "PropertyValue",
        "name": "SIZE",
        "value": "Large"
      },
      "offers": {
        "@type": "Offer",
        "sku": "offer-large",
        "price": "20.00",
        "priceCurrency": "USD"
      }
    }
  ]
}

Beispiel 5

{
  "@type": ["MenuItem", "FoodBeverageTobaccoProduct"],
  "@id": "http://www.example.com/bar/menuitem/9",
  "name": "Ice Coffee",
  "offers": {
    "@type": "Offer",
    "sku": "offer-ice-coffee",
    "price": "3.99",
    "priceCurrency": "USD"
  },
  "nutrition": {
    "@type": "NutritionInformation",
    "description": "Contains preservatives and artificial flavor"
  },
  "hasAllergen": [
    {
      "@type": "AllergenDetails",
      "allergenType": "http://gs1.org/voc/AllergenTypeCode-LACTOSE",
      "allergenLevelOfContainmentCode":
        "http://gs1.org/voc/LevelOfContainmentCode-CONTAINS"
    },
    {
      "@type": "AllergenDetails",
      "allergenType": "http://gs1.org/voc/AllergenTypeCode-PEANUTS",
      "allergenLevelOfContainmentCode":
        "http://gs1.org/voc/LevelOfContainmentCode-MAY_CONTAIN"
    }
  ],
  "additive": [
    {
      "@type": "AdditiveDetails",
      "additiveName": "caffeine",
      "additiveLevelOfContainment":
        "http://gs1.org/voc/LevelOfContainmentCode-CONTAINS"
    }
  ],
  "packaging": {
    "@type": "PackagingDetails",
    "packagingRecyclingProcessType" :
      "http://gs1.org/voc/PackagingRecyclingProcessTypeCode-REUSABLE",
    "hasReturnablePackageDeposit": {
      "@type": "ReturnablePackageDepositDetails",
      "returnablePackageDepositAmount": {
        "@type": "http://gs1.org/voc/PriceSpecification",
        "http://gs1.org/voc/price": "0.10",
        "http://gs1.org/voc/priceCurrency": "USD"
      }
    }
  }
}

Weitere Beispiele für MenuItem-Entitäten finden Sie unter Beispiele für Restaurant- und Speisekartenfeeds.

Eine Option zur Darstellung von Entscheidungen, die Nutzende treffen müssen, wenn sie ein Gericht oder eine Kombination auswählen. Der Nutzer muss eine Option auswählen, andernfalls muss die Bestellung gilt als ungültig. Wählen Sie beispielsweise „klein“, „mittel“ oder „groß“ aus, bei einer Pizza.

Beispiele für Anwendungsfälle von MenuItemOption finden Sie in unserem Leitfaden zur Anpassung mithilfe von MenuItemOption.

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

Attribut Typ Notwendigkeit Beschreibung
@type Text Erforderlich Dies ist immer "MenuItemOption".
value PropertyValue Erforderlich PropertyValue, die ein Name/Wert-Paar enthält, das den Option.
offers Array mit Offer Erforderlich

Mindestens ein Angebot zum Bereitstellen dieser MenuItemOption. Beschreibt, wann und zu welchem Preis diese Menüoption verfügbar ist. Es darf jeweils nur ein Angebot gültig sein. Sie können viele gültige Angebote, wenn sich Preis und Verfügbarkeit je nach Tageszeit ändern können. Verwende Offer.eligibleQuantity nicht. MenuItemOption schließt sich gegenseitig aus, Offer.eligibleQuantity wird ignoriert, sofern angegeben.

Die folgende Liste zeigt, welche Offer-Unterkünfte verwendet in MenuItemOption.

  • Offer.sku erforderlich
  • Offer.price erforderlich
  • Offer.priceCurrency erforderlich
  • Offer.availabilityStarts optional
  • Offer.availabilityEnds optional
  • Offer.availableDay optional
  • Offer.validFrom optional
  • Offer.validThrough optional
  • Offer.eligibleQuantity optional
  • Offer.inventoryLevel optional
menuAddOn Array of AddOnMenuSection Optional Menübereich mit zulässigen Elementen, die als Add-on hinzugefügt werden können. Nur verwenden wenn Add-ons für eine bestimmte Menüoption spezifisch sind. Andernfalls Stellen Sie Add-ons mit der Property MenuItem.menuAddOn bereit.
suitableForDiet Array mit RestrictedDiet Optional Eine Aufzählungsliste für Ernährungsweisen, für die dieses Gericht gilt die beschriebenen Ernährungseinschränkungen (wie &quot;http://schema.org/GlutenFreeDiet&quot; oder „http://schema.org/VeganDiet“).
nutrition NutritionInformation Optional Nährwertinformationen für das Gericht, vor allem Kalorien.
hasAllergen AllergenDetails Optional Allergene des Gerichts pro gs1:AllergenDetails. Fügen Sie den gs1-Kontext hinzu, um dieses Attribut zu verwenden: "@context": ["http://gs1.org/voc/", "http://schema.org"]. Fügen Sie FoodBeverageTobaccoProduct zum Typ des MenuItemOption.
additive Array von AdditiveDetails Optional Zusatzstoffe des Gerichts je gs1:AdditiveDetails. Dies ist eine Aufzählungsliste möglicher Werte. Zu verwendenden gs1-Kontext hinzufügen diese Property: "@context": ["http://gs1.org/voc/", "http://schema.org"]. Fügen Sie FoodBeverageTobaccoProduct zum Typ des MenuItemOption.
packaging PackagingDetails Optional Verpackungs- und Recyclinginformationen dieses MenuItems gemäß gs1:PackagingDetails Fügen Sie den gs1-Kontext hinzu, um dieses Attribut zu verwenden: "@context": ["http://gs1.org/voc/", "http://schema.org"]. Fügen Sie FoodBeverageTobaccoProduct zum Typ des MenuItemOption.

Das folgende Beispiel zeigt MenuItemOption-Elemente:

Beispiel 1

{
  "@type": "MenuItem",
  "@id": "https://www.example.com/1089/product/170067",
  "name": "Pepperoni Pizza",
  "hasMenuItemOptions": [
    {
      "@type": "MenuItemOption",
      "value": {
        "@type": "PropertyValue",
        "name": "SIZE",
        "value": "Small"
      },
      "offers": {
        "@type": "Offer",
        "sku": "offer-small",
        "price": "10.00",
        "priceCurrency": "USD"
      }
    },
    {
      "@type": "MenuItemOption",
      "value": {
        "@type": "PropertyValue",
        "name": "SIZE",
        "value": "Medium"
      },
      "offers": {
        "@type": "Offer",
        "sku": "offer-medium",
        "price": "15.00",
        "priceCurrency": "USD"
      }
    },
    {
      "@type": "MenuItemOption",
      "value": {
        "@type": "PropertyValue",
        "name": "SIZE",
        "value": "Large"
      },
      "offers": {
        "@type": "Offer",
        "sku": "offer-large",
        "price": "20.00",
        "priceCurrency": "USD"
      }
    }
  ]
}

Beispiel 2

{
  "@type": "MenuItem",
  "@id": "https://www.example.com/1089/product/170067",
  "name": "Meat Combo",
  "hasMenuItemOptions": [
    {
      "@type": "MenuItemOption",
      "value": {
        "@type": "PropertyValue",
        "name": "OPTION",
        "value": "Plate",
        "offers": {
          "@type": "Offer",
          "sku": "offer-meat-combo-plate",
          "price": "12.00",
          "priceCurrency": "USD"
        },
        "menuAddOn": [
          {
            "@type": "AddOnMenuSection",
            "name": "Toppings for Plate",
            "@id": "https://www.example.com/1089/addon/1",
            "eligibleQuantity": {
              "@type": "QuantitativeValue",
              "minValue": 0,
              "maxValue": 3
            },
            "hasMenuItem": [
              {
                "@type": "AddOnMenuItem",
                "@id": "https://www.example.com/1089/addon/1/a",
                "name": "Hummus",
                "offers": {
                  "@type": "Offer",
                  "sku": "offer-meat-combo-topping-hummus",
                  "price": "1.00",
                  "priceCurrency": "USD"
                }
              }
              // -- Other Items --
            ]
          }
        ]
      }
    },
    {
      "@type": "MenuItemOption",
      "value": {
        "@type": "PropertyValue",
        "name": "OPTION",
        "value": "Sandwich"
      },
      "offers": {
        "@type": "Offer",
        "sku": "offer-meat-combo-sandwich",
        "price": "10.00",
        "priceCurrency": "USD"
      },
      "menuAddOn": [
        {
          "@type": "AddOnMenuSection",
          "name": "Toppings for Sandwich",
          "@id": "https://www.example.com/1089/addon/1",
          "eligibleQuantity": {
            "@type": "QuantitativeValue",
            "minValue": 0,
            "maxValue": 2
          },
          "hasMenuItem": [
            {
              "@type": "AddOnMenuItem",
              "@id": "https://www.example.com/1089/addon/1/a",
              "name": "Hummus",
              "offers": {
                "@type": "Offer",
                "sku": "offer-meat-combo-topping-hummus",
                "price": "1.00",
                "priceCurrency": "USD"
              }
            }
            // -- Other Items --
          ]
        }
      ]
    }
  ]
}

Menüabschnitt, der einen bestimmten Abschnitt im Menü darstellt. In der folgenden Tabelle Listet die Attribute für den Typ MenuSection auf:

Attribut Typ Notwendigkeit Beschreibung
@type Text Erforderlich Dies ist immer „MenuSection“.
@id URL Erforderlich Eindeutige Kennung des Speisekartenbereichs.
name Text Erforderlich Text, mit dem MenuSection identifiziert werden kann, wenn ein Nutzer auf der Website surft Menü.
description Text Optional Beschreibung des Menüabschnitts.
hasMenuSection Array mit MenuSection Optional Logische Untergruppe von MenuSection. Beispiel: Der Parameter Der Bereich „Speisekarte“ kann mehrere Untermenübereiche haben, z. B. „Geflügel“ Gerichte“ oder „Vegetarisch“.
hasMenuItem Array mit MenuItem Optional Menüpunkte, die in einem MenuSection enthalten sind.
offers Array mit Offer Optional

Offer.availabilityStarts und Offer.availabilityEnds, um den Zeitraum während für die dieses MenuSection bereitgestellt wird. Nicht verwenden Offer.eligibleQuantity

In der folgenden Liste sehen Sie, welche Offer-Properties verwendet in MenuSection:

  • Offer.availabilityStarts optional
  • Offer.availabilityEnds optional
  • Offer.availableDay optional
  • Offer.validFrom optional
  • Offer.validThrough optional
image URL Optional Bild des Bereichs für die Speisekarte.

Die folgenden Beispiele zeigen MenuSection-Entitäten:

Beispiel 1

{
  "@type": "MenuSection",
  "@id": "http://www.provider.com/bar/menusection/4",
  "name": "Steak",
  "description": "Steak Dishes",
  "image": "https://steak.com/steak_dishes.jpg",
  "hasMenuItem": {
    "@type": "MenuItem",
    "@id": "http://www.provider.com/bar/menuitem/3",
    "name": "Sirloin",
    "description": "Sirloin steak dish.",
    "offers": {
      "@type": "Offer",
      "sku": "offer-sirloin-steak",
      "price": "15.49",
      "priceCurrency": "USD"
    },
    "suitableForDiet": "http://schema.org/GlutenFreeDiet"
  }
}

Beispiel 2

"hasMenuSection": [
  {
    "@type": "MenuSection",
    "@id": "https://www.example.com/1089/categorization/25114480",
    "name": "Main Items",
    "hasMenuItem": [
      {
        "@type": "MenuItem",
        "@id": "https://www.example.com/1089/product/170067",
        "name": "Veg Grill Burrito",
        "offers": {
          "@type": "Offer",
          "sku": "offer-veg-grill-burrito",
          "price": "12.99",
          "priceCurrency": "USD"
        },
        "menuAddOn": {
          "@type": "AddOnMenuSection",
          "name": "Cheese",
          "@id": "https://www.example.com/1089/addon/1", // Points to an AddOnMenuSection
          "eligibleQuantity":
            "@type": "QuantitativeValue",
            "minValue": 0,
            "maxValue": 2 // Maximum of 2 cheeses are allowed
          }
        }
      },
      {
        "@type": "MenuItem",
        "@id": "https://www.example.com/1089/product/170018",
        "name": "Chicken Taco",
        "offers": {
          "@type": "Offer",
          "sku": "offer-chicken-taco",
          "price": "6.99",
          "priceCurrency": "USD"
        }
      }
    ]
  },
  {
    "@type": "AddOnMenuSection",
    "@id": "https://www.example.com/1089/addon/1",
    "name": "AddOnCheese",
    "hasMenuItem": [
      {
        "@type": "AddOnMenuItem",
        "@id": "https://www.example.com/1089/addon/a",
        "name": "Swiss",
        "offers": {
          "@type": "Offer",
          "sku": "offer-swiss",
          "price": "2.99",
          "priceCurrency": "USD"
        }
      },
      {
        "@type": "AddOnMenuItem",
        "@id": "https://www.example.com/1089/addon/b",
        "name": "Mozarella",
        "offers": {
          "@type": "Offer",
          "sku": "offer-mozzarella",
          "price": "1.99",
          "priceCurrency": "USD"
        }
      }
    ]
  }
]

Weitere Beispiele für MenuSection-Entitäten finden Sie unter Beispiele für Restaurant- und Speisekartenfeeds.

NutritionInformation

In der folgenden Tabelle werden die Attribute von NutritionInformation beschrieben. Typ. Bei den Maßeinheiten wird zwischen Groß- und Kleinschreibung unterschieden. Beispiel: „kcal“ akzeptiert wird, aber „cal“ nicht.

Attribut Typ Notwendigkeit Beschreibung
@type Text Erforderlich Dies ist immer „NutritionInformation“.
description Text Optional Nährwertangaben im Freitext. Beispiel: „Enthält Konservierungsstoffe“.
calories Text Optional

Die Anzahl der Kalorien in KCAL, kcal oder kJ, wobei Folgendes verwendet wird: Format:

number Cal_kcal_OR_kJ

Beispiel: „240 KCAL“.

carbohydrateContent Text Optional

Die Menge an Kohlenhydraten, in der Regel in g, mit: Format:

number g_OR_mg

Beispiel: „7 g“.

cholesterolContent Text Optional

Die Menge an Cholesterin, in der Regel in mg, unter Verwendung der folgendes Format:

number g_OR_mg

Beispiel: „12 mg“.

fatContent Text Optional

Die Fettmenge, normalerweise in g, im folgenden Format:

number g_OR_mg

Beispiel: „42 g“.

fiberContent Text Optional

Die Anzahl von g oder mg Ballaststoffe im folgenden Format:

number g_OR_mg
proteinContent Text Optional

Die Anzahl von g oder mg Protein im folgenden Format:

number g_OR_mg
saturatedFatContent Text Optional

Die Anzahl der g oder mg gesättigten Fettsäuren im folgenden Format:

number g_OR_mg
servingSize Text Optional Die Portionsgröße in ml, L, g oder kg, bezogen auf das Volumen oder Masse.
sodiumContent Text Optional

Die Anzahl der mg oder g Natrium im folgenden Format:

number g_OR_mg
sugarContent Text Optional

Die Anzahl von g oder mg Zucker im folgenden Format:

number g_OR_mg
transFatContent Text Optional

Die Anzahl von g oder mg Transfettsäuren im folgenden Format:

number g_OR_mg
unsaturatedFatContent Text Optional

Die Menge an ungesättigten Fettsäuren, normalerweise in g, mit: Format:

number g_OR_mg

Die folgenden Beispiele zeigen ein NutritionInformation-Element:

Beispiel 1

"nutrition": {
  "@type": "NutritionInformation",
  "calories": "170 Cal",
  "fatContent": "3 g",
  "fiberContent": "2 g",
  "proteinContent": "4 g"
},

Beispiel 2

{
  "@type": ["MenuItem", "FoodBeverageTobaccoProduct"],
  "@id": "http://www.example.com/bar/menuitem/7",
  "name": "Peach Ice Tea",
  "description": "A 0.5l bottle of peach ice tea.",
  "offers": {
    "@type": "Offer",
    "sku": "offer-peach-ice-tea",
    "price": "2.49",
    "priceCurrency": "USD"
  },
  "nutrition": {
              "@type": "NutritionInformation",
              "description": "Contains preservatives and artificial flavor"
  }
},

Angebot

Angebot für einen Artikel auf der Speisekarte. In der folgenden Tabelle werden die Eigenschaften der Offer-Typ:

Attribut Typ Notwendigkeit Beschreibung
@type Text Erforderlich Dies ist immer „Angebot“.
sku Text Bedingt

Eindeutige Kennung des Angebots. Kann ein beliebiger Textwert sein, der eindeutig ist innerhalb von Offer. sku-Werte werden in Bezahlen und senden als offerId in lineitem.

Diese Property wird nur in den folgenden Angebotstypen verwendet:

  • AddOnMenuItem.Offer
  • MenuItem.Offer
  • MenuOption.Offer
price Text Bedingt

Preis des angebotenen Artikels. Beispiel: „6.00“ ohne die Währung .

Diese Property ist nur bei den folgenden Angebotstypen erforderlich:

  • AddOnMenuItem.Offer
  • MenuItem.Offer
  • MenuOption.Offer

Bei folgenden Angebotstypen wird es nicht verwendet:

  • AddOnMenuSection.Offer
  • MenuSection.Offer
  • Service.Offer
priceCurrency Text Bedingt

Die Währung des Preises oder Preises im dreistelligen ISO 4217-Format -Komponente, wenn sie an PriceSpecification und ihre Untertypen angehängt wird.

Diese Property ist nur bei den folgenden Angebotstypen erforderlich:

  • AddOnMenuItem.Offer
  • MenuItem.Offer
  • MenuOption.Offer

Bei folgenden Angebotstypen wird es nicht verwendet:

  • AddOnMenuSection.Offer
  • MenuSection.Offer
  • Service.Offer
availabilityStarts DateTime oder Time Optional Datum und Uhrzeit oder nur die Uhrzeit, zu der das Angebot verfügbar ist. Wenn beispielsweise Pfannkuchen ab 7:00 Uhr serviert werden, lautet der Wert dieses Feldes so aussehen: „2017-05-01T07:00:00-07:00“. Weitere Informationen finden Sie unter DateTime- und Time-Formate.
availabilityEnds DateTime oder Time Optional Datum und Uhrzeit oder nur die Uhrzeit, zu der das Angebot nicht verfügbar ist. Dieses Zeit ist exklusiv. Wenn die Verfügbarkeit von Pfannkuchen zum Beispiel 10:00 Uhr, dann kann der letzte Pfannkuchen um 09:59:59 Uhr serviert werden. Der Wert von kann dieses Feld dann so aussehen: „2017-05-01T10:00:00-07:00“. Weitere Informationen finden Sie unter DateTime- und Time-Formate.
availableDay Array von DayOfWeek Optional

Die Wochentage, an denen dieser Artikel verfügbar ist. Gültige Werte sind:

  • „Montag“
  • „Dienstag“
  • „Mittwoch“
  • „Donnerstag“
  • „Freitag“
  • „Samstag“
  • „Sonntag“

Wenn Sie an verschiedenen Wochentagen unterschiedliche Verfügbarkeiten haben, mehrere Offer-Objekte verwenden, wie in siehe Beispiele unten.

validFrom DateTime Optional

Das Datum und die Uhrzeit (einschließlich Zeitzone), zu der die angegebenen Preis ist gültig. Zum Beispiel kostet Nudeln mittags 8 € und 10 € beim Abendessen. Weitere Informationen finden Sie unter DateTime- und Time-Formate.

Diese Property kann in den folgenden Angebotstypen verwendet werden:

  • AddOnMenuItem.Offer
  • MenuItem.Offer
  • MenuOption.Offer
  • AddOnMenuSection.Offer
  • MenuSection.Offer

Diese Property wird in den folgenden Angebotstypen nicht verwendet:

  • Service.Offer
validThrough DateTime Optional

Das Datum und die Uhrzeit (einschließlich Zeitzone), nach dem die angegebene Preis ist nicht mehr gültig. Zum Beispiel kostet Nudeln mittags 8 € und 10 € für das Abendessen. Die Uhrzeit für validThrough ist exklusiv: Ist diese Uhrzeit beispielsweise auf 18:00 Uhr eingestellt, gilt sie bis zu 17:59:59 Uhr. Weitere Informationen finden Sie unter DateTime- und Time-Formate.

Diese Property kann in den folgenden Angebotstypen verwendet werden:

  • AddOnMenuItem.Offer
  • MenuItem.Offer
  • MenuOption.Offer
  • AddOnMenuSection.Offer
  • MenuSection.Offer

Diese Property wird bei den folgenden Angebotstypen nicht verwendet.

  • Service.Offer
eligibleQuantity QuantitativeValue Optional

Die Bestellmengen, für die dieser Artikel zulässig ist. Beispiel: für ein Restaurant müssen mindestens 10 Pizzen Auslieferung.

Dieser Wert ist optional. Standardmäßig gibt es keine Höchstgrenze, kann das Restaurant eine angeben. Die Mindestbeträge gelten nur, wenn ein Nutzer das Element auswählt.

Diese Property kann in den folgenden Angebotstypen verwendet werden:

  • AddOnMenuItem.Offer
  • MenuItem.Offer
  • MenuOption.Offer

Diese Property wird bei den folgenden Angebotstypen nicht verwendet.

  • AddOnMenuSection.Offer
  • MenuSection.Offer
  • Service.Offer
aggregateRating AggregateRating Optional

Die Gesamtbewertung, basierend auf einer Sammlung von Rezensionen oder Bewertungen der ein.

Diese Property kann in den folgenden Angebotstypen verwendet werden:

  • AddOnMenuItem.Offer
  • MenuItem.Offer

Diese Eigenschaft wird in den folgenden Typen nicht verwendet.

  • AddOnMenuSection.Offer
  • MenuItemOption.Offer
  • MenuSection.Offer
  • Service.Offer
inventoryLevel QuantitativeValue Optional

Der ungefähre aktuelle Lagerbestand für den Artikel.

Diese Property kann in den folgenden Angebotstypen verwendet werden:

  • AddOnMenuItem.Offer
  • MenuItem.Offer
  • MenuItemOption.Offer

Diese Property wird in den folgenden Angebotstypen nicht verwendet:

  • AddOnMenuSection.Offer
  • MenuSection.Offer
  • Service.Offer
priceSpecification Array von DeliveryChargeSpecification oder ein Array von PaymentChargeSpecification Optional

Bei Verwendung in Service.Offer gibt es Details zum den Preis der Lieferung. Wenn mehrere DeliveryChargeSpecification -Objekte anwendbar sind, wird das spezifischste angewendet. Gemeinsam verwenden exklusive DeliveryChargeSpecification-Objekte an, um keine und Ambiguität.

Diese Property kann in den folgenden Angebotstypen verwendet werden:

  • Service.Offer

Diese Property wird in den folgenden Angebotstypen nicht verwendet:

  • AddOnMenuItem.Offer
  • AddOnMenuSection.Offer
  • MenuItem.Offer
  • MenuOption.Offer
  • MenuSection.Offer
offeredBy Array mit Restaurant-IDs Optional

Steht für die Restaurants dieses Offer angeboten wird.

Wenn keine Angabe erfolgt, wird diese Offer angeboten für alle Restaurants.

Diese Property kann in den folgenden Angebotstypen verwendet werden:

  • AddOnMenuItem.Offer
  • AddOnMenuSection.Offer
  • MenuItem.Offer
  • MenuItemOption.Offer
  • MenuSection.Offer

Diese Property wird in den folgenden Angebotstypen nicht verwendet:

  • Service.Offer
applicableFulfillmentMethod Text-Array Optional

Stellt den Diensttyp dieses Offer dar erfüllt sind. Mögliche Werte sind „DELIVERY“. oder „AUSFÜHREN“.

Wenn nicht angegeben, gilt diese Offer als Prämie Lieferdienst oder Essen zum Mitnehmen.

Diese Property kann in den folgenden Angebotstypen verwendet werden:

  • AddOnMenuItem.Offer
  • AddOnMenuSection.Offer
  • MenuItem.Offer
  • MenuItemOption.Offer
  • MenuSection.Offer

Diese Property wird in den folgenden Angebotstypen nicht verwendet:

  • Service.Offer
@id URL Verworfen Eindeutige Kennung des Angebots. Am 25.04.2019 verworfen, ersetzen durch sku wie oben beschrieben.

Die folgenden Beispiele zeigen Offer-Elemente:

Beispiel 1

Das folgende Beispiel zeigt ein einfaches Angebot:

{
  "@type": "Offer",
  "@id": "https://www.provider.com/menu/74962/139/offer",
  "price": "10",
  "priceCurrency": "USD"
}

Beispiel 2

Das folgende Beispielangebot zeigt die Verfügbarkeit von 8:00 bis 10:00 Uhr am Wochenenden:

{
  "@type": "Offer",
  "@id": "https://www.provider.com/menu/74962/140/offer",
  "price": "10",
  "priceCurrency": "USD",
  "availabilityStarts": "T08:00:00-07:00",  // Only available from 8-9:59:59 AM
  "availabilityEnds": "T10:00:00-07:00",
  "availableDay": ["Saturday", "Sunday"]  // Only on weekends.
}

Beispiel 3

Im folgenden Beispiel ist die Verfügbarkeit montags von 9:00 bis 10:59:59 Uhr zu sehen. Mittwoch und Freitag, aber dienstags und donnerstags von 8:00 bis 11:59:59 Uhr:

{
  "@type": "Offer",
  "@id": "https://www.provider.com/menu/74962/140/offer",
  "price": "10",
  "priceCurrency": "USD",
  "availabilityStarts": "T09:00:00-07:00",
  "availabilityEnds": "T11:00:00-07:00",
  "availableDay": ["Monday", "Wednesday", "Friday"]
}, {
  "@type": "Offer",
  "@id": "https://www.provider.com/menu/74962/141/offer",
  "price": "10",
  "priceCurrency": "USD",
  "availabilityStarts": "T08:00:00-07:00",
  "availabilityEnds": "T12:00:00-07:00",
  "availableDay": ["Tuesday", "Thursday"]
}

Beispiel 4

Im folgenden Beispiel sehen Sie, wie ein Add-on-Menüelement Menge festgelegt, sodass Nutzende maximal 2 Teile diesen Artikel:

{
  "@type": "AddOnMenuItem",
  "@id": "https://www.example.com/1089/addon/a",
  "name": "Ranch",
  "offers": {
    "@type": "Offer",
    "@id": "https://www.example.com/1089/addon/a/offer",
    "price": "2.99",
    "priceCurrency": "USD"
    "eligibleQuantity": {
         "@type": "QuantitativeValue",
         "maxValue": 2
     }
  }
}

Beispiel 5

Das folgende Beispiel zeigt ein Lieferangebot an einem bestimmten Ort:

{
  "@type": "Offer",
  "@id": "https://www.provider.com/menu/74962/139/offer",
  "price": "10",
  "priceCurrency": "USD",
  "applicableFulfillmentMethods": ["DELIVERY"],
  "offeredBy": [
    {
      "@type": "Restaurant",
      "@id": "https://www.provider.com/location/1",
    }
  ]
}

OpeningHoursSpecification

Definiert, wann Dienste zur Bestellung verfügbar sind. In der Regel ist der Wert opens ist kleiner als der Wert von closes. Die folgenden Richtlinien gelten für die Verwendung des opens- und closes-Properties:

  • Die Attribute opens und closes sind optional, werden aber dringend empfohlen, um angeben, wann eine Bestellung verfügbar ist. Die Best Practice zur Definition von verfügbaren hours ist die Einbeziehung eines deliveryHours-Arrays, das einen ServiceDeliveryHoursSpecification mit den Properties opens und closes. Ich kann dann ein AdvanceServiceDeliveryHoursSpecification-Objekt in deliveryHours mit eigenen opens- und closes-Properties, wenn Sie bieten einen begrenzten Zeitraum für eine Vorbestellung an.
  • Wenn opens und closes nicht explizit angegeben sind, wird davon ausgegangen, dass die Reihenfolge -Service ist rund um die Uhr verfügbar.
  • Die Zeit muss in Ortszeit für den Dienst angegeben werden. Fügen Sie kein Zeitzone in einem opens- oder closes-Wert Wenn eine Zeitzone angegeben ist, werden diese Informationen ignoriert.
  • Wenn opens und closes gleich sind, nehmen wir an, dass das Restaurant 0 Minuten geöffnet.
  • Wenn opens größer als closes ist, wird die Schließzeit als am am nächsten Tag. Wenn die Öffnungszeit beispielsweise auf den 1. Januar um 17:00 Uhr und Schließungszeit ist 02:00 Uhr, dann wird das Restaurant als schließt am 2. Januar um 02:00 Uhr.
  • Die Uhrzeit für closes ist exklusiv. Wenn also die Öffnungs- und Schließzeiten für für dieses Bestellfenster auf 10:00 Uhr bzw. 16:00 Uhr festgelegt ist, ist der letzte Auftrag ist 15:59:59 Uhr.

In der folgenden Tabelle werden die Attribute von OpeningHoursSpecification beschrieben. Typ:

Attribut Typ Notwendigkeit Beschreibung
@type Text Erforderlich Das ist immer „OpeningHoursSpecification“.
@id URL Optional ID für OpeningHoursSpecification.
dayOfWeek Array von DayOfWeek Optional

Der Wochentag, für den diese Öffnungszeiten gültig sind. Zulässig Werte sind „Montag“, „Dienstag“, „Mittwoch“, „Donnerstag“, „Freitag“, „Samstag“ und „Sonntag“. Beispiel:

"dayOfWeek": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday"
]

Wenn Sie keine Wochentage angeben, OpeningHoursSpecification gilt für alle Tage.

opens Time Optional

Bei Verwendung in einer Restaurant-Spezifikation gibt dieses Attribut an die Öffnungszeit des Restaurants an den angegebenen Wochentagen Für Beispiel: 6:30 AM wird als „T06:30:00“ angegeben.

Bei Verwendung in einer Service-Spezifikation wird die spezifische Tageszeit, ab welcher die können Bestellungen aufgegeben werden. Es gibt die Öffnungszeit an, zu der das Onlinesystem aktiv ist und Nutzenden Bestellungen aufzugeben. Innerhalb der Öffnungszeiten des Onlinesystems Mit deliveryHours kannst du Öffnungszeiten angeben. wenn Nutzende spezielle Lieferoptionen bestellen können.

Die Zeit muss in Ortszeit für den Dienst angegeben werden. Das sollten Sie nicht tun: Eine Zeitzone in einen opens-Wert einschließen. Wenn eine Zeitzone angegeben ist, werden diese Informationen von Google ignoriert.

Weitere Informationen finden Sie unter DateTime- und Time-Formate.

closes Time Optional

Bei Verwendung in einer Service-Spezifikation gibt dieses Attribut die zu einer bestimmten Tageszeit, nach der die können nicht aufgegeben werden. Es gibt an, wann das Onlinesystem beendet ist und Nutzenden Bestellungen aufzugeben. Innerhalb der Öffnungszeiten des Onlinesystems Mit deliveryHours kannst du Öffnungszeiten angeben. wenn Nutzende spezielle Lieferoptionen bestellen können.

Die Zeit muss in Ortszeit für den Dienst angegeben werden. Das sollten Sie nicht tun: Eine Zeitzone in einen closes-Wert einschließen. Wenn eine Zeitzone angegeben ist, werden diese Informationen von Google ignoriert.

Weitere Informationen finden Sie unter DateTime- und Time-Formate.

validFrom DateTime Optional

Bei Verwendung in einer Restaurant-Spezifikation gibt dieses Attribut an das Datum der in opens angegebenen Öffnungszeiten und closes für das Restaurant sind gültig.

Wenn die angegebenen Öffnungszeiten beispielsweise für das gesamte Jahr 2017 gelten, legen Sie validFrom auf „2017-01-01T00:00:00-07:00“ festlegen und validThrough an „2017-12-31T23:59:59-07:00“.

Bei Verwendung in einer Service-Spezifikation wird validFrom gibt das Startdatum an, ab dem die können Bestellungen platziert.

Wenn diese Eigenschaft nicht in Ihrem Feed angegeben ist, geht Google davon aus, Das Restaurant oder die Bedienung ist täglich verfügbar.

Neben dem Datum, der Uhrzeit und der Zeitzone Wert sind erforderlich.

Verwenden Sie als Zeitzone die Zeitzone des Restaurants oder der Dienstleistung.

Weitere Informationen finden Sie unter DateTime- und Time-Formate.

validThrough DateTime Optional

Bei Verwendung in einer Restaurant: das Datum nach dem die Öffnungszeiten von opens und closes sind keine gültig sein.

Wenn die angegebenen Öffnungszeiten beispielsweise für das gesamte Jahr 2017 gelten, legen Sie validFrom auf „2017-01-01T00:00:00-07:00“ festlegen und validThrough an „2017-12-31T23:59:59-07:00“.

Bei Verwendung in einer Service-Spezifikation wird validThrough gibt das Enddatum an, nach dem die können Bestellungen nicht mehr platziert.

Wenn diese Eigenschaft nicht in Ihrem Feed angegeben ist, geht Google davon aus, Das Restaurant oder die Bedienung ist täglich verfügbar.

Neben dem Datum, der Uhrzeit und der Zeitzone Datum/Uhrzeit sind erforderlich.

Verwenden Sie als Zeitzone die Zeitzone des Restaurants oder der Dienstleistung.

Die Uhrzeit für validThrough ist exklusiv. Beispiel: Wenn als Uhrzeit 18:00 Uhr festgelegt ist, gilt sie bis 17:59:59 Uhr.

Weitere Informationen finden Sie unter DateTime- und Time-Formate.

deliveryHours Array von ServiceDeliveryHoursSpecification oder Array von AdvanceServiceDeliveryHoursSpecification Bedingt

Die angegebene Zeit für die Lieferung oder Abholung

Dieser Parameter ist erforderlich, es sei denn, das Restaurant ist geschlossen (d. h. opens und closes sind festgelegt und gleich miteinander kommunizieren.

  • ServiceDeliveryHoursSpecification: Innerhalb des Öffnungszeiten festlegen, können Sie und „Schließt“ Stunden, wenn Nutzende so schnell wie möglich Bestellungen aufgeben können.
  • AdvanceServiceDeliveryHoursSpecification: Innerhalb des Öffnungszeiten festlegen, können Sie und „Schließt“ Stunden, wenn Nutzende können Vorbestellungen aufgeben.

Die folgenden Beispiele zeigen OpeningHoursSpecification-Elemente:

Beispiel 1

// Ordering times for Monday through Friday
{
  "@type": "OpeningHoursSpecification",
  "deliveryHours": [
    {
      "@type": "AdvanceServiceDeliveryHoursSpecification",
      "deliveryLeadTime": {
        "@type": "QuantitativeValue",
        "value": "60",
        "unitCode": "MIN"
      },
      "dayOfWeek": [
        "Monday",
        "Tuesday",
        "Wednesday",
        "Thursday",
        "Friday"
      ],
      "opens": "T12:00:00", // Advance ordering begins at noon
      "closes": "T23:59:59", // Advance ordering ends at midnight
      "validFrom": "2017-01-01T00:00:00-07:00",
      "validThrough": "2018-12-31T23:59:59-07:00"
    },
    {
      "@type": "ServiceDeliveryHoursSpecification",
      "deliveryLeadTime": {
        "@type": "QuantitativeValue",
        "value": "60",
        "unitCode": "MIN"
      },
      "dayOfWeek": [
        "Monday",
        "Tuesday",
        "Wednesday",
        "Thursday",
        "Friday"
      ],
      "opens": "T10:00:00", // ASAP ordering begins at 10AM
      "closes": "T14:00:00", // ASAP ordering ends at 2PM
      "validFrom": "2017-01-01T00:00:00-07:00",
      "validThrough": "2018-12-31T23:59:59-07:00"
    }
  ]
},

Beispiel 2

// Ordering times for Saturday and Sunday
{
  "@type": "OpeningHoursSpecification",
  "deliveryHours": [
    {
      // In this case advance orders are unavailable on Saturday and Sunday
      "@type": "ServiceDeliveryHoursSpecification",
      "deliveryLeadTime": {
        "@type": "QuantitativeValue",
        "value": "60",
        "unitCode": "MIN"
      },
      "dayOfWeek": [
        "Saturday",
        "Sunday"
      ],
      "opens": "T12:00:00", // ASAP orders start at noon
      "closes": "T23:59:59", // ASAP orders end at midnight
      "validFrom": "2017-01-01T00:00:00-07:00",
      "validThrough": "2018-12-31T23:59:59-07:00"
    }
  ]
}

Beispiel 3

"hoursAvailable": {
  "@type": "OpeningHoursSpecification",
  "validFrom": "2016-02-01T00:00:00-07:00",
  "validThrough": "2016-03-01T00:00:00-07:00",
  "opens": "T08:00:00",  // Ordering begins at 8:00AM and ends at 6:00PM.
                         // ASAP and and advance orders are restricted to this
                         // time frame since the user won't be able to place
                         // orders outside of this window.
  "closes": "T18:00:00",
  "deliveryHours": {
    "@type": "ServiceDeliveryHoursSpecification",
    "deliveryLeadTime": {
      "@type": "QuantitativeValue",
      "value": "60",
      "unitCode": "MIN"
    }
  }
},

Beispiel 4

// List hours available for 2017 and 2018
"hoursAvailable": [
  {
    "@type": "OpeningHoursSpecification",
    // Array containing advance order hours for each day
    "deliveryHours": [
      {
        // Open 10:00AM to 9:29:59PM on Mondays
        "@type": "AdvanceServiceDeliveryHoursSpecification",
        "deliveryLeadTime": {
          "@type": "QuantitativeValue",
          "value": "60",
          "unitCode": "MIN"
        },
        "dayOfWeek": [
          "Monday"
        ],
        "opens": "T10:00:00",
        "closes": "T21:30:00",
        "validFrom": "2017-01-01T00:00:00-07:00",
        "validThrough": "2018-12-31T23:59:59-07:00"
      },
      {
        // Open 10:00AM to 9:29:59PM on Tuesdays
        "@type": "AdvanceServiceDeliveryHoursSpecification",
        "deliveryLeadTime": {
          "@type": "QuantitativeValue",
          "value": "60",
          "unitCode": "MIN"
        },
        "dayOfWeek": [
          "Tuesday"
        ],
        "opens": "T10:00:00",
        "closes": "T21:30:00",
        "validThrough": "2018-12-31T23:59:59-07:00"
      },
      {
        // Open 10:00AM to 9:29:59PM on Wednesdays
        "@type": "AdvanceServiceDeliveryHoursSpecification",
        "deliveryLeadTime": {
          "@type": "QuantitativeValue",
          "value": "60",
          "unitCode": "MIN"
        },
        "dayOfWeek": [
          "Wednesday"
        ],
        "opens": "T10:00:00",
        "closes": "T21:30:00",
        "validFrom": "2017-01-01T00:00:00-07:00",
        "validThrough": "2018-12-31T23:59:59-07:00"
      },
      {
        // Open 10:00AM to 9:29:59PM on Thursdays
        "@type": "AdvanceServiceDeliveryHoursSpecification",
        "dayOfWeek": [
          "Thursday"
        ],
        "opens": "T10:00:00",
        "closes": "T21:30:00",
        "validFrom": "2017-01-01T00:00:00-07:00",
        "validThrough": "2018-12-31T23:59:59-07:00"
      },
      {
        // Open 10:00AM to 11:29:59PM on Fridays
        "@type": "AdvanceServiceDeliveryHoursSpecification",
        "deliveryLeadTime": {
          "@type": "QuantitativeValue",
          "value": "60",
          "unitCode": "MIN"
        },
        "dayOfWeek": [
          "Friday"
        ],
        "opens": "T10:00:00",
        "closes": "T23:30:00",
        "validFrom": "2017-01-01T00:00:00-07:00",
        "validThrough": "2018-12-31T23:59:59-07:00"
      },
      {
        // Open 10:00AM to 11:29:59PM on Saturdays
        "@type": "AdvanceServiceDeliveryHoursSpecification",
        "deliveryLeadTime": {
          "@type": "QuantitativeValue",
          "value": "60",
          "unitCode": "MIN"
        },
        "dayOfWeek": [
          "Saturday"
        ],
        "opens": "T10:00:00",
        "closes": "T23:30:00",
        "validFrom": "2017-01-01T00:00:00-07:00",
        "validThrough": "2018-12-31T23:59:59-07:00"
      },
      {
        // Open 11:00AM to 6:59:59PM on Sundays
        "@type": "AdvanceServiceDeliveryHoursSpecification",
        "deliveryLeadTime": {
          "@type": "QuantitativeValue",
          "value": "60",
          "unitCode": "MIN"
        },
        "dayOfWeek": [
          "Sunday"
        ],
        "opens": "T11:00:00",
        "closes": "T19:00:00",
        "validFrom": "2017-01-01T00:00:00-07:00",
        "validThrough": "2018-12-31T23:59:59-07:00"
      }
    ]
  }
],

PackagingDetails

Fügen Sie den gs1-Kontext hinzu, um diesen Typ zu verwenden: "@context": ["http://gs1.org/voc/", "http://schema.org"]. Fügen Sie außerdem FoodBeverageTobaccoProduct zum Typ von MenuItem oder MenuItemOption hinzu.

In der folgenden Tabelle werden die Attribute des Typs PackagingDetails beschrieben:

Attribut Typ Notwendigkeit Beschreibung
@type Text Erforderlich Dies ist immer „PackagingDetails“.
packagingRecyclingProcessType Text Optional Art des Recyclingprozesses von Verpackungen nach <ph type="x-smartling-placeholder"></ph> gs1:PackagingRecyclingProcessTypeCode auf. Beispiel: http://gs1.org/voc/PackagingRecyclingProcessTypeCode-RECYCLABLE oder http://gs1.org/voc/PackagingRecyclingProcessTypeCode-REUSABLE
hasReturnablePackageDeposit ReturnablePackageDepositDetails Optional Details zur Anzahlung für die Rücksendung des Pakets pro gs1:ReturnablePackageDepositDetails an. Für Flaschen und Dosen kann beispielsweise ein Pfandbetrag für die Rücksendung eingelegt werden.

Das folgende Beispiel zeigt die Verwendung des Typs PackagingDetails:

{
  "@type": ["MenuItem", "FoodBeverageTobaccoProduct"],
  "@id": "http://www.example.com/bar/menuitem/5",
  "name": "Sparkling Water",
  "description": "A 0.5l bottle of sparking water.",
  "offers": {
    "@type": "Offer",
    "sku": "offer-sparkling-water",
    "price": "1.49",
    "priceCurrency": "USD"
  },
  "packaging": {
    "@type": "PackagingDetails",
    "packagingRecyclingProcessType" :
      "http://gs1.org/voc/PackagingRecyclingProcessTypeCode-REUSABLE",
    "hasReturnablePackageDeposit": {
      "@type": "ReturnablePackageDepositDetails",
      "returnablePackageDepositAmount": {
        "@type": "http://gs1.org/voc/PriceSpecification",
        "http://gs1.org/voc/price": "0.05",
        "http://gs1.org/voc/priceCurrency": "USD"
      }
    }
  }
},

PaymentChargeSpecification

In der folgenden Tabelle werden die Attribute von PaymentChargeSpecification beschrieben. Typ:

Attribut Typ Notwendigkeit Beschreibung
@type Text Erforderlich Dies ist immer „PaymentChargeSpecification“.
@id URL Optional ID für PaymentChargeSpecification.
price Zahl Erforderlich Gesamtbetrag der Belastung. Beispiel: „6.00“ ohne Währung .
priceCurrency Text Erforderlich Der dreistellige ISO 4217-Währungscode des Preises. Beispiel: „USD“.
eligibleTransactionVolume PriceSpecification Optional Transaktionsvolumen in einer monetären Einheit, für das diese Zahlung berechnet wird ob die Spezifikation gültig ist, z. B. wenn es darum geht, einen minimalen Kaufpreis Lautstärke.
eligibleQuantity QuantitativeValue Optional Die Bestellmengen, für die die Zahlungsgebühr gültig ist. Für Mit dieser Eigenschaft können Sie z. B. festlegen, dass eine Mindestanzahl von Elementen erforderlich ist, in einer Bestellung.
validFrom DateTime Optional Datum und Uhrzeit (einschließlich Zeitzone) des Zeitpunkts der Zahlung wird gültig. Beispiel: „2017-05-01T07:00:00-07:00“. Für finden Sie unter DateTime- und Time-Formate.
validThrough DateTime Optional Datum und Uhrzeit (einschließlich Zeitzone) der Zahlung Die angegebene Gebühr ist ungültig. Beispiel: „2017-05-01T07:30:00-07:00“. Die Uhrzeit für validThrough ist exklusiv, z. B. wenn als Uhrzeit auf 18:00 Uhr eingestellt ist, gilt sie bis 17:59:59 Uhr. Weitere Informationen finden Sie unter DateTime- und Time-Formate.

Das folgende Beispiel zeigt ein PaymentChargeSpecification-Element:

Beispiel

"priceSpecification": [{
  "@type": "PaymentChargeSpecification",
  "@id": "http://www.provider.com/paymentCharge/bar",
  "priceCurrency": "USD",
  "price": "6.00", // Charges $6 for processing fee
  "eligibleQuantity": {
    "@type": "QuantitativeValue",
    "minValue": 2 // Minimum of two items required
  }
}]

Zusätzlich zu "@type": ["PaymentChargeSpecification"] kann das Objekt erweitert mit UnitPriceSpecification ("@type": ["PaymentChargeSpecification", "UnitPriceSpecification"]) Die Erweiterung bietet zwei zusätzliche Unterkünfte, die für Servicegebühren erforderlich sind. werden in Prozentsätzen berechnet.

Property Typ Notwendigkeit Beschreibung
referenceQuantity QuantitativeValue Erforderlich Referenzmenge, für die ein bestimmter Preis gilt. Beispiel: referenceQuantity des Werts 10 mit unitCode von „P1“ 10% des Bestellwerts ausmachen. Nur unitCode „P1“ ist unterstützt werden.
basePrice Zahl Optional Grundgebühr zusätzlich zu referenceQuantity. Für Beispiel: referenceQuantity von 10 mit unitCode von "P1" und basePrice von 5 in USD führen zu 5 € + 10% von den Bestellwert. Der Standardwert ist 0.

Beispiele für Datenexportgebühren

Bei Google können Sie Nutzern im Voraus über Offer.PriceSpecification der Dienstentität.

Beachten Sie, dass derzeit nur eine PaymentChargeSpecification unterstützt wird. Kombinieren alle Arten von Gebühren in einer einzigen PaymentChargeSpecification

Wenn keine Gebühr erhoben wird, wird Offer.PriceSpecification weggelassen.

  • Beispiel 1: Die Servicegebühr beträgt 5% der Zwischensumme des Einkaufswagens
  • Beispiel 2: Die Servicegebühr beträgt 5 $
  • Beispiel 3: Die Gepäckgebühr beträgt 0,1 $und die Servicegebühr beträgt 5% der Zwischensumme des Einkaufswagens.
  • Beispiel 4: Die Gepäckgebühr beträgt 0,1 $und die Servicegebühr 1 $
  • Beispiel 5: Die Servicegebühr beträgt 5% und das erforderliche Trinkgeld beträgt 10% der Zwischensumme des Einkaufswagens

Beispiel 1

priceSpecification [
  {
    "@type": ["PaymentChargeSpecification", "UnitPriceSpecification"],
    "referenceQuantity": {
      "@type": "QuantitativeValue",
      "value": "5.00", // 5%
      "unitCode": "P1" // P1 == %
    },
    "priceCurrency": "USD"
  }
]

Beispiel 2

priceSpecification [
  {
    "@type": ["PaymentChargeSpecification"],
    "priceCurrency": "USD",
    "price": "5.00"
  }
]

Beispiel 3

priceSpecification [
  {
    "@type": ["PaymentChargeSpecification", "UnitPriceSpecification"],
    "referenceQuantity": {
      "@type": "QuantitativeValue",
      "value": "5.00", // 5%
      "unitCode": "P1", // P1 == %
    },
    "priceCurrency": "USD",
    "basePrice": "0.10" // Bag fee $0.1
  }
]

Beispiel 4

priceSpecification [
  {
    "@type": ["PaymentChargeSpecification"],
    "priceCurrency": "USD",
    "price": "1.10" //$1 + $0.1
  }
]

Beispiel 5

priceSpecification [
  {
    "@type": ["PaymentChargeSpecification", "UnitPriceSpecification"],
    "referenceQuantity": {
      "@type": "QuantitativeValue",
      "value": "15.00", // 5% + 10%
      "unitCode": "P1" // P1 == %
    },
    "priceCurrency": "USD"
  }
]

Ort

In der folgenden Tabelle werden die Attribute des Typs Place beschrieben:

Attribut Typ Notwendigkeit Beschreibung
@type Text Erforderlich Dies ist immer „Ort“.
address PostalAddress Erforderlich Adresse eines Ortes.

Das folgende Beispiel zeigt ein Place-Element:

Beispiel

{
  "@type": "Place", // area2
  "address": {
    "@type": "PostalAddress",
    "postalCode": "94041",
    "addressCountry": "US"
  }
},

PostalAddress

In der folgenden Tabelle werden die Attribute des Typs PostalAddress beschrieben:

Attribut Typ Notwendigkeit Beschreibung
@type Text Erforderlich Dies ist immer „PostalAddress“.
addressLocality Text Erforderlich* Den Ortsteil oder die Stadt. Beispiel: „Hamburg“.
addressRegion Text Erforderlich* Die Region oder das Bundesland. Beispiel: „CA“.
postalCode Text Erforderlich* Die Postleitzahl. Beispiel: „94102“.
streetAddress Text Optional Die Adresse. Beispiel: „1600 Amphitheatre Pkwy“.
addressCountry Text Erforderlich Zweistelliger Ländercode gemäß ISO 3166-1 alpha-2 . Beispiel: „US“.

Lieferanbieter können diese Attribute angeben, um eine Service.areaServed festzulegen. wo ein Dienst angeboten wird.

Bei Verwendung in Restaurant.address werden alle Attribute in PostalAddress sind erforderlich.

Das folgende Beispiel zeigt ein PostalAddress-Element:

Beispiel

"address": {
  "@type": "PostalAddress",
  "streetAddress": "12345 Bar Avenue",
  "addressLocality": "San Francisco",
  "addressRegion": "CA",
  "postalCode": "94124",
  "addressCountry": "US"
},

PriceSpecification

In der folgenden Tabelle werden die Attribute von PriceSpecification beschrieben. Typ:

Attribut Typ Notwendigkeit Beschreibung
@type Text Erforderlich Dies ist immer „PriceSpecification“.
@id URL Optional ID für PriceSpecification.
minPrice Zahl Optional Der niedrigste Preis, wenn der Preis in einer Spanne liegt.
maxPrice Zahl Optional Der höchste Preis, wenn der Preis in einer Spanne liegt.
priceCurrency Text Erforderlich Der dreistellige ISO 4217-Währungscode des Preises. Beispiel: „USD“.
eligibleQuantity QuantitativeValue Optional Die Bestellmengen, für die die Preisspezifikation gilt. Der Preis kann beispielsweise bei 2 € pro Pfund oder bei 2 Artikeln pro Euro liegen.

Das folgende Beispiel zeigt ein PriceSpecification-Element:

Beispiel 1

"eligibleTransactionVolume": {
  "@type": "PriceSpecification",
  "minPrice": "20.00", // Minimum order price for delivery is $20
  "priceCurrency": "USD"
}

PropertyValue

Property-Wert-Paar zum Beschreiben von Optionen in MenuItemOption.

In der folgenden Tabelle sind die Attribute für den Typ PropertyValue aufgeführt:

Attribut Typ Notwendigkeit Beschreibung
@type Text Erforderlich Dies ist immer „PropertyValue“.
name Text Erforderlich

Name oder Typ der Option.

Folgende Namen können in MenuItem verwendet werden:

  • "SIZE": Größe von MenuItem. Beispiele: „Klein“, „Mittel“ oder groß.
  • "OPTION": alle Varianten außer der Größe (z. B. ein Gericht, das Salat oder Sandwiches). Wenn Sie nicht zwischen den "GRÖSSE" und "OPTION" und dann "OPTION".

Gültige Namen bei Verwendung in AddOnMenuItem:

  • "APPLICABLE_ITEM_OPTION": Eine Option für das AddOn, die nur gilt bei Verwendung mit dem MenuItem mit dem entsprechenden „GRÖSSE/OPTION“.
  • "PIZZA_SIDE": Speziell für Pizzas ist dieses Add-on nur gültig für eine Pizza mit einer großen Portion/ganze Pizza (z. B. mit Pilzen auf der linken Seite, oder die ganze Pizza).
  • "SIZE": Option zur Festlegung der Größe des Add-ons (z. B. große Pommes frites als Add-on für eine Mahlzeit-Kombination).
  • "OPTION": alle Varianten außer Größen Wenn Sie keine zwischen "SIZE" unterscheiden und "OPTION" und dann "OPTION".
value Text Erforderlich

Wert für die Option. Die Werte können beliebige Zeichenfolgen sein und werden als ist. Folgende Werte sind gültig:

  • "PIZZA_SIDE": Der entsprechende Wert sollte "PIZZA_SIDE_LEFT" sein, „PIZZA_SIDE_RIGHT“ oder „PIZZA_SIDE_WHOLE“ für eine Pizza.
  • "APPLICABLE_ITEM_OPTION": Dieser Wert sollte in einem der entsprechend "OPTION/SIZE" Auswahlmöglichkeiten für das übergeordnete Element MenuItem MenuItemOptions.

QuantitativeValue

In der folgenden Tabelle werden die Attribute des Typs QuantitativeValue beschrieben:

Attribut Typ Notwendigkeit Beschreibung
@type Text Erforderlich Dies ist immer „QuantitativeValue“.
value Zahl Optional Der Wert des Knotens mit dem quantitativen Wert oder dem Eigenschaftswert.
unitCode Text oder URL Optional

Die Maßeinheit als Gemeinsamer Code von UN/CEFACT oder eine URL.

Andere Codes als der allgemeine UN/CEFACT-Code können mit einem Präfix verwendet werden gefolgt von einem Doppelpunkt.

maxValue Zahl Optional Der obere Wert eines Merkmals oder einer Eigenschaft.
minValue Zahl Optional Der niedrigere Wert eines Merkmals oder einer Eigenschaft.

Die folgenden Beispiele zeigen die Verwendung des Typs QuantitativeValue:

Beispiel 1

"deliveryLeadTime": {
  "@type": "QuantitativeValue",
  "value": "60",
  "unitCode": "MIN"
}

Beispiel 2

"menuAddOn": {
  "@type": "AddOnMenuSection",
  "name": "Cheese",
  "@id": "https://www.example.com/1089/addon/1", // Points to an AddOnMenuSection
  "eligibleQuantity":
    "@type": "QuantitativeValue",
    "minValue": 0,
    "maxValue": 2 // Maximum of 2 cheeses are allowed
  }
}

Beispiel 3

"priceSpecification": [
  {
    "@type": "DeliveryChargeSpecification",
    "@id": "http://www.provider.com/defaultdeliveryfee/foo",
    "price": "10.0",
    "priceCurrency": "USD",
    "eligibleQuantity": {
      "@type": "QuantitativeValue",
      "minValue": 3  // Minimum of 3 items required for delivery
    }
  },
  {
    "@type": "DeliveryChargeSpecification",
    "@id": "http://www.provider.com/deliveryfee/foo/1",
    "price": "20.0",
    "priceCurrency": "USD",
    "validFrom":"T18:00:00", // Valid from 6:00PM
    "validThrough":"T22:00:00", // Valid to 9:59:59PM
    "eligibleQuantity": {
      "@type": "QuantitativeValue",
      "minValue": 3  // Minimum of 3 items required for delivery
    }
  }
]

Restaurant

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

Attribut Typ Notwendigkeit Beschreibung
@type Text Erforderlich Dies ist immer „Restaurant“.
@id URL Erforderlich Eindeutige Kennung des Restaurants oder Lieferanbieters. Beispiel: "http://www.provider.com/326", wobei "326" ist die eindeutige Kennung von Restaurantbesuch.
name Text Erforderlich Text, mit dem Restaurant während der Sortierung identifiziert werden kann .
url URL Erforderlich URL auf Ihrer Domain, die das Restaurant repräsentiert. Beispiel: &quot;http://www.provider.com/somerestaurant&quot;.
sameAs URL Optional Die offizielle Website des Restaurants. Beispiel: „http://www.beispielrestaurant.com“.
email Text Optional E-Mail-Adresse des Restaurants.
description Text Optional Beschreibung des Restaurants.
telephone Text Erforderlich

Telefonnummer im folgenden Format:

"[+][country_code][phone_#_with_area_code]"

Beispiel: „+16501234567“.

priceRange Text Optional Preisspanne. Beispiel: „$$" ($-Inexpensive, $$-Moderat, $$$-Expensive, $$$$-Very Expensive).
logo URL Optional Logo of the restaurant in PNG, JPG, or GIF format. For example, "http://www.somerestaurant.com/logo.png".
image URL Optional Image of the restaurant.
servesCuisine Array of Text Optional Food types that are served at the restaurant. For example, ["sushi","Asian fusion"].
address PostalAddress Required* Address of the restaurant.
geo GeoCoordinates Optional* Geographic coordinates of the restaurant.
suitableForDiet Array of RestrictedDiet Optional Dietary restrictions this restaurant accommodates (like kosher, vegan, or gluten-free diets). It is an enumerated list.
aggregateRating AggregateRating Optional Overall rating, based on a collection of reviews or ratings of the restaurant.
additionalProperty Array of name value string pairs Optional

A restaurant imprint is a section of additional information about the restaurant, such as legal name, legal address, and registration number. This information can be formatted using "\n".

For example "additionalProperty": [{"name": "imprint", "value": "first row\nsecondrow\n"},]

The following examples show the usage of the Restaurant type:

Example 1

{
  "@type": "Restaurant",
  "@id": "http://www.provider.com/somerestaurant",
  "url": "www.provider.com/somerestaurant",
  "name": "Some Restaurant",
  "sameAs": "http://www.somerestaurant.com",
  "image": "http://www.somerestaurant.com/image-of-some-restaurant.jpg",
  "description": "This is the Some Restaurant located on 345 Spear St. San Francisco, 94105 CA. It serves Indian-Mexican fusion cuisine",
  "address": {
    "@type": "PostalAddress",
    "addressLocality": "San Francisco",
    "addressRegion": "CA",
    "postalCode": "94105",
    "streetAddress": "345 Spear St",
    "addressCountry": "US"
  },
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": "37.391115",
    "longitude": "-122.081099"
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.4",
    "reviewCount": "89"
  },
  "priceRange": "$$
  "telephone": "+16501234567", // Die Landesvorwahl (+1) ist erforderlich.
  "servesCuisine": [
    „Indisch-mexikanische Fusionsküche“
  ]
},
  
  <ph type="x-smartling-placeholder">
</ph>

Beispiel 2

{
  "@type": "Restaurant",
  "@id": "http://www.example.com/threebrotherstacos",
  "name": "Three Brothers Tacos",
  "address": {
        "@type": "PostalAddress",
        "addressLocality": "Mountain View",
        "addressRegion": "CA",
        "postalCode": "94041",
        "streetAddress": "123 Foo St",
        "addressCountry": "US"
  },
  "additionalProperty": [
    {"name": "imprint", "value": "Three Brothers Tacos\n123 FooSt\nMountain View\nCA 94041, United States\nemail: contact@threebrotherstacos.com\n\nCommercial Register: 123456789"}
  ]
}

Weitere Beispiele für Restaurant-Entitäten finden Sie unter Beispiele für Restaurant- und Speisekartenfeeds.

ReturnablePackageDepositDetails

Fügen Sie den gs1-Kontext "@context" hinzu, um diesen Typ zu verwenden:

["http://gs1.org/voc/", "http://schema.org"]

Fügen Sie dann FoodBeverageTobaccoProduct zum Typ des entsprechenden MenuItem hinzu. oder MenuItemOption.

In der folgenden Tabelle werden die Eigenschaften der ReturnablePackageDepositDetails-Typ:

Attribut Typ Notwendigkeit Beschreibung
@type Text Erforderlich Dies ist immer "ReturnablePackageDepositDetails".
returnablePackageDepositAmount gs1:PriceSpecification Optional Der Pfandbetrag für diesen Artikel pro <ph type="x-smartling-placeholder"></ph> gs1:PriceSpecification. Beispiel: 0, 25 € Kaution pro Dose.

Im folgenden Beispiel wird die Verwendung von ReturnablePackageDepositDetails veranschaulicht: Typ:

{
  "@type": ["MenuItem", "FoodBeverageTobaccoProduct"],
  "@id": "http://www.example.com/bar/menuitem/5",
  "name": "Sparkling Water",
  "description": "A 0.5l bottle of sparking water.",
  "offers": {
    "@type": "Offer",
    "sku": "offer-sparkling-water",
    "price": "1.49",
    "priceCurrency": "USD"
  },
  "packaging": {
    "@type": "PackagingDetails",
    "packagingRecyclingProcessType" :
      "http://gs1.org/voc/PackagingRecyclingProcessTypeCode-REUSABLE",
    "hasReturnablePackageDeposit": {
      "@type": "ReturnablePackageDepositDetails",
      "returnablePackageDepositAmount": {
        "@type": "http://gs1.org/voc/PriceSpecification",
        "http://gs1.org/voc/price": "0.05",
        "http://gs1.org/voc/priceCurrency": "USD"
      }
    }
  }
},

Dienst

Beschreibt die Lieferung einer End-to-End-Bestellaktion von einem Restaurant an ein den geografischen Standort eines Lieferunternehmens angeben.

In der folgenden Tabelle werden die Attribute des Typs Service beschrieben:

Attribut Typ Notwendigkeit Beschreibung
@type Text Erforderlich

Der Feedtyp.

  • Service: Verwenden Sie diesen Typ für alle aktiven Dienstleistungsfeeds.
  • DisabledService: Diesen Typ nur verwenden, wenn eine Deaktivierung erforderlich ist eine Dienstentität aufgrund eines unerwarteten Ereignisses ist und Sie nicht wissen, wird der Dienst wieder aktiviert.
@id URL Erforderlich Kennzeichnung für den Auftragsausführungsdienst. Beispiel: &quot;http://www.provider.com/service/1&quot;.
description Text Optional Beschreibung des Artikels.
serviceType Text Erforderlich Die Art der angebotenen Dienstleistung. Mögliche Werte sind „DELIVERY“. oder „AUSFÜHREN“.
provider Restaurant Erforderlich Ein Verweis auf die eindeutige Kennung des Restaurants. Beispiel: &quot;http://www.provider.com/somerestaurant&quot;.
areaServed Array mit GeoShape Place oder GeoCircle Bedingt Geografisches Gebiet, in dem die Dienstleistung erbracht wird. Dieses Feld ist optional durch Standardeinstellung, ist jedoch erforderlich, wenn serviceType "DELIVERY" ist.
hoursAvailable Array mit OpeningHoursSpecification Erforderlich Zeiten, zu denen dieser Service verfügbar ist.
specialOpeningHoursSpecification Array mit OpeningHoursSpecification ServiceDeliveryHoursSpecification oder AdvanceServiceDeliveryHoursSpecification Optional

Zeiten, die den allgemeineren OpeningHoursSpecification- oder der Auftragsausführungszeiten. In der Regel definieren Sie mit diesem Feld und andere Arten von vorübergehenden Schließungen oder Änderungen der Öffnungszeiten.

Definieren Sie den speziellen Zeitraum mithilfe von validFrom und validThrough-Properties. Die Uhrzeit und die Zeitzone sind erforderlich, wenn Sie diese Attribute angeben.

offers Array mit Offer Bedingt

Details zum Lieferservice für ein bestimmtes Restaurant Dieses ist standardmäßig optional, aber erforderlich, wenn serviceType ist „DELIVERY“.

Das Attribut Offer.priceSpecification ist optional in Dienst. Hier werden keine anderen Offer-Properties verwendet.

hasOfferCatalog [Menu, OfferCatalog] Erforderlich

Gibt ein Menü für diesen Dienst an. Sie können ein anderes Menü für wie Essen zum Mitnehmen, Lieferservice oder Catering.

Sie müssen sowohl Menu als auch OfferCatalog angeben als Typ festlegen. Beispiel:

"hasOfferCatalog": {
"@type": ["Menu", "OfferCatalog"],
"@id": "https://www.provider.com/restaurant/menu/1"
}
additionalProperty Array von {name, value} Optional

Optionale Informationen zur Dienstkonfiguration. Die Elemente sollten ein Objekt mit dem Schlüssel name, der dem optionalen Feldname. Der Schlüssel value ist ein kontextrelevanter Wert für das Feld.

Weitere Informationen finden Sie in der ServingConfig. finden Sie weitere Informationen zu den jeweiligen Namen und Werten.

"additionalProperty": [{
  "name": "disableOrderInstructions",
  "value": false
}, {
  "name": "disableMenuItemSpecialInstructions",
  "value": false
}, {
  "name": "disableTipWidget",
  "value": false
}, {
  "name": "disablePromoWidget",
  "value": false
}, {
  "name": "menuItemSpecialInstructionsMaxLength",
  "value": 256
}, {
  "name": "orderInstructionsMaxLength",
  "value": 256
}]
potentialAction URL Optional

Enthält eine URL für einen Liefer- oder Abholservice, der bei der Migration von der End-to-End-Bestellfunktion zu einer Weiterleitung verwendet wird. Beispiel: „potentialAction“: { „url“: „https://fopatestagent.com/ordering/restaurant-1/delivery“ }

Das folgende Beispiel zeigt die Verwendung des Diensttyps:

Beispiel

{
  "@type": "Service",
  "@id": "http://www.provider.com/service/1",
  "serviceType": "DELIVERY",
  "provider": {
    "@type": "Restaurant",
    "@id": "http://www.provider.com/threebrotherstacos"
  },
  "potentialAction": {
    "url": "https://foprovider.com/ordering/restaurant-1/delivery"
  },
  "hoursAvailable": [
    // Ordering times for Monday through Friday
    {
      "@type": "OpeningHoursSpecification",
      "deliveryHours": [
        {
          "@type": "AdvanceServiceDeliveryHoursSpecification",
          "deliveryLeadTime": {
            "@type": "QuantitativeValue",
            "value": "60",
            "unitCode": "MIN"
          },
          "dayOfWeek": [
            "Monday",
            "Tuesday",
            "Wednesday",
            "Thursday",
            "Friday"
          ],
          "opens": "T12:00:00", // Advance ordering begins at noon
          "closes": "T23:59:59", // Advance ordering ends at midnight
          "validFrom": "2017-01-01T00:00:00-07:00",
          "validThrough": "2018-12-31T23:59:59-07:00"
        },
        {
          "@type": "ServiceDeliveryHoursSpecification",
          "deliveryLeadTime": {
            "@type": "QuantitativeValue",
            "value": "60",
            "unitCode": "MIN"
          },
          "dayOfWeek": [
            "Monday",
            "Tuesday",
            "Wednesday",
            "Thursday",
            "Friday"
          ],
          "opens": "T10:00:00", // ASAP ordering begins at 10AM
          "closes": "T14:00:00", // ASAP ordering ends at 2PM
          "validFrom": "2017-01-01T00:00:00-07:00",
          "validThrough": "2018-12-31T23:59:59-07:00"
        }
      ]
    },
    // Ordering times for Saturday and Sunday
    {
      "@type": "OpeningHoursSpecification",
      "deliveryHours": [
        {
          // In this case advance orders are unavailable on Saturday and Sunday
          "@type": "ServiceDeliveryHoursSpecification",
          "deliveryLeadTime": {
            "@type": "QuantitativeValue",
            "value": "60",
            "unitCode": "MIN"
          },
          "dayOfWeek": [
            "Saturday",
            "Sunday"
          ],
          "opens": "T12:00:00", // ASAP orders start at noon
          "closes": "T23:59:59", // ASAP orders end at midnight
          "validFrom": "2017-01-01T00:00:00-07:00",
          "validThrough": "2018-12-31T23:59:59-07:00"
        }
      ]
    }
  ],
  "hasOfferCatalog": {
    "@type": ["Menu", "OfferCatalog"],
    "@id": "https://www.provider.com/menu/1"
  },
  "areaServed": [{
      "@type": "GeoCircle", // area1
      "geoMidpoint": {
        "@type": "GeoCoordinates",
        "latitude": "42.362757",
        "longitude": "-71.087109"
      },
      "geoRadius": "10000"
    },
    {
      "@type": "Place", // area2
      "address": {
        "@type": "PostalAddress",
        "postalCode": "94041",
        "addressCountry": "US"
      }
    },
    {
      "@type": "GeoShape", // area3
      // Specify latitude first (i.e., lat long lat long ...)
      "polygon": "37.418128 -122.098167 37.382755 -122.118968 37.368551 -122.047978 37.400949 -122.048106 37.418128 -122.098167"
    },
    {
      "@type": "GeoShape", // area4
      // Specify latitude first (i.e., lat long lat long ...)
      "polygon": "37.806000 -122.425592 37.775849 -122.419043 37.795547 -122.394046 37.808747 -122.412619"
    },
    {
      "@type": "GeoCircle", // area5
      "geoMidpoint": {
        "@type": "GeoCoordinates",
        "latitude": "37.7392607",
        "longitude": "-122.3895522"
      },
      "geoRadius": "4505"
    }
  ],
  "offers": {
    "@type": "Offer",
    "priceSpecification": [{
        "@type": "DeliveryChargeSpecification",
        "@id": "http://www.provider.com/threebrotherstacos/deliveryfee/1",
        "price": "8.00", // Charges $8 for area5
        "priceCurrency": "USD",
        "eligibleTransactionVolume": {
          "@type": "PriceSpecification",
          "minPrice": "20.00",
          "priceCurrency": "USD"
        },
        "eligibleRegion": [ // area5
          {
            "@type": "GeoCircle",
            "geoMidpoint": {
              "@type": "GeoCoordinates",
              "latitude": "37.7392607",
              "longitude": "-122.3895522"
            },
            "geoRadius": "4505"
          }
        ]
      },
      {
        "@type": "DeliveryChargeSpecification",
        "@id": "http://www.provider.com/threebrotherstacos/defaultdeliveryfee",
        "price": "6.00", // Charges $6 when delivered from Foo restaurant to area1, area2, area3 and area4 (Default charge)
        "priceCurrency": "USD",
        "eligibleTransactionVolume": {
          "@type": "PriceSpecification",
          "minPrice": "20.00", // Minimum order price for delivery is $20
          "priceCurrency": "USD"
        }
      }
    ]
  }
},

Weitere Beispiele für Dienstentitäten finden Sie unter Beispiele für Dienstfeeds.

ServiceDeliveryHoursSpecification

Stellt die Zeiten für die Auftragsausführung dar, in denen Nutzer die Lieferung von Bestellungen so schnell wie möglich planen können und zum Mitnehmen.

In der Regel ist der Wert von opens kleiner als der Wert von closes. Die Die folgenden Richtlinien gelten für die Verwendung der Properties opens und closes:

  • Die Attribute opens und closes sind optional für ServiceDeliveryHoursSpecification. Wir empfehlen jedoch Folgendes: wenn Sie sie einbeziehen.
  • Die Zeit muss in Ortszeit für den Dienst angegeben werden. Fügen Sie kein Zeitzone in einem opens- oder closes-Wert Wenn eine Zeitzone angegeben ist, werden die Zeitzoneninformationen ignoriert.
  • Wenn opens und closes nicht explizit angegeben sind, gehen wir davon aus, dass „ASAP“ ist jederzeit täglich möglich.
  • Wenn opens und closes gleich sind, nehmen wir an, dass die ASAP-Bestellung nicht verfügbar.
  • Wenn opens größer als closes ist, wird die Schließzeit als am am nächsten Tag. Wenn die Öffnungszeit beispielsweise auf den 1. Januar um 17:00 Uhr und Schließungszeit ist 02:00 Uhr, dann wird das Restaurant als schließt am 2. Januar um 02:00 Uhr.

In der folgenden Tabelle werden die Eigenschaften der ServiceDeliveryHoursSpecification-Typ:

Attribut Typ Notwendigkeit Beschreibung
@type Text Erforderlich Dies ist immer „ServiceDeliveryHoursSpecification“.
validFrom DateTime Optional

Datum und Uhrzeit (einschließlich Zeitzone) des Zeitpunkts der Einstellung Bestellungen vom Typ „ASAP“ erfüllt sind. Beispiel: „2017-05-01T07:00:00-07:00“. Wenn diese Eigenschaft nicht festgelegt ist, wird davon ausgegangen, dass es jeden Tag gültig ist.

Weitere Informationen finden Sie unter DateTime- und Time-Formate.

validThrough DateTime Optional

Datum und Uhrzeit (einschließlich Zeitzone), nach der die Änderung des Bestellungen so schnell wie möglich nicht erfüllt werden kann. Beispiel: „2017-05-01T07:00:00-07:00“. Wenn nicht festgelegt ist, wird davon ausgegangen, dass sie jeden Tag gültig ist.

Die Uhrzeit für validThrough ist exklusiv. Wenn beispielsweise als Uhrzeit auf 18:00 Uhr eingestellt ist, gilt sie bis 17:59:59 Uhr.

Weitere Informationen finden Sie unter DateTime- und Time-Formate.

opens Time Optional

Startzeit des Lieferdienstes für die Nutzer So schnell wie möglich erfüllt sind. Beispiel: „T10:30:00“.

Die Zeit muss in Ortszeit für den Dienst angegeben werden. Das sollten Sie nicht tun: Eine Zeitzone in einen opens-Wert einschließen. Wenn eine Zeitzone angegeben ist, werden diese Informationen von Google ignoriert.

Weitere Informationen finden Sie unter DateTime- und Time-Formate.

closes Time Optional

Die Zeit, zu der der Lieferdienst für die „ASAP“-Bestellungen werden nicht mehr aufgegeben verfügbar. Beispiel: „T23:59:59“.

Die Uhrzeit für closes ist exklusiv. Wenn Sie also Öffnet/Schließt für dieses ServiceDeliveryHoursSpecification 10:00 Uhr und 16:00 Uhr, dann ist die letzte Bestellung 15:59:59 Uhr.

Die Zeit muss in Ortszeit für den Dienst angegeben werden. Das sollten Sie nicht tun: Eine Zeitzone in einen closes-Wert einschließen. Wenn eine Zeitzone angegeben ist, werden diese Informationen von Google ignoriert.

Weitere Informationen finden Sie unter DateTime- und Time-Formate.

dayOfWeek Array mit DayOfWeek Optional

Wochentage, an denen dieser Dienst für die Nutzer verfügbar ist Bestellungen so schnell wie möglich. Folgende Werte sind gültig:

  • „Montag“
  • „Dienstag“
  • „Mittwoch“
  • „Donnerstag“
  • „Freitag“
  • „Samstag“
  • „Sonntag“

Wenn Sie keine Wochentage angeben, ServiceDeliveryHoursSpecification gilt für alle Tage.

deliveryLeadTime QuantitativeValue Optional Voraussichtliche Lieferzeit in Minuten, nachdem die Bestellung eingegangen ist platziert. Wir empfehlen dringend, diese Eigenschaft festzulegen. Legen Sie die Feld value von QuantitativeValue zur Zahl und unitCode auf "MIN" setzen.

Das folgende Beispiel zeigt ein ServiceDeliveryHoursSpecification-Element:

Beispiel 1

{
  "@type": "ServiceDeliveryHoursSpecification",
  "opens": "T08:00:00",
  "closes": "T17:00:00",
  "deliveryLeadTime": {
    "@type": "QuantitativeValue",
    "value": "60", // If no exact deliveryLeadTime, put a maximum time
    "unitCode": "MIN"
  }
},

Beispiel 2

{
  "@type": "ServiceDeliveryHoursSpecification",
  "opens": "T08:00:00",
  "closes": "T17:00:00",
  "deliveryLeadTime": {
    "@type": "QuantitativeValue",
    "minValue": "30",
    "maxValue": "50",
    "unitCode": "MIN"
  }
}
    

Enums

RestrictedDiet

Für den Typ RestrictedDiet sind folgende Werte möglich:

  • http://schema.org/DiabeticDiet
  • http://schema.org/GlutenFreeDiet
  • http://schema.org/HalalDiet
  • http://schema.org/HinduDiet
  • http://schema.org/KosherDiet
  • http://schema.org/LowCalorieDiet
  • http://schema.org/LowFatDiet
  • http://schema.org/LowLactoseDiet
  • http://schema.org/LowSaltDiet
  • http://schema.org/VeganDiet
  • http://schema.org/VegetarianDiet