Descripción general

Los socios de Google pueden proporcionar datos estructurados del menú a Google a través de la integración de extremo a extremo de Reservas para usarlos en la sección Menú del Perfil de Negocio de Google de un restaurante y otros puntos de entrada en las plataformas para el consumidor de Google.

Los datos del menú se transfieren con los feeds genéricos. Antes de comenzar:

  1. Asegúrate de haber completado la configuración de la cuenta.
  2. Comprende el proceso de carga del feed genérico
  3. Comprende cómo configurar tu cuenta para subir feeds genéricos

Cómo crear y subir feeds de menú

Cuando crees y subas feeds de menú, sigue estos lineamientos y convenciones:
  • Para proporcionar detalles del restaurante, sigue las especificaciones de datos que se describen en Feed de comercios. Para ver un ejemplo de archivo JSON, consulta el ejemplo de JSON. Los nombres de los archivos de datos deben ser únicos entre las cargas. Se recomienda incluir una marca de tiempo en el nombre del archivo, por ejemplo, menu1_1633621547.json.
  • En el descriptor del conjunto de archivos del feed de menú, establece el campo name en google.food_menu. Para ver un ejemplo del contenido del archivo de descriptor, consulta el ejemplo de JSON del archivo de descriptor. Los nombres de los archivos de descriptor deben ser únicos entre las cargas. Se recomienda incluir una marca de tiempo en el nombre del archivo, por ejemplo, descriptor_1633621547.filesetdesc.json. El archivo descriptor se debe subir al servidor SFTP genérico como parte del feed de menú.
  • Los feeds deben subirse al servidor SFTP genérico con una cadencia diaria como actualizaciones completas.
  • Limita los feeds a 1,000 fragmentos (archivos), como se menciona en Uso del SFTP de feeds genéricos

Puedes encontrar el estado de la transferencia del feed en la sección Transferencia > Historial del portal de socios. Puedes encontrar la información del servidor SFTP de los feeds en la sección Configuración > Feeds del Portal para socios.

Selecciona el servidor SFTP del feed

Figura 1: Información genérica del servidor SFTP

Puedes encontrar el estado de la transferencia del feed en la sección Transferencia > Historial del Portal de socios. Puedes encontrar la información del servidor SFTP de feeds en la sección Configuración > Feeds del Portal para socios.

Cómo trabajar con las opciones de elementos de menú

Las opciones de elementos del menú se pueden especificar con el proto MenuItemOption.

Los socios que ofrecen varios conjuntos de opciones obligatorias para un solo elemento del menú (por ejemplo, un latte con opciones de tamaño y leche) deben decidir la mejor manera de mostrar esas opciones en Google. Google recomienda lo siguiente:

  • El feed de menú debe coincidir con el sitio de pedidos del socio (o con el menú para comer en el restaurante si no tienes un sitio de pedidos para la ubicación). Si el artículo se muestra con un precio individual en el sitio de pedidos, se debe usar MenuItem. Si el artículo se muestra con un precio base y varias opciones, se debe usar MenuItemOption.
  • Evita incluir una lista larga de opciones, por ejemplo:
    • Burrito de pollo
    • Burrito de pollo con queso
    • Burrito de pollo con salsa
    • Burrito de pollo con salsa y queso
    • Burrito de pollo con guacamole
    • Burrito de pollo con guacamole y salsa
  • Las opciones de elementos del menú solo se admiten si el plato requiere que se seleccione una de las opciones. Por ejemplo, cuando pides una pizza, el tamaño es una opción obligatoria. No se admiten las opciones de elementos de menú que son para complementos (es decir, "opción para agregar aguacate") y no deben incluirse en los feeds.

El precio de la opción del elemento de menú debe ser el precio completo del elemento con esa opción seleccionada. El precio se debe establecer para el elemento del menú o para sus opciones, pero no para ambos.

Restaurantes con varios menús

Un solo restaurante (entidad) solo puede tener un menú. En el caso de un restaurante que tiene varios menús (es decir, menús separados para el almuerzo y la cena), puedes combinar todos los menús en uno solo con MenuSections (es decir, un menú con una sección para el almuerzo y otra para la cena). El menú resultante tendría la siguiente estructura:

  • Menú
    • Sección de almuerzo
      • Sopas
        • Sopa 1
        • Sopa 2
      • Sándwiches
        • Sándwich 1
        • Sándwich 2
    • Sección de la cena
      • Entradas
        • Activador 1
        • Starter 2
      • Platos principales
        • Plato principal 1
        • Plato principal 2

Compartir menús entre restaurantes

Se puede compartir un solo menú entre varios restaurantes si se incluyen todos los restaurantes en la lista de merchant_ids del menú. Ten en cuenta que esta lista acepta IDs de entidades para los socios que usan el feed de entidades.

Prácticas recomendadas

A continuación, se indican las prácticas recomendadas que debes seguir cuando desarrolles feeds de menús.

  • Asocia solo un menú a un restaurante.
  • Proporciona el idioma preferido como el primer idioma en el TextField. Si envías varios objetos LocalizedText, se mostrará a los usuarios el primer objeto de la lista de texto.
  • Todos los elementos del menú se deben agregar a las secciones del menú. No agregues elementos de menú directamente al objeto de menú.
  • Proporciona contenido con codificación UTF-8. No es necesario escapar los caracteres no ASCII.
  • Si planeas lanzar tu app en varias regiones, asegúrate de usar los códigos de moneda y las denominaciones correctos en los campos de unidades y nanos. Presta especial atención al campo de nanos, que equivale a 10^-9 de una unidad. Usa el Visualizador de menú en el Visualizador de inventario para confirmar que estableciste los precios correctamente.
  • Proporcionar a los usuarios menús visualmente enriquecidos, integrales y actualizados es clave para brindar una experiencia del usuario útil y atractiva. Los precios, las descripciones, las fotos y la información dietética son elementos clave para impulsar la toma de decisiones, y se recomienda a los socios que proporcionen la mayor cantidad posible de estos datos para brindar una experiencia óptima a los usuarios y comercios.
  • Para no mostrar ningún precio, incluye un prototipo Price vacío en el prototipo Offer.

Después del lanzamiento de los feeds de menú, los datos de tus feeds de menú serán aptos para aparecer en las experiencias de descubrimiento y podrán verse en la pestaña "Menú" de la hoja de lugar del restaurante. La pestaña de menú es compatible con la Búsqueda de Google (dispositivos móviles y computadoras), y la experiencia se expandirá a otras plataformas, como Google Maps. La experiencia renderizada puede variar según la superficie.

Ejemplo de un menú que muestra elementos con descripciones

Figura 3: Un ejemplo de cómo se muestra el contenido del feed del menú en el Perfil de Negocio en dispositivos móviles

Para asegurarte de que tu menú esté estructurado correctamente, usa el Visualizador de menús en el Visualizador de inventario para obtener una vista previa de tus menús.

Los menús de los restaurantes pueden provenir de muchas fuentes, incluidos los propios restaurantes a través de su Perfil de Negocio de Google, socios de pedidos de comida y reservas, fotos de menús de los usuarios y mucho más. Si varias fuentes proporcionan menús para el mismo restaurante, el comercio puede elegir un proveedor preferido en el editor de menús del Perfil de Negocio de Google.

Esquema

Puedes encontrar el esquema completo del menú aquí.

FoodMenuFeed

Nombre del campoTipoRequisitoDescripción
dataarray de object
(MenuComponent)

Nombre del campoTipoRequisitoDescripción
oneOf
(type)

Solo se puede establecer uno de los campos en este oneOf.

Es el catálogo de nivel superior de los artículos de comida que ofrece un establecimiento de comida. El menú contiene una lista de IDs de comercio y el menú que se aplica a esos comercios. Se puede usar un menú para representar a un solo comercio con el menú o a varios comercios (por lo general, cadenas de restaurantes) con los menús.

Nombre del campoTipoRequisitoDescripción
menu_idstring

Obligatorio

Es una cadena opaca de un socio que identifica de forma única el menú dentro del feed del socio. Obligatorio.
merchant_idsArray de cadenas

Obligatorio

Son los comercios a los que se aplica el menú. Nota: Este campo se repite para que las cadenas de restaurantes puedan compartir el mismo menú en varias ubicaciones, cada una de las cuales es un comercio independiente. Obligatorio.
display_nameobject
(TextField)

Es el nombre que puede identificar el menú cuando un usuario lo explora. Opcional.
languagestring

Es el código de idioma predeterminado asociado con las etiquetas de texto que se incluyen en el menú. Se espera un código de idioma BCP-47, como "en-US" o "sr-Latn". Para obtener más información, consulta http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. Opcional.

TextField

Es una carga útil de texto que contiene uno o más valores localizados.

Nombre del campoTipoRequisitoDescripción
textarray de object
(LocalizedText)

Obligatorio

Son los valores de texto por configuración regional. Si solo se desea admitir una configuración regional, no es necesario establecer el parámetro language_code en cada texto, y el idioma se inferirá del idioma predeterminado del menú. Si hay varios textos en diferentes configuraciones regionales, se debe establecer el parámetro language_code para cada texto. El primer texto de la lista se considera la representación preferida. Obligatorio.

LocalizedText

Es la variante localizada de un texto en un idioma determinado.

Nombre del campoTipoRequisitoDescripción
textstring

Es una cadena localizada en el idioma correspondiente a [language_code][google.type.LocalizedText.language_code] que se indica a continuación.
language_codestring

Es el código de idioma BCP-47 del texto, como "en-US" o "sr-Latn". Para obtener más información, consulta http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.

Una sección del menú es una agrupación de elementos en un menú. Por lo general, se crean objetos MenuSection separados para cada agrupación lógica de elementos en un menú. Por ejemplo, los tipos de platos (entrada, plato principal, postre) y las categorías de comida (hamburguesas, bebidas) son secciones típicas.

Nombre del campoTipoRequisitoDescripción
menu_section_idstring

Obligatorio

Es una cadena opaca de un socio que identifica de forma única el objeto MenuSection dentro del feed del socio. Obligatorio.
display_nameobject
(TextField)

Obligatorio

Es el nombre que puede identificar el objeto MenuSection cuando un usuario explora el menú. Obligatorio.
descriptionobject
(TextField)

Es una descripción de la sección del menú. Opcional.
imagesarray de object
(Image)

Imágenes de la sección del menú Opcional.

Imagen

Representa una imagen asociada a una entidad de menú.

Nombre del campoTipoRequisitoDescripción
uristring

Obligatorio

Es la URL que contiene los píxeles sin procesar de la imagen. Obligatorio.

Representa un solo artículo de comida o bebida que ofrece un establecimiento de comida.

Nombre del campoTipoRequisitoDescripción
menu_item_idstring

Obligatorio

Es una cadena opaca de un socio que identifica de forma única el MenuItem dentro del feed del socio. Obligatorio.
display_nameobject
(TextField)

Obligatorio

Es el nombre que puede identificar el MenuItem cuando un usuario navega por el menú. Obligatorio.
descriptionobject
(TextField)

Es la descripción del elemento de menú. Opcional.
imagesarray de object
(Image)

Imágenes del elemento de menú. Opcional.
oneOf
(pricing)

Obligatorio

Solo se puede establecer uno de los campos en este oneOf.
item_attributesobject
(MenuItemAttributes)

Son los atributos de este elemento de menú. Opcional.

OfferSet

Es un contenedor para una lista de ofertas disponibles en un elemento o una opción del menú. Solo debe haber una oferta aplicable o válida en un momento determinado. Por ejemplo, una bebida puede tener 2 ofertas, una aplicable por la mañana y la otra por la tarde durante la hora feliz.

Nombre del campoTipoRequisitoDescripción
offersarray de object
(Offer)

Obligatorio

Es la lista de ofertas posibles. Obligatorio.

Oferta

Representa la información de precios y disponibilidad de los elementos MenuItem y MenuItemOption.

Nombre del campoTipoRequisitoDescripción
priceobject
(Money)

Los siguientes casos no son válidos y harán que se quite el elemento de menú: Precio sin código de moneda, pero con unidades o nanos, o ambos: price {units: 100, nanos: 1000000} price {units: 100} price {nanos: 1000000} Precio con código de moneda no válido, pero con unidades o nanos, o ambos: price {currency_code: 'gXYZ', units: 100, nanos: 1000000} price {currency_code: 'gXYZ', units: 100} price {currency_code: 'gXYZ', nanos: 1000000} Precio con código de moneda, pero con unidades o nanos no válidos price {currency_code: 'USD', units: 100, nanos: -100} price {currency_code: 'USD', units: -100, nanos: 100}

Dinero

Representa un importe de dinero con su tipo de moneda.

Nombre del campoTipoRequisitoDescripción
currency_codestring

Es el código de moneda de tres letras definido en la norma ISO 4217.
unitsstring

La unidad entera del importe. Por ejemplo, si currencyCode es "USD", 1 unidad es un dólar estadounidense.
nanosnúmero

Número de unidades nano (10^-9) del importe. Debe ser un valor entre -999,999,999 y +999,999,999. Si units es positivo, nanos debe ser positivo o cero. Si units es cero, nanos puede ser positivo, cero o negativo. Si units es negativo, nanos debe ser negativo o cero. Por ejemplo, –$1.75 se representa como units=-1 y nanos=-750,000,000.

Es un contenedor que especifica una lista de opciones disponibles en un elemento.

Nombre del campoTipoRequisitoDescripción
menu_item_option_idsArray de cadenas

Obligatorio

Son los IDs de las opciones de elementos de menú que se aplican a este elemento de menú. Obligatorio.

Describe los atributos de un elemento o una opción de menú en particular.

Nombre del campoTipoRequisitoDescripción
number_of_servingsnúmero

Cantidad de porciones disponibles en un elemento de menú determinado. Opcional.
nutrition_informationobject
(NutritionInformation)

Describe toda la información nutricional del artículo, p.ej., calorías y contenido de grasa. Opcional.
suitable_dietsarray de enum
(DietaryRestriction)

Son las restricciones alimentarias que cumple este elemento del menú. Opcional.
additivearray de object
(Additive)

Son los aditivos de este elemento de menú. Opcional.
allergenarray de object
(Allergen)

Alérgenos de este elemento de menú. Opcional.
packaging_deposit_infoobject
(DepositInfo)

Es la información de empaquetado y reciclaje de este elemento del menú. Opcional.

NutritionInformation

Describe todas las mediciones nutricionales de un elemento de menú o un complemento.

Nombre del campoTipoRequisitoDescripción
energyobject
(NutritionValue)

Es la cantidad de energía nutricional de la porción de comida. Se puede definir en calorías o kilojulios. Opcional.
sodium_contentobject
(NutritionValue)

Cantidad de sodio, medida en gramos o miligramos Opcional.
serving_sizenúmero

Es la cantidad de porciones a las que se aplica el valor nutricional. Opcional.
descriptionobject
(TextField)

Es la información nutricional en formato de texto libre. Por ejemplo, "Contiene conservantes". Opcional.

NutritionValue

Describe una sola medición nutricional de la porción de comida.

Nombre del campoTipoRequisitoDescripción
oneOf
(value)

Solo se puede establecer uno de los campos en este oneOf.
unitenum
(NutritionValueUnit)

Obligatorio

Es la unidad asociada al importe, según lo especificado por el socio. Validaremos el feed para que la unidad de cada tipo de valor nutricional sea la esperada para ese tipo de valor. Por ejemplo, solo se esperan ENERGY_CALORIES y ENERGY_KILOJOULES en la propiedad energy de NutritionalInformation. Obligatorio.

Rango

Describe un rango cerrado para el valor nutricional. P.ej., "100-150 cal"

Nombre del campoTipoRequisitoDescripción
minnúmero

Obligatorio

Es la cantidad mínima de valor nutricional. Obligatorio.
maxnúmero

Obligatorio

Es la cantidad máxima de valor nutricional. Obligatorio.

Aditiva

Es el modificador que se muestra al usuario en el MenuItem. Un aditivo preserva o mejora la calidad de los alimentos.

Nombre del campoTipoRequisitoDescripción
nameobject
(TextField)

Obligatorio

Texto descriptivo del aditivo, p.ej., "conservantes". Obligatorio.
containment_level_codeenum
(ContainmentLevelCode)

Indica si el elemento de menú contiene, puede contener o no contiene este aditivo. El valor predeterminado es contains. Opcional.

Alérgeno

Alérgeno que se muestra al usuario en el MenuItem. Un alérgeno se relaciona con las cualidades de los alimentos que causan reacciones alérgicas.

Nombre del campoTipoRequisitoDescripción
allergen_type_codeenum
(AllergenTypeCode)

Obligatorio

Es el tipo de alérgeno. Obligatorio.
containment_level_codeenum
(ContainmentLevelCode)

Indica si el elemento de menú contiene, puede contener o no contiene este alérgeno. El valor predeterminado es contains. Opcional.

DepositInfo

El socio proporcionó información sobre el depósito para indicarle al usuario cómo depositar un artículo de comida o una botella, y el valor de dicho depósito.

Nombre del campoTipoRequisitoDescripción
deposit_codeenum
(DepositCode)

Es la estrategia de depósito que se debe emplear, p.ej., "reusable". Opcional.
deposit_valueobject
(Money)

Es el valor reembolsado por depositar el artículo correctamente. Opcional.

Describe las elecciones que un usuario debería hacer cuando selecciona un plato o combo. El usuario debe seleccionar una opción; de lo contrario, el pedido se considera no válido (p.ej., el usuario debe elegir pequeño, mediano o grande para una pizza).

Nombre del campoTipoRequisitoDescripción
menu_item_option_idstring

Obligatorio

Es una cadena opaca de un socio que identifica de forma única el MenuItemOption dentro del feed del socio. Obligatorio.
valueobject
(MenuItemOptionProperty)

Obligatorio

Propiedad y valor de la opción, p.ej., Tamaño: pequeño. Obligatorio.

Describe la propiedad de una opción de elemento de menú y su valor.

Nombre del campoTipoRequisitoDescripción
property_typeenum
(PropertyType)

Obligatorio

Es el tipo de esta propiedad de opción. Obligatorio.
oneOf
(value)

Obligatorio

Solo se puede establecer uno de los campos en este oneOf.

NutritionValueUnit

NombreDescripción
NUTRITION_VALUE_UNIT_UNSPECIFIEDNo lo utilices. No se estableció explícitamente la unidad de valor nutricional.
ENERGY_CALORIESUnidades que se usan para expresar la cantidad de energía en un elemento de menú.
ENERGY_KILOJOULES
WEIGHT_MILLIGRAMSUnidades que se usan para expresar la cantidad en peso de una sustancia presente en el elemento de menú.
WEIGHT_GRAMS

DietaryRestriction

Indica una restricción o pauta alimentaria que se siguió durante la preparación de la comida.

NombreDescripción
DIET_UNSPECIFIEDNo lo utilices. No se especifica explícitamente la restricción alimentaria.
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 el nivel de contención que tiene un alimento de un atributo determinado, como alérgenos o aditivos.

NombreDescripción
CONTAINMENT_LEVEL_CODE_UNSPECIFIEDNo lo utilices. No se especifica de forma explícita el código de nivel de contención.
CONTAINMENT_LEVEL_CODE_CONTAINS
CONTAINMENT_LEVEL_CODE_DOES_NOT_CONTAIN
CONTAINMENT_LEVEL_CODE_MAY_CONTAIN

AllergenTypeCode

Tipo de alérgeno derivado de GS1: http://gs1.org/voc/AllergenTypeCode

NombreDescripción
ALLERGEN_TYPE_CODE_UNSPECIFIEDNo lo utilices. No se especifica de forma explícita el código del tipo de alérgeno.
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 cómo depositar correctamente un alimento o una botella.

NombreDescripción
DEPOSIT_CODE_UNSPECIFIEDNo lo utilices. No se especificó explícitamente el código de depósito.
DEPOSIT_CODE_REUSABLE
DEPOSIT_CODE_RECYCLABLE

PropertyType

Tipos de propiedad para los que se aplica la opción.

NombreDescripción
UNKNOWN_PROPERTY_TYPENo lo utilices. No se especifica explícitamente el tipo de propiedad.
OPTIONEs una propiedad genérica de opción de elemento de menú, que no es uno de los tipos más específicos que se indican a continuación. Usa este valor si la propiedad no es de tipo SIZE o PIZZA_SIDE.
SIZEDenota la propiedad de opción del elemento de menú de tamaño (p.ej., pequeño, mediano o grande).
PIZZA_SIDEPropiedad específica de las pizzas. Por ejemplo, este MenuItemOption solo es válido para una porción o una pizza entera, como los ingredientes de champiñones en el lado izquierdo, el lado derecho o toda la pizza.

PropertyValue

Valores bien definidos para la propiedad de opción.

NombreDescripción
UNKNOWN_PROPERTY_VALUENo lo utilices. El valor de la propiedad no se especifica de forma explícita.
PIZZA_SIDE_LEFTLa opción de elemento de menú solo se aplica al lado izquierdo de una pizza.
PIZZA_SIDE_RIGHTEl MenuItemOption solo se aplica al lado derecho de una pizza.
PIZZA_SIDE_WHOLEMenuItemOption se aplica a toda la pizza.

tipo

Nombre del campoTipoRequisitoDescripción
menuobject
(Menu)

Es mutuamente excluyente con section, item y option.

sectionobject
(MenuSection)

Es mutuamente excluyente con menu, item y option.

itemobject
(MenuItem)

Es mutuamente excluyente con menu, section y option.

optionobject
(MenuItemOption)

Es mutuamente excluyente con menu, section y item.

precios

El elemento del menú debe tener un precio o un conjunto de opciones. Obligatorio.

Nombre del campoTipoRequisitoDescripción
offer_setobject
(OfferSet)

Es mutuamente excluyente con menu_item_option_set.

Son las ofertas disponibles para comprar este alimento.
menu_item_option_setobject
(MenuItemOptionSet)

Es mutuamente excluyente con offer_set.

Son las opciones disponibles para este elemento del menú.

valor

Es un oneof obligatorio.

Nombre del campoTipoRequisitoDescripción
amountnúmero

Es mutuamente excluyente con range.

Es un solo número que representa la cantidad de valor nutricional.
rangeobject
(Range)

Es mutuamente excluyente con amount.

Es un rango que representa la cantidad de valor nutricional.

valor

Obligatorio.

Nombre del campoTipoRequisitoDescripción
property_valenum
(PropertyValue)

Es mutuamente excluyente con text_val.

Es un valor bien definido para la propiedad de la opción. Actualmente, solo se espera si property_type es PIZZA_SIDE.
text_valobject
(TextField)

Es mutuamente excluyente con property_val.

Es un texto de formato libre para el valor de la propiedad. Se espera para los tipos de propiedad OPTION y SIZE.