I partner di Google possono fornire dati strutturati del menu a Google tramite l'integrazione delle liste di attesa per le prenotazioni per l'utilizzo nella sezione Menu del profilo dell'attività su Google di un ristorante e in altri punti di accesso sulle piattaforme Google per i consumatori.
I dati del menu vengono importati utilizzando i feed generici. Prima di iniziare:
- Assicurati di aver completato la creazione dell'account.
- Informazioni sul processo di caricamento del feed generico
- Scopri come configurare il tuo account per i caricamenti dei feed generici
Creazione e caricamento dei feed dei menu
Quando crei e carichi i feed dei menu, segui queste linee guida e convenzioni:-
Per fornire i dettagli del ristorante, segui le specifiche dei dati descritte nel feed del commerciante.
Per un esempio di file JSON, consulta il sample JSON.
I nomi dei file di dati devono essere univoci tra i caricamenti. Ti consigliamo di includere un timestamp nel
nome file, ad esempio
menu1_1633621547.json -
Nel descrittore del fileset per il feed del menu, imposta il campo
namesugoogle.food_menu. Per visualizzare un esempio dei contenuti del file descrittore, consulta l'esempio JSON del file descrittore. I nomi dei file descrittori devono essere univoci tra i caricamenti. Ti consigliamo di includere un timestamp nel nome file, ad esempiodescriptor_1633621547.filesetdesc.json. Il file descrittore deve essere caricato sul server SFTP generico nell'ambito del feed del menu. - I feed devono essere caricati sul server SFTP generico con cadenza giornaliera come aggiornamenti completi.
- Limita i feed a 1000 shard (file) come indicato in Utilizzo di SFTP per i feed generici
Lo stato di importazione del feed è disponibile nella sezione Importazione > Cronologia del Partner Portal. Le informazioni sul server SFTP del feed sono disponibili nella sezione Configurazione > Feed del Partner Portal.
Lo stato dell'importazione dei feed è disponibile nella sezione Importazione > Cronologia del Partner Portal. Le informazioni sul server SFTP del feed sono disponibili nella sezione Configurazione > Feed del Partner Portal.
Utilizzare le opzioni delle voci di menu
Le opzioni per le voci di menu possono essere specificate utilizzando il proto MenuItemOption.
I partner con più set di opzioni obbligatorie per un singolo elemento del menu (ad esempio, un latte con opzioni di dimensioni e latte) devono decidere il modo migliore per visualizzare queste opzioni su Google. Google consiglia quanto segue:
- Il feed del menu deve corrispondere al sito di ordinazioni del partner (o al menu del ristorante se
non hai un sito di ordinazioni per la sede).
Se l'articolo viene visualizzato con un prezzo individuale sul sito di ordinazione, deve essere utilizzato un
MenuItem. Se l'articolo viene visualizzato con un prezzo base e più opzioni, deve essere utilizzato unMenuItemOption. - Evita di includere un lungo elenco di opzioni, ad esempio:
- Burrito di pollo
- Burrito di pollo con formaggio
- Burrito di pollo con salsa
- Burrito di pollo con salsa e formaggio
- Burrito di pollo con guacamole
- Burrito di pollo con guacamole e salsa
- Le opzioni dei piatti del menu sono supportate solo se il piatto richiede la selezione di una delle opzioni. Ad esempio, quando ordini una pizza, la dimensione è un'opzione obbligatoria. Le opzioni delle voci di menu per i componenti aggiuntivi (ad es. "opzione per aggiungere l'avocado") non sono supportate e non devono essere incluse nei feed.
Il prezzo dell'opzione della voce di menu deve essere il prezzo totale dell'articolo con l'opzione selezionata. Il prezzo deve essere impostato per la voce di menu o per le relative opzioni, ma non per entrambe.
Ristoranti con più menu
Un singolo ristorante (entità) può avere un solo menu. Per un ristorante con più menu (ad es. menu separati per il pranzo e la cena), puoi combinare tutti i menu in un unico menu con MenuSections (ad es. un menu con una sezione per il pranzo e una per la cena). Il menu risultante avrebbe la seguente struttura:
- Menu
- Sezione Pranzo
- Zuppe
- Soup 1
- Zuppa 2
- Panini
- Panino 1
- Panino 2
- Sezione Cena
- Titolari
- Starter 1
- Starter 2
- Mains
- Piatto principale 1
- Piatto principale 2
Condividere i menu tra i ristoranti
Un singolo menu può essere condiviso tra più ristoranti includendo tutti i ristoranti nell'elenco
merchant_ids del menu. Tieni presente che questo elenco accetta gli ID entità per i partner che utilizzano
il feed Entità.
Best practice
Di seguito sono riportate le best practice da seguire durante lo sviluppo dei feed dei menu.
- Associa un solo menu a un ristorante.
- Fornisci la lingua preferita come prima lingua nel TextField. Se invii più oggetti LocalizedText, agli utenti viene mostrato il primo oggetto nell'elenco di testo.
- Tutte le voci del menu devono essere aggiunte alle sezioni del menu. Non aggiungere voci di menu direttamente all'oggetto menu.
- Fornisci contenuti utilizzando la codifica UTF-8. Non è necessario utilizzare l'interpretazione letterale dei caratteri non ASCII.
- Se il lancio avviene in più regioni, assicurati di utilizzare i codici valuta e le denominazioni corretti nei campi unità e nanos. Presta particolare attenzione al campo nanos, che è 10^-9 di un'unità. Utilizza il visualizzatore del menu in Visualizzatore inventario per verificare di aver impostato correttamente i prezzi.
- Fornire agli utenti menu visivamente ricchi, completi e aggiornati è fondamentale per offrire un'esperienza utente utile e coinvolgente. Prezzi, descrizioni, foto e informazioni dietetiche sono tutti elementi chiave per favorire il processo decisionale e i partner sono invitati a fornire il maggior numero possibile di questi dati per offrire un'esperienza ottimale a utenti e commercianti.
- Per non mostrare alcun prezzo, includi un prototipo Price vuoto nel prototipo Offer.
Strumenti di sviluppo e test
Dopo il lancio dei feed dei menu, i dati dei feed dei menu saranno idonei a essere visualizzati nelle esperienze di scoperta e potrebbero essere visibili nella scheda "Menu" della scheda del ristorante. La scheda del menu è supportata nella Ricerca Google (mobile e computer) e l'esperienza verrà estesa ad altre piattaforme, tra cui Google Maps. L'esperienza di rendering può variare a seconda della piattaforma.
Per assicurarti che il menu sia strutturato correttamente, utilizza lo strumento di visualizzazione del menu in Visualizzatore inventario per visualizzare l'anteprima dei menu.
I menu dei ristoranti possono provenire da molte fonti, tra cui i ristoranti stessi tramite il loro profilo dell'attività su Google, partner per ordini di cibo e prenotazioni, foto dei menu scattate dagli utenti e altro ancora. Se più fonti forniscono menu per lo stesso ristorante, il commerciante può scegliere un fornitore preferito nell'editor dei menu di Profilo dell'attività su Google.
Schema
Lo schema completo del menu è disponibile qui.
FoodMenuFeed
| Nome campo | Tipo | Requisito | Descrizione |
|---|---|---|---|
data | array di object(MenuComponent) |
MenuComponent
| Nome campo | Tipo | Requisito | Descrizione |
|---|---|---|---|
| oneOf(type) | È possibile impostare solo uno dei campi in questo oneOf. |
| Nome campo | Tipo | Requisito | Descrizione |
|---|---|---|---|
menu_id | stringa | Obbligatorio | Una stringa opaca di un partner che identifica in modo univoco il menu all'interno del feed del partner. Obbligatorio. |
merchant_ids | array di stringhe | Obbligatorio | I commercianti a cui si applica il menu. Nota: questo campo viene ripetuto in modo che i ristoranti della catena possano condividere lo stesso menu in più sedi, ognuna delle quali è un commerciante separato. Obbligatorio. |
display_name | oggetto(TextField) | Il nome che può identificare il menu quando un utente lo sta sfogliando. Facoltativo. | |
language | stringa | Il codice lingua predefinito associato alle etichette di testo contenute nel menu. Prevede il codice lingua BCP-47, ad esempio "en-US" o "sr-Latn". Per ulteriori informazioni, visita la pagina http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. Facoltativo. |
| Nome campo | Tipo | Requisito | Descrizione |
|---|---|---|---|
text | array di object(LocalizedText) | Obbligatorio | Valori di testo per località. Se è supportata una sola impostazione internazionale, non è necessario impostare language_code all'interno di ogni testo e la lingua verrà dedotta dalla lingua predefinita del menu. Se sono presenti più testi in località diverse, il language_code deve essere impostato per ogni testo. Il primo testo nell'elenco è considerato la rappresentazione preferita. Obbligatorio. |
LocalizedText
Variante localizzata di un testo in una determinata lingua.
| Nome campo | Tipo | Requisito | Descrizione |
|---|---|---|---|
text | stringa | Stringa localizzata nella lingua corrispondente a [language_code][google.type.LocalizedText.language_code] di seguito. | |
language_code | stringa | Il codice lingua BCP-47 del testo, ad esempio "en-US" o "sr-Latn". Per ulteriori informazioni, visita la pagina http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. |
| Nome campo | Tipo | Requisito | Descrizione |
|---|---|---|---|
menu_section_id | stringa | Obbligatorio | Una stringa opaca di un partner che identifica in modo univoco MenuSection all'interno del feed del partner. Obbligatorio. |
display_name | oggetto(TextField) | Obbligatorio | Il nome che può identificare la sezione del menu quando un utente sta sfogliando il menu. Obbligatorio. |
description | oggetto(TextField) | Una descrizione della sezione del menu. Facoltativo. | |
images | array di object(Image) | Immagine o immagini della sezione del menu. Facoltativo. |
| Nome campo | Tipo | Requisito | Descrizione |
|---|---|---|---|
uri | stringa | Obbligatorio | URL contenente i pixel grezzi dell'immagine. Obbligatorio. |
| Nome campo | Tipo | Requisito | Descrizione |
|---|---|---|---|
menu_item_id | stringa | Obbligatorio | Una stringa opaca di un partner che identifica in modo univoco MenuItem all'interno del feed del partner. Obbligatorio. |
display_name | oggetto(TextField) | Obbligatorio | Il nome che può identificare MenuItem quando un utente sfoglia il menu. Obbligatorio. |
description | oggetto(TextField) | Una descrizione della voce di menu. Facoltativo. | |
images | array di object(Image) | Immagine o immagini della voce di menu. Facoltativo. | |
| oneOf(pricing) | Obbligatorio | È possibile impostare solo uno dei campi in questo oneOf. |
item_attributes | oggetto(MenuItemAttributes) | Attributi di questa voce di menu. Facoltativo. |
| Nome campo | Tipo | Requisito | Descrizione |
|---|---|---|---|
offers | array di object(Offer) | Obbligatorio | Elenco delle possibili offerte. Obbligatorio. |
| Nome campo | Tipo | Requisito | Descrizione |
|---|---|---|---|
price | oggetto(Money) | I seguenti casi non sono validi e comporteranno l'eliminazione della voce di menu: Prezzo senza codice valuta, ma con unità o nanos o entrambi: price {units: 100, nanos: 1000000} price {units: 100} price {nanos: 1000000} Prezzo con codice valuta non valido, ma con unità o nanos o entrambi: price {currency_code: 'gXYZ', units: 100, nanos: 1000000} price {currency_code: 'gXYZ', units: 100} price {currency_code: 'gXYZ', nanos: 1000000} Prezzo con codice valuta, ma unità o nanos non validi price {currency_code: 'USD', units: 100, nanos: -100} price {currency_code: 'USD', units: -100, nanos: 100} |
Denaro
Rappresenta un importo di denaro con il tipo di valuta.
| Nome campo | Tipo | Requisito | Descrizione |
|---|---|---|---|
currency_code | stringa | Il codice valuta di tre lettere definito nello standard ISO 4217. | |
units | stringa | Le unità intere dell'importo.
Ad esempio, se currencyCode è "USD", un'unità corrisponde a un dollaro statunitense. | |
nanos | numero | Numero di unità nano (10^-9) dell'importo.
Il valore deve essere compreso tra -999.999.999 e +999.999.999 inclusi.
Se units è positivo, nanos deve essere positivo o zero.
Se units è zero, nanos può essere positivo, zero o negativo.
Se units è negativo, nanos deve essere negativo o zero.
Ad esempio, -1,75 $ è rappresentato come units=-1 e nanos=-750.000.000. |
| Nome campo | Tipo | Requisito | Descrizione |
|---|---|---|---|
menu_item_option_ids | array di stringhe | Obbligatorio | ID delle opzioni delle voci di menu applicabili a questa voce di menu. Obbligatorio. |
| Nome campo | Tipo | Requisito | Descrizione |
|---|---|---|---|
number_of_servings | numero | Numero di porzioni disponibili in una determinata voce di menu. Facoltativo. | |
nutrition_information | oggetto(NutritionInformation) | Descrive tutte le informazioni nutrizionali dell'articolo, ad esempio calorie, contenuto di grassi. Facoltativo. | |
suitable_diets | array di enum(DietaryRestriction) | Le restrizioni alimentari a cui è conforme questo elemento del menu. Facoltativo. | |
additive | array di object(Additive) | Additivi di questa voce di menu. Facoltativo. | |
allergen | array di object(Allergen) | Gli allergeni di questa voce di menu. Facoltativo. | |
packaging_deposit_info | oggetto(DepositInfo) | Informazioni sull'imballaggio e sul riciclo di questa voce di menu. Facoltativo. |
| Nome campo | Tipo | Requisito | Descrizione |
|---|---|---|---|
energy | oggetto(NutritionValue) | La quantità di energia nutrizionale della porzione di cibo. Può essere definito in calorie o kilojoule. Facoltativo. | |
sodium_content | oggetto(NutritionValue) | La quantità di sodio, misurata in grammi o milligrammi. Facoltativo. | |
serving_size | numero | Il numero di porzioni a cui si applica il valore nutrizionale. Facoltativo. | |
description | oggetto(TextField) | Informazioni nutrizionali in formato di testo libero. Ad esempio "Contiene conservanti". Facoltativo. |
| Nome campo | Tipo | Requisito | Descrizione |
|---|---|---|---|
| oneOf(value) | È possibile impostare solo uno dei campi in questo oneOf. | |
unit | enum(NutritionValueUnit) | Obbligatorio | L'unità associata all'importo come specificato dal partner. Convalideremo il feed in modo che l'unità per ogni tipo di valore nutrizionale sia prevista per quel tipo di valore. Ad esempio, solo ENERGY_CALORIES e ENERGY_KILOJOULES sono previsti nella proprietà energetica di NutritionalInformation. Obbligatorio. |
| Nome campo | Tipo | Requisito | Descrizione |
|---|---|---|---|
min | numero | Obbligatorio | La quantità minima di valore nutrizionale. Obbligatorio. |
max | numero | Obbligatorio | La quantità massima di valore nutrizionale. Obbligatorio. |
| Nome campo | Tipo | Requisito | Descrizione |
|---|---|---|---|
name | oggetto(TextField) | Obbligatorio | Testo descrittivo dell'additivo, ad esempio "conservanti". Obbligatorio. |
containment_level_code | enum(ContainmentLevelCode) | Indica se la voce di menu contiene, potrebbe contenere o è priva di questo additivo. Il valore predefinito è Contiene. Facoltativo. |
| Nome campo | Tipo | Requisito | Descrizione |
|---|---|---|---|
allergen_type_code | enum(AllergenTypeCode) | Obbligatorio | Tipo di allergene. Obbligatorio. |
containment_level_code | enum(ContainmentLevelCode) | Indica se la voce di menu contiene, potrebbe contenere o non contiene questo allergene. Il valore predefinito è Contiene. Facoltativo. |
| Nome campo | Tipo | Requisito | Descrizione |
|---|---|---|---|
deposit_code | enum(DepositCode) | La strategia di deposito da utilizzare, ad esempio "riutilizzabile". Facoltativo. | |
deposit_value | oggetto(Money) | Valore rimborsato per il deposito corretto dell'articolo. Facoltativo. |
| Nome campo | Tipo | Requisito | Descrizione |
|---|---|---|---|
menu_item_option_id | stringa | Obbligatorio | Una stringa opaca di un partner che identifica in modo univoco MenuItemOption all'interno del feed del partner. Obbligatorio. |
value | oggetto(MenuItemOptionProperty) | Obbligatorio | Proprietà e valore dell'opzione, ad esempio Taglia: S. Obbligatorio. |
| Nome campo | Tipo | Requisito | Descrizione |
|---|---|---|---|
property_type | enum(PropertyType) | Obbligatorio | Il tipo di questa proprietà di opzione. Obbligatorio. |
| oneOf(value) | Obbligatorio | È possibile impostare solo uno dei campi in questo oneOf. |
NutritionValueUnit
| Nome | Descrizione |
|---|---|
NUTRITION_VALUE_UNIT_UNSPECIFIED | Non utilizzare. L'unità di valore nutrizionale non è impostata in modo esplicito. |
ENERGY_CALORIES | Unità utilizzate per esprimere la quantità di energia in una voce di menu. |
ENERGY_KILOJOULES | |
WEIGHT_MILLIGRAMS | Unità utilizzate per esprimere la quantità in peso di una sostanza presente nella voce di menu. |
WEIGHT_GRAMS |
DietaryRestriction
Indica una limitazione o una linea guida alimentare rispettata durante la preparazione del cibo.
| Nome | Descrizione |
|---|---|
DIET_UNSPECIFIED | Non utilizzare. La limitazione alimentare non è specificata in modo esplicito. |
DIET_DIABETIC | |
DIET_GLUTEN_FREE | |
DIET_HALAL | |
DIET_HINDU | |
DIET_KOSHER | |
DIET_LOW_CALORIE | |
DIET_LOW_FAT | |
DIET_LOW_LACTOSE | |
DIET_LOW_SALT | |
DIET_VEGAN | |
DIET_VEGETARIAN |
ContainmentLevelCode
Indica il livello di contenimento di un determinato attributo in un alimento, ad esempio allergeni o additivi.
| Nome | Descrizione |
|---|---|
CONTAINMENT_LEVEL_CODE_UNSPECIFIED | Non utilizzare. Il codice del livello di contenimento non è specificato in modo esplicito. |
CONTAINMENT_LEVEL_CODE_CONTAINS | |
CONTAINMENT_LEVEL_CODE_DOES_NOT_CONTAIN | |
CONTAINMENT_LEVEL_CODE_MAY_CONTAIN |
AllergenTypeCode
Tipo di allergene derivato da GS1: http://gs1.org/voc/AllergenTypeCode
| Nome | Descrizione |
|---|---|
ALLERGEN_TYPE_CODE_UNSPECIFIED | Non utilizzare. Il codice del tipo di allergene non è specificato in modo esplicito. |
ALLERGEN_TYPE_CODE_ALMONDS | |
ALLERGEN_TYPE_CODE_ALPHA_ISOMETHYL_IONONE | |
ALLERGEN_TYPE_CODE_ALCOHOL | |
ALLERGEN_TYPE_CODE_AMYL_CINNAMAL | |
ALLERGEN_TYPE_CODE_ANISE_ALCOHOL | |
ALLERGEN_TYPE_CODE_BARLEY | |
ALLERGEN_TYPE_CODE_BENZYL_ALCOHOL | |
ALLERGEN_TYPE_CODE_BENZYL_BENZOATE | |
ALLERGEN_TYPE_CODE_BENZYL_CINNAMATE | |
ALLERGEN_TYPE_CODE_BENZYL_SALICYLATE | |
ALLERGEN_TYPE_CODE_BRAZIL_NUTS | |
ALLERGEN_TYPE_CODE_BUTYLPHENYL_METHYLPROPIONATE | |
ALLERGEN_TYPE_CODE_CARROTS | |
ALLERGEN_TYPE_CODE_CASHEW_NUTS | |
ALLERGEN_TYPE_CODE_CELERY | |
ALLERGEN_TYPE_CODE_CEREALS_CONTAINING_GLUTEN | |
ALLERGEN_TYPE_CODE_CINNAMAL | |
ALLERGEN_TYPE_CODE_CINNAMYL_ALCOHOL | |
ALLERGEN_TYPE_CODE_CITRAL | |
ALLERGEN_TYPE_CODE_CITRONELLOL | |
ALLERGEN_TYPE_CODE_COCOA | |
ALLERGEN_TYPE_CODE_CORIANDER | |
ALLERGEN_TYPE_CODE_CORN | |
ALLERGEN_TYPE_CODE_COUMARIN | |
ALLERGEN_TYPE_CODE_CRUSTACEANS | |
ALLERGEN_TYPE_CODE_EGGS | |
ALLERGEN_TYPE_CODE_EUGENOL | |
ALLERGEN_TYPE_CODE_EVERNIA_FURFURACEA | |
ALLERGEN_TYPE_CODE_EVERNIA_PRUNASTRI | |
ALLERGEN_TYPE_CODE_FARNESOL | |
ALLERGEN_TYPE_CODE_FISH | |
ALLERGEN_TYPE_CODE_GERANIOL | |
ALLERGEN_TYPE_CODE_GLUTEN | |
ALLERGEN_TYPE_CODE_HAZELNUTS | |
ALLERGEN_TYPE_CODE_HEXYL_CINNAMAL | |
ALLERGEN_TYPE_CODE_HYDROXYCITRONELLAL | |
ALLERGEN_TYPE_CODE_HYDROXYISOHEXYL_3_CYCLOHEXENE_CARBOXALDEHYDE_ISOEUGENOL_LIMONENE_LINAL | |
ALLERGEN_TYPE_CODE_KAMUT | |
ALLERGEN_TYPE_CODE_LACTOSE | |
ALLERGEN_TYPE_CODE_LUPINE | |
ALLERGEN_TYPE_CODE_MACADAMIA_NUTS | |
ALLERGEN_TYPE_CODE_METHYL_2_OCTYNOATE | |
ALLERGEN_TYPE_CODE_MILK | |
ALLERGEN_TYPE_CODE_MOLLUSCS | |
ALLERGEN_TYPE_CODE_MUSTARD | |
ALLERGEN_TYPE_CODE_NO_DECLARED_ALLERGENS | |
ALLERGEN_TYPE_CODE_OAT | |
ALLERGEN_TYPE_CODE_PEANUTS | |
ALLERGEN_TYPE_CODE_PEAS | |
ALLERGEN_TYPE_CODE_PECAN_NUTS | |
ALLERGEN_TYPE_CODE_PISTACHIOS | |
ALLERGEN_TYPE_CODE_POD_FRUITS | |
ALLERGEN_TYPE_CODE_QUEENSLAND_NUTS | |
ALLERGEN_TYPE_CODE_RYE | |
ALLERGEN_TYPE_CODE_SESAME_SEEDS | |
ALLERGEN_TYPE_CODE_SOYBEANS | |
ALLERGEN_TYPE_CODE_SPELT | |
ALLERGEN_TYPE_CODE_SULPHUR_DIOXIDE | |
ALLERGEN_TYPE_CODE_TREE_NUTS | |
ALLERGEN_TYPE_CODE_TREE_NUT_TRACES | |
ALLERGEN_TYPE_CODE_WALNUTS | |
ALLERGEN_TYPE_CODE_WHEAT |
DepositCode
Indica come depositare correttamente un alimento o una bottiglia.
| Nome | Descrizione |
|---|---|
DEPOSIT_CODE_UNSPECIFIED | Non utilizzare. Il codice di deposito non è specificato in modo esplicito. |
DEPOSIT_CODE_REUSABLE | |
DEPOSIT_CODE_RECYCLABLE |
PropertyType
I tipi di proprietà a cui si riferisce l'opzione.
| Nome | Descrizione |
|---|---|
UNKNOWN_PROPERTY_TYPE | Non utilizzare. Il tipo di proprietà non è specificato in modo esplicito. |
OPTION | Una proprietà di opzione di voce di menu generica, che non rientra tra i tipi più specifici riportati di seguito. Utilizza questa proprietà se non è di tipo SIZE o PIZZA_SIDE. |
SIZE | Indica la proprietà dell'opzione del menu relativa alle dimensioni (ad es. piccola, media o grande). |
PIZZA_SIDE | Proprietà specifica per le pizze. Ad esempio, questa MenuItemOption è valida solo per una porzione/intera pizza, ad esempio i funghi come condimento sul lato sinistro, sul lato destro o su tutta la pizza. |
PropertyValue
Valori ben definiti per la proprietà dell'opzione.
| Nome | Descrizione |
|---|---|
UNKNOWN_PROPERTY_VALUE | Non utilizzare. Il valore della proprietà non è specificato in modo esplicito. |
PIZZA_SIDE_LEFT | MenuItemOption si applica solo al lato sinistro di una pizza. |
PIZZA_SIDE_RIGHT | MenuItemOption si applica solo al lato destro di una pizza. |
PIZZA_SIDE_WHOLE | MenuItemOption si applica all'intera pizza. |
tipo
| Nome campo | Tipo | Requisito | Descrizione |
|---|---|---|---|
menu | oggetto(Menu) | Esclusivo con | |
section | oggetto(MenuSection) | Esclusivo con | |
item | oggetto(MenuItem) | Esclusivo con | |
option | oggetto(MenuItemOption) | Esclusivo con |
| Nome campo | Tipo | Requisito | Descrizione |
|---|---|---|---|
offer_set | oggetto(OfferSet) | Esclusivo con | Offerte disponibili per l'acquisto di questo alimento. |
menu_item_option_set | oggetto(MenuItemOptionSet) | Esclusivo con | Opzioni disponibili per questa voce di menu. |
| Nome campo | Tipo | Requisito | Descrizione |
|---|---|---|---|
amount | numero | Esclusivo con | Un singolo numero che rappresenta la quantità di valore nutrizionale. |
range | oggetto(Range) | Esclusivo con | Un intervallo che rappresenta la quantità di valore nutrizionale. |
| Nome campo | Tipo | Requisito | Descrizione |
|---|---|---|---|
property_val | enum(PropertyValue) | Esclusivo con | Un valore ben definito per la proprietà dell'opzione. Attualmente previsto solo se property_type è PIZZA_SIDE. |
text_val | oggetto(TextField) | Esclusivo con | Un testo in formato libero per il valore della proprietà. Previsto per property_type OPTION e SIZE. |