Visão geral

Os parceiros do Google podem fornecer dados estruturados de cardápio ao Google pela integração de listas de espera de reservas para uso na seção Cardápio do Perfil da Empresa no Google de um restaurante e outros pontos de entrada nas plataformas de consumo do Google.

Os dados do menu são ingeridos usando os feeds genéricos. Antes de começar:

  1. Confirme se você concluiu a configuração da conta.
  2. Entenda o processo de upload de feed genérico
  3. Entenda como configurar sua conta para uploads de feed genérico

Criar e fazer upload de feeds de cardápio

Ao criar e fazer upload de feeds de cardápio, siga estas diretrizes e convenções:
  • Para fornecer detalhes do restaurante, siga a especificação de dados descrita em Feed do comerciante. Para um exemplo de arquivo JSON, consulte o JSON de exemplo. Os nomes dos arquivos de dados precisam ser exclusivos entre os envios. Recomendamos incluir um carimbo de data/hora no nome do arquivo, por exemplo, menu1_1633621547.json.
  • No descritor do conjunto de arquivos do feed de cardápio, defina o campo name como google.food_menu. Para ver um exemplo do conteúdo do arquivo de descritor, consulte o exemplo JSON do arquivo de descritor. Os nomes dos arquivos de descritor precisam ser exclusivos entre os uploads. Recomendamos incluir um carimbo de data/hora no nome do arquivo, por exemplo, descriptor_1633621547.filesetdesc.json. O arquivo descritor precisa ser enviado para o servidor SFTP genérico como parte do feed de cardápio.
  • Os feeds precisam ser enviados para o servidor SFTP genérico diariamente como atualizações completas.
  • Limite os feeds a 1.000 fragmentos (arquivos), conforme mencionado em Usar o sftp de feed genérico.

O status da ingestão de feeds pode ser encontrado na seção Ingestão > Histórico do portal de parceiros. As informações do servidor SFTP do feed podem ser encontradas na seção Configuração > Feeds do portal de parceiros.

Selecionar o servidor SFTP do feed

Figura 1:informações genéricas do servidor SFTP

O status da ingestão de feeds pode ser encontrado na seção Ingestão > Histórico do Portal de parceiros. As informações do servidor SFTP do feed podem ser encontradas na seção Configuração > Feeds do portal de parceiros.

Como trabalhar com opções de itens de menu

As opções de itens de menu podem ser especificadas usando o proto MenuItemOption.

Os parceiros com vários conjuntos de opções obrigatórias para um único item de menu (por exemplo, um latte com opções de tamanho e leite) precisam decidir a melhor forma de mostrar essas opções no Google. O Google recomenda o seguinte:

  • O feed de cardápio precisa corresponder ao site de pedidos do parceiro ou ao cardápio para consumo no local do restaurante, se você não tiver um site de pedidos para o local. Se o item for exibido com um preço individual no site de pedidos, use um MenuItem. Se o item for exibido com um preço base e várias opções, use um MenuItemOption.
  • Evite incluir uma longa lista de opções, por exemplo:
    • Burrito de frango
    • Burrito de frango com queijo
    • Burrito de frango com salsa
    • Burrito de frango com salsa e queijo
    • Burrito de frango com guacamole
    • Burrito de frango com guacamole e salsa
  • As opções de itens do cardápio só são aceitas se o prato exigir que uma das opções seja selecionada. Por exemplo, ao pedir uma pizza, o tamanho é uma opção obrigatória. Opções de itens de menu para complementos (por exemplo, "opção de adicionar abacate") não são compatíveis e não devem ser incluídas em feeds.

O preço da opção de item do cardápio precisa ser o preço total do item com essa opção selecionada. O preço precisa ser definido para o item do menu ou para as opções dele, mas não para ambos.

Restaurantes com vários menus

Um único restaurante (entidade) só pode ter um cardápio. Para um restaurante que tem vários cardápios (por exemplo, almoço e jantar separados), você pode combinar todos em um só com MenuSections (ou seja, um cardápio com uma seção para almoço e outra para jantar). O menu resultante teria a seguinte estrutura:

  • Menu
    • Seção de almoço
      • Sopas
        • Sopa 1
        • Sopa 2
      • Sanduíches
        • Sanduíche 1
        • Sanduíche 2
    • Seção de jantar
      • Entradas
        • Starter 1
        • Starter 2
      • Principais
        • Prato principal 1
        • Prato principal 2

Compartilhamento de cardápios entre restaurantes

Um único cardápio pode ser compartilhado em vários restaurantes ao incluir todos eles na lista merchant_ids do cardápio. Essa lista aceita IDs de entidades para parceiros que usam o feed Entidade.

Práticas recomendadas

Confira a seguir as práticas recomendadas para desenvolver feeds de cardápio.

  • Associe apenas um menu a um restaurante.
  • Forneça o idioma preferido como o primeiro idioma no TextField. Se você estiver enviando vários objetos LocalizedText, o primeiro objeto na lista de texto será exibido para os usuários.
  • Todos os itens do cardápio precisam ser adicionados às seções do cardápio. Não adicione itens de menu diretamente ao objeto de menu.
  • Forneça conteúdo usando a codificação UTF-8. Não é necessário usar escape em caracteres não ASCII.
  • Se você estiver lançando em várias regiões, use os códigos de moeda e denominações corretos nos campos "unidades" e "nanos". Preste atenção especial ao campo "nanos", que é 10^-9 de uma unidade. Use o visualizador de cardápio no Visualizador de inventário para confirmar se você definiu os preços corretamente.
  • Oferecer menus visualmente ricos, abrangentes e atualizados é fundamental para proporcionar uma experiência do usuário útil e envolvente. Preços, descrições, fotos e informações sobre dieta são elementos importantes para impulsionar a tomada de decisões. Por isso, incentivamos os parceiros a fornecer o máximo possível desses dados para oferecer uma experiência ideal para usuários e comerciantes.
  • Para não mostrar um preço, inclua um proto Price vazio no proto Offer.

Depois que os feeds de cardápio forem lançados, os dados deles poderão aparecer nas experiências de descoberta e ficar visíveis na guia "Cardápio" da página do restaurante. A guia de menu é compatível com a Pesquisa Google (dispositivos móveis e computadores), e a experiência será expandida para outras plataformas, incluindo o Google Maps. A experiência renderizada pode variar dependendo da plataforma.

Exemplo de cardápio mostrando itens com descrições

Figura 3:exemplo de como o conteúdo do feed de cardápio é exibido no Perfil da Empresa em dispositivos móveis

Para garantir que seu cardápio esteja estruturado corretamente, use o visualizador de cardápio no Visualizador de inventário para conferir uma prévia.

Os cardápios dos restaurantes podem vir de várias fontes, incluindo os próprios restaurantes pelo Perfil da Empresa no Google, parceiros de pedidos de comida e reservas, fotos de cardápios enviadas por usuários e muito mais. Se várias fontes fornecerem cardápios para o mesmo restaurante, o comerciante poderá escolher um provedor preferido no editor de cardápio do Perfil da Empresa no Google.

Esquema

Confira o esquema completo do menu aqui.

FoodMenuFeed

Nome do campoTipoRequisitoDescrição
datamatriz de objeto
(MenuComponent)

Nome do campoTipoRequisitoDescrição
oneOf
(type)

Apenas um dos campos neste "oneOf" pode ser definido.

Catálogo de nível superior de itens alimentícios oferecidos por um estabelecimento de alimentação. O menu contém uma lista de IDs de comerciantes e o cardápio aplicável a eles. Um cardápio pode ser usado para representar um único comerciante com o cardápio ou vários comerciantes (normalmente restaurantes de rede) com os cardápios.

Nome do campoTipoRequisitoDescrição
menu_idstring

Obrigatório

Uma string opaca de um parceiro que identifica exclusivamente o menu no feed dele. Obrigatório.
merchant_idsmatriz de strings

Obrigatório

Os comerciantes a quem o cardápio se aplica. Observação: esse campo é repetido para que as redes de restaurantes possam compartilhar o mesmo cardápio em vários locais, cada um deles sendo um comerciante separado. Obrigatório.
display_nameobject
(TextField)

O nome que pode identificar o menu quando um usuário está navegando nele. Opcional.
languagestring

O código de idioma padrão associado aos rótulos de texto contidos no menu. Espera um código de idioma BCP-47, como "en-US" ou "sr-Latn". Para mais informações, consulte http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. Opcional.

TextField

Um payload de texto que contém um ou mais valores localizados.

Nome do campoTipoRequisitoDescrição
textmatriz de objeto
(LocalizedText)

Obrigatório

Valores de texto por localidade. Se houver apenas uma localidade desejada, não será necessário definir o language_code em cada texto, e o idioma será inferido do idioma padrão do menu. Se houver vários textos em locais diferentes, o language_code precisará ser definido para cada texto. O primeiro texto da lista é considerado a representação preferida. Obrigatório.

LocalizedText

Variante localizada de um texto em um idioma específico.

Nome do campoTipoRequisitoDescrição
textstring

String localizada no idioma correspondente ao [language_code][google.type.LocalizedText.language_code] abaixo.
language_codestring

O código de idioma BCP-47 do texto, como "en-US" ou "sr-Latn". Para mais informações, consulte http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.

Uma seção de menu é um agrupamento de itens em um menu. As MenuSections separadas geralmente são criadas para cada agrupamento lógico de itens em um menu. Por exemplo, tipo de refeição (aperitivo, prato principal, sobremesa) e categorias de alimentos (hambúrgueres, bebidas) são seções típicas.

Nome do campoTipoRequisitoDescrição
menu_section_idstring

Obrigatório

Uma string opaca de um parceiro que identifica exclusivamente o MenuSection no feed do parceiro. Obrigatório.
display_nameobject
(TextField)

Obrigatório

O nome que pode identificar o MenuSection quando um usuário está navegando pelo menu. Obrigatório.
descriptionobject
(TextField)

Uma descrição da seção do menu. Opcional.
imagesmatriz de objeto
(Image)

Imagens da seção do cardápio. Opcional.

Imagem

Representa uma imagem associada a uma entidade de menu.

Nome do campoTipoRequisitoDescrição
uristring

Obrigatório

URL que contém os pixels brutos da imagem. Obrigatório.

Representa um único item de comida ou bebida oferecido por um estabelecimento de alimentação.

Nome do campoTipoRequisitoDescrição
menu_item_idstring

Obrigatório

Uma string opaca de um parceiro que identifica exclusivamente o MenuItem no feed do parceiro. Obrigatório.
display_nameobject
(TextField)

Obrigatório

O nome que pode identificar o MenuItem quando um usuário está navegando pelo menu. Obrigatório.
descriptionobject
(TextField)

Uma descrição do item de menu. Opcional.
imagesmatriz de objeto
(Image)

Imagens do item do cardápio. Opcional.
oneOf
(pricing)

Obrigatório

Apenas um dos campos neste "oneOf" pode ser definido.
item_attributesobject
(MenuItemAttributes)

Atributos sobre este item de menu. Opcional.

OfferSet

Contêiner para uma lista de ofertas disponíveis em um item / opção de menu. Apenas uma oferta pode ser aplicável/válida em um determinado momento. Por exemplo, uma bebida pode ter duas ofertas, uma válida pela manhã e outra à noite, durante o happy hour.

Nome do campoTipoRequisitoDescrição
offersmatriz de objeto
(Offer)

Obrigatório

Lista de ofertas possíveis. Obrigatório.

Oferta

Representa informações de preço e disponibilidade para MenuItems e MenuItemOptions.

Nome do campoTipoRequisitoDescrição
priceobject
(Money)

Os casos a seguir são inválidos e vão resultar na remoção do item de menu: Preço sem código de moeda, mas com unidade ou nanos ou ambos: price {units: 100, nanos: 1000000} price {units: 100} price {nanos: 1000000} Preço com código de moeda inválido, mas com unidade ou nanos ou ambos: price {currency_code: 'gXYZ', units: 100, nanos: 1000000} price {currency_code: 'gXYZ', units: 100} price {currency_code: 'gXYZ', nanos: 1000000} Preço com código de moeda, mas unidades ou nanos inválidos price {currency_code: 'USD', units: 100, nanos: -100} price {currency_code: 'USD', units: -100, nanos: 100}

Dinheiro

Representa um montante em dinheiro com o respectivo tipo de moeda.

Nome do campoTipoRequisitoDescrição
currency_codestring

O código de moeda de três letras definido no ISO 4217.
unitsstring

As unidades inteiras do montante. Por exemplo, se currencyCode for "USD", então 1 unidade equivalerá a um dólar americano.
nanosnúmero

Número de unidades nano (10^-9) do montante. É necessário que o valor fique entre -999.999.999 e +999.999.999 (inclusive os dois limites). Se units for positivo, nanos será positivo ou zero. Se units for zero, nanos poderá ser positivo, zero ou negativo. Se units for negativo, nanos será negativo ou zero. Por exemplo,US $-1,75 é representado como units=-1 e nanos=-750.000.000.

Contêiner que especifica uma lista de opções disponíveis em um item.

Nome do campoTipoRequisitoDescrição
menu_item_option_idsmatriz de strings

Obrigatório

IDs das opções de itens de menu aplicáveis a este item de menu. Obrigatório.

Descreve atributos sobre um item ou opção de menu específico.

Nome do campoTipoRequisitoDescrição
number_of_servingsnúmero

Número de porções disponíveis em um determinado item do menu. Opcional.
nutrition_informationobject
(NutritionInformation)

Descreve todas as informações nutricionais do item, por exemplo, calorias e teor de gordura. Opcional.
suitable_dietsmatriz de enum
(DietaryRestriction)

As restrições alimentares que este item do menu atende. Opcional.
additivematriz de objeto
(Additive)

Aditivos deste item de menu. Opcional.
allergenmatriz de objeto
(Allergen)

Alérgenos deste item de menu. Opcional.
packaging_deposit_infoobject
(DepositInfo)

Informações sobre embalagem e reciclagem deste item de menu. Opcional.

NutritionInformation

Descreve todas as medidas nutricionais de um MenuItem ou complemento.

Nome do campoTipoRequisitoDescrição
energyobject
(NutritionValue)

A quantidade de energia nutricional da porção de alimento. Pode ser definido em calorias ou quilojoules. Opcional.
sodium_contentobject
(NutritionValue)

A quantidade de sódio, medida em gramas ou miligramas. Opcional.
serving_sizenúmero

O número de porções a que o valor nutricional se aplica. Opcional.
descriptionobject
(TextField)

Informações nutricionais em texto livre. Por exemplo, "Contém conservantes". Opcional.

NutritionValue

Descreve uma única medição nutricional da porção de alimento.

Nome do campoTipoRequisitoDescrição
oneOf
(value)

Apenas um dos campos neste "oneOf" pode ser definido.
unitenum
(NutritionValueUnit)

Obrigatório

A unidade associada ao valor, conforme especificado pelo parceiro. Vamos validar o feed para que a unidade de cada tipo de valor nutricional seja esperada para esse tipo de valor. Por exemplo, apenas ENERGY_CALORIES e ENERGY_KILOJOULES são esperados na propriedade "energia" de NutritionalInformation. Obrigatório.

Intervalo

Descreve um intervalo fechado para o valor nutricional. Por exemplo, "100 a 150 cal".

Nome do campoTipoRequisitoDescrição
minnúmero

Obrigatório

A quantidade mínima de valor nutricional. Obrigatório.
maxnúmero

Obrigatório

A quantidade máxima de valor nutricional. Obrigatório.

Aditivo

Aditivo mostrado ao usuário no MenuItem. Um aditivo preserva ou melhora a qualidade do alimento.

Nome do campoTipoRequisitoDescrição
nameobject
(TextField)

Obrigatório

Texto descritivo do aditivo, por exemplo, "conservantes". Obrigatório.
containment_level_codeenum
(ContainmentLevelCode)

Se o MenuItem contém, pode conter ou não tem esse aditivo. O padrão é "contém". Opcional.

Alérgeno

Alérgeno mostrado ao usuário no MenuItem. Um alérgeno se relaciona a qualidades de alimentos que causam reações alérgicas.

Nome do campoTipoRequisitoDescrição
allergen_type_codeenum
(AllergenTypeCode)

Obrigatório

Tipo de alérgeno. Obrigatório.
containment_level_codeenum
(ContainmentLevelCode)

Se o MenuItem contém, pode conter ou não tem esse alérgeno. O padrão é "contém". Opcional.

DepositInfo

O parceiro forneceu informações sobre o depósito para instruir o usuário sobre como depositar um item de comida ou uma garrafa e o valor desse depósito.

Nome do campoTipoRequisitoDescrição
deposit_codeenum
(DepositCode)

A estratégia de depósito a ser usada, por exemplo, "reusable". Opcional.
deposit_valueobject
(Money)

Valor reembolsado por depositar o item corretamente. Opcional.

Descreve as escolhas que um usuário precisa fazer ao selecionar um prato / combo. O usuário precisa selecionar uma opção. Caso contrário, o pedido será considerado inválido (por exemplo, o usuário precisa escolher pequeno, médio ou grande para uma pizza).

Nome do campoTipoRequisitoDescrição
menu_item_option_idstring

Obrigatório

Uma string opaca de um parceiro que identifica exclusivamente o MenuItemOption no feed do parceiro. Obrigatório.
valueobject
(MenuItemOptionProperty)

Obrigatório

Propriedade e valor da opção, por exemplo, "Tamanho: pequeno". Obrigatório.

Descreve a propriedade de uma opção de item de menu e o valor dela.

Nome do campoTipoRequisitoDescrição
property_typeenum
(PropertyType)

Obrigatório

O tipo dessa propriedade de opção. Obrigatório.
oneOf
(value)

Obrigatório

Apenas um dos campos neste "oneOf" pode ser definido.

NutritionValueUnit

NomeDescrição
NUTRITION_VALUE_UNIT_UNSPECIFIEDNão use. A unidade de valor nutricional não está definida explicitamente.
ENERGY_CALORIESUnidades usadas para expressar a quantidade de energia em um item de menu.
ENERGY_KILOJOULES
WEIGHT_MILLIGRAMSUnidades usadas para expressar a quantidade em peso de uma substância presente no item de menu.
WEIGHT_GRAMS

DietaryRestriction

Indica uma restrição ou diretriz alimentar seguida durante o preparo de alimentos.

NomeDescrição
DIET_UNSPECIFIEDNão use. A restrição alimentar não foi especificada explicitamente.
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 o nível de contenção de um item alimentar de um determinado atributo, como alérgenos ou aditivos.

NomeDescrição
CONTAINMENT_LEVEL_CODE_UNSPECIFIEDNão use. O código do nível de contenção não foi especificado explicitamente.
CONTAINMENT_LEVEL_CODE_CONTAINS
CONTAINMENT_LEVEL_CODE_DOES_NOT_CONTAIN
CONTAINMENT_LEVEL_CODE_MAY_CONTAIN

AllergenTypeCode

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

NomeDescrição
ALLERGEN_TYPE_CODE_UNSPECIFIEDNão use. O código do tipo de alérgeno não foi especificado explicitamente.
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 como depositar corretamente um alimento ou uma garrafa.

NomeDescrição
DEPOSIT_CODE_UNSPECIFIEDNão use. O código de depósito não foi especificado explicitamente.
DEPOSIT_CODE_REUSABLE
DEPOSIT_CODE_RECYCLABLE

PropertyType

Tipos de propriedade para os quais a opção é válida.

NomeDescrição
UNKNOWN_PROPERTY_TYPENão use. O tipo de propriedade não foi especificado explicitamente.
OPTIONUma propriedade genérica de opção de item de menu, que não é um dos tipos mais específicos abaixo. Use isso se a propriedade não for do tipo SIZE ou PIZZA_SIDE.
SIZEDenota a propriedade de opção de item de menu de tamanho (por exemplo, pequeno, médio ou grande).
PIZZA_SIDEPropriedade específica para pizzas. Por exemplo, esse MenuItemOption só é válido para uma porção/pizza inteira, como recheio de cogumelos no lado esquerdo, direito ou na pizza inteira.

PropertyValue

Valores bem definidos para a propriedade "option".

NomeDescrição
UNKNOWN_PROPERTY_VALUENão use. O valor da propriedade não foi especificado explicitamente.
PIZZA_SIDE_LEFTO MenuItemOption se aplica apenas ao lado esquerdo de uma pizza.
PIZZA_SIDE_RIGHTO MenuItemOption se aplica apenas ao lado direito de uma pizza.
PIZZA_SIDE_WHOLEO MenuItemOption se aplica a toda a pizza.

tipo

Nome do campoTipoRequisitoDescrição
menuobject
(Menu)

Mutuamente exclusivo com section, item, option

sectionobject
(MenuSection)

Mutuamente exclusivo com menu, item, option

itemobject
(MenuItem)

Mutuamente exclusivo com menu, section, option

optionobject
(MenuItemOption)

Mutuamente exclusivo com menu, section, item

preços

O item do cardápio precisa ter um preço ou um conjunto de opções. Obrigatório.

Nome do campoTipoRequisitoDescrição
offer_setobject
(OfferSet)

Mutuamente exclusivo com menu_item_option_set

Ofertas disponíveis para comprar esse alimento.
menu_item_option_setobject
(MenuItemOptionSet)

Mutuamente exclusivo com offer_set

Opções disponíveis para este item de menu.

valor

Um de "oneof" obrigatório.

Nome do campoTipoRequisitoDescrição
amountnúmero

Mutuamente exclusivo com range

Um único número que representa a quantidade de valor nutricional.
rangeobject
(Range)

Mutuamente exclusivo com amount

Um intervalo que representa a quantidade de valor nutricional.

valor

Obrigatório.

Nome do campoTipoRequisitoDescrição
property_valenum
(PropertyValue)

Mutuamente exclusivo com text_val

Um valor bem definido para a propriedade "option". No momento, só é esperado se o "property_type" for PIZZA_SIDE.
text_valobject
(TextField)

Mutuamente exclusivo com property_val

Um texto de formato livre para o valor da propriedade. Esperado para property_type OPTION e SIZE.