Esquema do inventário v1

Os feeds do catálogo de alimentos são baseados no schema.org DataFeed entidades. Um feed de catálogo de alimentos consiste em detalhes do local do restaurante, como o o endereço, o cardápio e a localização do restaurante, além do serviço detalhes como taxas de entrega, áreas de entrega e outros itens conforme especificado a seguir.

Uma DataFeed contém uma coleção de elementos, cada um representando um único item expresso no vocabulário do schema.org (link em inglês). Você pode usar o DataFeed para publicar todos os dados estruturados no formato JSON-LD.

Para mais informações sobre como usar essa especificação para criar feeds, consulte a Visão geral da integração de inventário.

Formatos de data e hora

DateTime é baseado no tipo de schema.org; e, salvo indicação em contrário, deve seguir o formato ISO 8601 e incluir o a data, a hora e o fuso horário. Use a seguinte sintaxe para DateTime:

// DateTime format:
YYYY-MM-DDTHH:MM:SS[∓HH:MM|Z]

Exemplo:

2017-05-01T06:30:00-07:00 // UTC minus 7 hours
2017-05-01T06:30:00Z  // UTC time zone. The optional "Z" suffix represents the UTC time zone.

Time é o horário local de um determinado restaurante ou fuso horário do local do serviço, também é baseado no tipo schema.org e também precisa seguem o formato ISO 8601. Time usa a seguinte sintaxe:

// Time format:
THH:MM:SS

Exemplo:

T08:08:00 // 8:08 AM

Observe o seguinte sempre que você especificar um DateTime ou Time:

  • O "T" antes da hora faz parte do formato e é obrigatório.
  • Especifique o fuso horário para DATETIME. Ele não é necessário para TIME.
  • O horário deve ser especificado no horário local do restaurante ou serviço.
.

Envelope

O código inicial de qualquer feed de catálogo de alimentos precisa conter um "envelope" nesta seção.

O "envelope" é a estrutura de nível superior de cada feed e deve ser um DataFeed com as seguintes propriedades:

Propriedade Tipo Necessidade Descrição
@context URL Obrigatório O contexto em uso. geralmente "http://schema.googleapis.com".
@type Texto Obrigatório É sempre "DataFeed".
dateModified DateTime Obrigatório

A última modificação do DateTime do feed de dados, no formato ISO 8601 .

A data e a hora no formato ISO_OFFSET_DATE_TIME em que os itens neste feed foram modificados. Na ausência desse campo, presume-se a hora da atualização é o momento em que a mensagem push é recebida (ou rastreamento) nos servidores do Google.

Recomendamos que você implemente isso se estiver usando campanhas e engatinhar juntas. Esse carimbo de data/hora precisa ser especificado com um fuso horário e granularidade de milissegundos; por exemplo "2016-12-28T06:30:00:123-07:00".

Nos feeds em lote, o entidade o controle de versões é determinado pela dateModified no envelope do feed.

dataFeedElement Matriz de Menu ou Restaurant ou Service Obrigatório Um ou mais itens que fazem parte deste feed. Veja abaixo detalhes.

O exemplo a seguir mostra o envelope:

Exemplo

{
  "@context": "http://schema.googleapis.com",
  "dateModified": "2016-12-28T06:30:00:123-07:00",
  "@type": "DataFeed",
  "dataFeedElement": [
    /* All items that are part of this feed go here */
  ]
}

AdditiveDetails

Para usar esse tipo, adicione o contexto gs1: "@context": ["http://gs1.org/voc/", "http://schema.org"]

Em seguida, adicione FoodBeverageTobaccoProduct ao tipo do MenuItem apropriado. ou MenuItemOption.

A tabela a seguir descreve as propriedades do tipo AdditiveDetails:

Propriedade Tipo Necessidade Descrição
@type Texto Obrigatório É sempre "AdditiveDetails".
additiveName Texto Opcional Nome do aditivo.
additiveLevelOfContainment Texto Opcional Código de contenção por gs1:LevelOfContainmentCode. Por exemplo, http://gs1.org/voc/LevelOfContainmentCode-CONTAINS. http://gs1.org/voc/LevelOfContainmentCode-FREE_FROM ou http://gs1.org/voc/LevelOfContainmentCode-MAY_CONTAIN

O exemplo a seguir mostra o uso do tipo AdditiveDetails:

{
  "@type": ["MenuItem", "FoodBeverageTobaccoProduct"],
  "@id": "http://www.example.com/bar/menuitem/8",
  "name": "Energy Drink",
  "description": "A 0.25l can of energy drink.",
  "offers": {
    "@type": "Offer",
    "sku": "offer-energy-drink",
    "price": "3.49",
    "priceCurrency": "USD"
  },
  "additive": [
    {
      "@type": "AdditiveDetails",
      "additiveName": "caffeine",
      "additiveLevelOfContainment":
        "http://gs1.org/voc/LevelOfContainmentCode-CONTAINS"
    },
    {
      "@type": "AdditiveDetails",
      "additiveName": "phosphate",
      "additiveLevelOfContainment":
        "http://gs1.org/voc/LevelOfContainmentCode-CONTAINS"
    }
  ]
},

AddOnMenuItem

Uma comida ou bebida listada em um item de complemento de um MenuItem.

A tabela a seguir lista as propriedades para o tipo AddOnMenuItem:

Propriedade Tipo Necessidade Descrição
@type Texto Obrigatório É sempre "AddOnMenuItem".
@id URL Obrigatório Identificador exclusivo do item de menu do complemento.
name Texto Obrigatório Texto que identifica o AddOnMenuItem quando um usuário está navegando no .
description Texto Opcional Descrição do item de menu do complemento.
image URL Opcional

Imagem do item de menu do complemento que corresponde às seguintes diretrizes:

  • Proporção 3:2
  • >
  • Resolução mínima de 600 x 400 pixels, 72 dpi
  • >
  • Resolução recomendada de 1400 x 960 pixels, 72 dpi
offers Matriz de Offer Obrigatório*

Uma ou mais ofertas para fornecer este AddOnMenuItem.

Descreve quando e a que preço este AddOnMenuItem está disponível. Apenas uma oferta deve ser válida em um determinado momento. É possível ter muitas ofertas válidas se o preço ou a disponibilidade mudarem com base e a hora do dia. Quando o complemento ou item difere por um atributo base ou uma variação do próprio complemento (como pequeno, médio e grande) batatas fritas como complemento), use o hasMenuItemOption .

O padrão para Offer.eligibleQuantity é mínimo de 0, máximo de 1.

As seguintes propriedades Offer são usadas em AddOnMenuItem:

  • É necessário usar a Offer.sku
  • É necessário usar a Offer.price
  • É necessário usar a Offer.priceCurrency
  • Offer.availabilityStarts opcional
  • Offer.availabilityEnds opcional
  • Offer.availableDay opcional
  • Offer.validFrom opcional
  • Offer.validThrough opcional
  • Offer.eligibleQuantity opcional
  • Offer.inventoryLevel opcional
hasMenuItemOptions Matriz de MenuItemOption Obrigatório*

Matriz de atributos base que descrevem uma variação do item do complemento (como batatas fritas pequenas, médias e grandes como complemento), para esta no menu do complemento. Use opções para especificar diversas variações disponíveis para este item de menu de complemento. Há dois cenários em que isso pode acontecer:

  • A variação básica está no item do complemento (como pequenos, batatas fritas médias e grandes como complemento)
  • A variação básica do item de menu associado a este complemento (como queijo extra como complemento para uma pizza grande)
suitableForDiet Matriz de RestrictedDiet Opcional O prato está em conformidade com a restrição alimentar descrita (como “GlútenFreeDiet” ou "VeganDiet"). Esta é uma lista enumerada de possíveis e a distribuição dos valores dos dados.
nutrition NutritionInformation Opcional As informações nutricionais do prato, principalmente as calorias.
menuAddOn Matriz de AddOnMenuSection Opcional O AddOnMenuItem pode ter uma seção de menu composta de itens permitidos. que podem ser adicionados como complementos.

O exemplo a seguir mostra AddOnMenuItem:

Exemplo 1

{
  "@type": "AddOnMenuSection",
  "@id": "https://www.example.com/1089/addon/1",
  "name": "AddOnCheese",
  "hasMenuItem": [
    {
      "@type": "AddOnMenuItem",
      "@id": "https://www.example.com/1089/addon/a",
      "name": "Swiss",
      "offers": {
        "@type": "Offer",
        "sku": "offer-swiss",
        "price": "2.99",
        "priceCurrency": "USD"
      }
    },
    {
      "@type": "AddOnMenuItem",
      "@id": "https://www.example.com/1089/addon/b",
      "name": "Mozarella",
      "offers": {
        "@type": "Offer",
        "sku": "offer-mozzarella",
        "price": "1.99",
        "priceCurrency": "USD"
      }
    }
  ]
}

Exemplo 2

{
  "@type": "MenuItem",
  "@id": "https://www.example.com/1089/product/170067",
  "name": "Pepperoni Pizza",
  "hasMenuItemOptions": [
    {
      "@type": "MenuItemOption",
      "value": {
        "@type": "PropertyValue",
        "name": "SIZE",
        "value": "Small"
      },
      "offers": {
        "@type": "Offer",
        "sku": "offer-small-pepperoni-pizza",
        "price": "10.00",
        "priceCurrency": "USD"
      }
    },
    {
      "@type": "MenuItemOption",
      "value": {
        "@type": "PropertyValue",
        "name": "SIZE",
        "value": "Large"
      },
      "offers": {
        "@type": "Offer",
        "sku": "offer-large-pepperoni-pizza",
        "price": "20.00",
        "priceCurrency": "USD"
      }
    }
  ],
  "menuAddOn": [
    {
      "@type": "AddOnMenuSection",
      "name": "Choice of toppings",
      "@id": "https://www.example.com/1089/addon/1",
      "hasMenuItem": [
        {
          "@type": "AddOnMenuItem",
          "@id": "https://www.example.com/1089/addon/1/a",
          "name": "Shrimp",
          "hasMenuItemOptions": [
            {
              "@type": "MenuItemOption",
              "value": [
                {
                  "@type": "PropertyValue",
                  "name": "PIZZA_SIDE",
                  "value": "PIZZA_SIDE_LEFT" // Values are predefined for pizza side.
                },
                {
                  "@type": "PropertyValue",
                  "name": "APPLICABLE_ITEM_OPTION",
                  "value": "Small" // Value should be same as mentioned in item's options.
                }
              ],
              "offers": {
                "@type": "Offer",
                "sku": "offer-topping-shrimp-left-small",
                "price": "1.00",
                "priceCurrency": "USD"
              }
            },
            {
              "@type": "MenuItemOption",
              "value": [
                {
                  "@type": "PropertyValue",
                  "name": "PIZZA_SIDE",
                  "value": "PIZZA_SIDE_LEFT" // Values are predefined for pizza side.
                },
                {
                  "@type": "PropertyValue",
                  "name": "APPLICABLE_ITEM_OPTION",
                  "value": "Large" // Value should be same as mentioned in item's options.
                }
              ],

              "offers": {
                "@type": "Offer",
                "sku": "offer-topping-shrimp-left-large",
                "price": "2.00",
                "priceCurrency": "USD"
              }
            },
            {
              "@type": "MenuItemOption",
              "value": [
                {
                  "@type": "PropertyValue",
                  "name": "PIZZA_SIDE",
                  "value": "PIZZA_SIDE_WHOLE" // Values are predefined for pizza side.
                },
                {
                  "@type": "PropertyValue",
                  "name": "APPLICABLE_ITEM_OPTION",
                  "value": "Small" // Value should be same as mentioned in item's options.
                }
              ],

              "offers": {
                "@type": "Offer",
                "sku": "offer-topping-shrimp-whole-small",
                "price": "1.50",
                "priceCurrency": "USD"
              }
            },
            {
              "@type": "MenuItemOption",
              "value": [
                {
                  "@type": "PropertyValue",
                  "name": "PIZZA_SIDE",
                  "value": "PIZZA_SIDE_WHOLE" // Values are predefined for pizza side.
                },
                {
                  "@type": "PropertyValue",
                  "name": "APPLICABLE_ITEM_OPTION",
                  "value": "Large" // Value should be same as mentioned in item's options.
                }
              ],

              "offers": {
                "@type": "Offer",
                "sku": "offer-topping-shrimp-whole-large",
                "price": "2.50",
                "priceCurrency": "USD"
              }
            }
          ]
        }
      ]
    }
  ]
}

AddOnMenuSection

Um subagrupamento de alimentos ou bebidas como uma seção de menu complementar para item de menu.

A tabela a seguir lista as propriedades para o tipo AddOnMenuSection:

Propriedade Tipo Necessidade Descrição
@type Texto Obrigatório É sempre "AddOnMenuSection".
@id URL Obrigatório Identificador exclusivo da seção do cardápio.
name Texto Obrigatório Texto que pode identificar o AddOnMenuSection quando um usuário está navegando no .
description Texto Opcional Descrição da seção do cardápio.
eligibleQuantity QuantitativeValue Opcional Indica o número de itens permitidos como complemento para esse menu nesta seção. Você pode usar esse campo para restringir o número de complementos, como o número mínimo e máximo de sabores que você pode escolher em uma pizza.
image URL Opcional Imagem da seção do cardápio.
hasMenuItem Matriz de AddOnMenuItem Obrigatório* Itens de menu de complementos contidos em um AddOnMenuSection.
offers Matriz de Offer Opcional

Use Offer.availabilityStarts e Offer.availabilityEnds para indicar o período; durante os quais este AddOnMenuSection está disponível.

A listagem abaixo mostra quais propriedades do Offer estão usado em AddOnMenuSection.

  • Offer.availabilityStarts opcional
  • Offer.availabilityEnds opcional
  • Offer.availableDay opcional
  • Offer.validFrom opcional
  • Offer.validThrough opcional
hasMenuSection Matriz de AddOnMenuSection Obrigatório* Subagrupamento lógico do menu de complementos (como Jantar, Aperitivos ou peixes).
defaultOption Matriz de AddOnMenuItem Opcional

Itens de menu de complementos pré-selecionados por padrão para os usuários na AddOnMenuSection: Os usuários podem alterar as seleções finais. Se nenhum defaultOption for especificado, não AddOnMenuItem está pré-selecionado.

Os objetos AddOnMenuItem devem existir no hasMenuItem de AddOnMenuSection.

O número de defaultOption não pode exceder o máximo eligibleQuantity de AddOnMenuSection.

numberOfFreeAddOns Número Opcional Indica o número de complementos que um usuário pode selecionar sem custos financeiros.

Os exemplos a seguir incluem objetos AddOnMenuSection:

Exemplo 1

{
  "@type": "AddOnMenuSection",
  "@id": "https://www.example.com/1089/addon/1",
  "name": "AddOnCheese",
  "hasMenuItem": [
    {
      "@type": "AddOnMenuItem",
      "@id": "https://www.example.com/1089/addon/a",
      "name": "Swiss",
      "offers": {
        "@type": "Offer",
        "sku": "offer-swiss",
        "price": "2.99",
        "priceCurrency": "USD"
      }
    },
    {
      "@type": "AddOnMenuItem",
      "@id": "https://www.example.com/1089/addon/b",
      "name": "Mozarella",
      "offers": {
        "@type": "Offer",
        "sku": "offer-mozzarella",
        "price": "1.99",
        "priceCurrency": "USD"
      }
    }
  ]
}

Exemplo 2

"menuAddOn": {
  "@type": "AddOnMenuSection",
  "name": "Cheese",
  "@id": "https://www.example.com/1089/addon/1", // Points to an AddOnMenuSection
  "eligibleQuantity":
    "@type": "QuantitativeValue",
    "minValue": 0,
    "maxValue": 2 // Maximum of 2 cheeses are allowed
  }
}

Exemplo 3

Um "sanduíche de queijo" o item do menu tem uma "escolha de queijo" AddOnMenuSection com "Suíça" e "Muçarela" pré-selecionado como padrão.

{
  "@type": "AddOnMenuSection",
  "@id": "https://www.example.com/1089/addon/1",
  "name": "AddOnCheese",
  "defaultOption": [
    {
      "@type": "AddOnMenuItem",
      "@id": "https://www.example.com/1089/addon/a"
    },
    {
      "@type": "AddOnMenuItem",
      "@id": "https://www.example.com/1089/addon/b"
    }
  ],
  "hasMenuItem": [
    {
      "@type": "AddOnMenuItem",
      "@id": "https://www.example.com/1089/addon/a",
      "name": "Swiss",
      "offers": {
        "@type": "Offer",
        "sku": "offer-swiss",
        "price": "2.99",
        "priceCurrency": "USD"
      }
    },
    {
      "@type": "AddOnMenuItem",
      "@id": "https://www.example.com/1089/addon/b",
      "name": "Mozzarella",
      "offers": {
        "@type": "Offer",
        "sku": "offer-mozzarella",
        "price": "1.99",
        "priceCurrency": "USD"
      }
    }
  ]
}

AdvanceServiceDeliveryHoursSpecification

Representa o horário de atendimento para os usuários agendarem pedidos antecipados entrega e retirada.

Normalmente, o valor de opens é menor que o valor de closes. A as seguintes diretrizes se aplicam ao uso das propriedades opens e closes:

  • As propriedades opens e closes são opcionais para AdvanceServiceDeliveryHoursSpecification, mas é altamente recomendável incluí-los.
  • O horário precisa ser especificado no horário local do serviço. Não inclua um fuso horário em um valor opens ou closes. Os fusos horários especificados são ignorados.
  • Se opens e closes não forem explicitamente especificados, presumimos que avançar é possível fazer pedidos em todos os dias e em todos os horários.
  • Se opens e closes forem iguais, presumimos que a ordenação avançada seja indisponível.
  • Se opens for maior que closes, o horário de fechamento será interpretado como sendo no dia seguinte. Por exemplo, se o horário de abertura estiver definido para 1o de janeiro às 17h e o horário de fechamento é 2h, então o restaurante será interpretado como fechado no dia 2 de janeiro às 2h.
  • opens e closes se referem ao horário futuro. closes é exclusivo. Para exemplo, se opens for 10h e closes for 16h com serviceTimeInterval de 15 minutos, o primeiro horário começa às 10h e o último horário horário inicial às 15h45.

A tabela a seguir descreve as propriedades do Tipo de AdvanceServiceDeliveryHoursSpecification:

Propriedade Tipo Necessidade Descrição
@type Texto Obrigatório É sempre "AdvanceServiceDeliveryHoursSpecification".
validFrom DateTime Condicional

A data de início a partir da qual o pedidos antecipados podem ser cumpridas. Por exemplo, "2017-05-01T00:00:00-07:00".

Se essa propriedade não for definida, ela será considerada válida todos os dias. As propriedades validFrom e validThrough precisam ausentes ou presentes juntos.

Se esse tipo for especificado como um specialOpeningHoursSpecification neste local: Service essa propriedade validFrom em O AdvanceServiceDeliveryHoursSpecification é obrigatório.

Para mais informações, consulte formatos DateTime e Time.

validThrough DateTime Opcional

A data de término após a qual os os pedidos antecipados não podem mais ser cumpridas. Por exemplo, "2018-12-01T00:00:00-07:00".

Se essa propriedade não for definida, ela será considerada válida todos os dias. As propriedades validFrom e validThrough precisam ausentes ou presentes juntos.

Se esse tipo for especificado como um specialOpeningHoursSpecification neste local: Service a propriedade validThrough em O AdvanceServiceDeliveryHoursSpecification é obrigatório.

O horário de validThrough é exclusivo. Por exemplo, se se o horário for definido como 18h, ele será válido até 17h59min59s.

Para mais informações, consulte Formatos de data e hora.

opens Time Opcional

Aplicável a espaços para entrega ou retirada.

a hora específica do dia a partir da qual pedidos antecipados podem cumpridas. Por exemplo, 6h30 é indicado como "T06:30:00".

A hora precisa ser especificada no horário local para o serviço. Não inclua um fuso horário em um valor opens. Se um fuso horário for especificado, O Google ignora essas informações.

Para mais informações, consulte Formatos de data e hora.

closes Time Opcional

Aplicável a espaços para entrega ou retirada.

O horário específico do dia após o qual pedidos antecipados não podem cumpridas. Por exemplo, 21h é "T21:00:00". closes> é exclusivo, então definir como 21h para um serviceTimeInterval de 15 minutos significa que o último disponível começa às 20h45.

O horário precisa ser especificado no horário local do serviço. Não inclua um fuso horário em um valor closes. Se um fuso horário for especificado, o Google ignorará essas informações.

Para mais informações, consulte Formatos de data e hora.

dayOfWeek Matriz de DayOfWeek Opcional

Dias da semana em que as horas de entrega antecipadas estão disponíveis. Válida são:

  • "Segunda-feira"
  • "Terça-feira"
  • "Quarta-feira"
  • "Quinta-feira"
  • "Sexta-feira"
  • "Sábado"
  • "Domingo"

Se você não especificar nenhum dia da semana, então o AdvanceServiceDeliveryHoursSpecification se aplica a todos dias.

serviceTimeInterval Duration Obrigatório

Intervalo entre dois tempos de serviço sucessivos.

Por exemplo: se opens e closes forem 8h e às 20h e a serviceTimeInterval tiver 15 minutos, então a o usuário pode escolher horários de atendimento como 8h, 8h15, 8h30, 8h45 e assim por diante até as 20h.

Duration precisa ser especificado como uma duração ISO 8601. Para exemplo: "P15M" significa intervalos de 15 minutos.

advanceBookingRequirement QuantitativeValue Obrigatório

Número de minutos a partir do horário do pedido em que o pedido antecipado pode ser cumpridas.

As propriedades QuantitativeValue e min e Os valores max devem ser definidos como o número de minutos e o unitCode como "MIN".

Por exemplo, se um pedido antecipado precisar de pelo menos 60 minutos para ser entregue e não pode ser atendida por mais de dois dias depois, o valor de min será 60, e o max é 2.880.

O exemplo a seguir mostra o uso do Tipo AdvanceServiceDeliveryHoursSpecification:

Exemplo 1

{
  "@type": "AdvanceServiceDeliveryHoursSpecification",
  "opens": "T10:00:00",  // Delivery between 10AM and 7:59:59PM
  "closes": "T20:00:00",
  "serviceTimeInterval": "PT15M", // in slots spaced 15 minutes apart (ISO8601)
  "advanceBookingRequirement": {
    "minValue": 60,   // The slot should be at least 60 mins away
    "maxValue": 8640, // but not more than 6 days away
    "unitCode": "MIN"
  }
}

AllergenDetails

Para usar esse tipo, adicione o contexto gs1: "@context": ["http://gs1.org/voc/", "http://schema.org"]

Em seguida, adicione FoodBeverageTobaccoProduct ao tipo do MenuItem apropriado. ou MenuItemOption.

A tabela a seguir descreve as propriedades do tipo AllergenDetails:

Propriedade Tipo Necessidade Descrição
@type Texto Obrigatório É sempre "AllergenDetails".
allergenType Texto Opcional Tipo de alergênio por gs1:AllergenTypeCode Por exemplo, http://gs1.org/voc/AllergenTypeCode-PEANUTS.
allergenLevelOfContainmentCode Texto Opcional Código de contenção por gs1:LevelOfContainmentCode. Por exemplo, http://gs1.org/voc/LevelOfContainmentCode-CONTAINS. http://gs1.org/voc/LevelOfContainmentCode-FREE_FROM ou http://gs1.org/voc/LevelOfContainmentCode-MAY_CONTAIN

O exemplo a seguir mostra o uso do tipo AllergenDetails:

{
  "@type": ["MenuItem", "FoodBeverageTobaccoProduct"],
  "@id": "http://www.example.com/bar/menuitem/6",
  "name": "Strawberry joghurt drink",
  "description": "A 0.5l bottle of strawberry joghurt drink.",
  "offers": {
    "@type": "Offer",
    "sku": "offer-joghurt-drink",
    "price": "2.49",
    "priceCurrency": "USD"
  },
  "hasAllergen": [
    {
      "@type": "AllergenDetails",
      "allergenType": "http://gs1.org/voc/AllergenTypeCode-GLUTEN",
      "allergenLevelOfContainmentCode":
        "http://gs1.org/voc/LevelOfContainmentCode-FREE_FROM"
    },
    {
      "@type": "AllergenDetails",
      "allergenType": "http://gs1.org/voc/AllergenTypeCode-LACTOSE",
      "allergenLevelOfContainmentCode":
        "http://gs1.org/voc/LevelOfContainmentCode-CONTAINS"
    }
  ]
},

DeliveryChargeSpecification

A tabela a seguir descreve as propriedades do Tipo de DeliveryChargeSpecification:

Propriedade Tipo Necessidade Descrição
@type Texto Obrigatório É sempre "DeliveryChargeSpecification".
@id URL Opcional Identificador da especificação da taxa de entrega.
price Número Obrigatório Custo total da entrega como um valor numérico. Use o a propriedade priceCurrency para indicar o tipo de moeda. em vez de símbolos de moeda. Por exemplo, "6,00", sem a moeda símbolo.
priceCurrency Texto Obrigatório É o código de moeda ISO 4217 com três letras. Por exemplo, "USD".
eligibleTransactionVolume PriceSpecification Opcional O volume de transações, em unidade monetária, para a qual esta exibição especificação de cobrança válida. Por exemplo, para indicar um mínimo de compras volume ou para expressar que o frete está disponível sem custo adicional acima de um certo volume de pedidos.
eligibleQuantity QuantitativeValue Opcional O intervalo e a unidade de medida dos pedidos de quantidades para os quais a taxa de entrega é válida. Isso permite, por exemplo, especificar que uma determinada cobrança de frete é válida apenas para uma certa quantidade.
eligibleRegion Matriz de GeoShape ou Place ou GeoCircle Opcional O lugar ou o GeoShape/GeoCircle para as regiões geopolíticas em que a especificação da taxa de entrega ou oferta é válida. Usar propriedade somente se as taxas de entrega variarem de acordo com a região.
validFrom DateTime Opcional A data e a hora (incluindo o fuso horário) em que a cobrança da entrega especificado se torna válido. Por exemplo, "2017-05-01T06:30:00-07:00". Para mais informações, consulte Formatos de data e hora.
validThrough DateTime Opcional A data e a hora (incluindo o fuso horário) após a qual a entrega a cobrança especificada não é válida. Por exemplo, "2017-05-01T06:30:00-07:00". O horário de validThrough é exclusivo: por exemplo, se esse for definido como 18h, o horário é válido até 17h59min59s. Para mais informações, consulte Formatos de data e hora.

Os exemplos abaixo mostram elementos DeliveryChargeSpecification:

Exemplo 1

"offers": {
  "@type":"Offer",
  "priceSpecification":[
    {
      "@type": "DeliveryChargeSpecification",
      "price": "5.0",
      "priceCurrency": "USD"
    }
  ]
}

Exemplo 2

"priceSpecification": [
  {
    "@type": "DeliveryChargeSpecification",
    "@id": "http://www.provider.com/defaultdeliveryfee/foo",
    "price": "10.0",
    "priceCurrency": "USD",
    "eligibleQuantity": {
      "@type": "QuantitativeValue",
      "minValue": 3  // Minimum of 3 items required for delivery
    }
  },
  {
    "@type": "DeliveryChargeSpecification",
    "@id": "http://www.provider.com/deliveryfee/foo/1",
    "price": "20.0",
    "priceCurrency": "USD",
    "validFrom":"T18:00:00", // Valid from 6:00PM
    "validThrough":"T22:00:00", // Valid to 9:59:59PM
    "eligibleQuantity": {
      "@type": "QuantitativeValue",
      "minValue": 3  // Minimum of 3 items required for delivery
    }
  }
]

Exemplo 3

"priceSpecification": [{
    "@type": "DeliveryChargeSpecification",
    "@id": "http://www.provider.com/threebrotherstacos/deliveryfee/1",
    "price": "8.00", // Charges $8 for area5
    "priceCurrency": "USD",
    "eligibleTransactionVolume": {
      "@type": "PriceSpecification",
      "minPrice": "20.00",
      "priceCurrency": "USD"
    },
    "eligibleRegion": [ // area5
      {
        "@type": "GeoCircle",
        "geoMidpoint": {
          "@type": "GeoCoordinates",
          "latitude": "37.7392607",
          "longitude": "-122.3895522"
        },
        "geoRadius": "4505"
      }
    ]
  },
  {
    "@type": "DeliveryChargeSpecification",
    "@id": "http://www.provider.com/threebrotherstacos/defaultdeliveryfee",
    "price": "6.00", // Charges $6 when delivered from Foo restaurant to area1, area2, area3 and area4 (Default charge)
    "priceCurrency": "USD",
    "eligibleTransactionVolume": {
      "@type": "PriceSpecification",
      "minPrice": "20.00", // Minimum order price for delivery is $20
      "priceCurrency": "USD"
    }
  }
]

Além de "@type": ["DeliveryChargeSpecification"], o objeto pode ser estendido com UnitPriceSpecification:

"@type": ["DeliveryChargeSpecification", "UnitPriceSpecification"]

A extensão fornece duas propriedades adicionais obrigatórias para taxas de entrega calculados em porcentagens.

Propriedade Tipo Necessidade Descrição
referenceQuantity QuantitativeValue Obrigatório Quantidade de referência à qual um determinado preço se aplica. Por exemplo: referenceQuantity de valor 10 com unitCode de “P1” resultar em 10% do valor do pedido. Apenas unitCode "P1" é com suporte no momento.
basePrice Número Opcional A cobrança básica, além do referenceQuantity. Para exemplo, referenceQuantity de 10 com unitCode de "P1" e basePrice de 5 em USD resultam em R $5 + 10% do valor do pedido. O valor padrão é 0.

Exemplos de taxa de entrega

O Google permite que você especifique uma variedade de taxas para os usuários antecipadamente usando Offer.PriceSpecification da entidade de serviço.

No momento, o pedido de ponta a ponta só oferece suporte a um DeliveryChargeSpecification: Combine todos os tipos de taxas em um único DeliveryChargeSpecification:

Consulte os Exemplos de feed de serviços para saber como especificar a entrega. com base na área, distância e valor do pedido.

Se não houver taxa, Offer.PriceSpecification será omitido.

  • Exemplo 1: a taxa de entrega é de 5% do subtotal do carrinho
  • Exemplo 2: a taxa de entrega é de R $5
  • Exemplo 3: a taxa de entrega é de R $5,00 + 10% do subtotal do carrinho
  • Exemplo 4: a taxa de entrega é de US $5, e a taxa de bagagem é US $0,1.
  • Exemplo 5: a taxa de entrega é de 5% e a taxa de conveniência é de 2% do subtotal do carrinho
  • Exemplo 6: a taxa de entrega é de US $5 e US $1 para cada distância adicional de 1 km

Exemplo 1

priceSpecification [
  {
    "@type": ["DeliveryChargeSpecification", "UnitPriceSpecification"],
    "referenceQuantity": {
      "@type": "QuantitativeValue",
      "value": "5.00", // 5%
      "unitCode": "P1" // P1 == %
    },
    "priceCurrency": "USD"
  }
]

Exemplo 2

priceSpecification [
  {
    "@type": ["DeliveryChargeSpecification"],
    "priceCurrency": "USD",
    "price": "5.00"
  }
]

Exemplo 3

priceSpecification [
  {
    "@type": ["DeliveryChargeSpecification", "UnitPriceSpecification"],
    "referenceQuantity": {
      "@type": "QuantitativeValue",
      "value": "10.00", // 10%
      "unitCode": "P1", // P1 == %
    },
    "priceCurrency": "USD",
    "basePrice": "5.00" // User always pays $5 in addition to 10%
  }
]

Exemplo 4

priceSpecification [
  {
    "@type": ["DeliveryChargeSpecification"],
    "priceCurrency": "USD",
    "price": "5.10" //$5 + $0.1
  }

Exemplo 5

priceSpecification [
  {
    "@type": ["DeliveryChargeSpecification", "UnitPriceSpecification"],
    "referenceQuantity": {
      "@type": "QuantitativeValue",
      "value": "7.00", // 5% + 2%
      "unitCode": "P1" // P1 == %
    },
    "priceCurrency": "USD"
  },
]

Exemplo 6

priceSpecification [
  {
    "@type": ["DeliveryChargeSpecification", "UnitPriceSpecification"],
    "basePrice": 5.00, // User always pays $5
    "price": 1.00, // An additional $1.00 is added per 1km
    "priceCurrency": "USD",
    "referenceQuantity": {
      "@type": "QuantitativeValue",
      "unitCode": "MTR", // MTR == meter
      "value": "1000.0" // 1km
    }
  }
]

GeoCircle

A tabela a seguir descreve as propriedades do tipo GeoCircle:

Propriedade Tipo Necessidade Descrição
@type Texto Obrigatório É sempre "GeoCircle".
geoMidpoint GeoCoordinates Obrigatório Indica o GeoCoordinates no centro de um GeoCircle.
geoRadius Número Obrigatório Indica o raio aproximado (em metros) de um GeoCircle:

O exemplo a seguir mostra um elemento GeoCircle:

Exemplo

{
  "@type": "GeoCircle",
  "geoMidpoint": {
    "@type": "GeoCoordinates",
    "latitude": "37.7392607",
    "longitude": "-122.3895522"
  },
  "geoRadius": "4505"
}

GeoCoordinates

A tabela a seguir descreve as propriedades do tipo GeoCoordinates:

Propriedade Tipo Necessidade Descrição
@type Texto Obrigatório É sempre "GeoCoordinates".
latitude Número Obrigatório

Latitude em graus. Os valores são restritos ao intervalo de -90 a 90, inclusivos. Se o valor especificado for menor que -90, ele será definido como -90; se for maior do que 90, será definido como 90.

A precisão precisa ser de pelo menos cinco casas decimais.

longitude Número Obrigatório

Longitude em graus. Valores fora do intervalo de -180 a 180 são encapsuladas para que se enquadrem no intervalo. Por exemplo, um valor de -190 é convertido para 170. Um valor de 190 é convertido em -170. Isso reflete o fato de que as longitudes envolvem o globo.

A precisão precisa ser de pelo menos cinco casas decimais.

O exemplo a seguir mostra um elemento GeoCoordinates:

Exemplo

"geo": {
  "@type": "GeoCoordinates",
  "latitude": "35.7392607",
  "longitude": "-120.3895522"
}

GeoShape

A tabela a seguir descreve as propriedades do tipo GeoShape:

Propriedade Tipo Necessidade Descrição
@type Texto Obrigatório É sempre "GeoShape".
polygon Matriz de texto Obrigatório

Um polígono ou multipolígono expresso como uma série de três ou mais espaços pontos delimitados por caracteres. É recomendável que o primeiro e o último pontos sejam é igual, mas não é obrigatório.

Cada ponto em um polígono ou multipolígono é definido por um ponto de latitude seguido por um ponto de longitude. Você também deve especificar os pontos em um sentido anti-horário.

Na maioria dos casos, você terá um único polígono. Para usos mais complexos casos, consulte a documentação da área de serviço de entrega.

Os exemplos abaixo mostram elementos GeoShape:

Exemplo 1

{
  "@type": "GeoShape", // area4
  // Specify latitude first (i.e., lat long lat long ...)
  "polygon": "37.806000 -122.425592 37.775849 -122.419043 37.795547 -122.394046 37.808747 -122.412619"
},

Exemplo 2

{
  "@type": "GeoShape", // A service area with a hole.
  // Specify latitude first (i.e., lat long lat long ...)
  "polygon": [ “37.771535 -122.506881 37.764289 -122.506669 37.766497 -122.453058”,
               “37.791707 -122.447987 37.746676 -122.449433 37.736150 -122.505944 37.780924 -122.509729”]
},

Exemplo 3

{
  "@type": "Service",
  "@id": "http://www.provider.com/service/1",
  "areaServed": [
    {
      "@type": "GeoShape",  // Richmond District delivery area.
      // Specify latitude first (i.e., lat long lat long ...)
      "polygon": "37.785847 -122.484851 37.772757 -122.483983 37.774442 -122.458563 37.786876 -122.459474"
    },
    {
      "@type": "GeoShape",  // Haight-Ashbury delivery area.
      // Specify latitude first (i.e., lat long lat long ...)
      "polygon": "37.774804 -122.454774 37.766224 -122.452881 37.769087 -122.436043 37.773087 -122.437417"
    }  ],
...
},

A tabela a seguir lista as propriedades para o tipo Menu:

Propriedade Tipo Necessidade Descrição
@type Texto Obrigatório É sempre "Menu".
@id URL Obrigatório Identificador exclusivo do cardápio.
name Texto Opcional Texto que pode identificar o Menu quando um usuário está navegando no .
description Texto Opcional Descrição do cardápio.
disclaimer MenuDisclaimer Opcional Exoneração de responsabilidade do menu. Por exemplo, divulgação de informações nutricionais e divulgação de alergênios.
hasMenuSection Objeto único ou matriz de MenuSection Opcional Subagrupamento lógico do cardápio (como "Jantar", "Aperitivos" ou "Peixe") pratos).
hasMenuItem Objeto único ou matriz de MenuItem Opcional Objetos MenuItem contidos em um Menu, normalmente quando o Menu não é subdividido por MenuSections
inLanguage Texto Opcional Idioma do conteúdo do menu, como um código de idioma do Padrão IETF BCP 47. Por exemplo, "en-US".

Os exemplos a seguir mostram o uso do tipo Menu:

Exemplo 1

{
  "@type": "Menu",
  "@id": "http://www.provider.com/somerestaurant/menu/1",
  "hasMenuSection": {
    "@type": "MenuSection",
    "@id": "http://www.provider.com/somerestaurant/menusection/1",
    "name": "Tacos",
    "description": "Tacos inspired by India cuisine.",
    "offers": {
      "@type": "Offer",
      "availabilityStarts": "T08:00:00", // Starts at 8:00AM
      "availabilityEnds": "T22:00:00" // Ends at 10:00PM. Available 8AM-9:59:59PM
    },
    "hasMenuItem": {
      "@type": "MenuItem",
      "@id": "http://www.provider.com/somerestaurant/menuitem/1",
      "name": "Aloo Gobi Taco",
      "description": "Mexico City-style street corn tortilla taco filled with a flavorful mixture of mildly south Indian spiced cauliflower, potato, tomato, onions and bell peppers.",
      "offers": {
        "@type": "Offer",
        "sku": "offer-aloo-gobi-taco",
        "price": "3.50",
        "priceCurrency": "USD"
      },
      "nutrition": {
        "@type": "NutritionInformation",
        "calories": "170 Cal",
        "fatContent": "3 g",
        "fiberContent": "2 g",
        "proteinContent": "4 g"
      },
      "suitableForDiet": "http://schema.org/GlutenFreeDiet"
    }
  },
  "inLanguage": "English"
}

Exemplo 2

Este exemplo mostra hasMenuItem como uma matriz.

{
  "@type": "Menu",
  "@id": "http://www.provider.com/somerestaurant/menu/1",
  "name": "Dine-In Menu",
  "description": "Menu for in-restaurant dining only.",
  "hasMenuSection": [
    {
      "@type": "MenuSection",
      "@id": "http://www.provider.com/somerestaurant/menusection/1",
      "name": "Main",
      "description": "Main course",
      "image": "http://www.provider.com/somerestaurant/main_dishes.jpg",
      "hasMenuItem": [
        {
          "@type": "MenuItem",
          "@id": "http://www.provider.com/somerestaurant/menuitem/1",
          "name": "Pizza",
          "description": "Pizza",
          "offers": {
            "@type": "Offer",
            "sku": "offer-pizza",
            "price": "7.49",
            "priceCurrency": "USD",
            "availabilityStarts": "T08:00:00", // Starts at 8:00AM
            "availabilityEnds": "T18:00:00" // Ends at 6:00PM, last order at 5:59:59PM
          }
        },
        {
          "@type": "MenuItem",
          "@id": "http://www.provider.com/somerestaurant/menuitem/2",
          "name": "Pasta",
          "description": "Pasta",
          "offers": [
            {
              "@type": "Offer",
              "sku": "offer-pasta-lunch",
              "price": "7.49",
              "priceCurrency": "USD",
              "availabilityStarts": "T08:00:00", // Starts at 8:00AM
              "availabilityEnds": "T18:00:00" // Ends at 6:00PM, last order at 5:59:59PM
            },
            {
              "@type": "Offer",
              "sku": "offer-pasta-dinner",
              "price": "10.49",
              "priceCurrency": "USD",
              "availabilityStarts": "T18:00:00", // Starts at 6:00PM
              "availabilityEnds": "T21:00:00" // Ends at 9:00PM, last order at 8:59:59PM
            }
          ]
        }
      ]
    },
    {
      "@type": "MenuSection",
      "@id": "http://www.provider.com/somerestaurant/menusection/2",
      "name": "Soups & Salads",
      "description": "Salads and a few choices of soup",
      "image": "https://www.provider.com/somerestaurant/soup_and_salad_dishes.jpg",
      "hasMenuItem": {
        "@type": "MenuItem",
        "@id": "http://www.provider.com/somerestaurant/menuitem/3",
        "name": "Pea Soup",
        "description": "Creamy pea soup topped with melted cheese and sourdough croutons.",
        "offers": {
          "@type": "Offer",
          "sku": "offer-pea-soup",
          "price": "3.49",
          "priceCurrency": "USD"
        },
        "suitableForDiet": "http://schema.org/GlutenFreeDiet"
      }
    }
  ]
}

Exemplo 3

Este exemplo mostra hasMenuSection como uma matriz.

{
  "@type": "Menu",
  "@id": "http://www.provider.com/somerestaurant/menu/1",
  "name": "Dine-In Menu",
  "description": "Menu for in-restaurant dining only.",
  "hasMenuSection": [
    {
      "@type": "MenuSection",
      "@id": "http://www.provider.com/somerestaurant/menusection/1",
      "name": "Dinner",
      "description": "Dinner dishes",
      "hasMenuSection": [
        {
          "@type": "MenuSection",
          "@id": "http://www.provider.com/somerestaurant/menusection/2",
          "name": "Starters",
          "description": "Appetizers and such",
          "image": "https://www.provider.com/somerestaurant/starter_dishes.jpg",
          "hasMenuItem": {
            "@type": "MenuItem",
            "@id": "http://www.provider.com/somerestaurant/menuitem/1",
            "name": "Potato Skins",
            "description": "Small serving of stuffed potato skins.",
            "offers": {
              "@type": "Offer",
              "sku": "offer-potato-skins",
              "price": "7.49",
              "priceCurrency": "USD"
            },
            "suitableForDiet": "http://schema.org/GlutenFreeDiet"
          }
        },
        {
          "@type": "MenuSection",
          "@id": "http://www.provider.com/somerestaurant/menusection/3",
          "name": "Soups & Salads",
          "description": "Salads and a few choices of soup",
          "image": "https://thisisarestaurant.com/soup_and_salad_dishes.jpg",
          "hasMenuItem": {
            "@type": "MenuItem",
            "@id": "http://www.provider.com/somerestaurant/menuitem/2",
            "name": "Pea Soup",
            "description": "Creamy pea soup topped with melted cheese and sourdough croutons.",
            "offers": {
              "@type": "Offer",
              "sku": "offer-pea-soup",
              "price": "3.49",
              "priceCurrency": "USD"
            },
            "suitableForDiet": "http://schema.org/GlutenFreeDiet"
          }
        },
        {
          "@type": "MenuSection",
          "@id": "http://www.provider.com/somerestaurant/menusection/4",
          "name": "Steak",
          "description": "Steak Dishes",
          "image": "https://steak.com/steak_dishes.jpg",
          "hasMenuItem": {
            "@type": "MenuItem",
            "@id": "http://www.provider.com/somerestaurant/menuitem/3",
            "name": "Sirloin",
            "description": "Sirloin steak dish.",
            "offers": {
              "@type": "Offer",
              "sku": "offer-sirloin-steak",
              "price": "15.49",
              "priceCurrency": "USD"
            },
            "suitableForDiet": "http://schema.org/GlutenFreeDiet"
          }
        }
      ]
    },
    {
      "@type": "MenuSection",
      "@id": "http://www.provider.com/somerestaurant/menusection/5",
      "name": "Desserts",
      "description": "Dessert dishes.",
      "image": "http://www.provider.com/somerestaurant/dessert_dishes.jpg",
      "hasMenuItem": {
        "@type": "MenuItem",
        "@id": "http://www.provider.com/somerestaurant/menuitem/4",
        "name": "Chocolate Pie",
        "description": "A slice of chocolate pie.",
        "offers": {
          "@type": "Offer",
          "sku": "offer-chocolate-pie",
          "price": "3.49",
          "priceCurrency": "USD"
        }
      }
    }
  ]
}

Para mais exemplos de entidades Menu, consulte Exemplos de feed de restaurantes e cardápios.

A tabela a seguir lista as propriedades para o tipo MenuDisclaimer:

Propriedade Tipo Necessidade Descrição
@type Texto Obrigatório É sempre "Menu Exoneração de responsabilidade".
@id URL Obrigatório Identificador exclusivo da exoneração de responsabilidade do cardápio.
text Texto Obrigatório Texto da exoneração de responsabilidade. Por exemplo, "A média de energia diária de um adulto consumo é de 8.700 kJ".
url URL Opcional URL que direciona para uma página com mais detalhes sobre a exoneração de responsabilidade.

O exemplo a seguir mostra o uso do tipo MenuDisclaimer:

Exemplo

{
    "@type": "Menu",
    "@id": "menu_1",
    "disclaimer": {
        "@type": "MenuDisclaimer",
        "@id": "menu_1_disclaimer_1",
        "text": "The average adult daily energy intake is 8700 kJ",
        "url": "https://partner.domain.com/menu/provider/disclaimer/more-info.html"
    }
}

Item de menu para representar o item no menu. A tabela a seguir lista propriedades para o tipo MenuItem:

Propriedade Tipo Necessidade Descrição
@type Texto Obrigatório É sempre "MenuItem".
@id URL Obrigatório Identificador exclusivo do item do cardápio.
name Texto Obrigatório Texto que pode identificar o MenuItem quando um usuário está navegando o menu.
description Texto Opcional Descrição do item de menu.
image URL Opcional

Imagem do item do cardápio. Use as seguintes diretrizes de imagem:

  • Proporção 3:2
  • Resolução mínima de 600 x 400 pixels, 72 dpi
  • Resolução recomendada: 1400 x 960 pixels, 72 dpi
menuAddOn Matriz de AddOnMenuSection Opcional Itens em uma seção do menu que podem ser adicionados como complementos ao item de menu.
offers Matriz de Offer Obrigatório*

Uma ou várias ofertas para fornecer esse MenuItem. Descreve quando e por que preço este MenuItem está disponível. Somente uma oferta deve ser válidos em um determinado momento. Várias ofertas podem ser fornecidas se o preço/disponibilidade varia de acordo com a hora do dia. Se o o alimento difere por um atributo base (por exemplo, tamanho para pizza), use menuItemOption. O padrão para Offer.eligibleQuantity é no mínimo 0 sem valores maiores ou ao atingir um limite estabelecido.

A listagem abaixo mostra quais propriedades do Offer estão usado em MenuItem.

  • É necessário usar a Offer.sku
  • É necessário usar a Offer.price
  • É necessário usar a Offer.priceCurrency
  • Offer.availabilityStarts opcional
  • Offer.availabilityEnds opcional
  • Offer.availableDay opcional
  • Offer.validFrom opcional
  • Offer.validThrough opcional
  • Offer.eligibleQuantity opcional
  • Offer.inventoryLevel opcional
hasMenuItemOptions Matriz de MenuItemOption Obrigatório Lista de opções/variações básicas deste item de menu. As opções devem ser usado para especificar diversas variações básicas disponíveis para o item, por pequeno, médio e grande.
suitableForDiet Matriz de RestrictedDiet Opcional O prato está em conformidade com a restrição alimentar descrita (como "http://schema.org/GlutenFreeDiet" ou "http://schema.org/VeganDiet". Isso é uma lista enumerada de valores possíveis.
nutrition NutritionInformation Opcional Informações nutricionais do prato, principalmente as calorias.
hasAllergen AllergenDetails Opcional Alergênios do prato de acordo com a gs1:AllergenDetails. Adicione o contexto gs1 para usar esta propriedade: "@context": ["http://gs1.org/voc/", "http://schema.org"]. E adicione FoodBeverageTobaccoProduct ao tipo de MenuItem.
additive Matriz de AdditiveDetails Opcional Os aditivos do prato de acordo com a gs1:AdditiveDetails. Esta é uma lista enumerada de possíveis valores. Adicione o contexto gs1 para usar desta propriedade: "@context": ["http://gs1.org/voc/", "http://schema.org"]. E adicione FoodBeverageTobaccoProduct ao tipo de MenuItem.
packaging PackagingDetails Opcional As informações de embalagem e reciclagem deste MenuItem conforme gs1:PackagingDetails: Adicione o contexto gs1 para usar esta propriedade: "@context": ["http://gs1.org/voc/", "http://schema.org"]. E adicione FoodBeverageTobaccoProduct ao tipo de MenuItem.

Os exemplos abaixo mostram elementos MenuItem:

Exemplo 1

"hasMenuItem": {
  "@type": "MenuItem",
  "@id": "http://www.provider.com/bar/menuitem/1",
  "name": "Potato Skins",
  "description": "Small serving of stuffed potato skins.",
  "offers": {
    "@type": "Offer",
    "sku": "offer-potato-skins",
    "price": "7.49",
    "priceCurrency": "USD"
  },
  "suitableForDiet": "http://schema.org/GlutenFreeDiet"
}

Exemplo 2

"hasMenuItem": [
  {
    "@type": "MenuItem",
    "@id": "https://www.example.com/1089/product/170067",
    "name": "Veg Grill Burrito",
    "offers": {
      "@type": "Offer",
      "sku": "offer-veg-grill-burrito",
      "price": "12.99",
      "priceCurrency": "USD"
    },
    "menuAddOn": {
      "@type": "AddOnMenuSection",
      "name": "Cheese",
      "@id": "https://www.example.com/1089/addon/1", // Points to an AddOnMenuSection
      "eligibleQuantity":
        "@type": "QuantitativeValue",
        "minValue": 0,
        "maxValue": 2 // Maximum of 2 cheeses are allowed
      }
    }
  },
  {
    "@type": "MenuItem",
    "@id": "https://www.example.com/1089/product/170018",
    "name": "Chicken Taco",
    "offers": {
      "@type": "Offer",
      "sku": "offer-chicken-taco",
      "price": "6.99",
      "priceCurrency": "USD"
    }
  }
]

Exemplo 3

{
  "@type": "MenuItem",
  "@id": "https://www.example.com/1089/product/170067",
  "name": "Meat Combo",
  "hasMenuItemOptions": [
    {
      "@type": "MenuItemOption",
      "value": {
        "@type": "PropertyValue",
        "name": "OPTION",
        "value": "Plate",
        "offers": {
          "@type": "Offer",
          "sku": "offer-meat-combo-plate",
          "price": "12.00",
          "priceCurrency": "USD"
        },
        "menuAddOn": [
          {
            "@type": "AddOnMenuSection",
            "name": "Toppings for Plate",
            "@id": "https://www.example.com/1089/addon/1",
            "eligibleQuantity": {
              "@type": "QuantitativeValue",
              "minValue": 0,
              "maxValue": 3
            },
            "hasMenuItem": [
              {
                "@type": "AddOnMenuItem",
                "@id": "https://www.example.com/1089/addon/1/a",
                "name": "Hummus",
                "offers": {
                  "@type": "Offer",
                  "sku": "offer-meat-combo-topping-hummus",
                  "price": "1.00",
                  "priceCurrency": "USD"
                }
              }
              // -- Other Items --
            ]
          }
        ]
      }
    },
    {
      "@type": "MenuItemOption",
      "value": {
        "@type": "PropertyValue",
        "name": "OPTION",
        "value": "Sandwich"
      },
      "offers": {
        "@type": "Offer",
        "sku": "offer-meat-combo-sandwich",
        "price": "10.00",
        "priceCurrency": "USD"
      },
      "menuAddOn": [
        {
          "@type": "AddOnMenuSection",
          "name": "Toppings for Sandwich",
          "@id": "https://www.example.com/1089/addon/1",
          "eligibleQuantity": {
            "@type": "QuantitativeValue",
            "minValue": 0,
            "maxValue": 2
          },
          "hasMenuItem": [
            {
              "@type": "AddOnMenuItem",
              "@id": "https://www.example.com/1089/addon/1/a",
              "name": "Hummus",
              "offers": {
                "@type": "Offer",
                "sku": "offer-meat-combo-topping-hummus",
                "price": "1.00",
                "priceCurrency": "USD"
              }
            }
            // -- Other Items --
          ]
        }
      ]
    }
  ]
}

Exemplo 4

{
  "@type": "MenuItem",
  "@id": "https://www.example.com/1089/product/170067",
  "name": "Pepperoni Pizza",
  "hasMenuItemOptions": [
    {
      "@type": "MenuItemOption",
      "value": {
        "@type": "PropertyValue",
        "name": "SIZE",
        "value": "Small"
      },
      "offers": {
        "@type": "Offer",
        "sku": "offer-small",
        "price": "10.00",
        "priceCurrency": "USD"
      }
    },
    {
      "@type": "MenuItemOption",
      "value": {
        "@type": "PropertyValue",
        "name": "SIZE",
        "value": "Medium"
      },
      "offers": {
        "@type": "Offer",
        "sku": "offer-medium",
        "price": "15.00",
        "priceCurrency": "USD"
      }
    },
    {
      "@type": "MenuItemOption",
      "value": {
        "@type": "PropertyValue",
        "name": "SIZE",
        "value": "Large"
      },
      "offers": {
        "@type": "Offer",
        "sku": "offer-large",
        "price": "20.00",
        "priceCurrency": "USD"
      }
    }
  ]
}

Example 5

{
  "@type": ["MenuItem", "FoodBeverageTobaccoProduct"],
  "@id": "http://www.example.com/bar/menuitem/9",
  "name": "Ice Coffee",
  "offers": {
    "@type": "Offer",
    "sku": "offer-ice-coffee",
    "price": "3.99",
    "priceCurrency": "USD"
  },
  "nutrition": {
    "@type": "NutritionInformation",
    "description": "Contains preservatives and artificial flavor"
  },
  "hasAllergen": [
    {
      "@type": "AllergenDetails",
      "allergenType": "http://gs1.org/voc/AllergenTypeCode-LACTOSE",
      "allergenLevelOfContainmentCode":
        "http://gs1.org/voc/LevelOfContainmentCode-CONTAINS"
    },
    {
      "@type": "AllergenDetails",
      "allergenType": "http://gs1.org/voc/AllergenTypeCode-PEANUTS",
      "allergenLevelOfContainmentCode":
        "http://gs1.org/voc/LevelOfContainmentCode-MAY_CONTAIN"
    }
  ],
  "additive": [
    {
      "@type": "AdditiveDetails",
      "additiveName": "caffeine",
      "additiveLevelOfContainment":
        "http://gs1.org/voc/LevelOfContainmentCode-CONTAINS"
    }
  ],
  "packaging": {
    "@type": "PackagingDetails",
    "packagingRecyclingProcessType" :
      "http://gs1.org/voc/PackagingRecyclingProcessTypeCode-REUSABLE",
    "hasReturnablePackageDeposit": {
      "@type": "ReturnablePackageDepositDetails",
      "returnablePackageDepositAmount": {
        "@type": "http://gs1.org/voc/PriceSpecification",
        "http://gs1.org/voc/price": "0.10",
        "http://gs1.org/voc/priceCurrency": "USD"
      }
    }
  }
}

Para mais exemplos de entidades MenuItem, consulte Exemplos de feed de restaurantes e cardápios.

uma opção para representar escolhas que um usuário precisaria fazer ao selecionando um prato ou uma combinação. O usuário deve selecionar uma opção, caso contrário, o pedido é considerado inválido. Por exemplo, escolher pequeno, médio ou grande no caso de uma pizza.

Para conferir exemplos de casos de uso de MenuItemOption, consulte nosso guia sobre personalização usando MenuItemOption.

A tabela a seguir lista as propriedades para o tipo MenuItemOption:

Propriedade Tipo Necessidade Descrição
@type Texto Obrigatório É sempre "MenuItemOption".
value PropertyValue Obrigatório PropertyValue contendo um par de nome/valor que representa o é a melhor opção.
offers Matriz de Offer Obrigatório

Uma ou mais ofertas para fornecer este MenuItemOption. Descreve quando e a que preço essa opção de item de menu está disponível. Apenas uma oferta deve ser válida em um determinado momento. É possível ter vários ofertas válidas se o preço/disponibilidade puder mudar de acordo com a hora do dia. Não use Offer.eligibleQuantity. MenuItemOption é mutuamente exclusivo, então Se fornecido, Offer.eligibleQuantity será ignorado.

A listagem abaixo mostra quais propriedades do Offer estão usado em MenuItemOption.

  • É necessário usar a Offer.sku
  • É necessário usar a Offer.price
  • É necessário usar a Offer.priceCurrency
  • Offer.availabilityStarts opcional
  • Offer.availabilityEnds opcional
  • Offer.availableDay opcional
  • Offer.validFrom opcional
  • Offer.validThrough opcional
  • Offer.eligibleQuantity opcional
  • Offer.inventoryLevel opcional
menuAddOn Array of AddOnMenuSection Opcional Seção do menu de itens permitidos que podem ser adicionados como um complemento. Usar apenas isso se os complementos forem específicos a uma opção de item de menu específica. Caso contrário fornecer complementos usando a propriedade MenuItem.menuAddOn.
suitableForDiet Matriz de RestrictedDiet Opcional Lista enumerada que indica dietas em que este prato está em conformidade com a restrição alimentar descrita (como "http://schema.org/GlutenFreeDiet" ou "http://schema.org/VeganDiet").
nutrition NutritionInformation Opcional Informações nutricionais do prato, principalmente as calorias.
hasAllergen AllergenDetails Opcional Alergênios do prato de acordo com a gs1:AllergenDetails. Adicione o contexto gs1 para usar esta propriedade: "@context": ["http://gs1.org/voc/", "http://schema.org"]. E adicione FoodBeverageTobaccoProduct ao tipo de MenuItemOption.
additive Matriz de AdditiveDetails Opcional Aditivos do prato de acordo com a gs1:AdditiveDetails. Esta é uma lista enumerada de possíveis valores. Adicione o contexto gs1 para usar desta propriedade: "@context": ["http://gs1.org/voc/", "http://schema.org"]. E adicione FoodBeverageTobaccoProduct ao tipo de MenuItemOption.
packaging PackagingDetails Opcional Informações de embalagem e reciclagem deste MenuItem por gs1:PackagingDetails Adicione o contexto gs1 para usar esta propriedade: "@context": ["http://gs1.org/voc/", "http://schema.org"]. E adicione FoodBeverageTobaccoProduct ao tipo de MenuItemOption.

O exemplo a seguir mostra elementos MenuItemOption:

Exemplo 1

{
  "@type": "MenuItem",
  "@id": "https://www.example.com/1089/product/170067",
  "name": "Pepperoni Pizza",
  "hasMenuItemOptions": [
    {
      "@type": "MenuItemOption",
      "value": {
        "@type": "PropertyValue",
        "name": "SIZE",
        "value": "Small"
      },
      "offers": {
        "@type": "Offer",
        "sku": "offer-small",
        "price": "10.00",
        "priceCurrency": "USD"
      }
    },
    {
      "@type": "MenuItemOption",
      "value": {
        "@type": "PropertyValue",
        "name": "SIZE",
        "value": "Medium"
      },
      "offers": {
        "@type": "Offer",
        "sku": "offer-medium",
        "price": "15.00",
        "priceCurrency": "USD"
      }
    },
    {
      "@type": "MenuItemOption",
      "value": {
        "@type": "PropertyValue",
        "name": "SIZE",
        "value": "Large"
      },
      "offers": {
        "@type": "Offer",
        "sku": "offer-large",
        "price": "20.00",
        "priceCurrency": "USD"
      }
    }
  ]
}

Exemplo 2

{
  "@type": "MenuItem",
  "@id": "https://www.example.com/1089/product/170067",
  "name": "Meat Combo",
  "hasMenuItemOptions": [
    {
      "@type": "MenuItemOption",
      "value": {
        "@type": "PropertyValue",
        "name": "OPTION",
        "value": "Plate",
        "offers": {
          "@type": "Offer",
          "sku": "offer-meat-combo-plate",
          "price": "12.00",
          "priceCurrency": "USD"
        },
        "menuAddOn": [
          {
            "@type": "AddOnMenuSection",
            "name": "Toppings for Plate",
            "@id": "https://www.example.com/1089/addon/1",
            "eligibleQuantity": {
              "@type": "QuantitativeValue",
              "minValue": 0,
              "maxValue": 3
            },
            "hasMenuItem": [
              {
                "@type": "AddOnMenuItem",
                "@id": "https://www.example.com/1089/addon/1/a",
                "name": "Hummus",
                "offers": {
                  "@type": "Offer",
                  "sku": "offer-meat-combo-topping-hummus",
                  "price": "1.00",
                  "priceCurrency": "USD"
                }
              }
              // -- Other Items --
            ]
          }
        ]
      }
    },
    {
      "@type": "MenuItemOption",
      "value": {
        "@type": "PropertyValue",
        "name": "OPTION",
        "value": "Sandwich"
      },
      "offers": {
        "@type": "Offer",
        "sku": "offer-meat-combo-sandwich",
        "price": "10.00",
        "priceCurrency": "USD"
      },
      "menuAddOn": [
        {
          "@type": "AddOnMenuSection",
          "name": "Toppings for Sandwich",
          "@id": "https://www.example.com/1089/addon/1",
          "eligibleQuantity": {
            "@type": "QuantitativeValue",
            "minValue": 0,
            "maxValue": 2
          },
          "hasMenuItem": [
            {
              "@type": "AddOnMenuItem",
              "@id": "https://www.example.com/1089/addon/1/a",
              "name": "Hummus",
              "offers": {
                "@type": "Offer",
                "sku": "offer-meat-combo-topping-hummus",
                "price": "1.00",
                "priceCurrency": "USD"
              }
            }
            // -- Other Items --
          ]
        }
      ]
    }
  ]
}

Seção do menu para representar uma seção específica no menu. A tabela a seguir lista as propriedades para o tipo MenuSection:

Propriedade Tipo Necessidade Descrição
@type Texto Obrigatório É sempre "MenuSection".
@id URL Obrigatório Identificador exclusivo da seção do cardápio.
name Texto Obrigatório Texto que pode identificar o MenuSection quando um usuário navega o menu.
description Texto Opcional Descrição da seção do cardápio.
hasMenuSection Matriz de MenuSection Opcional Subagrupamento lógico de MenuSection. Por exemplo, o A seção do menu de jantar pode ter várias sub-Menus, como "Aves Pratos" ou "Vegetariana".
hasMenuItem Matriz de MenuItem Opcional Itens de menu contidos em um MenuSection.
offers Matriz de Offer Opcional

Use Offer.availabilityStarts e Offer.availabilityEnds para indicar o período durante em que este MenuSection é veiculado. Não usar Offer.eligibleQuantity:

A lista a seguir mostra quais propriedades do Offer são usado em MenuSection:

  • Offer.availabilityStarts opcional
  • Offer.availabilityEnds opcional
  • Offer.availableDay opcional
  • Offer.validFrom opcional
  • Offer.validThrough opcional
image URL Opcional Imagem da seção do cardápio.

Os exemplos a seguir mostram entidades MenuSection:

Exemplo 1

{
  "@type": "MenuSection",
  "@id": "http://www.provider.com/bar/menusection/4",
  "name": "Steak",
  "description": "Steak Dishes",
  "image": "https://steak.com/steak_dishes.jpg",
  "hasMenuItem": {
    "@type": "MenuItem",
    "@id": "http://www.provider.com/bar/menuitem/3",
    "name": "Sirloin",
    "description": "Sirloin steak dish.",
    "offers": {
      "@type": "Offer",
      "sku": "offer-sirloin-steak",
      "price": "15.49",
      "priceCurrency": "USD"
    },
    "suitableForDiet": "http://schema.org/GlutenFreeDiet"
  }
}

Exemplo 2

"hasMenuSection": [
  {
    "@type": "MenuSection",
    "@id": "https://www.example.com/1089/categorization/25114480",
    "name": "Main Items",
    "hasMenuItem": [
      {
        "@type": "MenuItem",
        "@id": "https://www.example.com/1089/product/170067",
        "name": "Veg Grill Burrito",
        "offers": {
          "@type": "Offer",
          "sku": "offer-veg-grill-burrito",
          "price": "12.99",
          "priceCurrency": "USD"
        },
        "menuAddOn": {
          "@type": "AddOnMenuSection",
          "name": "Cheese",
          "@id": "https://www.example.com/1089/addon/1", // Points to an AddOnMenuSection
          "eligibleQuantity":
            "@type": "QuantitativeValue",
            "minValue": 0,
            "maxValue": 2 // Maximum of 2 cheeses are allowed
          }
        }
      },
      {
        "@type": "MenuItem",
        "@id": "https://www.example.com/1089/product/170018",
        "name": "Chicken Taco",
        "offers": {
          "@type": "Offer",
          "sku": "offer-chicken-taco",
          "price": "6.99",
          "priceCurrency": "USD"
        }
      }
    ]
  },
  {
    "@type": "AddOnMenuSection",
    "@id": "https://www.example.com/1089/addon/1",
    "name": "AddOnCheese",
    "hasMenuItem": [
      {
        "@type": "AddOnMenuItem",
        "@id": "https://www.example.com/1089/addon/a",
        "name": "Swiss",
        "offers": {
          "@type": "Offer",
          "sku": "offer-swiss",
          "price": "2.99",
          "priceCurrency": "USD"
        }
      },
      {
        "@type": "AddOnMenuItem",
        "@id": "https://www.example.com/1089/addon/b",
        "name": "Mozarella",
        "offers": {
          "@type": "Offer",
          "sku": "offer-mozzarella",
          "price": "1.99",
          "priceCurrency": "USD"
        }
      }
    ]
  }
]

Para mais exemplos de entidades MenuSection, consulte Exemplos de feed de restaurantes e cardápios.

NutritionInformation

A tabela a seguir descreve as propriedades do NutritionInformation. não é válido. As unidades de medida diferenciam maiúsculas de minúsculas. Por exemplo, "Cal" for aceito, mas "kcal" não é.

Propriedade Tipo Necessidade Descrição
@type Texto Obrigatório É sempre "NutritionInformation".
description Texto Opcional Informações nutricionais em texto livre. Por exemplo, "Contém e conservantes".
calories Texto Opcional

O número de calorias em calorias em calorias, kcal ou kJ, usando a fórmula a seguir formato:

number Cal_kcal_OR_kJ

Por exemplo, "240 kcal".

carbohydrateContent Texto Opcional

A quantidade de carboidratos, normalmente em g, usando o seguinte: formato:

number g_OR_mg

Por exemplo, "7 g".

cholesterolContent Texto Opcional

A quantidade de colesterol, normalmente em mg, usando o formato:

number g_OR_mg

Por exemplo, "12 mg".

fatContent Texto Opcional

A quantidade de gordura, normalmente em g, usando o seguinte formato:

number g_OR_mg

Por exemplo, "42 g".

fiberContent Texto Opcional

O número de g ou mg de fibra, usando o seguinte formato:

number g_OR_mg
proteinContent Texto Opcional

O número de g ou mg de proteína, usando o seguinte formato:

number g_OR_mg
saturatedFatContent Texto Opcional

O número de g ou mg de gorduras saturadas, usando o seguinte formato:

number g_OR_mg
servingSize Texto Opcional O tamanho da porção em mL, L, g ou kg, em termos de número de volumes massa.
sodiumContent Texto Opcional

O número de mg ou g de sódio, usando o seguinte formato:

number g_OR_mg
sugarContent Texto Opcional

O número de g ou mg de açúcar, usando o seguinte formato:

number g_OR_mg
transFatContent Texto Opcional

O número de g ou mg de gorduras trans, usando o seguinte formato:

number g_OR_mg
unsaturatedFatContent Texto Opcional

A quantidade de gordura insaturada, normalmente em g, usando o seguinte formato:

number g_OR_mg

Os exemplos a seguir mostram um elemento NutritionInformation:

Exemplo 1

"nutrition": {
  "@type": "NutritionInformation",
  "calories": "170 Cal",
  "fatContent": "3 g",
  "fiberContent": "2 g",
  "proteinContent": "4 g"
},

Exemplo 2

{
  "@type": ["MenuItem", "FoodBeverageTobaccoProduct"],
  "@id": "http://www.example.com/bar/menuitem/7",
  "name": "Peach Ice Tea",
  "description": "A 0.5l bottle of peach ice tea.",
  "offers": {
    "@type": "Offer",
    "sku": "offer-peach-ice-tea",
    "price": "2.49",
    "priceCurrency": "USD"
  },
  "nutrition": {
              "@type": "NutritionInformation",
              "description": "Contains preservatives and artificial flavor"
  }
},

Oferta

Oferta de um item do cardápio. A tabela a seguir descreve as propriedades do Tipo de Offer:

Propriedade Tipo Necessidade Descrição
@type Texto Obrigatório É sempre "Oferecer".
sku Texto Condicional

Identificador exclusivo da oferta. Pode ser qualquer valor de texto exclusivo no Offer. Os valores sku são referenciados em Finalizar a compra e enviar como offerId em lineitem.

Esta propriedade só é usada nos seguintes tipos de oferta:

  • AddOnMenuItem.Offer
  • MenuItem.Offer
  • MenuOption.Offer
price Texto Condicional

Preço do item oferecido. Por exemplo, "6,00" sem a moeda símbolo.

Essa propriedade só é obrigatória nos seguintes tipos de oferta:

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

Ela não é usada nos seguintes tipos de oferta:

  • AddOnMenuSection.Offer
  • MenuSection.Offer
  • Service.Offer
priceCurrency Texto Condicional

A moeda (no formato ISO 4217 de três letras) do preço ou de um preço , quando anexado à PriceSpecification e aos subtipos dele.

Essa propriedade só é obrigatória nos seguintes tipos de oferta:

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

Ela não é usada nos seguintes tipos de oferta:

  • AddOnMenuSection.Offer
  • MenuSection.Offer
  • Service.Offer
availabilityStarts DateTime ou Time Opcional A data e hora ou apenas o horário em que a oferta está disponível. Por exemplo, se panquecas forem servidas a partir das 7h, então o valor deste campo pode ter a seguinte aparência: "2017-05-01T07:00:00-07:00". Para mais informações, consulte Formatos de data e hora.
availabilityEnds DateTime ou Time Opcional A data e hora ou apenas a hora em que a oferta não está disponível. Isso horário é exclusivo. Por exemplo, se a disponibilidade das panquecas terminar às 10h, então a última panqueca pode ser servida às 9h59min59s. O valor de esse campo terá esta aparência: "2017-05-01T10:00:00-07:00". Para mais informações, consulte Formatos de data e hora.
availableDay Matriz de DayOfWeek Opcional

Dias da semana em que este item está disponível. Os valores válidos são:

  • "Segunda-feira"
  • "Terça-feira"
  • "Quarta-feira"
  • "Quinta-feira"
  • "Sexta-feira"
  • "Sábado"
  • "Domingo"

Caso sua disponibilidade seja diferente para cada dia da semana, usar mais de um objeto Offer, conforme mostrado nas exemplos abaixo.

validFrom DateTime Opcional

A data e a hora (incluindo o fuso horário) em que o evento preço é válido. Por exemplo, a massa custa R $8 no almoço e R $10 no jantar. Para mais informações, consulte Formatos de data e hora.

Essa propriedade pode ser usada nos seguintes tipos de oferta:

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

Esta propriedade não é usada nos seguintes tipos de oferta:

  • Service.Offer
validThrough DateTime Opcional

A data e a hora (incluindo o fuso horário) após as quais o não é mais válido. Por exemplo, a massa custa R $8 no almoço e US $10 no jantar. O horário de validThrough é exclusivo: Por exemplo, se o horário estiver definido como 18h, ele será válido até 17:59:59. Para mais informações, consulte Formatos de data e hora.

Essa propriedade pode ser usada nos seguintes tipos de oferta:

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

Esta propriedade não é usada nos tipos de oferta a seguir.

  • Service.Offer
eligibleQuantity QuantitativeValue Opcional

As quantidades de encomenda para as quais este item é permitido. Por exemplo: Um restaurante pode exigir que pelo menos 10 pizzas sejam pedidas por um entrega.

Este valor é opcional. Por padrão, não há limite máximo, o restaurante pode especificar um. Os limites mínimos se aplicam somente quando um usuário seleciona o item.

Essa propriedade pode ser usada nos seguintes tipos de oferta:

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

Esta propriedade não é usada nos tipos de oferta a seguir.

  • AddOnMenuSection.Offer
  • MenuSection.Offer
  • Service.Offer
aggregateRating AggregateRating Opcional

A classificação geral, com base em um conjunto de resenhas ou classificações do do item de linha.

Essa propriedade pode ser usada nos seguintes tipos de oferta:

  • AddOnMenuItem.Offer
  • MenuItem.Offer

Esta propriedade não é usada nos tipos a seguir.

  • AddOnMenuSection.Offer
  • MenuItemOption.Offer
  • MenuSection.Offer
  • Service.Offer
inventoryLevel QuantitativeValue Opcional

O nível de inventário aproximado atual dos itens.

Essa propriedade pode ser usada nos seguintes tipos de oferta:

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

Esta propriedade não é usada nos seguintes tipos de oferta:

  • AddOnMenuSection.Offer
  • MenuSection.Offer
  • Service.Offer
priceSpecification Matriz de DeliveryChargeSpecification (em inglês) ou matriz de PaymentChargeSpecification Opcional

Quando usado em Service.Offer, indica os detalhes de o preço da entrega. Se vários DeliveryChargeSpecification objetos forem aplicáveis, o mais específico será aplicado. Uso mútuo objetos DeliveryChargeSpecification exclusivos para evitar qualquer ambiguidade.

Essa propriedade pode ser usada nos seguintes tipos de oferta:

  • Service.Offer

Esta propriedade não é usada nos seguintes tipos de oferta:

  • AddOnMenuItem.Offer
  • AddOnMenuSection.Offer
  • MenuItem.Offer
  • MenuOption.Offer
  • MenuSection.Offer
offeredBy Matriz de IDs de Restaurant Opcional

Representa os restaurantes deste local (Offer) é oferecido.

Se não for especificado, este Offer será oferecido a todos os restaurantes.

Essa propriedade pode ser usada nos seguintes tipos de oferta:

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

Esta propriedade não é usada nos seguintes tipos de oferta:

  • Service.Offer
applicableFulfillmentMethod Matriz de texto Opcional

Representa o tipo de serviço que este Offer é e atendidas. Os valores possíveis são "ENTREGA" ou "TakeOUT".

Se não for especificado, este Offer será atendido por entrega e retirada.

Essa propriedade pode ser usada nos seguintes tipos de oferta:

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

Esta propriedade não é usada nos seguintes tipos de oferta:

  • Service.Offer
@id URL Suspenso Identificador exclusivo da oferta. Descontinuado em 25/04/19. Substitua por sku, conforme descrito acima.

Os exemplos abaixo mostram elementos Offer:

Exemplo 1

O exemplo a seguir mostra uma oferta simples:

{
  "@type": "Offer",
  "@id": "https://www.provider.com/menu/74962/139/offer",
  "price": "10",
  "priceCurrency": "USD"
}

Exemplo 2

O exemplo de oferta a seguir mostra a disponibilidade das 8h às 10h nos dias de fins de semana:

{
  "@type": "Offer",
  "@id": "https://www.provider.com/menu/74962/140/offer",
  "price": "10",
  "priceCurrency": "USD",
  "availabilityStarts": "T08:00:00-07:00",  // Only available from 8-9:59:59 AM
  "availabilityEnds": "T10:00:00-07:00",
  "availableDay": ["Saturday", "Sunday"]  // Only on weekends.
}

Exemplo 3

O exemplo a seguir mostra a disponibilidade das 9h às 10h59min59s às segundas-feiras, Quartas e sextas-feiras, mas das 8h às 11h59h59 às terças e quintas-feiras:

{
  "@type": "Offer",
  "@id": "https://www.provider.com/menu/74962/140/offer",
  "price": "10",
  "priceCurrency": "USD",
  "availabilityStarts": "T09:00:00-07:00",
  "availabilityEnds": "T11:00:00-07:00",
  "availableDay": ["Monday", "Wednesday", "Friday"]
}, {
  "@type": "Offer",
  "@id": "https://www.provider.com/menu/74962/141/offer",
  "price": "10",
  "priceCurrency": "USD",
  "availabilityStarts": "T08:00:00-07:00",
  "availabilityEnds": "T12:00:00-07:00",
  "availableDay": ["Tuesday", "Thursday"]
}

Exemplo 4

O exemplo a seguir mostra a qualificação de um item de menu de complemento definida para que o usuário possa pedir no máximo duas porções esse item:

{
  "@type": "AddOnMenuItem",
  "@id": "https://www.example.com/1089/addon/a",
  "name": "Ranch",
  "offers": {
    "@type": "Offer",
    "@id": "https://www.example.com/1089/addon/a/offer",
    "price": "2.99",
    "priceCurrency": "USD"
    "eligibleQuantity": {
         "@type": "QuantitativeValue",
         "maxValue": 2
     }
  }
}

Example 5

O exemplo a seguir mostra uma oferta de entrega em um local específico:

{
  "@type": "Offer",
  "@id": "https://www.provider.com/menu/74962/139/offer",
  "price": "10",
  "priceCurrency": "USD",
  "applicableFulfillmentMethods": ["DELIVERY"],
  "offeredBy": [
    {
      "@type": "Restaurant",
      "@id": "https://www.provider.com/location/1",
    }
  ]
}

OpeningHoursSpecification

Define quando os serviços de pedidos estão disponíveis. Normalmente, o valor de opens é menor que o valor de closes. As diretrizes a seguir se aplicam ao uso do Propriedades opens e closes:

  • As propriedades opens e closes são opcionais, mas altamente recomendadas para denotar quando a ordenação está disponível. A prática recomendada para definir horas é incluir uma matriz deliveryHours que contenha uma ServiceDeliveryHoursSpecification com as propriedades opens e closes. Você podem incluir um objeto AdvanceServiceDeliveryHoursSpecification deliveryHours com as próprias propriedades opens e closes, se você quiser oferecer um período mais limitado para pedidos antecipados.
  • Se opens e closes não forem explicitamente especificados, presumimos que a ordenação serviço está disponível todos os dias, em todos os horários do dia.
  • O horário precisa ser especificado no horário local do serviço. Não inclua um fuso horário em um valor opens ou closes. Se um fuso horário for especificado, o Google ignora essas informações.
  • Se opens e closes forem iguais, consideramos que o restaurante é aberto por 0 minutos.
  • Se opens for maior que closes, o horário de fechamento será interpretado como sendo no dia seguinte. Por exemplo, se o horário de funcionamento estiver definido para 1o de janeiro às às 17h e o horário de fechamento é 2h, então o restaurante será interpretado como fechando no dia 2 de janeiro às 2h.
  • O horário de closes é exclusivo. Portanto, se os horários de abertura e fechamento dos nesta janela de pedidos são 10h e 16h, respectivamente, e a última no pedido é 15:59:59.

A tabela a seguir descreve as propriedades do OpeningHoursSpecification. type

Propriedade Tipo Necessidade Descrição
@type Texto Obrigatório É sempre "OpeningHoursSpecification".
@id URL Opcional Identificador do OpeningHoursSpecification.
dayOfWeek Matriz de DayOfWeek Opcional

O dia da semana em que esses horários de funcionamento são válidos. Aceito são "Segunda-feira", "Terça-feira", "Quarta-feira", "Quinta-feira", "Sexta-feira", "Sábado" e "Domingo". Exemplo:

"dayOfWeek": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday"
]

Se você não especificar nenhum dia da semana, então o OpeningHoursSpecification se aplica a todos os dias.

opens Time Opcional

Quando usada em uma especificação Restaurant, essa propriedade indica o horário de abertura do restaurante nos dias da semana especificados. Para por exemplo, 6h30 é "T06:30:00".

Quando usada em uma especificação Service, ela indica o uma hora do dia a partir da qual pedidos podem ser feitos. Ela especifica o horário de abertura quando o sistema on-line está ativo e permite que os usuários façam pedidos. Nos horários de abertura/fechamento do sistema on-line, você pode usar deliveryHours para especificar os horários de abertura/fechamento quando os usuários podem pedir tipos especiais de entregas.

O horário precisa ser especificado no horário local do serviço. Não inclua um fuso horário em um valor opens. Se um fuso horário for especificado, o Google ignorará essas informações.

Para mais informações, consulte Formatos de data e hora.

closes Time Opcional

Quando usada em uma especificação Service, essa propriedade indica o um horário específico do dia além do qual pedidos não podem ser feitos. Ela especifica o horário de fechamento quando o sistema on-line está ativo e permite que os usuários façam pedidos. Nos horários de abertura/fechamento do sistema on-line, você pode usar deliveryHours para especificar os horários de abertura/fechamento quando os usuários podem pedir tipos especiais de entregas.

O horário precisa ser especificado no horário local do serviço. Não inclua um fuso horário em um valor closes. Se um fuso horário for especificado, o Google ignorará essas informações.

Para mais informações, consulte Formatos de data e hora.

validFrom DateTime Opcional

Quando usada em uma especificação Restaurant, essa propriedade indica a data em que os horários de funcionamento especificados por opens e closes do restaurante são válidos.

Por exemplo, se as horas fornecidas se aplicam a todo o ano de 2017, você define Defina validFrom como "2017-01-01T00:00:00-07:00" e validThrough para "2017-12-31T23:59:59-07:00".

Quando usado em uma especificação Service, validFrom indica a data de início a partir da qual os os pedidos podem ser colocados.

Se essa propriedade não é especificada no seu feed, o Google pressupõe que o Restaurante ou Serviço está disponível diariamente.

Além da data, as partes de hora e fuso horário do são obrigatórios.

Para o fuso horário, use o fuso horário do restaurante ou serviço.

Para mais informações, consulte Formatos de data e hora.

validThrough DateTime Opcional

Quando usado em uma Restaurant, a data após a qual o horário de funcionamento especificados por opens e closes não são válidos.

Por exemplo, se as horas fornecidas se aplicam a todo o ano de 2017, você define Defina validFrom como "2017-01-01T00:00:00-07:00" e validThrough para "2017-12-31T23:59:59-07:00".

Quando usado em uma especificação Service, validThrough indica a data de término após a qual o os pedidos não podem mais ser colocados.

Se essa propriedade não é especificada no seu feed, o Google pressupõe que o Restaurante ou Serviço está disponível diariamente.

Além da data, as partes de hora e fuso horário do DateTime são obrigatórios.

Para o fuso horário, use o fuso horário do restaurante ou serviço.

O horário de validThrough é exclusivo. Por exemplo: Se o horário estiver definido como 18h, ele será válido até 17h59min59s.

Para mais informações, consulte Formatos de data e hora.

deliveryHours Matriz de ServiceDeliveryHoursSpecification ou de AdvanceServiceDeliveryHoursSpecification Condicional

A especificação do tempo de entrega ou retirada.

Esse parâmetro é obrigatório, a menos que o restaurante esteja fechado (ou seja, que opens e closes estejam definidos e iguais e se relacionam entre si.

  • ServiceDeliveryHoursSpecification: no os horários de abertura/fechamento, você pode definir "aberturas" e "fecha" horas quando os usuários podem fazer pedidos O mais rápido possível.
  • AdvanceServiceDeliveryHoursSpecification: no os horários de abertura/fechamento, você pode definir "aberturas" e "fecha" horas quando os usuários podem fazer pedidos antecipados.

Os exemplos abaixo mostram elementos OpeningHoursSpecification:

Exemplo 1

// Ordering times for Monday through Friday
{
  "@type": "OpeningHoursSpecification",
  "deliveryHours": [
    {
      "@type": "AdvanceServiceDeliveryHoursSpecification",
      "deliveryLeadTime": {
        "@type": "QuantitativeValue",
        "value": "60",
        "unitCode": "MIN"
      },
      "dayOfWeek": [
        "Monday",
        "Tuesday",
        "Wednesday",
        "Thursday",
        "Friday"
      ],
      "opens": "T12:00:00", // Advance ordering begins at noon
      "closes": "T23:59:59", // Advance ordering ends at midnight
      "validFrom": "2017-01-01T00:00:00-07:00",
      "validThrough": "2018-12-31T23:59:59-07:00"
    },
    {
      "@type": "ServiceDeliveryHoursSpecification",
      "deliveryLeadTime": {
        "@type": "QuantitativeValue",
        "value": "60",
        "unitCode": "MIN"
      },
      "dayOfWeek": [
        "Monday",
        "Tuesday",
        "Wednesday",
        "Thursday",
        "Friday"
      ],
      "opens": "T10:00:00", // ASAP ordering begins at 10AM
      "closes": "T14:00:00", // ASAP ordering ends at 2PM
      "validFrom": "2017-01-01T00:00:00-07:00",
      "validThrough": "2018-12-31T23:59:59-07:00"
    }
  ]
},

Exemplo 2

// Ordering times for Saturday and Sunday
{
  "@type": "OpeningHoursSpecification",
  "deliveryHours": [
    {
      // In this case advance orders are unavailable on Saturday and Sunday
      "@type": "ServiceDeliveryHoursSpecification",
      "deliveryLeadTime": {
        "@type": "QuantitativeValue",
        "value": "60",
        "unitCode": "MIN"
      },
      "dayOfWeek": [
        "Saturday",
        "Sunday"
      ],
      "opens": "T12:00:00", // ASAP orders start at noon
      "closes": "T23:59:59", // ASAP orders end at midnight
      "validFrom": "2017-01-01T00:00:00-07:00",
      "validThrough": "2018-12-31T23:59:59-07:00"
    }
  ]
}

Exemplo 3

"hoursAvailable": {
  "@type": "OpeningHoursSpecification",
  "validFrom": "2016-02-01T00:00:00-07:00",
  "validThrough": "2016-03-01T00:00:00-07:00",
  "opens": "T08:00:00",  // Ordering begins at 8:00AM and ends at 6:00PM.
                         // ASAP and and advance orders are restricted to this
                         // time frame since the user won't be able to place
                         // orders outside of this window.
  "closes": "T18:00:00",
  "deliveryHours": {
    "@type": "ServiceDeliveryHoursSpecification",
    "deliveryLeadTime": {
      "@type": "QuantitativeValue",
      "value": "60",
      "unitCode": "MIN"
    }
  }
},

Exemplo 4

// List hours available for 2017 and 2018
"hoursAvailable": [
  {
    "@type": "OpeningHoursSpecification",
    // Array containing advance order hours for each day
    "deliveryHours": [
      {
        // Open 10:00AM to 9:29:59PM on Mondays
        "@type": "AdvanceServiceDeliveryHoursSpecification",
        "deliveryLeadTime": {
          "@type": "QuantitativeValue",
          "value": "60",
          "unitCode": "MIN"
        },
        "dayOfWeek": [
          "Monday"
        ],
        "opens": "T10:00:00",
        "closes": "T21:30:00",
        "validFrom": "2017-01-01T00:00:00-07:00",
        "validThrough": "2018-12-31T23:59:59-07:00"
      },
      {
        // Open 10:00AM to 9:29:59PM on Tuesdays
        "@type": "AdvanceServiceDeliveryHoursSpecification",
        "deliveryLeadTime": {
          "@type": "QuantitativeValue",
          "value": "60",
          "unitCode": "MIN"
        },
        "dayOfWeek": [
          "Tuesday"
        ],
        "opens": "T10:00:00",
        "closes": "T21:30:00",
        "validThrough": "2018-12-31T23:59:59-07:00"
      },
      {
        // Open 10:00AM to 9:29:59PM on Wednesdays
        "@type": "AdvanceServiceDeliveryHoursSpecification",
        "deliveryLeadTime": {
          "@type": "QuantitativeValue",
          "value": "60",
          "unitCode": "MIN"
        },
        "dayOfWeek": [
          "Wednesday"
        ],
        "opens": "T10:00:00",
        "closes": "T21:30:00",
        "validFrom": "2017-01-01T00:00:00-07:00",
        "validThrough": "2018-12-31T23:59:59-07:00"
      },
      {
        // Open 10:00AM to 9:29:59PM on Thursdays
        "@type": "AdvanceServiceDeliveryHoursSpecification",
        "dayOfWeek": [
          "Thursday"
        ],
        "opens": "T10:00:00",
        "closes": "T21:30:00",
        "validFrom": "2017-01-01T00:00:00-07:00",
        "validThrough": "2018-12-31T23:59:59-07:00"
      },
      {
        // Open 10:00AM to 11:29:59PM on Fridays
        "@type": "AdvanceServiceDeliveryHoursSpecification",
        "deliveryLeadTime": {
          "@type": "QuantitativeValue",
          "value": "60",
          "unitCode": "MIN"
        },
        "dayOfWeek": [
          "Friday"
        ],
        "opens": "T10:00:00",
        "closes": "T23:30:00",
        "validFrom": "2017-01-01T00:00:00-07:00",
        "validThrough": "2018-12-31T23:59:59-07:00"
      },
      {
        // Open 10:00AM to 11:29:59PM on Saturdays
        "@type": "AdvanceServiceDeliveryHoursSpecification",
        "deliveryLeadTime": {
          "@type": "QuantitativeValue",
          "value": "60",
          "unitCode": "MIN"
        },
        "dayOfWeek": [
          "Saturday"
        ],
        "opens": "T10:00:00",
        "closes": "T23:30:00",
        "validFrom": "2017-01-01T00:00:00-07:00",
        "validThrough": "2018-12-31T23:59:59-07:00"
      },
      {
        // Open 11:00AM to 6:59:59PM on Sundays
        "@type": "AdvanceServiceDeliveryHoursSpecification",
        "deliveryLeadTime": {
          "@type": "QuantitativeValue",
          "value": "60",
          "unitCode": "MIN"
        },
        "dayOfWeek": [
          "Sunday"
        ],
        "opens": "T11:00:00",
        "closes": "T19:00:00",
        "validFrom": "2017-01-01T00:00:00-07:00",
        "validThrough": "2018-12-31T23:59:59-07:00"
      }
    ]
  }
],

PackagingDetails

Adicione o contexto gs1 para usar este tipo: "@context": ["http://gs1.org/voc/", "http://schema.org"]. E adicione FoodBeverageTobaccoProduct ao tipo de MenuItem ou MenuItemOption.

A tabela a seguir descreve as propriedades do tipo PackagingDetails:

Propriedade Tipo Necessidade Descrição
@type Texto Obrigatório É sempre "PackagingDetails".
packagingRecyclingProcessType Texto Opcional Tipo de processo de reciclagem de embalagens por gs1:PackagingReCycleProcessTypeCode. Por exemplo: http://gs1.org/voc/PackagingRecyclingProcessTypeCode-RECYCLABLE ou http://gs1.org/voc/PackagingRecyclingProcessTypeCode-REUSABLE
hasReturnablePackageDeposit ReturnablePackageDepositDetails Opcional Detalhes do depósito do pacote reembolsável por gs1:ReturnablePackageDepositDetails. Por exemplo, garrafas e latas têm depósitos em pacotes que podem ser devolvidos.

O exemplo a seguir mostra o uso do tipo PackagingDetails:

{
  "@type": ["MenuItem", "FoodBeverageTobaccoProduct"],
  "@id": "http://www.example.com/bar/menuitem/5",
  "name": "Sparkling Water",
  "description": "A 0.5l bottle of sparking water.",
  "offers": {
    "@type": "Offer",
    "sku": "offer-sparkling-water",
    "price": "1.49",
    "priceCurrency": "USD"
  },
  "packaging": {
    "@type": "PackagingDetails",
    "packagingRecyclingProcessType" :
      "http://gs1.org/voc/PackagingRecyclingProcessTypeCode-REUSABLE",
    "hasReturnablePackageDeposit": {
      "@type": "ReturnablePackageDepositDetails",
      "returnablePackageDepositAmount": {
        "@type": "http://gs1.org/voc/PriceSpecification",
        "http://gs1.org/voc/price": "0.05",
        "http://gs1.org/voc/priceCurrency": "USD"
      }
    }
  }
},

PaymentChargeSpecification

A tabela a seguir descreve as propriedades do PaymentChargeSpecification. type

Propriedade Tipo Necessidade Descrição
@type Texto Obrigatório É sempre "PaymentChargeSpecification".
@id URL Opcional Identificador do PaymentChargeSpecification.
price Número Obrigatório Valor total da cobrança. Por exemplo, "6,00", sem a moeda símbolo.
priceCurrency Texto Obrigatório O código de moeda ISO 4217 do preço com três letras. Por exemplo: "USD".
eligibleTransactionVolume PriceSpecification Opcional Volume de transações, em unidade monetária, pela qual este pagamento é cobrado é válida, como para indicar um valor mínimo de compra volume
eligibleQuantity QuantitativeValue Opcional As quantidades do pedido para as quais a cobrança do pagamento é válida. Para exemplo, é possível usar essa propriedade para exigir um número mínimo de itens em um pedido.
validFrom DateTime Opcional Data e hora (incluindo o fuso horário) em que a cobrança do pagamento foi feita especificado se torna válido. Por exemplo, "2017-05-01T07:00:00-07:00". Para mais informações, consulte Formatos de data e hora.
validThrough DateTime Opcional A data e a hora (incluindo o fuso horário) em que o pagamento a cobrança especificada não é válida. Por exemplo, "2017-05-01T07:30:00-07:00". O horário de validThrough é exclusivo: por exemplo, se se o horário for definido como 18h, ele será válido até 17h59min59s. Para mais informações, consulte Formatos de data e hora.

O exemplo a seguir mostra um elemento PaymentChargeSpecification:

Exemplo

"priceSpecification": [{
  "@type": "PaymentChargeSpecification",
  "@id": "http://www.provider.com/paymentCharge/bar",
  "priceCurrency": "USD",
  "price": "6.00", // Charges $6 for processing fee
  "eligibleQuantity": {
    "@type": "QuantitativeValue",
    "minValue": 2 // Minimum of two items required
  }
}]

Além de "@type": ["PaymentChargeSpecification"], o objeto pode ser estendido com UnitPriceSpecification ("@type": ["PaymentChargeSpecification", "UnitPriceSpecification"]). A extensão fornece duas propriedades adicionais necessárias para taxas de serviço calculados em porcentagens.

propriedade Tipo Necessidade Descrição
referenceQuantity QuantitativeValue Obrigatório Quantidade de referência à qual um determinado preço se aplica. Por exemplo: referenceQuantity de valor 10 com unitCode de “P1” resultar em 10% do valor do pedido. Apenas unitCode "P1" é atualmente compatíveis.
basePrice Número Opcional A cobrança básica, além do referenceQuantity. Para exemplo, referenceQuantity de 10 com unitCode de "P1" e basePrice de 5 em USD resultam em R $5 + 10% do o valor do pedido. O valor padrão é 0.

Exemplos de taxas de retirada de dados

O Google permite que você especifique uma variedade de taxas para os usuários antecipadamente usando Offer.PriceSpecification da entidade de serviço.

No momento, oferecemos suporte apenas a um PaymentChargeSpecification. Combinar todos os tipos de taxas em um único PaymentChargeSpecification

Se não houver taxa, Offer.PriceSpecification será omitido.

  • Exemplo 1: a taxa de serviço é de 5% do subtotal do carrinho
  • Exemplo 2: a taxa de serviço é de US $5
  • Exemplo 3: a taxa de bagagem é US $0,10 e a taxa de serviço é de 5% do subtotal do carrinho.
  • Exemplo 4: a taxa de bagagem é US $0,10 e a taxa de serviço é de US $1
  • Exemplo 5: a taxa de serviço é de 5%, e a gorjeta obrigatória é de 10% do subtotal do carrinho.

Exemplo 1

priceSpecification [
  {
    "@type": ["PaymentChargeSpecification", "UnitPriceSpecification"],
    "referenceQuantity": {
      "@type": "QuantitativeValue",
      "value": "5.00", // 5%
      "unitCode": "P1" // P1 == %
    },
    "priceCurrency": "USD"
  }
]

Exemplo 2

priceSpecification [
  {
    "@type": ["PaymentChargeSpecification"],
    "priceCurrency": "USD",
    "price": "5.00"
  }
]

Exemplo 3

priceSpecification [
  {
    "@type": ["PaymentChargeSpecification", "UnitPriceSpecification"],
    "referenceQuantity": {
      "@type": "QuantitativeValue",
      "value": "5.00", // 5%
      "unitCode": "P1", // P1 == %
    },
    "priceCurrency": "USD",
    "basePrice": "0.10" // Bag fee $0.1
  }
]

Exemplo 4

priceSpecification [
  {
    "@type": ["PaymentChargeSpecification"],
    "priceCurrency": "USD",
    "price": "1.10" //$1 + $0.1
  }
]

Example 5

priceSpecification [
  {
    "@type": ["PaymentChargeSpecification", "UnitPriceSpecification"],
    "referenceQuantity": {
      "@type": "QuantitativeValue",
      "value": "15.00", // 5% + 10%
      "unitCode": "P1" // P1 == %
    },
    "priceCurrency": "USD"
  }
]

Lugar

A tabela a seguir descreve as propriedades do tipo Place:

Propriedade Tipo Necessidade Descrição
@type Texto Obrigatório É sempre "Place".
address PostalAddress Obrigatório Endereço de um lugar.

O exemplo a seguir mostra um elemento Place:

Exemplo

{
  "@type": "Place", // area2
  "address": {
    "@type": "PostalAddress",
    "postalCode": "94041",
    "addressCountry": "US"
  }
},

PostalAddress

A tabela a seguir descreve as propriedades do tipo PostalAddress:

Propriedade Tipo Necessidade Descrição
@type Texto Obrigatório É sempre "PostalAddress".
addressLocality Texto Obrigatório* A localidade ou cidade. Por exemplo, "São Paulo".
addressRegion Texto Obrigatório* A região ou o estado. Por exemplo, "CA".
postalCode Texto Obrigatório* É o código postal. Por exemplo, "94102".
streetAddress Texto Opcional É o endereço. Por exemplo, "1600 Amphitheatre Pkwy".
addressCountry Texto Obrigatório Código do país ISO 3166-1 alfa-2 com duas letras . Por exemplo, "BR".

Os provedores de entrega podem listar essas propriedades para designar um Service.areaServed em que o serviço é prestado.

Quando usado em Restaurant.address, todas as propriedades listadas em PostalAddress são obrigatórios.

O exemplo a seguir mostra um elemento PostalAddress:

Exemplo

"address": {
  "@type": "PostalAddress",
  "streetAddress": "12345 Bar Avenue",
  "addressLocality": "San Francisco",
  "addressRegion": "CA",
  "postalCode": "94124",
  "addressCountry": "US"
},

PriceSpecification

A tabela a seguir descreve as propriedades do PriceSpecification. type

Propriedade Tipo Necessidade Descrição
@type Texto Obrigatório É sempre "PriceSpecification".
@id URL Opcional Identificador do PriceSpecification.
minPrice Número Opcional O preço mais baixo se o preço for uma faixa.
maxPrice Número Opcional O preço mais alto se o preço estiver em uma faixa.
priceCurrency Texto Obrigatório O código de moeda ISO 4217 do preço com três letras. Por exemplo: "USD".
eligibleQuantity QuantitativeValue Opcional As quantidades do pedido para as quais a especificação de preço é válida. Por exemplo, o preço pode ser US $2 por libra ou dois itens por um dólar.

O exemplo a seguir mostra um elemento PriceSpecification:

Exemplo 1

"eligibleTransactionVolume": {
  "@type": "PriceSpecification",
  "minPrice": "20.00", // Minimum order price for delivery is $20
  "priceCurrency": "USD"
}

PropertyValue

Par de valores de propriedade usado para descrever opções em MenuItemOption.

A tabela a seguir lista as propriedades para o tipo PropertyValue:

Propriedade Tipo Necessidade Descrição
@type Texto Obrigatório É sempre "PropertyValue".
name Texto Obrigatório

Nome ou tipo da opção.

Confira abaixo nomes válidos quando usados no MenuItem:

  • "SIZE": tamanho do MenuItem. Por exemplo, pequeno, médio ou grandes.
  • "OPÇÃO": qualquer variação diferente do tamanho (como um prato que vem como salada ou sanduíche). Se você não conseguir distinguir entre "SIZE" e "OPTION" e use "OPTION".

Nomes válidos quando usados em AddOnMenuItem:

  • "APPLICABLE_ITEM_OPTION": uma opção para o complemento que é aplicável quando usado com o MenuItem com os respectivos "TAMANHO/OPÇÃO".
  • "PIZZA_SIDE": específico para pizzas, este complemento só é válido para um porção/pizza inteira (como coberturas de cogumelos no lado esquerdo, lado direito ou toda a pizza).
  • "SIZE": uma opção para designar o tamanho do complemento. (como batatas fritas grandes como complemento para uma combinação de refeição).
  • "OPTION": qualquer variação que não seja o tamanho. Se não for possível distinguir entre "SIZE" e "OPTION" e use "OPTION".
value Texto Obrigatório

Valor da opção. Os valores podem ser qualquer string e são exibidos como o endereço IP interno. Confira a seguir os valores válidos:

  • "PIZZA_SIDE": o valor correspondente deve ser "PIZZA_SIDE_LEFT", "PIZZA_SIDE_RIGHT" ou "PIZZA_SIDE_WHOLE" para uma pizza.
  • "APPLICABLE_ITEM_OPTION": este valor deve estar presente em um dos "OPTION/SIZE" correspondente opções para as tags mãe MenuItem menuItemOptions.

QuantitativeValue

A tabela a seguir descreve as propriedades do tipo QuantitativeValue:

Propriedade Tipo Necessidade Descrição
@type Texto Obrigatório É sempre "QuantitativeValue".
value Número Opcional O valor do nó de valor quantitativo ou da propriedade.
unitCode Texto ou URL Opcional

A unidade de medida como um Código comum da UN/CEFACT (em inglês) ou um URL.

Outros códigos que não o Código Comum UN/CEFACT podem ser usados com um prefixo seguido de dois-pontos.

maxValue Número Opcional O valor superior de alguma característica ou propriedade.
minValue Número Opcional O menor valor de alguma característica ou propriedade.

Os exemplos a seguir mostram o uso do tipo QuantitativeValue:

Exemplo 1

"deliveryLeadTime": {
  "@type": "QuantitativeValue",
  "value": "60",
  "unitCode": "MIN"
}

Exemplo 2

"menuAddOn": {
  "@type": "AddOnMenuSection",
  "name": "Cheese",
  "@id": "https://www.example.com/1089/addon/1", // Points to an AddOnMenuSection
  "eligibleQuantity":
    "@type": "QuantitativeValue",
    "minValue": 0,
    "maxValue": 2 // Maximum of 2 cheeses are allowed
  }
}

Exemplo 3

"priceSpecification": [
  {
    "@type": "DeliveryChargeSpecification",
    "@id": "http://www.provider.com/defaultdeliveryfee/foo",
    "price": "10.0",
    "priceCurrency": "USD",
    "eligibleQuantity": {
      "@type": "QuantitativeValue",
      "minValue": 3  // Minimum of 3 items required for delivery
    }
  },
  {
    "@type": "DeliveryChargeSpecification",
    "@id": "http://www.provider.com/deliveryfee/foo/1",
    "price": "20.0",
    "priceCurrency": "USD",
    "validFrom":"T18:00:00", // Valid from 6:00PM
    "validThrough":"T22:00:00", // Valid to 9:59:59PM
    "eligibleQuantity": {
      "@type": "QuantitativeValue",
      "minValue": 3  // Minimum of 3 items required for delivery
    }
  }
]

Restaurante

A tabela a seguir lista as propriedades para o tipo Restaurant:

Propriedade Tipo Necessidade Descrição
@type Texto Obrigatório É sempre "Restaurante".
@id URL Obrigatório Identificador exclusivo do restaurante ou do entregador. Por exemplo: "http://www.provider.com/326", em que "326" é o identificador exclusivo do no restaurante.
name Texto Obrigatório Texto que pode identificar o Restaurant durante a ordenação de desenvolvimento de software.
url URL Obrigatório URL no seu domínio que representa o restaurante. Por exemplo: "http://www.provider.com/somerestaurant".
sameAs URL Opcional O site oficial do restaurante. Por exemplo: "http://www.restaurante.com.br".
email Texto Opcional E-mail de contato do restaurante.
description Texto Opcional Descrição do restaurante.
telephone Texto Obrigatório

Número de telefone no seguinte formato:

"[+][country_code][phone_#_with_area_code]"

Por exemplo, "+16501234567".

priceRange Texto Opcional Uma variedade de preços. Por exemplo, "$$" ($-Inexpensive, $$-Moderado, $$$-Expensive, $$$$-Very Expensive).
logo URL Optional Logo of the restaurant in PNG, JPG, or GIF format. For example, "http://www.somerestaurant.com/logo.png".
image URL Optional Image of the restaurant.
servesCuisine Array of Text Optional Food types that are served at the restaurant. For example, ["sushi","Asian fusion"].
address PostalAddress Required* Address of the restaurant.
geo GeoCoordinates Optional* Geographic coordinates of the restaurant.
suitableForDiet Array of RestrictedDiet Optional Dietary restrictions this restaurant accommodates (like kosher, vegan, or gluten-free diets). It is an enumerated list.
aggregateRating AggregateRating Optional Overall rating, based on a collection of reviews or ratings of the restaurant.
additionalProperty Array of name value string pairs Optional

A restaurant imprint is a section of additional information about the restaurant, such as legal name, legal address, and registration number. This information can be formatted using "\n".

For example "additionalProperty": [{"name": "imprint", "value": "first row\nsecondrow\n"},]

The following examples show the usage of the Restaurant type:

Example 1

{
  "@type": "Restaurant",
  "@id": "http://www.provider.com/somerestaurant",
  "url": "www.provider.com/somerestaurant",
  "name": "Some Restaurant",
  "sameAs": "http://www.somerestaurant.com",
  "image": "http://www.somerestaurant.com/image-of-some-restaurant.jpg",
  "description": "This is the Some Restaurant located on 345 Spear St. San Francisco, 94105 CA. It serves Indian-Mexican fusion cuisine",
  "address": {
    "@type": "PostalAddress",
    "addressLocality": "San Francisco",
    "addressRegion": "CA",
    "postalCode": "94105",
    "streetAddress": "345 Spear St",
    "addressCountry": "US"
  },
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": "37.391115",
    "longitude": "-122.081099"
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.4",
    "reviewCount": "89"
  },
  "priceRange": "$$",
  "telephone": "+16501234567", // O código do país (+1) é obrigatório
  "servesCuisine": [
    "Fusão indiana-mexicana"
  ]
},
  
  

Exemplo 2

{
  "@type": "Restaurant",
  "@id": "http://www.example.com/threebrotherstacos",
  "name": "Three Brothers Tacos",
  "address": {
        "@type": "PostalAddress",
        "addressLocality": "Mountain View",
        "addressRegion": "CA",
        "postalCode": "94041",
        "streetAddress": "123 Foo St",
        "addressCountry": "US"
  },
  "additionalProperty": [
    {"name": "imprint", "value": "Three Brothers Tacos\n123 FooSt\nMountain View\nCA 94041, United States\nemail: contact@threebrotherstacos.com\n\nCommercial Register: 123456789"}
  ]
}

Para mais exemplos de entidades Restaurant, consulte Exemplos de feed de restaurantes e cardápios.

ReturnablePackageDepositDetails

Para usar esse tipo, adicione o contexto gs1: "@context":

["http://gs1.org/voc/", "http://schema.org"]

Em seguida, adicione FoodBeverageTobaccoProduct ao tipo do MenuItem apropriado. ou MenuItemOption.

A tabela a seguir descreve as propriedades do Tipo de ReturnablePackageDepositDetails:

Propriedade Tipo Necessidade Descrição
@type Texto Obrigatório É sempre "ReturnablePackageDepositDetails".
returnablePackageDepositAmount gs1:PriceSpecification Opcional O valor do depósito desse item por gs1:PriceSpecification (em inglês). Por exemplo, um depósito de US$ 0,25 por lata.

O exemplo a seguir mostra o uso do ReturnablePackageDepositDetails type

{
  "@type": ["MenuItem", "FoodBeverageTobaccoProduct"],
  "@id": "http://www.example.com/bar/menuitem/5",
  "name": "Sparkling Water",
  "description": "A 0.5l bottle of sparking water.",
  "offers": {
    "@type": "Offer",
    "sku": "offer-sparkling-water",
    "price": "1.49",
    "priceCurrency": "USD"
  },
  "packaging": {
    "@type": "PackagingDetails",
    "packagingRecyclingProcessType" :
      "http://gs1.org/voc/PackagingRecyclingProcessTypeCode-REUSABLE",
    "hasReturnablePackageDeposit": {
      "@type": "ReturnablePackageDepositDetails",
      "returnablePackageDepositAmount": {
        "@type": "http://gs1.org/voc/PriceSpecification",
        "http://gs1.org/voc/price": "0.05",
        "http://gs1.org/voc/priceCurrency": "USD"
      }
    }
  }
},

Serviço

Descreve a entrega de uma ação de pedido de ponta a ponta de um restaurante para um localização geográfica por uma organização de entrega.

A tabela a seguir descreve as propriedades do tipo Service:

Propriedade Tipo Necessidade Descrição
@type Texto Obrigatório

O tipo de feed.

  • Service: use esse tipo para todos os feeds de serviço ativos.
  • DisabledService: use esse tipo apenas quando precisar desativar uma entidade de serviço devido a um evento inesperado e não sabe quando o serviço será restabelecido.
@id URL Obrigatório Identificador do serviço de fulfillment. Por exemplo: "http://www.provider.com/service/1".
description Texto Opcional Descrição do item.
serviceType Texto Obrigatório Tipo de serviço oferecido. Os valores possíveis são "ENTREGA" ou "REtirar".
provider Restaurant Obrigatório Uma referência ao identificador exclusivo do restaurante. Por exemplo: "http://www.provider.com/somerestaurant".
areaServed Matriz de GeoShape. Place ou GeoCircle Condicional Área geográfica onde o serviço é prestado. Este campo é opcional ao padrão, mas é obrigatório se serviceType for "ENTREGA".
hoursAvailable Matriz de OpeningHoursSpecification Obrigatório Horário em que o serviço está disponível.
specialOpeningHoursSpecification Matriz de OpeningHoursSpecification. ServiceDeliveryHoursSpecification ou AdvanceServiceDeliveryHoursSpecification Opcional

Horários que substituem as opções mais gerais OpeningHoursSpecification ou os tempos de atendimento. Esse campo normalmente é usado para definir feriados e outros tipos de interdições temporárias ou mudanças no horário de funcionamento.

Defina o período especial usando os métodos validFrom e validThrough propriedades. A hora e o fuso horário são obrigatórios ao especificar essas propriedades.

offers Matriz de Offer Condicional

Detalhes sobre a opção de entrega de um restaurante específico. Isso campo é opcional por padrão, mas obrigatório se serviceType é "ENTREGA".

A propriedade Offer.priceSpecification é opcional em Serviço. Nenhuma outra propriedade Offer é usada aqui.

hasOfferCatalog [Menu, OfferCatalog] Obrigatório

Especifica um menu para este serviço. É possível ter um menu diferente serviços (como retirada, entrega e buffet).

É preciso especificar Menu e OfferCatalog para o tipo. Exemplo:

"hasOfferCatalog": {
"@type": ["Menu", "OfferCatalog"],
"@id": "https://www.provider.com/restaurant/menu/1"
}
additionalProperty Matriz de {name, value} Opcional

Informações opcionais de configuração de serviço. Espera-se que os itens sejam um objeto com a chave name correspondente ao como o nome do campo. A chave value é um valor relevante para o contexto para o campo.

Consulte o ServingConfig para mais informações sobre nomes e valores específicos.

"additionalProperty": [{
  "name": "disableOrderInstructions",
  "value": false
}, {
  "name": "disableMenuItemSpecialInstructions",
  "value": false
}, {
  "name": "disableTipWidget",
  "value": false
}, {
  "name": "disablePromoWidget",
  "value": false
}, {
  "name": "menuItemSpecialInstructionsMaxLength",
  "value": 256
}, {
  "name": "orderInstructionsMaxLength",
  "value": 256
}]
potentialAction URL Opcional

Contém um URL para um serviço de entrega/retirada que será usado durante a migração da experiência completa de pedidos de comida para o redirecionamento. Por exemplo, "potentialAction": { "url": "https://fopatestagent.com/ordering/restaurante-1/entrega" }

O exemplo a seguir mostra o uso do tipo de serviço:

Exemplo

{
  "@type": "Service",
  "@id": "http://www.provider.com/service/1",
  "serviceType": "DELIVERY",
  "provider": {
    "@type": "Restaurant",
    "@id": "http://www.provider.com/threebrotherstacos"
  },
  "potentialAction": {
    "url": "https://foprovider.com/ordering/restaurant-1/delivery"
  },
  "hoursAvailable": [
    // Ordering times for Monday through Friday
    {
      "@type": "OpeningHoursSpecification",
      "deliveryHours": [
        {
          "@type": "AdvanceServiceDeliveryHoursSpecification",
          "deliveryLeadTime": {
            "@type": "QuantitativeValue",
            "value": "60",
            "unitCode": "MIN"
          },
          "dayOfWeek": [
            "Monday",
            "Tuesday",
            "Wednesday",
            "Thursday",
            "Friday"
          ],
          "opens": "T12:00:00", // Advance ordering begins at noon
          "closes": "T23:59:59", // Advance ordering ends at midnight
          "validFrom": "2017-01-01T00:00:00-07:00",
          "validThrough": "2018-12-31T23:59:59-07:00"
        },
        {
          "@type": "ServiceDeliveryHoursSpecification",
          "deliveryLeadTime": {
            "@type": "QuantitativeValue",
            "value": "60",
            "unitCode": "MIN"
          },
          "dayOfWeek": [
            "Monday",
            "Tuesday",
            "Wednesday",
            "Thursday",
            "Friday"
          ],
          "opens": "T10:00:00", // ASAP ordering begins at 10AM
          "closes": "T14:00:00", // ASAP ordering ends at 2PM
          "validFrom": "2017-01-01T00:00:00-07:00",
          "validThrough": "2018-12-31T23:59:59-07:00"
        }
      ]
    },
    // Ordering times for Saturday and Sunday
    {
      "@type": "OpeningHoursSpecification",
      "deliveryHours": [
        {
          // In this case advance orders are unavailable on Saturday and Sunday
          "@type": "ServiceDeliveryHoursSpecification",
          "deliveryLeadTime": {
            "@type": "QuantitativeValue",
            "value": "60",
            "unitCode": "MIN"
          },
          "dayOfWeek": [
            "Saturday",
            "Sunday"
          ],
          "opens": "T12:00:00", // ASAP orders start at noon
          "closes": "T23:59:59", // ASAP orders end at midnight
          "validFrom": "2017-01-01T00:00:00-07:00",
          "validThrough": "2018-12-31T23:59:59-07:00"
        }
      ]
    }
  ],
  "hasOfferCatalog": {
    "@type": ["Menu", "OfferCatalog"],
    "@id": "https://www.provider.com/menu/1"
  },
  "areaServed": [{
      "@type": "GeoCircle", // area1
      "geoMidpoint": {
        "@type": "GeoCoordinates",
        "latitude": "42.362757",
        "longitude": "-71.087109"
      },
      "geoRadius": "10000"
    },
    {
      "@type": "Place", // area2
      "address": {
        "@type": "PostalAddress",
        "postalCode": "94041",
        "addressCountry": "US"
      }
    },
    {
      "@type": "GeoShape", // area3
      // Specify latitude first (i.e., lat long lat long ...)
      "polygon": "37.418128 -122.098167 37.382755 -122.118968 37.368551 -122.047978 37.400949 -122.048106 37.418128 -122.098167"
    },
    {
      "@type": "GeoShape", // area4
      // Specify latitude first (i.e., lat long lat long ...)
      "polygon": "37.806000 -122.425592 37.775849 -122.419043 37.795547 -122.394046 37.808747 -122.412619"
    },
    {
      "@type": "GeoCircle", // area5
      "geoMidpoint": {
        "@type": "GeoCoordinates",
        "latitude": "37.7392607",
        "longitude": "-122.3895522"
      },
      "geoRadius": "4505"
    }
  ],
  "offers": {
    "@type": "Offer",
    "priceSpecification": [{
        "@type": "DeliveryChargeSpecification",
        "@id": "http://www.provider.com/threebrotherstacos/deliveryfee/1",
        "price": "8.00", // Charges $8 for area5
        "priceCurrency": "USD",
        "eligibleTransactionVolume": {
          "@type": "PriceSpecification",
          "minPrice": "20.00",
          "priceCurrency": "USD"
        },
        "eligibleRegion": [ // area5
          {
            "@type": "GeoCircle",
            "geoMidpoint": {
              "@type": "GeoCoordinates",
              "latitude": "37.7392607",
              "longitude": "-122.3895522"
            },
            "geoRadius": "4505"
          }
        ]
      },
      {
        "@type": "DeliveryChargeSpecification",
        "@id": "http://www.provider.com/threebrotherstacos/defaultdeliveryfee",
        "price": "6.00", // Charges $6 when delivered from Foo restaurant to area1, area2, area3 and area4 (Default charge)
        "priceCurrency": "USD",
        "eligibleTransactionVolume": {
          "@type": "PriceSpecification",
          "minPrice": "20.00", // Minimum order price for delivery is $20
          "priceCurrency": "USD"
        }
      }
    ]
  }
},

Para mais exemplos de entidades de serviço, consulte Exemplos de feed de serviço.

ServiceDeliveryHoursSpecification

Representa o horário de atendimento para os usuários programarem pedidos assim que possível para entrega e retirada de dados.

Normalmente, o valor de opens é menor que o valor de closes. A as seguintes diretrizes se aplicam ao uso das propriedades opens e closes:

  • As propriedades opens e closes são opcionais para ServiceDeliveryHoursSpecification, mas é altamente recomendável antes de incluí-las.
  • O horário precisa ser especificado no horário local do serviço. Não inclua um fuso horário em um valor opens ou closes. Se um fuso horário for especificado, o Google ignora as informações de fuso horário.
  • Se opens e closes não forem especificados explicitamente, presumimos que "Assim que possível" fazer pedidos está disponível todos os dias, a todo momento.
  • Se opens e closes forem iguais, consideramos que a ordem "Assim que possível" é indisponível.
  • Se opens for maior que closes, o horário de fechamento será interpretado como sendo no dia seguinte. Por exemplo, se o horário de funcionamento estiver definido para 1o de janeiro às às 17h e o horário de fechamento é 2h, então o restaurante será interpretado como fechando no dia 2 de janeiro às 2h.

A tabela a seguir descreve as propriedades do Tipo de ServiceDeliveryHoursSpecification:

Propriedade Tipo Necessidade Descrição
@type Texto Obrigatório É sempre "ServiceDeliveryHoursSpecification".
validFrom DateTime Opcional

A data e a hora (incluindo o fuso horário) em que os Os pedidos "Assim que possível" podem ser cumpridas. Por exemplo, "2017-05-01T07:00:00-07:00". Se a propriedade for não estiver definido, ele será considerado válido todos os dias.

Para mais informações, consulte Formatos de data e hora.

validThrough DateTime Opcional

Data e hora (incluindo o fuso horário) após as quais o Pedidos assim que possível que não podem ser atendidas. Por exemplo, "2017-05-01T07:00:00-07:00". Se esta propriedade não for definida, ela será considerada válida todos os dias.

O horário de validThrough é exclusivo. Por exemplo, se se o horário for definido como 18h, ele será válido até 17h59min59s.

Para mais informações, consulte Formatos de data e hora.

opens Time Opcional

Horário de início do serviço de entrega para os usuários Pedidos "O mais rápido possível" a serem cumpridas. Por exemplo, "T10:30:00".

O horário precisa ser especificado no horário local do serviço. Não inclua um fuso horário em um valor opens. Se um fuso horário for especificado, o Google ignorará essas informações.

Para mais informações, consulte Formatos de data e hora.

closes Time Opcional

A hora em que o serviço de entrega Os pedidos "Assim que possível" não são mais disponíveis. Por exemplo, "T23:59:59".

O horário de closes é exclusivo. Portanto, se você definir abre/fecha para este ServiceDeliveryHoursSpecification às 10h e 16h, o último pedido será às 15h59min59s.

O horário precisa ser especificado no horário local do serviço. Não inclua um fuso horário em um valor closes. Se um fuso horário for especificado, o Google ignorará essas informações.

Para mais informações, consulte Formatos de data e hora.

dayOfWeek Matriz de DayOfWeek Opcional

Dias da semana em que este serviço está disponível para os usuários Pedidos o mais rápido possível. Confira a seguir os valores válidos:

  • "Segunda-feira"
  • "Terça-feira"
  • "Quarta-feira"
  • "Quinta-feira"
  • "Sexta-feira"
  • "Sábado"
  • "Domingo"

Se você não especificar nenhum dia da semana, então ServiceDeliveryHoursSpecification se aplica a todos os dias.

deliveryLeadTime QuantitativeValue Opcional Tempo de entrega estimado, em minutos, após o pedido ser colocados. Recomendamos que você defina essa propriedade. Defina o Campo value de QuantitativeValue ao número de minutos e unitCode para "MIN".

O exemplo a seguir mostra um elemento ServiceDeliveryHoursSpecification:

Exemplo 1

{
  "@type": "ServiceDeliveryHoursSpecification",
  "opens": "T08:00:00",
  "closes": "T17:00:00",
  "deliveryLeadTime": {
    "@type": "QuantitativeValue",
    "value": "60", // If no exact deliveryLeadTime, put a maximum time
    "unitCode": "MIN"
  }
},

Exemplo 2

{
  "@type": "ServiceDeliveryHoursSpecification",
  "opens": "T08:00:00",
  "closes": "T17:00:00",
  "deliveryLeadTime": {
    "@type": "QuantitativeValue",
    "minValue": "30",
    "maxValue": "50",
    "unitCode": "MIN"
  }
}
    

Enums

RestrictedDiet

O tipo RestrictedDiet tem os seguintes valores possíveis:

  • http://schema.org/DiabeticDiet
  • http://schema.org/GlutenFreeDiet
  • http://schema.org/HalalDiet
  • http://schema.org/HinduDiet
  • http://schema.org/KosherDiet
  • http://schema.org/LowCalorieDiet
  • http://schema.org/LowFatDiet
  • http://schema.org/LowLactoseDiet
  • http://schema.org/LowSaltDiet
  • http://schema.org/VeganDiet
  • http://schema.org/VegetarianDiet