Aperçu

Les partenaires Google peuvent fournir des données structurées sur les menus à Google via l'intégration des listes d'attente et des réservations. Ces données sont utilisées dans la section Menu de la fiche d'établissement Google d'un restaurant et dans d'autres points d'entrée sur les surfaces Google destinées aux consommateurs.

Les données de menu sont ingérées à l'aide des flux génériques. Avant de commencer :

  1. Assurez-vous d'avoir terminé la configuration de votre compte.
  2. Comprendre le processus d'importation de flux génériques
  3. Découvrez comment configurer votre compte pour importer des flux génériques.

Créer et importer des flux de menus

Lorsque vous créez et importez des flux de menus, suivez ces consignes et conventions :
  • Pour fournir des informations sur les restaurants, suivez les spécifications de données décrites dans Flux des marchands. Pour obtenir un exemple de fichier JSON, consultez l'exemple de fichier JSON. Les noms de fichiers de données doivent être uniques entre les importations. Il est recommandé d'inclure un code temporel dans le nom du fichier, par exemple menu1_1633621547.json.
  • Dans le descripteur de fichier pour le flux de menus, définissez le champ name sur google.food_menu. Pour voir un exemple du contenu du fichier descripteur, consultez l'exemple JSON de fichier descripteur. Les noms des fichiers descripteurs doivent être uniques entre les importations. Nous vous recommandons d'inclure un code temporel dans le nom de fichier, par exemple descriptor_1633621547.filesetdesc.json. Le fichier descripteur doit être importé sur le serveur SFTP générique en tant qu'élément du flux de menu.
  • Les flux doivent être importés sur le serveur SFTP générique tous les jours pour être actualisés complètement.
  • Limitez les flux à 1 000 partitions (fichiers), comme indiqué dans Utiliser le SFTP de flux générique.

L'état de l'ingestion des flux est indiqué dans la section Ingestion > Historique du portail des partenaires. Les informations sur le serveur SFTP des flux sont disponibles dans la section Configuration > Flux du portail des partenaires.

Sélectionner le serveur SFTP du flux

Figure 1 : Informations génériques sur le serveur SFTP

L'état de l'ingestion des flux est indiqué dans la section Ingestion > Historique du portail des partenaires. Les informations sur le serveur SFTP des flux sont disponibles dans la section Configuration > Flux du portail des partenaires.

Utiliser les options des éléments de menu

Les options des éléments de menu peuvent être spécifiées à l'aide du proto MenuItemOption.

Les partenaires qui proposent plusieurs ensembles d'options obligatoires pour un même élément de menu (par exemple, un latte avec des options de taille et de lait) doivent choisir la meilleure façon d'afficher ces options sur Google. Google recommande les pratiques suivantes :

  • Le flux de menus doit correspondre au site de commande du partenaire (ou au menu du restaurant si vous n'avez pas de site de commande pour l'établissement). Si l'article est affiché avec un prix individuel sur le site de commande, vous devez utiliser MenuItem. Si l'article est affiché avec un prix de base et plusieurs options, un MenuItemOption doit être utilisé.
  • Évitez d'inclure une longue liste d'options, par exemple :
    • Burrito au poulet
    • Burrito au poulet et au fromage
    • Burrito au poulet avec salsa
    • Burrito au poulet avec salsa et fromage
    • Burrito au poulet avec guacamole
    • Burrito au poulet avec guacamole et salsa
  • Les options de menu ne sont acceptées que si le plat nécessite la sélection d'une des options. Par exemple, lorsque vous commandez une pizza, la taille est une option obligatoire. Les options d'éléments de menu qui concernent les modules complémentaires (par exemple, "option pour ajouter de l'avocat") ne sont pas prises en charge et ne doivent pas être incluses dans les flux.

Le prix de l'option d'un élément de menu doit correspondre au prix total de l'élément avec cette option sélectionnée. Le prix doit être défini pour l'élément de menu ou pour ses options, mais pas pour les deux.

Restaurants avec plusieurs menus

Un restaurant (entité) ne peut avoir qu'un seul menu. Pour un restaurant qui propose plusieurs menus (par exemple, un menu du midi et un menu du soir distincts), vous pouvez combiner tous les menus en un seul à l'aide de MenuSections (par exemple, un menu avec une section pour le midi et une section pour le soir). Le menu obtenu aurait la structure suivante :

  • Menu
    • Section "Déjeuner"
      • Soupes
        • Soupe 1
        • Soupe 2
      • Sandwichs
        • Sandwich 1
        • Sandwich 2
    • Section "Dîner"
      • Titulaires
        • Déclencheur 1
        • Starter 2
      • Secteur
        • Plat principal 1
        • Plat principal 2

Partager des menus entre restaurants

Un même menu peut être partagé entre plusieurs restaurants en incluant tous les restaurants dans la liste merchant_ids du menu. Notez que cette liste accepte les ID d'entité pour les partenaires utilisant le flux Entité.

Bonnes pratiques

Voici les bonnes pratiques à suivre lorsque vous développez des flux de menus.

  • N'associez qu'un seul menu à un restaurant.
  • Indiquez la langue de votre choix comme première langue dans le TextField. Si vous envoyez plusieurs objets LocalizedText, le premier objet de la liste de texte est affiché aux utilisateurs.
  • Tous les éléments de menu doivent être ajoutés aux sections de menu. N'ajoutez pas d'éléments de menu directement à l'objet de menu.
  • Fournissez du contenu en utilisant l'encodage UTF-8. Il n'est pas nécessaire d'échapper les caractères non ASCII.
  • Si vous lancez votre application dans plusieurs régions, assurez-vous d'utiliser les codes de devise et les dénominations appropriés dans les champs "unités" et "nanos". Soyez particulièrement vigilant avec le champ "nanos", qui correspond à 10^-9 unité. Utilisez le visualiseur de menu dans l'outil de visualisation de l'inventaire pour vérifier que vous avez correctement défini les prix.
  • Pour offrir aux utilisateurs une expérience utile et attrayante, il est essentiel de leur proposer des menus complets, récents et visuellement riches. Les prix, les descriptions, les photos et les informations sur les régimes alimentaires sont des éléments clés pour aider les utilisateurs à prendre des décisions. Nous encourageons les partenaires à fournir autant de données que possible pour offrir une expérience optimale aux utilisateurs et aux marchands.
  • Pour ne pas afficher de prix, incluez un proto Price vide dans le proto Offer.

Une fois les flux de menus lancés, les données de votre flux de menus pourront s'afficher dans les expériences de découverte et dans l'onglet "Menu" de la fiche de votre restaurant. L'onglet "Menu" est disponible dans la recherche Google (sur mobile et ordinateur). Il sera bientôt disponible sur d'autres plates-formes, y compris Google Maps. L'expérience de rendu peut varier en fonction de la surface.

Exemple de menu affichant des éléments avec des descriptions

Illustration 3 : Exemple de contenu de flux de menu affiché dans une fiche d'établissement sur mobile

Pour vous assurer que votre menu est structuré correctement, utilisez le visualiseur de menu dans Inventory Viewer pour prévisualiser vos menus.

Les menus de restaurants peuvent provenir de nombreuses sources, y compris des restaurants eux-mêmes via leur fiche d'établissement Google, des partenaires de commande de repas et de réservation, des photos de menus prises par les utilisateurs, etc. Si plusieurs sources fournissent des menus pour le même restaurant, le marchand peut choisir un fournisseur de son choix dans l'éditeur de menus de la fiche d'établissement Google.

Schéma

Le schéma complet du menu est disponible ici.

FoodMenuFeed

Nom du champTypeExigenceDescription
dataTableau d'objets
(MenuComponent)

Nom du champTypeExigenceDescription
oneOf
(type)

Un seul des champs de ce oneOf peut être défini.

Catalogue de premier niveau des produits alimentaires proposés par un établissement de restauration. Menu contient une liste d'ID de marchands et le menu qui s'applique à ces marchands. Un menu peut être utilisé pour représenter un seul marchand avec le menu, ou plusieurs marchands (généralement des chaînes de restaurants) avec les menus.

Nom du champTypeExigenceDescription
menu_idchaîne

Obligatoire

Chaîne opaque provenant d'un partenaire qui identifie de manière unique le menu dans le flux du partenaire. Obligatoire.
merchant_idstableau de chaînes

Obligatoire

Marchands auxquels le menu s'applique. Remarque : Ce champ est répété afin que les chaînes de restaurants puissent partager le même menu dans plusieurs établissements, chacun étant un marchand distinct. Obligatoire.
display_nameobject
(TextField)

Nom permettant d'identifier le menu lorsqu'un utilisateur le parcourt. Facultatif.
languagechaîne

Code de langue par défaut associé aux libellés textuels contenus dans le menu. Code de langue BCP-47 attendu, tel que "en-US" ou "sr-Latn". Pour en savoir plus, consultez http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. Facultatif.

TextField

Charge utile de texte contenant une ou plusieurs valeurs localisées.

Nom du champTypeExigenceDescription
textTableau d'objets
(LocalizedText)

Obligatoire

Valeurs textuelles par paramètre régional. Si vous ne souhaitez prendre en charge qu'un seul paramètre régional, il n'est pas nécessaire de définir le language_code dans chaque texte. La langue sera déduite de la langue par défaut du menu. S'il existe plusieurs textes dans différentes langues, le language_code doit être défini pour chacun d'eux. Le premier texte de la liste est considéré comme la représentation préférée. Obligatoire.

LocalizedText

Variante localisée d'un texte dans une langue spécifique.

Nom du champTypeExigenceDescription
textchaîne

Chaîne localisée dans la langue correspondant à [language_code][google.type.LocalizedText.language_code] ci-dessous.
language_codechaîne

Code de langue BCP-47 du texte, tel que "en-US" ou "sr-Latn". Pour en savoir plus, consultez http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.

Une section de menu est un regroupement d'éléments dans un menu. Des MenuSections distinctes sont généralement créées pour chaque regroupement logique d'éléments dans un menu. Par exemple, les types de plats (entrée, plat principal, dessert) et les catégories d'aliments (burgers, boissons) sont des sections typiques.

Nom du champTypeExigenceDescription
menu_section_idchaîne

Obligatoire

Chaîne opaque provenant d'un partenaire qui identifie de manière unique la section de menu dans le flux du partenaire. Obligatoire.
display_nameobject
(TextField)

Obligatoire

Nom permettant d'identifier la section du menu lorsqu'un utilisateur parcourt le menu. Obligatoire.
descriptionobject
(TextField)

Description de la section du menu. Facultatif.
imagesTableau d'objets
(Image)

Image(s) de la section du menu. Facultatif.

Image

Représente une image associée à une entité de menu.

Nom du champTypeExigenceDescription
urichaîne

Obligatoire

URL contenant les pixels bruts de l'image. Obligatoire.

Représente un seul plat ou une seule boisson proposés par un établissement de restauration.

Nom du champTypeExigenceDescription
menu_item_idchaîne

Obligatoire

Chaîne opaque provenant d'un partenaire qui identifie de manière unique le MenuItem dans le flux du partenaire. Obligatoire.
display_nameobject
(TextField)

Obligatoire

Nom permettant d'identifier le MenuItem lorsqu'un utilisateur parcourt le menu. Obligatoire.
descriptionobject
(TextField)

Description de l'élément de menu. Facultatif.
imagesTableau d'objets
(Image)

Image(s) de l'élément de menu. Facultatif.
oneOf
(pricing)

Obligatoire

Un seul des champs de ce oneOf peut être défini.
item_attributesobject
(MenuItemAttributes)

Attributs de cet élément de menu. Facultatif.

OfferSet

Conteneur pour une liste d'offres disponibles sur un élément / une option de menu. Une seule offre doit être applicable/valide à un moment donné. Par exemple, une boisson peut bénéficier de deux offres : l'une le matin et l'autre le soir pendant les happy hours.

Nom du champTypeExigenceDescription
offersTableau d'objets
(Offer)

Obligatoire

Liste des offres possibles. Obligatoire.

Offre

Représente les informations sur les prix et la disponibilité des MenuItems et des MenuItemOptions.

Nom du champTypeExigenceDescription
priceobject
(Money)

Les cas suivants ne sont pas valides et entraîneront la suppression de l'élément de menu : Prix sans code de devise, mais avec une unité ou des nanos, ou les deux : price {units: 100, nanos: 1000000} price {units: 100} price {nanos: 1000000} Prix avec un code de devise non valide, mais avec une unité ou des nanos, ou les deux : price {currency_code: 'gXYZ', units: 100, nanos: 1000000} price {currency_code: 'gXYZ', units: 100} price {currency_code: 'gXYZ', nanos: 1000000} Prix avec un code de devise, mais avec des unités ou des nanos non valides : price {currency_code: 'USD', units: 100, nanos: -100} price {currency_code: 'USD', units: -100, nanos: 100}

Valeur monétaire

Représente un montant associé à un type de devise.

Nom du champTypeExigenceDescription
currency_codechaîne

Code de devise à trois lettres défini par la norme ISO 4217.
unitschaîne

Unités entières du montant. Par exemple, si currencyCode est défini sur "USD", une unité correspond à un dollar américain.
nanosnombre

Nombre de nano-unités (10^-9) du montant. La valeur doit être comprise entre -999 999 999 et +999 999 999 inclus. Si units est positif, nanos doit être positif ou nul. Si units est égal à zéro, nanos peut être positif, nul ou négatif. Si units est négatif, nanos doit être négatif ou nul. Par exemple, -1,75 $ est représenté par units=-1 et nanos=-750 000 000.

Conteneur qui spécifie une liste d'options disponibles pour un élément.

Nom du champTypeExigenceDescription
menu_item_option_idstableau de chaînes

Obligatoire

ID des options de menu applicables à cet élément de menu. Obligatoire.

Décrit les attributs d'un élément ou d'une option de menu spécifique.

Nom du champTypeExigenceDescription
number_of_servingsnombre

Nombre de portions disponibles dans un élément de menu donné. Facultatif.
nutrition_informationobject
(NutritionInformation)

Décrit toutes les informations nutritionnelles de l'article, par exemple les calories et la teneur en matières grasses. Facultatif.
suitable_dietstableau d'énumérations
(DietaryRestriction)

Restrictions alimentaires auxquelles cet élément de menu est conforme. Facultatif.
additiveTableau d'objets
(Additive)

Additifs de cet élément de menu. Facultatif.
allergenTableau d'objets
(Allergen)

Allergènes de cet élément de menu. Facultatif.
packaging_deposit_infoobject
(DepositInfo)

Informations sur l'emballage et le recyclage de cet élément de menu. Facultatif.

NutritionInformation

Décrit toutes les mesures nutritionnelles d'un MenuItem ou d'un complément.

Nom du champTypeExigenceDescription
energyobject
(NutritionValue)

Quantité d'énergie nutritionnelle de la portion d'aliment. Peut être défini en calories ou en kilojoules. Facultatif.
sodium_contentobject
(NutritionValue)

La quantité de sodium, mesurée en grammes ou en milligrammes. Facultatif.
serving_sizenombre

Nombre de portions auxquelles s'applique la valeur nutritionnelle. Facultatif.
descriptionobject
(TextField)

Informations nutritionnelles au format texte libre. Par exemple, "Contient des conservateurs". Facultatif.

NutritionValue

Décrit une mesure nutritionnelle unique de la portion de nourriture.

Nom du champTypeExigenceDescription
oneOf
(value)

Un seul des champs de ce oneOf peut être défini.
unitenum
(NutritionValueUnit)

Obligatoire

Unité associée au montant, telle que spécifiée par le partenaire. Nous validerons le flux afin que l'unité de chaque type de valeur nutritionnelle soit celle attendue pour ce type de valeur. Par exemple, seules les valeurs ENERGY_CALORIES et ENERGY_KILOJOULES sont attendues pour la propriété énergétique de NutritionalInformation. Obligatoire.

Plage

Décrit une plage fermée pour la valeur nutritionnelle. Par exemple, "100-150 cal"

Nom du champTypeExigenceDescription
minnombre

Obligatoire

Quantité minimale de valeur nutritionnelle. Obligatoire.
maxnombre

Obligatoire

Quantité maximale de valeur nutritionnelle. Obligatoire.

Modification additive

Additif affiché à l'utilisateur dans MenuItem. Un additif permet de préserver ou d'améliorer la qualité des aliments.

Nom du champTypeExigenceDescription
nameobject
(TextField)

Obligatoire

Texte descriptif de l'additif, par exemple "conservateurs". Obligatoire.
containment_level_codeenum
(ContainmentLevelCode)

Indique si le MenuItem contient, peut contenir ou est exempt de cet additif. La valeur par défaut est "contains" (contient). Facultatif.

Allergène

Allergène affiché à l'utilisateur dans le MenuItem. Un allergène est lié aux qualités d'un aliment qui provoque des réactions allergiques.

Nom du champTypeExigenceDescription
allergen_type_codeenum
(AllergenTypeCode)

Obligatoire

Type d'allergène. Obligatoire.
containment_level_codeenum
(ContainmentLevelCode)

Indique si le MenuItem contient, peut contenir ou ne contient pas cet allergène. La valeur par défaut est "contains" (contient). Facultatif.

DepositInfo

Informations sur la consigne fournies par le partenaire pour indiquer à l'utilisateur comment consigner un aliment ou une bouteille, et la valeur de cette consigne.

Nom du champTypeExigenceDescription
deposit_codeenum
(DepositCode)

Stratégie de dépôt à utiliser, par exemple "reusable". Facultatif.
deposit_valueobject
(Money)

Valeur remboursée pour le dépôt correct de l'article. Facultatif.

Décrit les choix qu'un utilisateur doit faire lorsqu'il sélectionne un plat ou un menu. L'utilisateur doit sélectionner une option, sinon la commande est considérée comme non valide (par exemple, l'utilisateur doit choisir une petite, moyenne ou grande pizza).

Nom du champTypeExigenceDescription
menu_item_option_idchaîne

Obligatoire

Chaîne opaque provenant d'un partenaire qui identifie de manière unique l'option MenuItemOption dans le flux du partenaire. Obligatoire.
valueobject
(MenuItemOptionProperty)

Obligatoire

Propriété et valeur de l'option, par exemple "Taille : Petite". Obligatoire.

Décrit la propriété d'une option de menu et sa valeur.

Nom du champTypeExigenceDescription
property_typeenum
(PropertyType)

Obligatoire

Type de propriété de cette option. Obligatoire.
oneOf
(value)

Obligatoire

Un seul des champs de ce oneOf peut être défini.

NutritionValueUnit

NomDescription
NUTRITION_VALUE_UNIT_UNSPECIFIEDNe pas utiliser. L'unité de valeur nutritionnelle n'est pas explicitement définie.
ENERGY_CALORIESUnités utilisées pour exprimer la quantité d'énergie dans un élément de menu.
ENERGY_KILOJOULES
WEIGHT_MILLIGRAMSUnités utilisées pour exprimer la quantité d'une substance présente dans l'élément de menu (en poids).
WEIGHT_GRAMS

DietaryRestriction

Indique une restriction ou une directive alimentaire respectée lors de la préparation des aliments.

NomDescription
DIET_UNSPECIFIEDNe pas utiliser. La restriction alimentaire n'est pas explicitement spécifiée.
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

Indique le niveau de confinement d'un aliment par rapport à un certain attribut, comme les allergènes ou les additifs.

NomDescription
CONTAINMENT_LEVEL_CODE_UNSPECIFIEDNe pas utiliser. Le code de niveau de confinement n'est pas spécifié explicitement.
CONTAINMENT_LEVEL_CODE_CONTAINS
CONTAINMENT_LEVEL_CODE_DOES_NOT_CONTAIN
CONTAINMENT_LEVEL_CODE_MAY_CONTAIN

AllergenTypeCode

Type d'allergène dérivé de GS1 : http://gs1.org/voc/AllergenTypeCode

NomDescription
ALLERGEN_TYPE_CODE_UNSPECIFIEDNe pas utiliser. Le code de type d'allergène n'est pas explicitement spécifié.
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

Indique comment déposer correctement un aliment ou une bouteille.

NomDescription
DEPOSIT_CODE_UNSPECIFIEDNe pas utiliser. Le code de dépôt n'est pas spécifié explicitement.
DEPOSIT_CODE_REUSABLE
DEPOSIT_CODE_RECYCLABLE

PropertyType

Types de propriétés auxquels l'option s'applique.

NomDescription
UNKNOWN_PROPERTY_TYPENe pas utiliser. Le type de propriété n'est pas explicitement spécifié.
OPTIONPropriété d'option de menu générique, qui n'appartient pas aux types plus spécifiques ci-dessous. Utilisez cette option si la propriété n'est pas de type SIZE ou PIZZA_SIDE.
SIZEIndique la propriété de taille de l'option du menu (par exemple, petite, moyenne ou grande).
PIZZA_SIDEPropriété spécifique aux pizzas. Par exemple, cette MenuItemOption n'est valable que pour une partie ou une pizza entière (par exemple, des champignons sur le côté gauche, le côté droit ou toute la pizza).

PropertyValue

Valeurs bien définies pour la propriété de l'option.

NomDescription
UNKNOWN_PROPERTY_VALUENe pas utiliser. La valeur de la propriété n'est pas spécifiée explicitement.
PIZZA_SIDE_LEFTMenuItemOption ne s'applique qu'au côté gauche d'une pizza.
PIZZA_SIDE_RIGHTMenuItemOption ne s'applique qu'au côté droit d'une pizza.
PIZZA_SIDE_WHOLEL'option MenuItemOption s'applique à l'ensemble de la pizza.

de conversion

Nom du champTypeExigenceDescription
menuobject
(Menu)

Exclusif avec section, item, option

sectionobject
(MenuSection)

Exclusif avec menu, item, option

itemobject
(MenuItem)

Exclusif avec menu, section, option

optionobject
(MenuItemOption)

Exclusif avec menu, section, item

tarifs

L'élément de menu doit avoir un prix ou un ensemble d'options d'élément de menu. Obligatoire.

Nom du champTypeExigenceDescription
offer_setobject
(OfferSet)

Exclusivité mutuelle avec menu_item_option_set

Offres disponibles pour acheter cet aliment.
menu_item_option_setobject
(MenuItemOptionSet)

Exclusivité mutuelle avec offer_set

Options disponibles pour cet élément de menu.

valeur

Obligatoire.

Nom du champTypeExigenceDescription
amountnombre

Exclusivité mutuelle avec range

Nombre unique représentant la valeur nutritionnelle.
rangeobject
(Range)

Exclusivité mutuelle avec amount

Plage représentant la quantité de valeur nutritionnelle.

valeur

Obligatoire.

Nom du champTypeExigenceDescription
property_valenum
(PropertyValue)

Exclusivité mutuelle avec text_val

Valeur bien définie pour la propriété de l'option. Actuellement, cette valeur n'est attendue que si property_type est défini sur PIZZA_SIDE.
text_valobject
(TextField)

Exclusivité mutuelle avec property_val

Texte libre pour la valeur de la propriété. Attendu pour les types de propriété OPTION et SIZE.