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 paraTIME
. - 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 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 |
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:
|
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 O padrão para As seguintes propriedades
|
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:
|
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 A listagem abaixo mostra quais propriedades do
|
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
Os objetos O número de |
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
ecloses
são opcionais paraAdvanceServiceDeliveryHoursSpecification
, 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
oucloses
. Os fusos horários especificados são ignorados. - Se
opens
ecloses
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
ecloses
forem iguais, presumimos que a ordenação avançada seja indisponível. - Se
opens
for maior quecloses
, 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
ecloses
se referem ao horário futuro.closes
é exclusivo. Para exemplo, seopens
for 10h ecloses
for 16h comserviceTimeInterval
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 Se esse tipo for especificado como um
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 Se esse tipo for especificado como um
O horário de 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 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".
O horário precisa ser especificado no horário local do serviço. Não
inclua um fuso horário em um valor 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:
Se você não especificar nenhum dia da semana, então o
|
serviceTimeInterval |
Duration |
Obrigatório |
Intervalo entre dois tempos de serviço sucessivos. Por exemplo: se
|
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 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 |
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" } ], ... },
Menu
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.
MenuDisclaimer
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
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:
|
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 A listagem abaixo mostra quais propriedades do
|
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.
MenuItemOption
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
A listagem abaixo mostra quais propriedades do
|
menuAddOn |
Array of |
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 -- ] } ] } ] }
MenuSection
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 A lista a seguir mostra quais propriedades do
|
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 Esta propriedade só é usada nos seguintes tipos de oferta:
|
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:
Ela não é usada nos seguintes tipos de oferta:
|
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:
Ela não é usada nos seguintes tipos de oferta:
|
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:
Caso sua disponibilidade
seja diferente para cada dia da semana,
usar mais de um objeto |
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:
Esta propriedade não é usada nos seguintes tipos de oferta:
|
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 Essa propriedade pode ser usada nos seguintes tipos de oferta:
Esta propriedade não é usada nos tipos de oferta a seguir.
|
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:
Esta propriedade não é usada nos tipos de oferta a seguir.
|
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:
Esta propriedade não é usada nos tipos a seguir.
|
inventoryLevel |
QuantitativeValue | Opcional |
O nível de inventário aproximado atual dos itens. Essa propriedade pode ser usada nos seguintes tipos de oferta:
Esta propriedade não é usada nos seguintes tipos de oferta:
|
priceSpecification |
Matriz de DeliveryChargeSpecification (em inglês) ou matriz de PaymentChargeSpecification | Opcional |
Quando usado em Essa propriedade pode ser usada nos seguintes tipos de oferta:
Esta propriedade não é usada nos seguintes tipos de oferta:
|
offeredBy |
Matriz de IDs de Restaurant |
Opcional | Representa os restaurantes deste local ( Se não for especificado, este Essa propriedade pode ser usada nos seguintes tipos de oferta:
Esta propriedade não é usada nos seguintes tipos de oferta:
|
applicableFulfillmentMethod |
Matriz de texto | Opcional | Representa o tipo de serviço que este Se não for especificado, este Essa propriedade pode ser usada nos seguintes tipos de oferta:
Esta propriedade não é usada nos seguintes tipos de oferta:
|
@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
ecloses
são opcionais, mas altamente recomendadas para denotar quando a ordenação está disponível. A prática recomendada para definir horas é incluir uma matrizdeliveryHours
que contenha umaServiceDeliveryHoursSpecification
com as propriedadesopens
ecloses
. Você podem incluir um objetoAdvanceServiceDeliveryHoursSpecification
deliveryHours
com as próprias propriedadesopens
ecloses
, se você quiser oferecer um período mais limitado para pedidos antecipados. - Se
opens
ecloses
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
oucloses
. Se um fuso horário for especificado, o Google ignora essas informações. - Se
opens
ecloses
forem iguais, consideramos que o restaurante é aberto por 0 minutos. - Se
opens
for maior quecloses
, 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
|
opens |
Time |
Opcional |
Quando usada em uma especificação Quando usada em uma especificação O horário precisa ser especificado no horário local do serviço. Não
inclua um fuso horário em um valor Para mais informações, consulte Formatos de data e hora. |
closes |
Time |
Opcional |
Quando usada em uma especificação O horário precisa ser especificado no horário local do serviço. Não
inclua um fuso horário em um valor Para mais informações, consulte Formatos de data e hora. |
validFrom |
DateTime |
Opcional |
Quando usada em uma especificação Por exemplo, se as horas fornecidas se aplicam a todo o ano de 2017, você define
Defina Quando usado em uma especificação 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 Por exemplo, se as horas fornecidas se aplicam a todo o ano de 2017, você define
Defina Quando usado em uma especificação 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 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
|
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
Nomes válidos quando usados em
|
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:
|
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 |
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 doMenuItem
apropriado. ouMenuItemOption
.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.
|
@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 Defina o período especial usando os métodos |
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 A propriedade |
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 "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
Consulte o "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
ecloses
são opcionais paraServiceDeliveryHoursSpecification
, 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
oucloses
. Se um fuso horário for especificado, o Google ignora as informações de fuso horário. - Se
opens
ecloses
não forem especificados explicitamente, presumimos que "Assim que possível" fazer pedidos está disponível todos os dias, a todo momento. - Se
opens
ecloses
forem iguais, consideramos que a ordem "Assim que possível" é indisponível. - Se
opens
for maior quecloses
, 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 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 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 O horário precisa ser especificado no horário local do serviço. Não
inclua um fuso horário em um valor 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:
Se você não especificar nenhum dia da semana, então
|
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
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2024-08-21 UTC.