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ürTIME
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 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 |
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:
|
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 Der Standardwert für Die folgenden
|
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:
|
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 |
Die folgende Liste zeigt, welche
|
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
Die Anzahl der |
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
undcloses
sind optional fürAdvanceServiceDeliveryHoursSpecification
. 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
- odercloses
-Wert Angegebene Zeitzonen werden ignoriert. - Wenn
opens
undcloses
nicht explizit angegeben sind, gehen wir davon aus, dass -Bestellung jederzeit an jedem Tag möglich. - Wenn
opens
undcloses
gleich sind, nehmen wir an, dass die Voraussortierung nicht verfügbar. - Wenn
opens
größer alscloses
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
undcloses
beziehen sich auf das zukünftige Zeitfenster.closes
ist exklusiv. Für Beispiel:opens
ist 10 Uhr undcloses
ist 16 Uhr mitserviceTimeInterval
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 Wenn dieser Typ als
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 Wenn dieser Typ als
Die Uhrzeit für 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 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.
Die Uhrzeit muss in der Ortszeit für den Fahrbetrieb angegeben werden. Das sollten Sie nicht tun:
Eine Zeitzone in einen 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:
Wenn Sie keine Wochentage angeben,
|
serviceTimeInterval |
Duration |
Erforderlich |
Intervall zwischen zwei aufeinanderfolgenden Betriebszeiten. Beispiel: Wenn
|
advanceBookingRequirement |
QuantitativeValue |
Erforderlich |
Anzahl der Minuten ab dem Zeitpunkt der Bestellung, in denen die Bestellung im Voraus möglich ist erfüllt sind. Die 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 |
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
![](https://developers.google.cn/static/actions-center/verticals/ordering/images/geoshape_ex1.png?authuser=7&hl=de)
{ "@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
![](https://developers.google.cn/static/actions-center/verticals/ordering/images/geoshape_ex2.png?authuser=7&hl=de)
{ "@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
![](https://developers.google.cn/static/actions-center/verticals/ordering/images/geoshape_ex3.png?authuser=7&hl=de)
{ "@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" } ], ... },
Menü
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.
MenuDisclaimer
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übefehl
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:
|
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 Die folgende Liste zeigt, welche
|
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. "http://schema.org/GlutenFreeDiet" 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.
MenuItemOption
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
Die folgende Liste zeigt, welche
|
menuAddOn |
Array of |
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 "http://schema.org/GlutenFreeDiet" 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 -- ] } ] } ] }
MenuSection
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 |
In der folgenden Liste sehen Sie, welche
|
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 Diese Property wird nur in den folgenden Angebotstypen verwendet:
|
price |
Text | Bedingt |
Preis des angebotenen Artikels. Beispiel: „6.00“ ohne die Währung . Diese Property ist nur bei den folgenden Angebotstypen erforderlich:
Bei folgenden Angebotstypen wird es nicht verwendet:
|
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:
Bei folgenden Angebotstypen wird es nicht verwendet:
|
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:
Wenn Sie an verschiedenen Wochentagen
unterschiedliche Verfügbarkeiten haben,
mehrere |
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:
Diese Property wird in den folgenden Angebotstypen nicht verwendet:
|
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 Diese Property kann in den folgenden Angebotstypen verwendet werden:
Diese Property wird bei den folgenden Angebotstypen nicht verwendet.
|
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:
Diese Property wird bei den folgenden Angebotstypen nicht verwendet.
|
aggregateRating |
AggregateRating | Optional |
Die Gesamtbewertung, basierend auf einer Sammlung von Rezensionen oder Bewertungen der ein. Diese Property kann in den folgenden Angebotstypen verwendet werden:
Diese Eigenschaft wird in den folgenden Typen nicht verwendet.
|
inventoryLevel |
QuantitativeValue | Optional |
Der ungefähre aktuelle Lagerbestand für den Artikel. Diese Property kann in den folgenden Angebotstypen verwendet werden:
Diese Property wird in den folgenden Angebotstypen nicht verwendet:
|
priceSpecification |
Array von DeliveryChargeSpecification oder ein Array von PaymentChargeSpecification | Optional |
Bei Verwendung in Diese Property kann in den folgenden Angebotstypen verwendet werden:
Diese Property wird in den folgenden Angebotstypen nicht verwendet:
|
offeredBy |
Array mit Restaurant -IDs |
Optional | Steht für die Restaurants dieses Wenn keine Angabe erfolgt, wird diese Diese Property kann in den folgenden Angebotstypen verwendet werden:
Diese Property wird in den folgenden Angebotstypen nicht verwendet:
|
applicableFulfillmentMethod |
Text-Array | Optional | Stellt den Diensttyp dieses Wenn nicht angegeben, gilt diese Diese Property kann in den folgenden Angebotstypen verwendet werden:
Diese Property wird in den folgenden Angebotstypen nicht verwendet:
|
@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
undcloses
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 einesdeliveryHours
-Arrays, das einenServiceDeliveryHoursSpecification
mit den Propertiesopens
undcloses
. Ich kann dann einAdvanceServiceDeliveryHoursSpecification
-Objekt indeliveryHours
mit eigenenopens
- undcloses
-Properties, wenn Sie bieten einen begrenzten Zeitraum für eine Vorbestellung an. - Wenn
opens
undcloses
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
- odercloses
-Wert Wenn eine Zeitzone angegeben ist, werden diese Informationen ignoriert. - Wenn
opens
undcloses
gleich sind, nehmen wir an, dass das Restaurant 0 Minuten geöffnet. - Wenn
opens
größer alscloses
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,
|
opens |
Time |
Optional |
Bei Verwendung in einer Bei Verwendung in einer Die Zeit muss in Ortszeit für den Dienst angegeben werden. Das sollten Sie nicht tun:
Eine Zeitzone in einen Weitere Informationen finden Sie unter DateTime- und Time-Formate. |
closes |
Time |
Optional |
Bei Verwendung in einer Die Zeit muss in Ortszeit für den Dienst angegeben werden. Das sollten Sie nicht tun:
Eine Zeitzone in einen Weitere Informationen finden Sie unter DateTime- und Time-Formate. |
validFrom |
DateTime |
Optional |
Bei Verwendung in einer Wenn die angegebenen Öffnungszeiten beispielsweise für das gesamte Jahr 2017 gelten, legen Sie
Bei Verwendung in einer 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 Wenn die angegebenen Öffnungszeiten beispielsweise für das gesamte Jahr 2017 gelten, legen Sie
Bei Verwendung in einer 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 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.
|
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
Gültige Namen bei Verwendung in
|
value |
Text | Erforderlich |
Wert für die Option. Die Werte können beliebige Zeichenfolgen sein und werden als ist. Folgende Werte sind gültig:
|
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: "http://www.provider.com/somerestaurant". |
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 |
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 entsprechendenMenuItem
hinzu. oderMenuItemOption
.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.
|
@id |
URL | Erforderlich | Kennzeichnung für den Auftragsausführungsdienst. Beispiel: "http://www.provider.com/service/1". |
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: "http://www.provider.com/somerestaurant". |
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 Definieren Sie den speziellen Zeitraum mithilfe von |
offers |
Array mit Offer |
Bedingt |
Details zum Lieferservice für ein bestimmtes Restaurant Dieses
ist standardmäßig optional, aber erforderlich, wenn Das Attribut |
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 "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
Weitere Informationen finden Sie in der "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
undcloses
sind optional fürServiceDeliveryHoursSpecification
. 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
- odercloses
-Wert Wenn eine Zeitzone angegeben ist, werden die Zeitzoneninformationen ignoriert. - Wenn
opens
undcloses
nicht explizit angegeben sind, gehen wir davon aus, dass „ASAP“ ist jederzeit täglich möglich. - Wenn
opens
undcloses
gleich sind, nehmen wir an, dass die ASAP-Bestellung nicht verfügbar. - Wenn
opens
größer alscloses
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 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 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 Die Zeit muss in Ortszeit für den Dienst angegeben werden. Das sollten Sie nicht tun:
Eine Zeitzone in einen 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:
Wenn Sie keine Wochentage angeben,
|
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
Sofern nicht anders angegeben, sind die Inhalte dieser Seite unter der Creative Commons Attribution 4.0 License und Codebeispiele unter der Apache 2.0 License lizenziert. Weitere Informationen finden Sie in den Websiterichtlinien von Google Developers. Java ist eine eingetragene Marke von Oracle und/oder seinen Partnern.
Zuletzt aktualisiert: 2024-08-21 (UTC).