I feed del catalogo di alimenti si basano su schema.org DataFeed
le entità. Un feed di catalogo di alimenti è costituito da dettagli delle località dei ristoranti, come
l'indirizzo, il menù e la posizione del ristorante, oltre al servizio offerto
dettagli come spese di consegna, zone di consegna e altri articoli come specificato
di seguito.
Un DataFeed
contiene una raccolta di elementi, ognuno dei quali rappresenta un singolo elemento
espressa nel vocabolario schema.org. Puoi usare DataFeed
per pubblicare tutti i dati strutturati in formato JSON-LD.
Per informazioni sull'utilizzo di questa specifica per creare i feed, consulta la Panoramica dell'integrazione dell'inventario.
Formati di data e ora e ora
DateTime
si basa sul tipo schema.org,
e, se non diversamente indicato, devono seguire il formato ISO 8601 e includere i
data, ora e fuso orario. Utilizza la seguente sintassi per DateTime
:
// DateTime format: YYYY-MM-DDTHH:MM:SS[∓HH:MM|Z]
Ad esempio:
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
è l'ora locale di un determinato ristorante o
fuso orario della località del servizio, si basa anche sul tipo schema.org e deve inoltre
seguiranno il formato ISO 8601. L'ora utilizza la seguente sintassi:
// Time format: THH:MM:SS
Ad esempio:
T08:08:00 // 8:08 AM
Tieni presente quanto segue ogni volta che specifichi un valore DateTime
o Time
:
- La "T" prima che l'ora faccia parte del formato ed è obbligatoria.
- È necessario specificare il fuso orario per
DATETIME
. Non è obbligatorio perTIME
. - L'ora deve essere specificata nell'ora locale del ristorante o del servizio.
Busta
Il codice di partenza di qualsiasi feed di catalogo alimentare deve contenere una "busta" .
La "busta" è la struttura di primo livello di ciascun feed e deve essere una
DataFeed
con le seguenti proprietà:
Proprietà | Tipo | Necessità | Descrizione |
---|---|---|---|
@context |
URL | Obbligatorio | Il contesto in uso; di solito è "http://schema.googleapis.com". |
@type |
Testo | Obbligatorio | Si tratta sempre di "DataFeed". |
dateModified |
DateTime |
Obbligatorio |
L'ultima modifica ( La data e l'ora nel formato ISO_OFFSET_DATE_TIME in cui gli elementi in questo feed sono stati modificati. In assenza di questo campo, si presume che l'ora dell'aggiornamento è l'ora in cui il messaggio push viene ricevuto (o la scansione) sui server di Google. Ti consigliamo vivamente di implementare questa funzionalità se utilizzi entrambe le funzionalità ed eseguire la scansione insieme. Questo timestamp deve essere specificato con un fuso orario e granularità in millisecondi; Ad esempio, "2016-12-28T06:30:00:123-07:00". Nei tuoi feed collettivi, il valore
entità
il controllo delle versioni viene determinato tramite |
dataFeedElement |
Array di Menu o
Restaurant
oppure Service |
Obbligatorio | Uno o più elementi che fanno parte di questo feed. Vedi di seguito per i dettagli. |
L'esempio seguente mostra la busta:
Esempio
{ "@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
Per utilizzare questo tipo, aggiungi il contesto gs1:
"@context": ["http://gs1.org/voc/", "http://schema.org"]
Poi aggiungi FoodBeverageTobaccoProduct
al tipo di MenuItem
appropriato
o MenuItemOption
.
La seguente tabella descrive le proprietà del tipo AdditiveDetails
:
Proprietà | Tipo | Necessità | Descrizione |
---|---|---|---|
@type |
Testo | Obbligatorio | È sempre "AdditiveDetails". |
additiveName |
Testo | Facoltativo | Nome dell'additivo. |
additiveLevelOfContainment |
Testo | Facoltativo | Codice di contenimento per
gs1:LevelOfContainmentCode.
Ad esempio http://gs1.org/voc/LevelOfContainmentCode-CONTAINS ,
http://gs1.org/voc/LevelOfContainmentCode-FREE_FROM , oppure
http://gs1.org/voc/LevelOfContainmentCode-MAY_CONTAIN . |
L'esempio seguente mostra l'utilizzo del tipo 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
Una voce di cibo o bevande elencata in una voce di menu aggiuntiva di una MenuItem
.
La seguente tabella elenca le proprietà per il tipo AddOnMenuItem
:
Proprietà | Tipo | Necessità | Descrizione |
---|---|---|---|
@type |
Testo | Obbligatorio | È sempre "AddOnMenuItem". |
@id |
URL | Obbligatorio | Un identificatore univoco della voce di menu del componente aggiuntivo. |
name |
Testo | Obbligatorio | Testo che identifica AddOnMenuItem quando un utente naviga nel o dal menu Fogli Google. |
description |
Testo | Facoltativo | Descrizione della voce di menu del componente aggiuntivo. |
image |
URL | Facoltativo |
Immagine della voce di menu del componente aggiuntivo che corrisponde alle seguenti linee guida:
|
offers |
Array di Offer |
Obbligatorio* |
Una o più offerte per fornire questo AddOnMenuItem. Descrive quando e a quale prezzo è disponibile questo AddOnMenuItem.
Deve essere valida una sola offerta per un determinato momento. Puoi avere
molte offerte valide se il prezzo o la disponibilità possono variare in base
in base all'ora del giorno. Quando il componente aggiuntivo o l'articolo si differenzia da un attributo di base
o una variante dell'elemento aggiuntivo stesso (ad esempio piccolo, medio e grande
patatine fritte come componente aggiuntivo), utilizza Il valore predefinito per Le seguenti proprietà di
|
hasMenuItemOptions |
Array di MenuItemOption |
Obbligatorio* |
array di attributi di base che descrivono una variante dell'elemento aggiuntivo (come patatine fritte piccole, medie e grandi come componente aggiuntivo), la voce di menu del componente aggiuntivo. Utilizza le opzioni per specificare le varie varianti disponibili per questa voce di menu aggiuntiva. Ciò può accadere in due casi avvengono nel seguente modo:
|
suitableForDiet |
Array di RestrictedDiet |
Facoltativo | Il piatto è conforme al regime alimentare descritto (come "Dieta senza glutine" o "VeganDiet"). Questo è un elenco enumerato di possibili e i relativi valori. |
nutrition |
NutritionInformation |
Facoltativo | Le informazioni nutrizionali del piatto, in particolare le calorie. |
menuAddOn |
Array di AddOnMenuSection |
Facoltativo | L'elemento AddOnMenuItem può avere una sezione del menu composta da elementi consentiti che puoi aggiungere come componente aggiuntivo. |
L'esempio seguente mostra AddOnMenuItem
:
Esempio 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" } } ] }
Esempio 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
Un sottogruppo di alimenti o bevande come sezione del menu aggiuntivo per la voce di menu.
La seguente tabella elenca le proprietà per il tipo AddOnMenuSection
:
Proprietà | Tipo | Necessità | Descrizione |
---|---|---|---|
@type |
Testo | Obbligatorio | È sempre "AddOnMenuSezione". |
@id |
URL | Obbligatorio | Identificatore univoco della sezione del menu. |
name |
Testo | Obbligatorio | Testo che può identificare AddOnMenuSezione quando un utente sta esplorando o dal menu Fogli Google. |
description |
Testo | Facoltativo | Descrizione della sezione del menu. |
eligibleQuantity |
QuantitativeValue |
Facoltativo | Indica il numero di elementi consentiti come componente aggiuntivo per questo menu . Puoi utilizzare questo campo per limitare il numero di componenti aggiuntivi, ad esempio il numero minimo e massimo di condimenti che puoi scegliere per una pizza. |
image |
URL | Facoltativo | Immagine della sezione del menu. |
hasMenuItem |
Array di AddOnMenuItem |
Obbligatorio* | Voci di menu dei componenti aggiuntivi contenute in una AddOnMenuSezione. |
offers |
Array di Offer |
Facoltativo |
Utilizza La scheda seguente mostra quali
|
hasMenuSection |
Array di AddOnMenuSection |
Obbligatorio* | Sottogruppo logico del menu dei componenti aggiuntivi (come Cena, Antipasti o piatti di pesce). |
defaultOption |
Array di AddOnMenuItem |
Facoltativo |
Voci di menu dei componenti aggiuntivi da preselezionare per impostazione predefinita per gli utenti del
Il numero di |
numberOfFreeAddOns |
Numero | Facoltativo | Indica il numero di componenti aggiuntivi che un utente può selezionare senza costi. |
I seguenti esempi includono oggetti AddOnMenuSection
:
Esempio 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" } } ] }
Esempio 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 } }
Esempio 3
Un "panino al formaggio" la voce di menu è "Scelta di formaggio"
AddOnMenuSection
con "Svizzera" e "Mozzarella" preselezionato
per impostazione predefinita.
{ "@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
Rappresenta gli orari di evasione degli ordini per i quali gli utenti possono pianificare ordini anticipati con consegna a domicilio e asporto.
In genere, il valore di opens
è inferiore al valore di closes
. La
le seguenti linee guida si applicano all'uso delle proprietà opens
e closes
:
- Le proprietà
opens
ecloses
sono facoltative perAdvanceServiceDeliveryHoursSpecification
, ma ti consigliamo vivamente di includerle. - L'ora deve essere specificata nell'ora locale del servizio. Non includere un
il fuso orario in un valore
opens
ocloses
. I fusi orari specificati vengono ignorati. - Se
opens
ecloses
non sono specificati esplicitamente, presupponiamo che i progressi gli ordini sono disponibili tutti i giorni e in qualsiasi momento. - Se
opens
ecloses
sono uguali, presupponiamo che l'ordinamento anticipato sia non disponibile. - Se
opens
è superiore acloses
, l'ora di chiusura viene interpretata come attiva il giorno successivo. Ad esempio, se l'orario di apertura è impostato sul 1° gennaio alle ore 17:00 e ora di chiusura alle 02:00, poi il ristorante viene interpretato come chiusura Il 2 gennaio alle 02:00. opens
ecloses
si riferiscono alla fascia oraria futura.closes
è un'offerta esclusiva. Per Ad esempio, seopens
è alle 10:00 ecloses
è alle 16:00 con unserviceTimeInterval
di 15 minuti, la prima fascia oraria inizierà alle 10:00 e l'ultima inizia alle 15:45.
Nella tabella seguente vengono descritte le proprietà dei componenti
Tipo di AdvanceServiceDeliveryHoursSpecification
:
Proprietà | Tipo | Necessità | Descrizione |
---|---|---|---|
@type |
Testo | Obbligatorio | È sempre "AdvancedServiceDeliveryHoursSpecification". |
validFrom |
DateTime |
Condizionale |
La data di inizio a partire dalla quale l'account gli ordini anticipati possono essere completato. Ad esempio, "2017-05-01T00:00:00-07:00". Se questa proprietà non è impostata, si presume che sia valida ogni giorno.
Le proprietà Se questo tipo viene specificato come
Per ulteriori informazioni, vedi Formati di data e ora e ora. |
validThrough |
DateTime |
Facoltativo |
La data di fine oltre la quale l'account per gli ordini anticipati non possono più completato. Ad esempio, "2018-12-01T00:00:00-07:00". Se questa proprietà non è impostata, si presume che sia valida ogni giorno.
Le proprietà Se questo tipo viene specificato come
Il tempo per Per ulteriori informazioni, vedi Formati di data e ora e ora: |
opens |
Time |
Facoltativo |
Si applica agli slot per la consegna o l'estrazione. L'ora specifica a partire dalla quale gli ordini anticipati possono sono soddisfatte. Ad esempio, 6:30 viene indicato come "T06:30:00". L'ora deve essere specificata nell'ora locale per il servizio. Non includere un
fuso orario in un valore Per ulteriori informazioni, vedi Formati di data e ora e ora: |
closes |
Time |
Facoltativo |
Si applica agli slot per la consegna o l'estrazione. L'ora specifica del giorno oltre la quale gli ordini anticipati non possono
sono soddisfatte. Ad esempio, 21:00 viene indicato come "T21:00:00".
L'ora deve essere specificata nell'ora locale per il servizio. Azioni sconsigliate
includi un fuso orario in un valore Per ulteriori informazioni, vedi Formati di data e ora e ora: |
dayOfWeek |
Array di DayOfWeek |
Facoltativo |
Giorni della settimana in cui sono disponibili gli orari per la consegna anticipata. Valido sono:
Se non specifichi nessun giorno della settimana,
|
serviceTimeInterval |
Duration |
Obbligatorio |
Intervallo tra due tempi di assistenza successivi. Ad esempio: se
|
advanceBookingRequirement |
QuantitativeValue |
Obbligatorio |
Numero di minuti dall'ora dell'ordine in cui è possibile effettuare l'ordine anticipato completato. Gli auricolari Ad esempio, se un ordine anticipato ha bisogno di almeno 60 minuti
ed è soggetto a limitazioni per più di 2 giorni
in un secondo momento, il valore di |
L'esempio seguente mostra l'utilizzo dell'elemento
Tipo di AdvanceServiceDeliveryHoursSpecification
:
Esempio 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
Per utilizzare questo tipo, aggiungi il contesto gs1:
"@context": ["http://gs1.org/voc/", "http://schema.org"]
Poi aggiungi FoodBeverageTobaccoProduct
al tipo di MenuItem
appropriato
o MenuItemOption
.
La seguente tabella descrive le proprietà del tipo AllergenDetails
:
Proprietà | Tipo | Necessità | Descrizione |
---|---|---|---|
@type |
Testo | Obbligatorio | È sempre "AllergenDetails". |
allergenType |
Testo | Facoltativo | Tipo di allergene per
gs1:AllergenTypeCode
. Ad esempio http://gs1.org/voc/AllergenTypeCode-PEANUTS .
|
allergenLevelOfContainmentCode |
Testo | Facoltativo | Codice di contenimento per
gs1:LevelOfContainmentCode.
Ad esempio http://gs1.org/voc/LevelOfContainmentCode-CONTAINS ,
http://gs1.org/voc/LevelOfContainmentCode-FREE_FROM o
http://gs1.org/voc/LevelOfContainmentCode-MAY_CONTAIN .
|
L'esempio seguente mostra l'utilizzo del tipo 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
Nella tabella seguente vengono descritte le proprietà dei componenti
Tipo di DeliveryChargeSpecification
:
Proprietà | Tipo | Necessità | Descrizione |
---|---|---|---|
@type |
Testo | Obbligatorio | È sempre "DeliveryChargeSpecification". |
@id |
URL | Facoltativo | Identificatore della specifica delle spese di spedizione. |
price |
Numero | Obbligatorio | Costo totale di consegna come valore numerico. Utilizza la
Proprietà priceCurrency per indicare il tipo di valuta
anziché i simboli di valuta. Ad esempio, "6.00", senza la valuta
. |
priceCurrency |
Testo | Obbligatorio | Il codice di valuta ISO 4217 di 3 lettere. Ad esempio, "USD". |
eligibleTransactionVolume |
PriceSpecification |
Facoltativo | Il volume delle transazioni, in unità monetaria, per cui questa pubblicazione la specifica di addebito sia valida. Ad esempio, per indicare un acquisto minimo o per indicare che la spedizione è disponibile senza costi aggiuntivi al di sopra di un certo volume di ordini. |
eligibleQuantity |
QuantitativeValue |
Facoltativo | L'intervallo e l'unità di misura delle quantità ordinabili per cui la tariffa di consegna sia valida. Ciò ti consente, ad esempio, di specificare che alcune spese di spedizione sono valide solo per una determinata quantità. |
eligibleRegion |
Array di GeoShape o
Place oppure
GeoCircle |
Facoltativo | Il luogo o GeoShape/GeoCircle per le regioni geopolitiche per i quali è valida la specifica dell'offerta o delle spese di spedizione. Usa questa solo se le spese di consegna variano in base alla regione. |
validFrom |
DateTime |
Facoltativo | La data e l'ora (incluso il fuso orario) in cui viene addebitato l'importo per la consegna specificato diventa valido. Ad esempio, "2017-05-01T06:30:00-07:00". Per ulteriori informazioni, vedi Formati di data e ora e ora: |
validThrough |
DateTime |
Facoltativo | La data e l'ora (incluso il fuso orario) dopo le quali l'invio
l'addebito specificato non è valido. Ad esempio, "2017-05-01T06:30:00-07:00".
Il tempo per validThrough è esclusivo: ad esempio, se
l'ora è impostata alle 18:00, l'ora è valida fino alle 17:59:59.
Per ulteriori informazioni, vedi
Formati di data e ora e ora: |
I seguenti esempi mostrano gli elementi DeliveryChargeSpecification
:
Esempio 1
"offers": { "@type":"Offer", "priceSpecification":[ { "@type": "DeliveryChargeSpecification", "price": "5.0", "priceCurrency": "USD" } ] }
Esempio 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 } } ]
Esempio 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" } } ]
Oltre a "@type": ["DeliveryChargeSpecification"]
, l'oggetto può essere esteso con
UnitPriceSpecification:
"@type": ["DeliveryChargeSpecification", "UnitPriceSpecification"]
L'estensione fornisce altre due proprietà obbligatorie per le tariffe di consegna calcolate in percentuale.
Proprietà | Tipo | Necessità | Descrizione |
---|---|---|---|
referenceQuantity |
QuantitativeValue |
Obbligatorio | Quantità di riferimento a cui si applica un determinato prezzo. Ad esempio:
referenceQuantity del valore 10 con unitCode di
"P1" portano al 10% del valore dell'ordine. Solo unitCode "P1" sono
attualmente supportati. |
basePrice |
Numero | Facoltativo | L'addebito di base oltre a referenceQuantity . Per
esempio, referenceQuantity di 10 con unitCode
di "P1" e basePrice di 5 in USD comportano 5 $+ il 10% del
al valore degli ordini. Il valore predefinito è 0. |
Esempi di spese di spedizione
Google consente di specificare in anticipo una serie di tariffe per gli utenti utilizzando
Offer.PriceSpecification
dell'entità Servizio.
Tieni presente che l'ordine end-to-end attualmente supporta solo
DeliveryChargeSpecification
. Combina tutti i tipi di commissioni in un'unica
DeliveryChargeSpecification
.
Per informazioni su come specificare la pubblicazione, consulta Esempi di feed di servizi commissioni basate su area, distanza e valore degli ordini.
In assenza di commissioni, il valore Offer.PriceSpecification
viene omesso.
- Esempio 1: le spese di spedizione corrispondono al 5% del subtotale del carrello
- Esempio 2: spese di spedizione sono pari a 5 €
- Esempio 3: spese di spedizione sono pari a 5 $+ 10% del subtotale del carrello
- Esempio 4: le spese di spedizione sono pari a 5 € e la tariffa per i bagagli è di 0,1 €
- Esempio 5: le spese di spedizione sono del 5% e la commissione di servizio è del 2% del subtotale del carrello
- Esempio 6: spese di consegna sono pari a 5 $e 1 $per ogni distanza aggiuntiva di 1 km
Esempio 1
priceSpecification [ { "@type": ["DeliveryChargeSpecification", "UnitPriceSpecification"], "referenceQuantity": { "@type": "QuantitativeValue", "value": "5.00", // 5% "unitCode": "P1" // P1 == % }, "priceCurrency": "USD" } ]
Esempio 2
priceSpecification [ { "@type": ["DeliveryChargeSpecification"], "priceCurrency": "USD", "price": "5.00" } ]
Esempio 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% } ]
Esempio 4
priceSpecification [ { "@type": ["DeliveryChargeSpecification"], "priceCurrency": "USD", "price": "5.10" //$5 + $0.1 }
Esempio 5
priceSpecification [ { "@type": ["DeliveryChargeSpecification", "UnitPriceSpecification"], "referenceQuantity": { "@type": "QuantitativeValue", "value": "7.00", // 5% + 2% "unitCode": "P1" // P1 == % }, "priceCurrency": "USD" }, ]
Esempio 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
La seguente tabella descrive le proprietà del tipo GeoCircle
:
Proprietà | Tipo | Necessità | Descrizione |
---|---|---|---|
@type |
Testo | Obbligatorio | È sempre "GeoCircle". |
geoMidpoint |
GeoCoordinates |
Obbligatorio | Indica il GeoCoordinates al centro di
GeoCircle . |
geoRadius |
Numero | Obbligatorio | Indica il raggio approssimativo (in metri) di un
GeoCircle . |
Nell'esempio seguente viene mostrato un elemento GeoCircle
:
Esempio
{ "@type": "GeoCircle", "geoMidpoint": { "@type": "GeoCoordinates", "latitude": "37.7392607", "longitude": "-122.3895522" }, "geoRadius": "4505" }
GeoCoordinates
La seguente tabella descrive le proprietà del tipo GeoCoordinates
:
Proprietà | Tipo | Necessità | Descrizione |
---|---|---|---|
@type |
Testo | Obbligatorio | Si tratta sempre di "Coordinate geografiche". |
latitude |
Numero | Obbligatorio |
Latitudine in gradi. I valori sono limitati all'intervallo da -90 a 90 inclusi. Se il valore specificato è inferiore a -90, viene impostato su -90; se se il valore è maggiore di 90, viene impostato su 90. La precisione deve essere di almeno cinque cifre decimali. |
longitude |
Numero | Obbligatorio |
Longitudine in gradi. I valori al di fuori dell'intervallo da -180 a 180 sono essere aggregato in modo che rientrino nell'intervallo. Ad esempio, un valore di -190 viene convertito in 170. Il valore 190 viene convertito in -170. Questo riflette il fatto che le longitudini avvolgono tutto il globo. La precisione deve essere di almeno cinque cifre decimali. |
Nell'esempio seguente viene mostrato un elemento GeoCoordinates
:
Esempio
"geo": { "@type": "GeoCoordinates", "latitude": "35.7392607", "longitude": "-120.3895522" }
GeoShape
La seguente tabella descrive le proprietà del tipo GeoShape
:
Proprietà | Tipo | Necessità | Descrizione |
---|---|---|---|
@type |
Testo | Obbligatorio | che è sempre "GeoShape". |
polygon |
Array di testo | Obbligatorio |
Un poligono o un multipoligono espresso come una serie di tre o più spazi delimitati. È consigliabile che il primo e l'ultimo punto siano ma non è obbligatorio. Ogni punto in un poligono o multipoligono è definito da un punto di latitudine seguito da un punto di longitudine. Devi anche specificare i punti in una in senso antiorario. Nella maggior parte dei casi avrai un solo poligono. Per un uso più complesso vedi i casi d'uso, documentazione relativa all'area coperta dal servizio di consegna. |
I seguenti esempi mostrano gli elementi GeoShape
:
Esempio 1
{ "@type": "GeoShape", // area4 // Specify latitude first (i.e., lat long lat long ...) "polygon": "37.806000 -122.425592 37.775849 -122.419043 37.795547 -122.394046 37.808747 -122.412619" },
Esempio 2
{ "@type": "GeoShape", // A service area with a hole. // Specify latitude first (i.e., lat long lat long ...) "polygon": [ “37.771535 -122.506881 37.764289 -122.506669 37.766497 -122.453058”, “37.791707 -122.447987 37.746676 -122.449433 37.736150 -122.505944 37.780924 -122.509729”] },
Esempio 3
{ "@type": "Service", "@id": "http://www.provider.com/service/1", "areaServed": [ { "@type": "GeoShape", // Richmond District delivery area. // Specify latitude first (i.e., lat long lat long ...) "polygon": "37.785847 -122.484851 37.772757 -122.483983 37.774442 -122.458563 37.786876 -122.459474" }, { "@type": "GeoShape", // Haight-Ashbury delivery area. // Specify latitude first (i.e., lat long lat long ...) "polygon": "37.774804 -122.454774 37.766224 -122.452881 37.769087 -122.436043 37.773087 -122.437417" } ], ... },
Menu
La seguente tabella elenca le proprietà per il tipo Menu
:
Proprietà | Tipo | Necessità | Descrizione |
---|---|---|---|
@type |
Testo | Obbligatorio | È sempre "Menu". |
@id |
URL | Obbligatorio | L'identificatore univoco del menu. |
name |
Testo | Facoltativo | Testo che può identificare Menu quando un utente sta esplorando
o dal menu Fogli Google. |
description |
Testo | Facoltativo | Descrizione del menu. |
disclaimer |
MenuDisclaimer |
Facoltativo | Disclaimer per il menu. Ad esempio, divulgazione di informazioni nutrizionali e alla divulgazione degli allergeni. |
hasMenuSection |
Singolo oggetto o array di MenuSection |
Facoltativo | Sottogruppo logico del menu (come Cena, Antipasti o Pesce piatti). |
hasMenuItem |
Singolo oggetto o array di MenuItem |
Facoltativo | MenuItem oggetti contenuti in un Menu ,
in genere quando Menu non è suddiviso per
MenuSections . |
inLanguage |
Testo | Facoltativo | Lingua dei contenuti del menu, espressa come codice lingua da Standard IETF BCP 47. Ad esempio, "it-IT". |
I seguenti esempi mostrano l'utilizzo del tipo Menu
:
Esempio 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" }
Esempio 2
Questo esempio mostra hasMenuItem
come array.
{ "@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" } } ] }
Esempio 3
Questo esempio mostra hasMenuSection
come array.
{ "@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" } } } ] }
Per altri esempi di entità Menu
, consulta
Esempi di feed di ristoranti e menu.
MenuDisclaimer
La seguente tabella elenca le proprietà per il tipo MenuDisclaimer
:
Proprietà | Tipo | Necessità | Descrizione |
---|---|---|---|
@type |
Testo | Obbligatorio | Questo è sempre "MenuDisclaimer". |
@id |
URL | Obbligatorio | Identificatore univoco per la limitazione di responsabilità del menu. |
text |
Testo | Obbligatorio | Testo della limitazione di responsabilità. Ad esempio, "L'energia media giornaliera di un adulto assorbita è di 8700 kJ". |
url |
URL | Facoltativo | URL che rimanda a una pagina in cui vengono forniti ulteriori dettagli sul disclaimer. |
L'esempio seguente mostra l'utilizzo del tipo MenuDisclaimer
:
Esempio
{ "@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" } }
Voce di menu
Voce di menu per rappresentare l'elemento nel menu. Nella tabella seguente sono elencate le
proprietà per il tipo MenuItem
:
Proprietà | Tipo | Necessità | Descrizione |
---|---|---|---|
@type |
Testo | Obbligatorio | È sempre "MenuItem". |
@id |
URL | Obbligatorio | Identificatore univoco della voce del menu. |
name |
Testo | Obbligatorio | Testo che può identificare il MenuItem quando un utente sta navigando
il menu. |
description |
Testo | Facoltativo | Descrizione della voce di menu. |
image |
URL | Facoltativo |
Immagine della voce di menu. Attieniti alle seguenti linee guida per le immagini:
|
menuAddOn |
Array di AddOnMenuSection |
Facoltativo | Elementi di una sezione del menu che possono essere aggiunti come componenti aggiuntivi al voce di menu. |
offers |
Array di Offer |
Obbligatorio* |
Una o più offerte per fornire questo La scheda seguente mostra quali
|
hasMenuItemOptions |
Array di MenuItemOption |
Obbligatorio | Elenco di opzioni/varianti di base per questa voce di menu. Le opzioni devono essere utilizzata per specificare varie varianti di base disponibili per l'articolo, ad ad esempio small, medium e large. |
suitableForDiet |
Array di RestrictedDiet |
Facoltativo | Il piatto è conforme al regime alimentare descritto (come "http://schema.org/GlutenFreeDiet" oppure "http://schema.org/VeganDiet". Questo un elenco enumerato di valori possibili. |
nutrition |
NutritionInformation |
Facoltativo | Informazioni sull'alimentazione del piatto, in particolare le calorie. |
hasAllergen |
AllergenDetails |
Facoltativo | Allergeni del piatto in base a gs1:AllergenDetails .
Aggiungi il contesto gs1 per utilizzare questa proprietà: "@context": ["http://gs1.org/voc/", "http://schema.org"] .
E aggiungi FoodBeverageTobaccoProduct al tipo di
MenuItem . |
additive |
Array di AdditiveDetails |
Facoltativo | Gli additivi del piatto in base a gs1:AdditiveDetails .
Questo è un elenco enumerato di valori possibili. Aggiungi il contesto gs1 da utilizzare
questa proprietà: "@context": ["http://gs1.org/voc/", "http://schema.org"] .
E aggiungi FoodBeverageTobaccoProduct al tipo di
MenuItem . |
packaging |
PackagingDetails |
Facoltativo | Le informazioni su imballaggio e riciclo di questa voce di menu per
gs1:PackagingDetails .
Aggiungi il contesto gs1 per utilizzare questa proprietà: "@context": ["http://gs1.org/voc/", "http://schema.org"] .
E aggiungi FoodBeverageTobaccoProduct al tipo di
MenuItem .
|
I seguenti esempi mostrano gli elementi MenuItem
:
Esempio 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" }
Esempio 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" } } ]
Esempio 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 -- ] } ] } ] }
Esempio 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" } } ] }
Esempio 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" } } } }
Per altri esempi di entità MenuItem
, consulta gli esempi di feed di ristoranti e menu.
MenuItemOption
Un'opzione per rappresentare le scelte che un utente sarebbe tenuto a fare quando selezionando un piatto o una combinazione. L'utente deve selezionare un'opzione, altrimenti l'ordine è considerato non valido. Ad esempio, scegliendo tra piccole, medie o grandi, nel caso di una pizza.
Per casi d'uso di esempio di MenuItemOption
, consulta la nostra guida su
personalizzazione con MenuItemOption
.
La seguente tabella elenca le proprietà per il tipo MenuItemOption
:
Proprietà | Tipo | Necessità | Descrizione |
---|---|---|---|
@type |
Testo | Obbligatorio | È sempre "MenuItemOption". |
value |
PropertyValue |
Obbligatorio | PropertyValue contenente una coppia nome/valore che rappresenta
. |
offers |
Array di Offer |
Obbligatorio |
Una o più offerte per fornire questo
La scheda seguente mostra quali
|
menuAddOn |
Array of |
Facoltativo | Sezione del menu di elementi consentiti che possono essere aggiunti come componenti aggiuntivi. Usa solo
questa opzione se i componenti aggiuntivi sono specifici di una determinata voce di menu. Altrimenti
fornire componenti aggiuntivi utilizzando la proprietà MenuItem .menuAddOn.
|
suitableForDiet |
Array di RestrictedDiet |
Facoltativo | Elenco enumerato che indica le diete a cui il piatto è conforme il regime alimentare descritto (ad es. "http://schema.org/GlutenFreeDiet" o "http://schema.org/VeganDiet"). |
nutrition |
NutritionInformation |
Facoltativo | Informazioni sull'alimentazione del piatto, in particolare le calorie. |
hasAllergen |
AllergenDetails |
Facoltativo | Allergeni del piatto in base a gs1:AllergenDetails .
Aggiungi il contesto gs1 per utilizzare questa proprietà: "@context": ["http://gs1.org/voc/", "http://schema.org"] .
E aggiungi FoodBeverageTobaccoProduct al tipo di
MenuItemOption .
|
additive |
Array di AdditiveDetails |
Facoltativo | Additivi del piatto in base a gs1:AdditiveDetails .
Questo è un elenco enumerato di valori possibili. Aggiungi il contesto gs1 da utilizzare
questa proprietà: "@context": ["http://gs1.org/voc/", "http://schema.org"] .
E aggiungi FoodBeverageTobaccoProduct al tipo di
MenuItemOption .
|
packaging |
PackagingDetails |
Facoltativo | Informazioni su imballaggio e riciclo di questa voce di menu per
gs1:PackagingDetails
Aggiungi il contesto gs1 per utilizzare questa proprietà: "@context": ["http://gs1.org/voc/", "http://schema.org"] .
E aggiungi FoodBeverageTobaccoProduct al tipo di
MenuItemOption .
|
L'esempio seguente mostra gli elementi MenuItemOption
:
Esempio 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" } } ] }
Esempio 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
Sezione Menu per rappresentare una particolare sezione del menu. La tabella seguente
elenca le proprietà per il tipo MenuSection
:
Proprietà | Tipo | Necessità | Descrizione |
---|---|---|---|
@type |
Testo | Obbligatorio | È sempre "MenuSezione". |
@id |
URL | Obbligatorio | Identificatore univoco della sezione del menu. |
name |
Testo | Obbligatorio | Testo che può identificare MenuSection quando un utente naviga
il menu. |
description |
Testo | Facoltativo | Descrizione della sezione del menu. |
hasMenuSection |
Array di MenuSection |
Facoltativo | Sottogruppo logico di MenuSection . Ad esempio,
La sezione del menu Cena può avere più sezioni secondarie, ad esempio "Pollame"
Piatti" o "Vegetariano". |
hasMenuItem |
Array di MenuItem |
Facoltativo | Voci di menu contenute in un MenuSection . |
offers |
Array di Offer |
Facoltativo |
Utilizza Il seguente elenco mostra quali sono le proprietà
|
image |
URL | Facoltativo | Immagine della sezione del menu. |
I seguenti esempi mostrano le entità MenuSection
:
Esempio 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" } }
Esempio 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" } } ] } ]
Per altri esempi di entità MenuSection
, consulta
Esempi di feed di ristoranti e menu.
NutritionInformation
Nella tabella seguente vengono descritte le proprietà di NutritionInformation
di testo. Le unità di misura sono sensibili alle maiuscole. Ad esempio, "Cal" viene accettato,
ma "cal" non lo è.
Proprietà | Tipo | Necessità | Descrizione |
---|---|---|---|
@type |
Testo | Obbligatorio | Si tratta sempre di "Dati nutrizionali". |
description |
Testo | Facoltativo | Informazioni nutrizionali sotto forma di testo libero. Ad esempio "Contiene preservativi". |
calories |
Testo | Facoltativo |
Il numero di calorie assunte in Cal, kcal o kJ, utilizzando quanto segue: formato: number Cal_kcal_OR_kJ Ad esempio, "240 Cal". |
carbohydrateContent |
Testo | Facoltativo |
La quantità di carboidrati, solitamente in g, utilizzando formato: number g_OR_mg Ad esempio, "7 g". |
cholesterolContent |
Testo | Facoltativo |
La quantità di colesterolo, solitamente in mg, utilizzando seguente formato: number g_OR_mg Ad esempio, "12 mg". |
fatContent |
Testo | Facoltativo |
La quantità di grassi, solitamente in g, con il seguente formato: number g_OR_mg Ad esempio, "42 g". |
fiberContent |
Testo | Facoltativo |
Il numero di g o mg di fibra, nel seguente formato: number g_OR_mg |
proteinContent |
Testo | Facoltativo |
Il numero di g o mg di proteine, nel seguente formato: number g_OR_mg |
saturatedFatContent |
Testo | Facoltativo |
Il numero di g o mg di grassi saturi, nel formato seguente: number g_OR_mg |
servingSize |
Testo | Facoltativo | La porzione in mL, L, g o kg in termini di numero di volume o massa. |
sodiumContent |
Testo | Facoltativo |
Il numero di mg o g di sodio, nel seguente formato: number g_OR_mg |
sugarContent |
Testo | Facoltativo |
Il numero di g o mg di zucchero, nel seguente formato: number g_OR_mg |
transFatContent |
Testo | Facoltativo |
Il numero di g o mg di grassi trans, nel seguente formato: number g_OR_mg |
unsaturatedFatContent |
Testo | Facoltativo |
La quantità di grassi insaturi, solitamente in g, utilizzando quanto segue: formato: number g_OR_mg |
I seguenti esempi mostrano un elemento NutritionInformation
:
Esempio 1
"nutrition": { "@type": "NutritionInformation", "calories": "170 Cal", "fatContent": "3 g", "fiberContent": "2 g", "proteinContent": "4 g" },
Esempio 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" } },
Offerta
Offerta per un piatto del menu. Nella tabella seguente vengono descritte le proprietà dei componenti
Tipo di Offer
:
Proprietà | Tipo | Necessità | Descrizione |
---|---|---|---|
@type |
Testo | Obbligatorio | Si tratta sempre di "Offerta". |
sku |
Testo | Condizionale |
Identificatore univoco dell'offerta. Può essere qualsiasi valore di testo univoco
all'interno di Questa proprietà viene utilizzata solo nei seguenti tipi di offerte:
|
price |
Testo | Condizionale |
Prezzo dell'articolo offerto. Ad esempio, "6.00" senza la valuta . Questa proprietà è obbligatoria solo nei seguenti tipi di offerta:
Non viene utilizzato nei seguenti tipi di offerte:
|
priceCurrency |
Testo | Condizionale |
La valuta (in formato ISO 4217 a tre lettere) del prezzo o del prezzo , quando collegato a PriceSpecification e ai suoi sottotipi. Questa proprietà è obbligatoria solo nei seguenti tipi di offerta:
Non viene utilizzato nei seguenti tipi di offerte:
|
availabilityStarts |
DateTime o Time |
Facoltativo | La data e l'ora o solo l'orario a partire dal quale è disponibile l'offerta. Ad esempio, se i pancake vengono serviti a partire dalle 07:00, il valore di questo campo può avere il seguente aspetto: "2017-05-01T07:00:00-07:00". Per ulteriori informazioni, vedi Formati di data e ora e ora: |
availabilityEnds |
DateTime o Time |
Facoltativo | La data e l'ora o solo l'ora in cui l'offerta non è disponibile. Questo il tempo è esclusivo. Ad esempio, se la disponibilità dei pancake termina a Alle 10:00, l'ultimo pancake può essere servito alle 09:59:59. Il valore di questo campo può avere il seguente aspetto: "2017-05-01T10:00:00-07:00". Per ulteriori informazioni, vedi Formati di data e ora e ora: |
availableDay |
Array di DayOfWeek | Facoltativo |
Giorni della settimana in cui questo articolo è disponibile. I valori validi sono:
Se hai disponibilità diverse per giorni diversi della settimana,
utilizzare più di un oggetto |
validFrom |
DateTime |
Facoltativo |
La data e l'ora (incluso il fuso orario) in corrispondenza delle quali che il prezzo sia valido. Ad esempio, la pasta costa 8 $a pranzo e 10 $ a cena. Per ulteriori informazioni, vedi Formati di data e ora e ora: Questa proprietà può essere utilizzata nei seguenti tipi di offerta:
Questa proprietà non viene utilizzata nei seguenti tipi di offerte:
|
validThrough |
DateTime |
Facoltativo | La data e l'ora (incluso il fuso orario) dopo le quali l'intervallo
prezzo non è più valido. Ad esempio, la pasta costa 8 $a pranzo
e 10 $a cena. Il tempo per Questa proprietà può essere utilizzata nei seguenti tipi di offerta:
Questa proprietà non viene utilizzata nei seguenti tipi di offerta.
|
eligibleQuantity |
QuantitativeValue | Facoltativo |
Le quantità ordinabili per le quali è consentito l'uso di questo articolo. Ad esempio: un ristorante potrebbe richiedere la ordinazione di almeno 10 pizze per la distribuzione dei contenuti. Questo valore è facoltativo. Per impostazione predefinita, non esiste un limite massimo, ma il ristorante può specificarne uno. I limiti minimi si applicano solo quando un utente per selezionare l'elemento. Questa proprietà può essere utilizzata nei seguenti tipi di offerta:
Questa proprietà non viene utilizzata nei seguenti tipi di offerta.
|
aggregateRating |
AggregateRating | Facoltativo |
La valutazione complessiva, basata su una raccolta di recensioni o valutazioni dei molto utile. Questa proprietà può essere utilizzata nei seguenti tipi di offerta:
Questa proprietà non viene utilizzata nei seguenti tipi.
|
inventoryLevel |
QuantitativeValue | Facoltativo |
L'attuale livello di inventario approssimativo per l'articolo o gli articoli. Questa proprietà può essere utilizzata nei seguenti tipi di offerta:
Questa proprietà non viene utilizzata nei seguenti tipi di offerte:
|
priceSpecification |
Array di DeliveryChargeSpecification o un array di PaymentChargeSpecification | Facoltativo |
Se utilizzata in Questa proprietà può essere utilizzata nei seguenti tipi di offerta:
Questa proprietà non viene utilizzata nei seguenti tipi di offerte:
|
offeredBy |
Array di ID Restaurant |
Facoltativo | Rappresenta i ristoranti di questo Se non specificato, verrà offerto questo Questa proprietà può essere utilizzata nei seguenti tipi di offerta:
Questa proprietà non viene utilizzata nei seguenti tipi di offerte:
|
applicableFulfillmentMethod |
Array di testo | Facoltativo | Rappresenta il tipo di servizio a cui è associato questo Se non specificato, questo Questa proprietà può essere utilizzata nei seguenti tipi di offerta:
Questa proprietà non viene utilizzata nei seguenti tipi di offerte:
|
@id |
URL | Deprecato | Identificatore univoco dell'offerta. Ritirato a partire dal 25/04/19, sostituiscilo con
sku come descritto sopra.
|
I seguenti esempi mostrano gli elementi Offer
:
Esempio 1
L'esempio seguente mostra un'offerta semplice:
{ "@type": "Offer", "@id": "https://www.provider.com/menu/74962/139/offer", "price": "10", "priceCurrency": "USD" }
Esempio 2
L'offerta di esempio seguente mostra la disponibilità dalle 8 alle 10 di fine settimana:
{ "@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. }
Esempio 3
L'esempio seguente mostra la disponibilità dalle 9 alle 10:59:59 di lunedì, Mercoledì e venerdì, ma dalle 8 alle 11:59:59 il martedì e il giovedì:
{ "@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"] }
Esempio 4
L'esempio seguente mostra l'idoneità di una voce di menu aggiuntiva quantità impostata in modo che l'utente possa ordinare un massimo di 2 porzioni quell'elemento.
{ "@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 } } }
Esempio 5
L'esempio seguente mostra un'offerta di consegna in una località specifica:
{ "@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
Definisce quando sono disponibili gli ordini di servizi. In genere, il valore di opens
è inferiore al valore di closes
. Le seguenti linee guida si applicano all'uso dei
Proprietà opens
e closes
:
- Le proprietà
opens
ecloses
sono facoltative, ma vivamente consigliate per indicano quando è disponibile l'ordine. La best practice per definire di ore è includere un arraydeliveryHours
che contiene unServiceDeliveryHoursSpecification
con le proprietàopens
ecloses
. Tu può quindi includere un oggettoAdvanceServiceDeliveryHoursSpecification
deliveryHours
con le proprie proprietàopens
ecloses
, se vuoi offrono una finestra più limitata per gli ordini in anticipo. - Se
opens
ecloses
non sono specificati esplicitamente, presupponiamo che l'ordinamento è disponibile tutti i giorni a tutte le ore. - L'ora deve essere specificata nell'ora locale del servizio. Non includere un
il fuso orario in un valore
opens
ocloses
. Se viene specificato un fuso orario, Google ignora questa informazione. - Se
opens
ecloses
sono uguali, supponiamo che il ristorante sia aperta per 0 minuti. - Se
opens
è superiore acloses
, l'ora di chiusura viene interpretata come attiva il giorno successivo. Ad esempio, se l'orario di apertura è impostato sul 1° gennaio 17:00 e ora di chiusura alle 02:00, il ristorante viene interpretato come chiuderà il 2 gennaio alle 2:00. - Il tempo per
closes
è esclusivo. Pertanto, se gli orari di apertura e chiusura finestra di ordinazione è impostata rispettivamente alle 10:00 e alle 16:00, poi l'ultima l'ordine è alle 15:59:59.
Nella tabella seguente vengono descritte le proprietà di OpeningHoursSpecification
tipo:
Proprietà | Tipo | Necessità | Descrizione |
---|---|---|---|
@type |
Testo | Obbligatorio | Il valore è sempre "OpeningHoursSpecification". |
@id |
URL | Facoltativo | Identificatore per OpeningHoursSpecification . |
dayOfWeek |
Array di DayOfWeek |
Facoltativo |
Il giorno della settimana durante il quale è valido l'orario di apertura. Accettabile i valori sono "lunedì", "martedì", "mercoledì", "giovedì", "venerdì", "Sabato" e "Domenica". Ad esempio: "dayOfWeek": [ "Monday", "Tuesday", "Wednesday", "Thursday", "Friday" ] Se non specifichi nessun giorno della settimana,
|
opens |
Time |
Facoltativo |
Se utilizzata in una specifica Se utilizzato in una specifica L'ora deve essere specificata nell'ora locale del servizio. Azioni sconsigliate
includi un fuso orario in un valore Per ulteriori informazioni, vedi Formati di data e ora e ora: |
closes |
Time |
Facoltativo |
Se utilizzata in una specifica L'ora deve essere specificata nell'ora locale del servizio. Azioni sconsigliate
includi un fuso orario in un valore Per ulteriori informazioni, vedi Formati di data e ora e ora: |
validFrom |
DateTime |
Facoltativo |
Se utilizzata in una specifica Ad esempio, se le ore indicate si applicano a tutto l'anno 2017, imposti
imposta Se utilizzato in una specifica Se questa proprietà non è specificata nel feed, Google presuppone che il Ristorante o il Servizio sia disponibile tutti i giorni. Oltre alla data, anche le parti del fuso orario e dell'ora della è obbligatorio specificare un valore. Per il fuso orario, utilizza quello del Ristorante o del Servizio. Per ulteriori informazioni, vedi Formati di data e ora e ora: |
validThrough |
DateTime |
Facoltativo |
Se utilizzato in una Ad esempio, se le ore indicate si applicano a tutto l'anno 2017, imposti
imposta Se utilizzato in una specifica Se questa proprietà non è specificata nel feed, Google presuppone che il Ristorante o il Servizio sia disponibile tutti i giorni. Oltre alla data, anche le parti del fuso orario e dell'ora della È obbligatorio specificare DateTime. Per il fuso orario, utilizza quello del Ristorante o del Servizio. Il tempo per Per ulteriori informazioni, vedi Formati di data e ora e ora: |
deliveryHours |
Array di ServiceDeliveryHoursSpecification o array di
AdvanceServiceDeliveryHoursSpecification |
Condizionale |
La specifica dell'orario di consegna o ritiro. Questo parametro è obbligatorio a meno che il ristorante non sia chiuso (ossia
che
|
I seguenti esempi mostrano gli elementi OpeningHoursSpecification
:
Esempio 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" } ] },
Esempio 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" } ] }
Esempio 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" } } },
Esempio 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
Aggiungi il contesto gs1 per utilizzare questo tipo: "@context": ["http://gs1.org/voc/", "http://schema.org"]
.
e aggiungi FoodBeverageTobaccoProduct
al tipo di MenuItem
o MenuItemOption
.
La seguente tabella descrive le proprietà del tipo PackagingDetails
:
Proprietà | Tipo | Necessità | Descrizione |
---|---|---|---|
@type |
Testo | Obbligatorio | È sempre "PackagingDetails". |
packagingRecyclingProcessType |
Testo | Facoltativo | Tipo di processo di riciclo degli imballaggi in base a
gs1:PackagingRecyclingProcessTypeCode. Ad esempio:
http://gs1.org/voc/PackagingRecyclingProcessTypeCode-RECYCLABLE
o http://gs1.org/voc/PackagingRecyclingProcessTypeCode-REUSABLE
|
hasReturnablePackageDeposit |
ReturnablePackageDepositDetails |
Facoltativo | Dettagli del deposito del pacchetto restituibile in base a gs1:ReturnablePackageDepositDetails. Ad esempio, bottiglie e lattine prevedono cauzioni restituibili. |
L'esempio seguente mostra l'utilizzo del tipo 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
Nella tabella seguente vengono descritte le proprietà di PaymentChargeSpecification
tipo:
Proprietà | Tipo | Necessità | Descrizione |
---|---|---|---|
@type |
Testo | Obbligatorio | È sempre "PaymentChargeSpecification". |
@id |
URL | Facoltativo | Identificatore per PaymentChargeSpecification . |
price |
Numero | Obbligatorio | Importo totale dell'addebito. Ad esempio, "6.00", senza la valuta . |
priceCurrency |
Testo | Obbligatorio | Il codice valuta ISO 4217 a tre lettere del prezzo. Ad esempio: "EUR". |
eligibleTransactionVolume |
PriceSpecification |
Facoltativo | Volume di transazioni, in un'unità monetaria, per cui l'addebito di questo pagamento sia valida, ad esempio per indicare un acquisto minimo volume. |
eligibleQuantity |
QuantitativeValue |
Facoltativo | Le quantità degli ordini per le quali è valido l'addebito di pagamento. Per Ad esempio, puoi utilizzare questa proprietà per richiedere un numero minimo di elementi in un ordine. |
validFrom |
DateTime |
Facoltativo | Data e ora (incluso il fuso orario) di addebito del pagamento specificato diventa valido. Ad esempio, "2017-05-01T07:00:00-07:00". Per ulteriori informazioni, vedi Formati di data e ora e ora: |
validThrough |
DateTime |
Facoltativo | Data e ora (incluso il fuso orario) di quando viene effettuato il pagamento
l'addebito specificato non è valido. Ad esempio, "2017-05-01T07:30:00-07:00".
Il tempo per validThrough è esclusivo: ad esempio, se
quell'ora è impostata alle 18:00, l'ora è valida fino alle 17:59:59.
Per ulteriori informazioni, vedi
Formati di data e ora e ora: |
L'esempio seguente mostra un elemento PaymentChargeSpecification:
Esempio
"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 } }]
Oltre a "@type": ["PaymentChargeSpecification"]
, l'oggetto può essere
esteso con UnitPriceSpecification
("@type": ["PaymentChargeSpecification", "UnitPriceSpecification"]
).
L'estensione fornisce altre due strutture obbligatorie per le commissioni di servizio.
calcolate in percentuale.
proprietà | Tipo | Necessità | Descrizione |
referenceQuantity |
QuantitativeValue |
Obbligatorio | Quantità di riferimento a cui si applica un determinato prezzo. Ad esempio:
referenceQuantity del valore 10 con unitCode di
"P1" portano al 10% del valore dell'ordine. Solo unitCode "P1" sono
attualmente supportati. |
basePrice |
Numero | Facoltativo | L'addebito di base oltre a referenceQuantity . Per
esempio, referenceQuantity di 10 con unitCode
di "P1" e basePrice di 5 in USD generano 5 $+ 10% di
il valore degli ordini. Il valore predefinito è 0. |
Esempi di tariffe per l'estrazione
Google consente di specificare in anticipo una serie di tariffe per gli utenti utilizzando
Offer.PriceSpecification
dell'entità Servizio.
Tieni presente che al momento supportiamo un solo PaymentChargeSpecification
. Combina
tutti i tipi di commissioni in un'unica soluzione PaymentChargeSpecification
In assenza di commissioni, il valore Offer.PriceSpecification
viene omesso.
- Esempio 1: la commissione di servizio è pari al 5% del subtotale del carrello
- Esempio 2: la commissione di servizio è di 5 $
- Esempio 3: la commissione per i bagagli è pari a 0,1 $e la commissione di servizio è pari al 5% del subtotale del carrello
- Esempio 4: la tariffa per i bagagli è di 0,1 $e la commissione di servizio è di 1 $
- Esempio 5: la commissione di servizio è del 5% e la mancia obbligatoria è del 10% del subtotale del carrello
Esempio 1
priceSpecification [ { "@type": ["PaymentChargeSpecification", "UnitPriceSpecification"], "referenceQuantity": { "@type": "QuantitativeValue", "value": "5.00", // 5% "unitCode": "P1" // P1 == % }, "priceCurrency": "USD" } ]
Esempio 2
priceSpecification [ { "@type": ["PaymentChargeSpecification"], "priceCurrency": "USD", "price": "5.00" } ]
Esempio 3
priceSpecification [ { "@type": ["PaymentChargeSpecification", "UnitPriceSpecification"], "referenceQuantity": { "@type": "QuantitativeValue", "value": "5.00", // 5% "unitCode": "P1", // P1 == % }, "priceCurrency": "USD", "basePrice": "0.10" // Bag fee $0.1 } ]
Esempio 4
priceSpecification [ { "@type": ["PaymentChargeSpecification"], "priceCurrency": "USD", "price": "1.10" //$1 + $0.1 } ]
Esempio 5
priceSpecification [ { "@type": ["PaymentChargeSpecification", "UnitPriceSpecification"], "referenceQuantity": { "@type": "QuantitativeValue", "value": "15.00", // 5% + 10% "unitCode": "P1" // P1 == % }, "priceCurrency": "USD" } ]
Luogo
La seguente tabella descrive le proprietà del tipo Place
:
Proprietà | Tipo | Necessità | Descrizione |
---|---|---|---|
@type |
Testo | Obbligatorio | È sempre "Luogo". |
address |
PostalAddress |
Obbligatorio | L'indirizzo di un luogo. |
Nell'esempio seguente viene mostrato un elemento Place:
Esempio
{ "@type": "Place", // area2 "address": { "@type": "PostalAddress", "postalCode": "94041", "addressCountry": "US" } },
PostalAddress
La seguente tabella descrive le proprietà del tipo PostalAddress
:
Proprietà | Tipo | Necessità | Descrizione |
---|---|---|---|
@type |
Testo | Obbligatorio | È sempre "PostalAddress". |
addressLocality |
Testo | Obbligatorio* | La località o la città. Ad esempio, "Milano". |
addressRegion |
Testo | Obbligatorio* | La regione o lo stato. Ad esempio, "CA". |
postalCode |
Testo | Obbligatorio* | Il codice postale. Ad esempio, "94102". |
streetAddress |
Testo | Facoltativo | L'indirizzo fisico. Ad esempio, "1600 Amphitheatre Pkwy". |
addressCountry |
Testo | Obbligatorio | Codice paese ISO 3166-1 alpha-2 a due lettere . Ad esempio, "US". |
I fornitori di servizi di consegna possono elencare queste proprietà per designare un Service.areaServed
in cui viene fornito un servizio.
Se utilizzata in Restaurant.address
, tutte le proprietà elencate in
È obbligatorio specificare PostalAddress
.
Nell'esempio seguente viene mostrato un elemento PostalAddress
:
Esempio
"address": { "@type": "PostalAddress", "streetAddress": "12345 Bar Avenue", "addressLocality": "San Francisco", "addressRegion": "CA", "postalCode": "94124", "addressCountry": "US" },
PriceSpecification
Nella tabella seguente vengono descritte le proprietà di PriceSpecification
tipo:
Proprietà | Tipo | Necessità | Descrizione |
---|---|---|---|
@type |
Testo | Obbligatorio | Questo è sempre "PriceSpecification". |
@id |
URL | Facoltativo | Identificatore per PriceSpecification . |
minPrice |
Numero | Facoltativo | Il prezzo più basso se il prezzo è una fascia. |
maxPrice |
Numero | Facoltativo | Il prezzo più alto se il prezzo è una fascia. |
priceCurrency |
Testo | Obbligatorio | Il codice valuta ISO 4217 a tre lettere del prezzo. Ad esempio: "EUR". |
eligibleQuantity |
QuantitativeValue |
Facoltativo | Le quantità ordinazioni per le quali è valida la specifica del prezzo. Ad esempio, il prezzo potrebbe essere di 2 $per libbra o di 2 articoli per un dollaro. |
Nell'esempio seguente viene mostrato un elemento PriceSpecification
:
Esempio 1
"eligibleTransactionVolume": { "@type": "PriceSpecification", "minPrice": "20.00", // Minimum order price for delivery is $20 "priceCurrency": "USD" }
PropertyValue
Coppia di valori della proprietà utilizzata per descrivere le opzioni in MenuItemOption
.
La seguente tabella elenca le proprietà per il tipo PropertyValue
:
Proprietà | Tipo | Necessità | Descrizione |
---|---|---|---|
@type |
Testo | Obbligatorio | che è sempre "PropertyValue". |
name |
Testo | Obbligatorio |
Nome o tipo di opzione. Di seguito sono riportati nomi validi se utilizzati in
Nomi validi se utilizzati in
|
value |
Testo | Obbligatorio |
Valore dell'opzione. I valori possono essere qualsiasi stringa e vengono visualizzati come dall'indirizzo IP interno. Di seguito sono riportati valori validi:
|
QuantitativeValue
La seguente tabella descrive le proprietà del tipo QuantitativeValue
:
Proprietà | Tipo | Necessità | Descrizione |
---|---|---|---|
@type |
Testo | Obbligatorio | Questo valore è sempre "QuantitativeValue". |
value |
Numero | Facoltativo | Il valore del nodo del valore quantitativo o del valore della proprietà. |
unitCode |
Testo o URL | Facoltativo |
L'unità di misura come Codice comune UN/CEFACT o un URL. I codici diversi dal Codice comune UN/CEFACT possono essere utilizzati con un prefisso seguito dai due punti. |
maxValue |
Numero | Facoltativo | Il valore superiore di una caratteristica o proprietà. |
minValue |
Numero | Facoltativo | Il valore più basso di alcune caratteristiche o proprietà. |
I seguenti esempi mostrano l'utilizzo del tipo QuantitativeValue
:
Esempio 1
"deliveryLeadTime": { "@type": "QuantitativeValue", "value": "60", "unitCode": "MIN" }
Esempio 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 } }
Esempio 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 } } ]
Ristorante
La seguente tabella elenca le proprietà per il tipo Restaurant
:
Proprietà | Tipo | Necessità | Descrizione |
---|---|---|---|
@type |
Testo | Obbligatorio | È sempre "Ristorante". |
@id |
URL | Obbligatorio | Identificatore univoco del ristorante o del fornitore di servizi di consegna. Ad esempio: "http://www.provider.com/326", dove "326" è l'identificatore univoco il ristorante. |
name |
Testo | Obbligatorio | Testo che può identificare Restaurant durante l'ordine
e il processo di sviluppo. |
url |
URL | Obbligatorio | URL che rappresenta il ristorante nel tuo dominio. Ad esempio: "http://www.provider.com/somerestaurant". |
sameAs |
URL | Facoltativo | Il sito web ufficiale del ristorante. Ad esempio: "http://www.unristorante.it". |
email |
Testo | Facoltativo | Email di contatto del ristorante. |
description |
Testo | Facoltativo | Descrizione del ristorante. |
telephone |
Testo | Obbligatorio |
Numero di telefono nel seguente formato: "[+][country_code][phone_#_with_area_code]" Ad esempio, "+16501234567". |
priceRange |
Testo | Facoltativo | Una gamma di prezzi. Ad esempio, "$$" ($-Inexpensive, $$-Moderato, $$-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": "$$ $$$-Expensive, $$", "telephone": "+16501234567", // Il codice paese (+1) è obbligatorio "servesCuisine": [ "Fusione indiana-messicana" ] },Esempio 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"} ] }Per altri esempi di entità
Restaurant
, consulta Esempi di feed di ristoranti e menu.
ReturnablePackageDepositDetails
Per utilizzare questo tipo, aggiungi il contesto gs1: "@context":
["http://gs1.org/voc/", "http://schema.org"]
Poi aggiungi
FoodBeverageTobaccoProduct
al tipo diMenuItem
appropriato oMenuItemOption
.Nella tabella seguente vengono descritte le proprietà dei componenti Tipo di
ReturnablePackageDepositDetails
:
Proprietà | Tipo | Necessità | Descrizione |
---|---|---|---|
@type |
Testo | Obbligatorio | È sempre "ReturnablePackageDepositDetails". |
returnablePackageDepositAmount |
gs1:PriceSpecification |
Facoltativo | L'importo del deposito per questo articolo per gs1:PriceSpecification. Ad esempio, deposito di 0,25 $ per lattina. |
L'esempio seguente mostra l'utilizzo dell'elemento ReturnablePackageDepositDetails
tipo:
{ "@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" } } } },
Servizio
Descrive la consegna di un'azione end-to-end di ordine da un ristorante a un geografica da parte di un'organizzazione di consegna.
La seguente tabella descrive le proprietà del tipo Service
:
Proprietà | Tipo | Necessità | Descrizione |
---|---|---|---|
@type |
Testo | Obbligatorio |
Il tipo di feed.
|
@id |
URL | Obbligatorio | Identificatore per il servizio di distribuzione. Ad esempio: "http://www.provider.com/service/1". |
description |
Testo | Facoltativo | Descrizione dell'articolo. |
serviceType |
Testo | Obbligatorio | Tipo di servizio offerto. I valori possibili sono "PUBBLICAZIONE" o "CANCELLA". |
provider |
Restaurant |
Obbligatorio | Un riferimento all'identificatore univoco del ristorante. Ad esempio: "http://www.provider.com/somerestaurant". |
areaServed |
Array di GeoShape ,
Place oppure
GeoCircle |
Condizionale | Area geografica in cui viene fornito un servizio. Questo campo è facoltativo
il valore predefinito, ma è obbligatorio se serviceType è "CONSEGNA". |
hoursAvailable |
Array di OpeningHoursSpecification |
Obbligatorio | Orari durante i quali questo servizio è disponibile. |
specialOpeningHoursSpecification |
Array di OpeningHoursSpecification ,
ServiceDeliveryHoursSpecification oppure
AdvanceServiceDeliveryHoursSpecification |
Facoltativo |
Orari che sostituiscono il più generale Definisci l'intervallo di date speciale utilizzando |
offers |
Array di Offer |
Condizionale |
Dettagli sull'offerta di consegna a domicilio per un ristorante specificato. Questo
Il campo è facoltativo per impostazione predefinita, ma obbligatorio se La proprietà |
hasOfferCatalog |
[Menu , OfferCatalog] |
Obbligatorio |
Specifica un menu per questo servizio. Puoi avere un menu diverso per ciascuno dei tuoi servizi (asporto, consegna a domicilio e catering). Devi specificare sia "hasOfferCatalog": { "@type": ["Menu", "OfferCatalog"], "@id": "https://www.provider.com/restaurant/menu/1" } |
additionalProperty |
Array di {name, value} | Facoltativo |
Informazioni facoltative per la configurazione del servizio. Gli elementi devono essere
un oggetto con la chiave
Consulta la "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 | Facoltativo |
Contiene un URL per un servizio di consegna/ritiro che verrà utilizzato durante la migrazione dall'esperienza di ordinazione di cibo end-to-end al reindirizzamento. Ad esempio, "PotentialAction": { "url": "https://fopatestagent.com/ordering/ristorante-1/delivery" } |
L'esempio seguente mostra l'utilizzo del tipo di servizio:
Esempio
{ "@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" } } ] } },
Per altri esempi di entità di servizio, consulta gli esempi di feed di servizi.
ServiceDeliveryHoursSpecification
Rappresenta le ore di evasione degli ordini in cui gli utenti possono pianificare la consegna degli ordini al più presto e da asporto.
In genere, il valore di opens
è inferiore al valore di closes
. La
le seguenti linee guida si applicano all'uso delle proprietà opens
e closes
:
- Le proprietà
opens
ecloses
sono facoltative perServiceDeliveryHoursSpecification
, ma ti consigliamo vivamente di puoi includerle. - L'ora deve essere specificata nell'ora locale del servizio. Non includere un
il fuso orario in un valore
opens
ocloses
. Se viene specificato un fuso orario, Google ignora le informazioni sul fuso orario. - Se
opens
ecloses
non sono specificati esplicitamente, presupponiamo che il prima possibile è disponibile ogni giorno a ogni ora. - Se
opens
ecloses
sono uguali, supponiamo che l'ordinamento "Appena possibile" sia non disponibile. - Se
opens
è superiore acloses
, l'ora di chiusura viene interpretata come attiva il giorno successivo. Ad esempio, se l'orario di apertura è impostato sul 1° gennaio 17:00 e ora di chiusura alle 02:00, il ristorante viene interpretato come chiuderà il 2 gennaio alle 2:00.
Nella tabella seguente vengono descritte le proprietà dei componenti
Tipo di ServiceDeliveryHoursSpecification
:
Proprietà | Tipo | Necessità | Descrizione |
---|---|---|---|
@type |
Testo | Obbligatorio | È sempre "ServiceDeliveryHoursSpecification". |
validFrom |
DateTime |
Facoltativo |
La data e l'ora (incluso il fuso orario) di quando l'utente Per gli ordini "Appena possibile", completato. Ad esempio, "2017-05-01T07:00:00-07:00". Se questa proprietà è non impostato, si presume che sia valido ogni giorno. Per ulteriori informazioni, vedi Formati di data e ora e ora: |
validThrough |
DateTime |
Facoltativo |
La data e l'ora (incluso il fuso orario) dopo le quali l'utente Ordini "Appena possibile" non può essere completato. Ad esempio, "2017-05-01T07:00:00-07:00". Se questa proprietà non è impostata, si presume che sia valida ogni giorno. Il tempo per Per ulteriori informazioni, vedi Formati di data e ora e ora: |
opens |
Time |
Facoltativo |
L'ora di inizio del servizio di consegna per gli utenti gli ordini "Appena possibile" completato. Ad esempio, "T10:30:00". L'ora deve essere specificata nell'ora locale del servizio. Azioni sconsigliate
includi un fuso orario in un valore Per ulteriori informazioni, vedi Formati di data e ora e ora: |
closes |
Time |
Facoltativo |
L'ora di consegna del servizio per gli utenti Gli ordini "Appena possibile" non sono più disponibili. Ad esempio, "T23:59:59". Il tempo per L'ora deve essere specificata nell'ora locale del servizio. Azioni sconsigliate
includi un fuso orario in un valore Per ulteriori informazioni, vedi Formati di data e ora e ora: |
dayOfWeek |
Array di DayOfWeek |
Facoltativo |
Giorni della settimana in cui il servizio è disponibile per gli utenti ordini "Appena possibile". Di seguito sono riportati valori validi:
Se non specifichi nessun giorno della settimana,
|
deliveryLeadTime |
QuantitativeValue |
Facoltativo | Tempi di consegna stimati, in minuti, una volta che l'ordine è stato
inserito. Ti consigliamo vivamente di impostare questa proprietà. Imposta il parametro
Campo value di QuantitativeValue al numero
di minuti e da unitCode a "MIN". |
Nell'esempio seguente viene mostrato un elemento ServiceDeliveryHoursSpecification
:
Esempio 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" } },
Esempio 2
{ "@type": "ServiceDeliveryHoursSpecification", "opens": "T08:00:00", "closes": "T17:00:00", "deliveryLeadTime": { "@type": "QuantitativeValue", "minValue": "30", "maxValue": "50", "unitCode": "MIN" } }
Enum
RestrictedDiet
Il tipo RestrictedDiet
ha i seguenti valori possibili:
- 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
Salvo quando diversamente specificato, i contenuti di questa pagina sono concessi in base alla licenza Creative Commons Attribution 4.0, mentre gli esempi di codice sono concessi in base alla licenza Apache 2.0. Per ulteriori dettagli, consulta le norme del sito di Google Developers. Java è un marchio registrato di Oracle e/o delle sue consociate.
Ultimo aggiornamento 2024-08-21 UTC.