Schema dell'inventario v1

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 per TIME.
  • L'ora deve essere specificata nell'ora locale del ristorante o del servizio.
di Gemini Advanced.

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 (DateTime) del feed di dati, in ISO 8601 formato.

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 dateModified campo nella busta del feed.

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:

  • Proporzioni 3:2
  • >
  • Risoluzione minima 600x400 pixel, 72 dpi
  • >
  • Risoluzione consigliata 1400 x 960 pixel, 72 dpi
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 hasMenuItemOption proprietà.

Il valore predefinito per Offer.eligibleQuantity è il minimo compreso tra 0 e 1 per il massimo.

Le seguenti proprietà di Offer vengono utilizzate in AddOnMenuItem:

  • Offer.sku obbligatoria
  • Offer.price obbligatoria
  • Offer.priceCurrency obbligatoria
  • Offer.availabilityStarts facoltativi
  • Offer.availabilityEnds facoltativi
  • Offer.availableDay facoltativi
  • Offer.validFrom facoltativi
  • Offer.validThrough facoltativi
  • Offer.eligibleQuantity facoltativi
  • Offer.inventoryLevel facoltativi
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:

  • La variante di base riguarda l'elemento aggiuntivo stesso (ad es. piccolo, patatine fritte di medie e grandi dimensioni come contenuto aggiuntivo)
  • La variante di base per la voce di menu associata a questo componente aggiuntivo con (come formaggio extra come complemento di una pizza grande)
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 Offer.availabilityStarts e Offer.availabilityEnds per indicare il periodo di tempo durante i quali è disponibile questa AddOnMenu Sezione.

La scheda seguente mostra quali Offer proprietà sono utilizzata in AddOnMenuSezione.

  • Offer.availabilityStarts facoltativi
  • Offer.availabilityEnds facoltativi
  • Offer.availableDay facoltativi
  • Offer.validFrom facoltativi
  • Offer.validThrough facoltativi
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 AddOnMenuSection. Gli utenti possono modificare le selezioni finali. Se no defaultOption specificato, no AddOnMenuItem è preselezionato.

AddOnMenuItem oggetti devono esistere nel hasMenuItem dei AddOnMenuSection.

Il numero di defaultOption non può superare il limite massimo eligibleQuantity dei AddOnMenuSection.

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 e closes sono facoltative per AdvanceServiceDeliveryHoursSpecification, 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 o closes. I fusi orari specificati vengono ignorati.
  • Se opens e closes non sono specificati esplicitamente, presupponiamo che i progressi gli ordini sono disponibili tutti i giorni e in qualsiasi momento.
  • Se opens e closes sono uguali, presupponiamo che l'ordinamento anticipato sia non disponibile.
  • Se opens è superiore a closes, 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 e closes si riferiscono alla fascia oraria futura. closes è un'offerta esclusiva. Per Ad esempio, se opens è alle 10:00 e closes è alle 16:00 con un serviceTimeInterval 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à validFrom e validThrough devono assenti o presenti insieme.

Se questo tipo viene specificato come specialOpeningHoursSpecification presso Service questa proprietà validFrom in AdvanceServiceDeliveryHoursSpecification è obbligatorio.

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à validFrom e validThrough devono assenti o presenti insieme.

Se questo tipo viene specificato come specialOpeningHoursSpecification presso Service la proprietà validThrough in AdvanceServiceDeliveryHoursSpecification è obbligatorio.

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:

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 opens. Se viene specificato un fuso orario, Google ignora queste informazioni.

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". closes> è un'offerta esclusiva, quindi impostala alle 21:00 per un serviceTimeInterval di 15 minuti indica che l'ultima La fascia oraria disponibile inizia alle 20:45.

L'ora deve essere specificata nell'ora locale per il servizio. Azioni sconsigliate includi un fuso orario in un valore closes. Se il fuso orario è specificato, Google ignora queste informazioni.

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:

  • "Lunedì"
  • "Martedì"
  • "Mercoledì"
  • "Giovedì"
  • "Venerdì"
  • "sabato"
  • "Domenica"

Se non specifichi nessun giorno della settimana, AdvanceServiceDeliveryHoursSpecification si applica a tutti giorni.

serviceTimeInterval Duration Obbligatorio

Intervallo tra due tempi di assistenza successivi.

Ad esempio: se opens e closes sono le 8:00 e 20:00 e serviceTimeInterval è di 15 minuti, poi l'utente può scegliere gli orari di evasione degli ordini 8:15 AM, 8:30 AM, 8:45 AM, e così via fino alle 20:00.

Duration deve essere specificato come durata ISO 8601. Per esempio: "P15M" indica intervalli di 15 minuti.

advanceBookingRequirement QuantitativeValue Obbligatorio

Numero di minuti dall'ora dell'ordine in cui è possibile effettuare l'ordine anticipato completato.

Gli auricolari QuantitativeValue min e I valori max devono essere impostati sul numero di minuti e i unitCode a "MIN".

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 min sarà 60 e il valore di max è 2880.

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"
    }  ],
...
},

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.

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 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:

  • Proporzioni 3:2
  • Risoluzione minima 600x400 pixel, 72 dpi
  • Risoluzione consigliata 1400x960 pixel 72 dpi
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 MenuItem. Descrive quando e a quale prezzo è disponibile questo MenuItem. Deve essere una sola offerta in un determinato momento. È possibile fornire più offerte se c'è una variazione di prezzo/disponibilità in base all'ora del giorno. Se l'articolo alimentare differisce da un attributo base (ad esempio, taglia per pizza), usa menuItemOption. L'impostazione predefinita per Offer.eligibleQuantity è il valore minimo di 0 senza valore superiore limite.

La scheda seguente mostra quali Offer proprietà sono utilizzata in MenuItem.

  • Offer.sku obbligatoria
  • Offer.price obbligatoria
  • Offer.priceCurrency obbligatoria
  • Offer.availabilityStarts facoltativi
  • Offer.availabilityEnds facoltativi
  • Offer.availableDay facoltativi
  • Offer.validFrom facoltativi
  • Offer.validThrough facoltativi
  • Offer.eligibleQuantity facoltativi
  • Offer.inventoryLevel facoltativi
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.

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 MenuItemOption. Descrive quando e a quale prezzo è disponibile questa voce di menu. Deve essere valida una sola offerta per un determinato momento. Puoi avere molti offerte valide se il prezzo/la disponibilità può cambiare in base all'ora del giorno. Non usare Offer.eligibleQuantity. MenuItemOption si esclude a vicenda, quindi Il valore Offer.eligibleQuantity viene ignorato se fornito.

La scheda seguente mostra quali Offer proprietà sono utilizzata in MenuItemOption.

  • Offer.sku obbligatoria
  • Offer.price obbligatoria
  • Offer.priceCurrency obbligatoria
  • Offer.availabilityStarts facoltativi
  • Offer.availabilityEnds facoltativi
  • Offer.availableDay facoltativi
  • Offer.validFrom facoltativi
  • Offer.validThrough facoltativi
  • Offer.eligibleQuantity facoltativi
  • Offer.inventoryLevel facoltativi
menuAddOn Array of AddOnMenuSection 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 --
          ]
        }
      ]
    }
  ]
}

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 Offer.availabilityStarts e Offer.availabilityEnds per indicare il periodo di tempo durante a cui viene pubblicato questo MenuSection. Non utilizzare Offer.eligibleQuantity.

Il seguente elenco mostra quali sono le proprietà Offer utilizzata in MenuSection:

  • Offer.availabilityStarts facoltativi
  • Offer.availabilityEnds facoltativi
  • Offer.availableDay facoltativi
  • Offer.validFrom facoltativi
  • Offer.validThrough facoltativi
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 Offer. In sku viene fatto riferimento ai valori Paga e invia come offerId a lineitem.

Questa proprietà viene utilizzata solo nei seguenti tipi di offerte:

  • AddOnMenuItem.Offer
  • MenuItem.Offer
  • MenuOption.Offer
price Testo Condizionale

Prezzo dell'articolo offerto. Ad esempio, "6.00" senza la valuta .

Questa proprietà è obbligatoria solo nei seguenti tipi di offerta:

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

Non viene utilizzato nei seguenti tipi di offerte:

  • AddOnMenuSection.Offer
  • MenuSection.Offer
  • Service.Offer
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:

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

Non viene utilizzato nei seguenti tipi di offerte:

  • AddOnMenuSection.Offer
  • MenuSection.Offer
  • Service.Offer
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:

  • "Lunedì"
  • "Martedì"
  • "Mercoledì"
  • "Giovedì"
  • "Venerdì"
  • "sabato"
  • "Domenica"

Se hai disponibilità diverse per giorni diversi della settimana, utilizzare più di un oggetto Offer, come mostrato in esempi riportati di seguito.

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:

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

Questa proprietà non viene utilizzata nei seguenti tipi di offerte:

  • Service.Offer
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 validThrough è esclusivo: Ad esempio, se quell'ora è impostata alle 18:00, l'ora è valida fino a 17:59:59. Per ulteriori informazioni, vedi Formati di data e ora e ora:

Questa proprietà può essere utilizzata nei seguenti tipi di offerta:

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

Questa proprietà non viene utilizzata nei seguenti tipi di offerta.

  • Service.Offer
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:

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

Questa proprietà non viene utilizzata nei seguenti tipi di offerta.

  • AddOnMenuSection.Offer
  • MenuSection.Offer
  • Service.Offer
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:

  • AddOnMenuItem.Offer
  • MenuItem.Offer

Questa proprietà non viene utilizzata nei seguenti tipi.

  • AddOnMenuSection.Offer
  • MenuItemOption.Offer
  • MenuSection.Offer
  • Service.Offer
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:

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

Questa proprietà non viene utilizzata nei seguenti tipi di offerte:

  • AddOnMenuSection.Offer
  • MenuSection.Offer
  • Service.Offer
priceSpecification Array di DeliveryChargeSpecification o un array di PaymentChargeSpecification Facoltativo

Se utilizzata in Service.Offer, indica i dettagli su il prezzo della consegna. Se più DeliveryChargeSpecification oggetti sono applicabili, viene applicato quello più specifico. Utilizza reciprocamente oggetti DeliveryChargeSpecification esclusivi per evitare ambiguità.

Questa proprietà può essere utilizzata nei seguenti tipi di offerta:

  • Service.Offer

Questa proprietà non viene utilizzata nei seguenti tipi di offerte:

  • AddOnMenuItem.Offer
  • AddOnMenuSection.Offer
  • MenuItem.Offer
  • MenuOption.Offer
  • MenuSection.Offer
offeredBy Array di ID Restaurant Facoltativo

Rappresenta i ristoranti di questo Offer offerto a.

Se non specificato, verrà offerto questo Offer a tutti i ristoranti.

Questa proprietà può essere utilizzata nei seguenti tipi di offerta:

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

Questa proprietà non viene utilizzata nei seguenti tipi di offerte:

  • Service.Offer
applicableFulfillmentMethod Array di testo Facoltativo

Rappresenta il tipo di servizio a cui è associato questo Offer evaso da. I valori possibili sono "PUBBLICAZIONE" o "CANCELLA".

Se non specificato, questo Offer verrà completato sia con consegna a domicilio che con asporto.

Questa proprietà può essere utilizzata nei seguenti tipi di offerta:

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

Questa proprietà non viene utilizzata nei seguenti tipi di offerte:

  • Service.Offer
@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 e closes sono facoltative, ma vivamente consigliate per indicano quando è disponibile l'ordine. La best practice per definire di ore è includere un array deliveryHours che contiene un ServiceDeliveryHoursSpecification con le proprietà opens e closes. Tu può quindi includere un oggetto AdvanceServiceDeliveryHoursSpecification deliveryHours con le proprie proprietà opens e closes, se vuoi offrono una finestra più limitata per gli ordini in anticipo.
  • Se opens e closes 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 o closes. Se viene specificato un fuso orario, Google ignora questa informazione.
  • Se opens e closes sono uguali, supponiamo che il ristorante sia aperta per 0 minuti.
  • Se opens è superiore a closes, 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, OpeningHoursSpecification si applica a tutti i giorni.

opens Time Facoltativo

Se utilizzata in una specifica Restaurant, questa proprietà indica l'orario di apertura del ristorante nel giorno o nei giorni indicati della settimana. Per ad esempio, 6:30 viene indicato come "T06:30:00".

Se utilizzato in una specifica Service, indica lo specifico ora del giorno a partire dalla quale è possibile effettuare ordini. it specifica l'orario di apertura quando il sistema online è attivo e consente consentire agli utenti di effettuare ordini. Negli orari di apertura/chiusura dei sistemi online, puoi utilizzare deliveryHours per specificare l'orario di apertura e chiusura quando gli utenti possono ordinare tipi di consegne speciali.

L'ora deve essere specificata nell'ora locale del servizio. Azioni sconsigliate includi un fuso orario in un valore opens. Se il fuso orario è specificato, Google ignora queste informazioni.

Per ulteriori informazioni, vedi Formati di data e ora e ora:

closes Time Facoltativo

Se utilizzata in una specifica Service, questa proprietà indica all'ora specifica oltre la quale non è possibile effettuare ordini. it specifica l'orario di chiusura quando il sistema online è attivo e consente consentire agli utenti di effettuare ordini. Negli orari di apertura/chiusura dei sistemi online, puoi utilizzare deliveryHours per specificare l'orario di apertura e chiusura quando gli utenti possono ordinare tipi di consegne speciali.

L'ora deve essere specificata nell'ora locale del servizio. Azioni sconsigliate includi un fuso orario in un valore closes. Se il fuso orario è specificato, Google ignora queste informazioni.

Per ulteriori informazioni, vedi Formati di data e ora e ora:

validFrom DateTime Facoltativo

Se utilizzata in una specifica Restaurant, questa proprietà indica la data in cui gli orari di apertura specificati da opens e closes per il ristorante sono validi.

Ad esempio, se le ore indicate si applicano a tutto l'anno 2017, imposti imposta validFrom su "2017-01-01T00:00:00-07:00" e validThrough a "2017-12-31T23:59:59-07:00".

Se utilizzato in una specifica Service, validFrom indica la data di inizio a partire dalla quale gli ordini possono essere inserito.

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 Restaurant, la data dopo la quale l'orario di apertura specificati da opens e closes non sono valida.

Ad esempio, se le ore indicate si applicano a tutto l'anno 2017, imposti imposta validFrom su "2017-01-01T00:00:00-07:00" e validThrough a "2017-12-31T23:59:59-07:00".

Se utilizzato in una specifica Service, validThrough indica la data di fine oltre la quale l'account gli ordini non possono più inserito.

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 validThrough è esclusivo. Ad esempio: se quell'ora è impostata alle 18:00, l'orario è valido fino alle 17:59:59.

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 opens e closes siano impostati e uguali l'uno con l'altro.

  • ServiceDeliveryHoursSpecification: entro il orari di apertura/chiusura, puoi impostare gli "aperture" e "chiude" ore in cui gli utenti possono effettuare ordini "Appena possibile".
  • AdvanceServiceDeliveryHoursSpecification: entro il orari di apertura/chiusura, puoi impostare gli "aperture" e "chiude" ore in cui gli utenti possono effettuare ordini in anticipo.

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 MenuItem:

  • "SIZE": le dimensioni della MenuItem. Ad esempio, small, medium o grandi.
  • "OPZIONE": qualsiasi variante diversa dalle dimensioni (ad esempio un piatto che viene come insalata o panino). Se non riesci a distinguere tra "DIMENSIONE" e "OPTION", quindi usa "OPTION".

Nomi validi se utilizzati in AddOnMenuItem:

  • "APPLICABLE_ITEM_OPTION": un'opzione per il componente aggiuntivo che è applicabile quando utilizzato con la MenuItem con le rispettive "DIMENSIONE/OPZIONE".
  • "PIZZA_SIDE": specifico per le pizze, questo componente aggiuntivo è valido solo per pizza intera (ad esempio condimenti a base di funghi a sinistra, destra o pizza intera).
  • "SIZE": un'opzione per specificare le dimensioni del componente aggiuntivo. (come le patatine fritte grandi come complemento di una combinazione di pasti).
  • "OPTION": qualsiasi variante diversa dalla dimensione. Se non puoi distinguere tra "SIZE" e "OPTION", quindi usa "OPTION".
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:

  • "PIZZA_SIDE": il valore corrispondente dovrebbe essere "PIZZA_SIDE_LEFT", "PIZZA_SIDE_RIGHT" o "PIZZA_SIDE_WHOLE" per una pizza.
  • "APPLICABLE_ITEM_OPTION": questo valore deve essere presente in uno degli "OPTION/SIZE" corrispondente scelte per l'elemento principale di MenuItem menuItemOptions.

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 "additionalProperty": [{"name": "imprint", "value": "first row\nsecondrow\n"},]

The following examples show the usage of the Restaurant type:

Example 1

{
  "@type": "Restaurant",
  "@id": "http://www.provider.com/somerestaurant",
  "url": "www.provider.com/somerestaurant",
  "name": "Some Restaurant",
  "sameAs": "http://www.somerestaurant.com",
  "image": "http://www.somerestaurant.com/image-of-some-restaurant.jpg",
  "description": "This is the Some Restaurant located on 345 Spear St. San Francisco, 94105 CA. It serves Indian-Mexican fusion cuisine",
  "address": {
    "@type": "PostalAddress",
    "addressLocality": "San Francisco",
    "addressRegion": "CA",
    "postalCode": "94105",
    "streetAddress": "345 Spear St",
    "addressCountry": "US"
  },
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": "37.391115",
    "longitude": "-122.081099"
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.4",
    "reviewCount": "89"
  },
  "priceRange": "$$ $$$-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 di MenuItem appropriato o MenuItemOption.

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.

  • Service: utilizza questo tipo per tutti i feed di servizio attivi.
  • DisabledService: utilizza questo tipo solo quando devi disabilitare un'entità di servizio a causa di un evento imprevisto, senza sapere quando il servizio verrà ristabilito.
@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 OpeningHoursSpecification o i tempi di evasione degli ordini. In genere questo campo viene utilizzato per definire le festività e altri tipi di chiusure temporanee o modifiche in orari.

Definisci l'intervallo di date speciale utilizzando validFrom e validThrough proprietà. L'ora e il fuso orario sono quando specifichi queste proprietà.

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 serviceType è "CONSEGNA".

La proprietà Offer.priceSpecification è facoltativa in assistenza. Qui non viene utilizzata nessun'altra proprietà Offer.

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 Menu sia OfferCatalog per il tipo. Ad esempio:

"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 name corrispondente all'istanza facoltativa il nome del campo. Il valore chiave value è un valore contestualmente pertinente per il campo.

Consulta la ServingConfig riferimento per ulteriori informazioni su nomi e valori specifici.

"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 e closes sono facoltative per ServiceDeliveryHoursSpecification, 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 o closes. Se viene specificato un fuso orario, Google ignora le informazioni sul fuso orario.
  • Se opens e closes non sono specificati esplicitamente, presupponiamo che il prima possibile è disponibile ogni giorno a ogni ora.
  • Se opens e closes sono uguali, supponiamo che l'ordinamento "Appena possibile" sia non disponibile.
  • Se opens è superiore a closes, 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 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:

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 opens. Se il fuso orario è specificato, Google ignora queste informazioni.

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 closes è esclusivo. Pertanto, se imposti aperture/chiusure per questo ServiceDeliveryHoursSpecification alle 10:00 e alle 16:00, l'ultimo ordine è alle 15:59:59.

L'ora deve essere specificata nell'ora locale del servizio. Azioni sconsigliate includi un fuso orario in un valore closes. Se il fuso orario è specificato, Google ignora queste informazioni.

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:

  • "Lunedì"
  • "Martedì"
  • "Mercoledì"
  • "Giovedì"
  • "Venerdì"
  • "sabato"
  • "Domenica"

Se non specifichi nessun giorno della settimana, ServiceDeliveryHoursSpecification si applica a tutti i giorni.

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