Requisitos gerais
As entidades precisam ser estruturadas para estar em uma linha por entidade nos feeds (as entidades são separadas por caracteres de nova linha). Para facilitar a leitura, os exemplos de JSON nesta página não seguem essa estrutura. Porém, siga essa estrutura ao enviar os feeds. Por exemplo, uma entidade de menu precisa ser estruturada como o seguinte código:
{"@type": "Menu","name": "Coffee Shop A","@id": "1535"}
Cada entidade "Restaurante" pode ter duas entidades de serviço (uma para os tipos de serviço "ENTREGA" e "TakeOUT"). Cada entidade "Serviço" só pode ter uma entidade "Menu".
Qualquer subentidade pode ser reutilizada em vários restaurantes.
Diretrizes do valor JSON
Coerção de tipo
Um tipo de valor JSON pode ser diferente do tipo definido no esquema, desde que o valor possa ser forçado para o tipo obrigatório. Por exemplo, as propriedades de string podem aceitar valores de string e inteiros como entrada. Da mesma forma, as propriedades de números inteiros podem aceitar valores de string, desde que essa string possa ser analisada como um número inteiro válido.
A coerção de tipo também funciona para propriedades repetidas. As propriedades repetidas podem aceitar valores como entrada sem estar entre colchetes []
. Por exemplo, a propriedade OperationHours.serviceId
aceita "service_id"
e ["service_id"]
como entradas válidas.
Valores de DateTime e Horário
DateTime
é baseado no tipo do schema.org
e, a menos que indicado de outra forma, precisa seguir o formato ISO 8601 e incluir 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 de serviço. Também é baseado no tipo de schema.org e precisa
seguir 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 prefixo "T" antes do horário faz parte do formato e é obrigatório.
- É necessário especificar o fuso horário para
DATETIME
. Ele não é necessário paraTIME
. - O horário precisa ser especificado no horário local do restaurante ou serviço.
Dados do restaurante
Restaurante (obrigatório)
Uma entidade necessária para implementar. Descreve um restaurante.
A tabela a seguir lista as propriedades do tipo Restaurant
:
Propriedade | Tipo | Descrição | |
---|---|---|---|
@type |
Const (link em inglês) | Obrigatório. Valor: |
|
@id |
String | Obrigatório. Um identificador exclusivo do restaurante ou do provedor de entrega. Exemplo: |
|
name |
String | Obrigatório. Nome do restaurante. Exemplo: |
|
description |
String |
Uma descrição do restaurante. Exemplo: |
|
url |
URL |
O URL que representa o restaurante. O domínio do restaurante tem preferência sobre o domínio do agregador. Exemplo: |
|
sameAs |
URL |
O site oficial do restaurante. Exemplo: |
|
telephone |
String |
Número de telefone do restaurante. Exemplo: |
|
streetAddress |
String | Obrigatório. O endereço do restaurante. Exemplo: |
|
addressLocality |
String | Obrigatório. A localidade ou cidade. Exemplo: |
|
addressRegion |
String | Obrigatório. A região ou o estado. Exemplo: |
|
postalCode |
String | Obrigatório. É o código postal. Exemplo: |
|
addressCountry |
String | Obrigatório. Código do país ISO 3166-1 alfa-2 com duas letras. Exemplo: |
|
latitude |
Número |
Latitude em graus. Os valores são restritos ao intervalo [[-90, 90]]. A precisão precisa ser de pelo menos cinco casas decimais. Exemplo: |
|
longitude |
Número |
Longitude em graus. Os valores são restritos ao intervalo [[-180, 180]]. A precisão precisa ser de pelo menos cinco casas decimais. Exemplo: |
|
dealId |
List<String> |
|
|
imprint |
String |
O selo editorial de um restaurante é uma seção de informações adicionais sobre o restaurante, como nome completo, endereço oficial e número de registro. Para formatar essa informação, use " ". Exemplo: |
|
economicOperator |
String |
Informações do operador econômico associadas ao restaurante, se aplicável. Esses dados vão aparecer na seção "Informações do comerciante". O texto pode ser formatado usando " ". Exemplo: |
|
dateModified |
Carimbo de data/hora ISO |
A data e a hora da última modificação do feed de entidade de restaurante no formato de carimbo de data/hora ISO, mas com o tipo String. Exemplo: |
O exemplo a seguir mostra um elemento Restaurant
:
Exemplo
{ "@type": "Restaurant", "@id": "10824", "name": "Pronto Wood Fired Pizzeria", "url": "https://www.provider.com/pronto-wood-fired-pizzeria", "telephone": "+16503659978", "streetAddress": "2560 El Camino Real", "addressLocality": "Palo Alto", "addressRegion": "CA", "postalCode": "94061", "addressCountry": "US", "latitude": 37.472842, "longitude": -122.217144 }
Transação
Tipos de descontos que podem ser aplicados a um carrinho.
A tabela a seguir lista as propriedades do tipo Deal
:
Propriedade | Tipo | Descrição | |
---|---|---|---|
@type |
Const (link em inglês) | Obrigatório. Valor: |
|
@id |
String | Obrigatório. Um identificador exclusivo da transação. Exemplo: |
|
dealCode |
String | Obrigatório. ID exclusivo da transação por parceiro. Esse ID precisa identificar exclusivamente a oferta no seu sistema de promoção. O Google envia a você esse identificador no campo Exemplo: |
|
applicableServiceType |
Lista<ServiceType > |
O serviço ao qual a oferta se aplica. O padrão supõe uma transação aplicável a todos. |
|
eligibleMaxOrders |
Número inteiro |
Esta transação só está qualificada quando o usuário tem um número menor ou igual a esse número de pedidos concluídos anteriores. |
|
availabilityId |
List<String> |
Os valores @id das entidades de disponibilidade que fornecem detalhes sobre quando a seção do cardápio está disponível. Exemplo: |
|
isDisabled |
Booleano |
Isso substitui outras verificações de validade. |
|
dealType |
DealType |
Obrigatório. A categoria da oferta a que o desconto será aplicado. A categoria pode ser o total do carrinho, taxas de serviço ou taxas de entrega. |
|
priceCurrency |
String | Obrigatório quando
Obrigatório quando
Moeda (no formato ISO 4217 de três letras) do desconto. Exemplo: |
|
eligibleTransactionVolumeMin |
Número |
Volume de transações, em unidade monetária, para a qual esta promoção é válida. |
|
termsOfServiceUrl |
URL | Obrigatório. Documentação legível dos Termos de Serviço. |
|
dateModified |
Carimbo de data/hora ISO |
É a data e a hora da última modificação do feed da entidade de oferta no formato de carimbo de data/hora ISO, mas com o tipo String. Exemplo: |
|
Exatamente um dos grupos de propriedades a seguir é obrigatório. | |||
discount |
Grupo 1 | Número |
Valor do desconto em número. |
discountPercentage |
Grupo 2 | Número |
Valor do desconto como porcentagem do preço original. |
O exemplo a seguir mostra um elemento Deal
:
Exemplo 1
{ "@type": "Deal", "@id": "ONEDOLLARFEE", "dealCode": "THREEDOLLARFEE", "dealType": "CART_OFF", "availabilityId": [ "availability_may2020" ], "termsOfServiceUrl": "http://www.provider.com/onedollardeal", "applicableServiceType": [ "TAKEOUT" ], "discount": 3, "priceCurrency": "USD" }
Exemplo 2
{ "@type": "Deal", "@id": "10PERCOFF", "dealCode": "10PERCOFF", "dealType": "CART_OFF", "availabilityId": [ "availability_weekdays_evening" ], "termsOfServiceUrl": "http://www.provider.com/deal", "discountPercentage": 10, "priceCurrency": "USD" }
Exemplo 3
{ "@type": "Deal", "@id": "FREEDELIVERY", "dealCode": "FREEDELIVERY", "dealType": "DELIVERY_OFF", "availabilityId": [ "availability_may" ], "applicableServiceType": [ "DELIVERY" ], "termsOfServiceUrl": "http://www.provider.com/free_delivery_deal", "discountPercentage": 100, "eligibleTransactionVolumeMin": 25, "priceCurrency": "USD" }
Dados de serviço
Serviço (obrigatório)
Descreve os detalhes do serviço de entrega de comida de um restaurante. Service
é uma
entidade obrigatória a ser implementada.
A tabela a seguir lista as propriedades do tipo Service
:
Propriedade | Tipo | Descrição | |
---|---|---|---|
@type |
Const (link em inglês) | Obrigatório. Valor: |
|
@id |
String | Obrigatório. Identificador do serviço de fulfillment. Exemplo: |
|
serviceType |
ServiceType |
Obrigatório. O tipo de serviço oferecido. Os valores possíveis são "DELIVERY" ou "TakeOUT". Exemplo: |
|
restaurantId |
String | Obrigatório. O valor @id da entidade Restaurante correlacionado a esta entidade de serviço. Exemplo: |
|
menuId |
String | Obrigatório. O valor @id da entidade Menu correlacionada a essa entidade de serviço. Exemplo: |
|
dateModified |
Carimbo de data/hora ISO |
A data e a hora da última modificação do feed de entidades de serviço no formato de carimbo de data/hora ISO. Exemplo: |
|
isDisabled |
Booleano |
Indica se a entidade está desativada. Use esse tipo somente quando você precisar desativar a entidade devido a um evento inesperado e não souber quando o serviço será restabelecido (por exemplo, não use em feriados). Exemplo: |
|
servingConfig |
ServingConfig |
Configuração de veiculação do serviço usado para controlar vários recursos, por exemplo, desativação do widget de promoções etc. |
|
actionLinkUrl |
String |
Contém o URL de um serviço de entrega/retirada que será usado ao migrar da experiência completa de pedido de comida para o redirecionamento. |
O exemplo a seguir mostra um elemento Service
:
Exemplo 1
{ "@type": "Service", "@id": "10824/takeout", "serviceType": "TAKEOUT", "menuId": "10824", "restaurantId": "10824", "actionLinkUrl": "https://www.rwgpartnerwebsite.com/foodorderpickup/merchant_foepa_3" }
Exemplo 2
{ "@type": "Service", "@id": "10824/delivery", "serviceType": "DELIVERY", "menuId": "10824", "restaurantId": "10824", "actionLinkUrl": "https://www.rwgpartnerwebsite.com/foodorderdelivery/merchant_foepa_3" }
ServiceArea
Descreve a região geográfica em que o alimento pode ser entregue. Essa entidade
será necessária para implementação se a entidade Service
associada tiver
serviceType
definido como "DELIVERY".
A tabela a seguir lista as propriedades do tipo ServiceArea
:
Propriedade | Tipo | Descrição | |
---|---|---|---|
@type |
Const (link em inglês) | Obrigatório. Valor: |
|
@id |
String | Obrigatório. Identificador exclusivo da área de cobertura. Exemplo: |
|
serviceId |
List<String> | Obrigatório. O valor @id da entidade de serviço correlacionado a essa entidade ServiceArea. Exemplo: |
|
dateModified |
Carimbo de data/hora ISO |
A data e a hora da última modificação do feed de entidade de ServiceArea no formato de carimbo de data/hora ISO, mas com o tipo String. Exemplo: |
|
exclude |
Booleano |
Excluir esta área de cobertura da região total de entrega. Por exemplo, um CEP pode ser excluído de uma área maior do polígono. |
|
Exatamente um dos grupos de propriedades a seguir é obrigatório. | |||
polygon |
Grupo 1 | List<String> |
Um polígono ou multipolígono expresso como uma série de três ou mais pontos delimitados por espaços. O recomendado é que o primeiro e o último pontos sejam iguais, mas isso não é obrigatório. Cada ponto em um polígono ou multipolígono é definido por um ponto de latitude seguido de um ponto de longitude. Você também deve especificar os pontos no sentido anti-horário. Exemplo: |
geoMidpointLatitude |
Grupo 2 | Número |
Indica a coordenada de latitude no centro da área Circle. Exemplo: |
geoMidpointLongitude |
Grupo 2 | Número |
Indica a coordenada de longitude no centro da área Circle. Exemplo: |
geoRadius |
Grupo 2 | Número inteiro |
Indica o raio aproximado (em metros) da área de Circle. Exemplo: |
postalCode |
Grupo 3 | String |
Indica o código postal. Exemplo: |
addressCountry |
Grupo 3 | String |
Indica o código do país ISO 3166-1 alfa-2 com duas letras. Exemplo: |
O exemplo a seguir mostra um elemento ServiceArea
:
Exemplo
{ "@type": "ServiceArea", "@id": "28427", "serviceId": [ "10824/delivery" ], "polygon": [ "37.4818562 -122.25801303 37.48247836 -122.25801303 37.48434484 -122.25621319 37.48621133 -122.25424681 37.49181077 -122.24704744 37.49305509 -122.24541414 37.49429942 -122.2436143 37.49803238 -122.23821477 37.49803238 -122.21285044 37.49367726 -122.15885517 37.49056645 -122.15722187 37.48621133 -122.15542202 37.48558917 -122.15525548 37.4818562 -122.15525548 37.43191387 -122.17865343 37.43191387 -122.23444854" ] }
Horário de funcionamento (obrigatório)
Descreve a janela de pedidos em que os usuários podem acessar o fluxo e fazer pedidos assim que possível
ou futuros. A implementação de OperationHours
é obrigatória, e o padrão é representar a operação em todos os horários, todos os dias.
Os atributos OperationHours
opens
e closes
especificam os horários de abertura e fechamento do
sistema on-line que permite aos usuários fazer pedidos. Durante o horário de funcionamento do sistema
on-line, use ServiceHours
para especificar os horários de abertura e fechamento
em que os pedidos dos usuários podem ser atendidos.
O horário precisa ser especificado no horário local do serviço. Não inclua um fuso horário
em um valor opens
. Se um fuso horário for especificado, o Google ignorará essas informações. Para mais informações, consulte Formatos de data e hora.
A tabela a seguir lista as propriedades do tipo OperationHours
:
Propriedade | Tipo | Descrição | |
---|---|---|---|
@type |
Const (link em inglês) | Obrigatório. Valor: |
|
@id |
String | Obrigatório. Um identificador exclusivo da entidade que descreve a janela de pedidos na qual os usuários podem acessar o fluxo e fazer pedidos assim que possível ou futuros. Exemplo: |
|
serviceId |
List<String> | Obrigatório. O valor @id da entidade de serviço correlacionado a essa entidade OperationHours. Exemplo: |
|
opens |
Horário ISO (local) |
Indica a hora específica do dia no formato ISO a partir da qual os pedidos dos usuários podem ser feitos. Exemplo: |
|
closes |
Horário ISO (local) |
Indica a hora do dia específica no formato ISO da qual os pedidos dos usuários não podem ser feitos. Exemplo: |
|
dayOfWeek |
Lista<DayOfWeek > |
Uma lista dos dias da semana em que esse horário de funcionamento é válido. Os valores aceitáveis são "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY" e "SUNDAY". Exemplo: |
|
validFrom |
Carimbo de data/hora ISO | Obrigatório quando
Um carimbo de data/hora ISO que indica o horário de início da janela de pedidos em que os usuários podem acessar o fluxo e fazer pedidos futuros ou o mais rápido possível. Exemplo: |
|
validThrough |
Carimbo de data/hora ISO | Obrigatório quando
Um carimbo de data/hora ISO que indica o horário de término da janela de pedidos além do qual os usuários não podem acessar o fluxo e fazer pedidos futuros ou assim que possível. Exemplo: |
|
isSpecialHour |
Booleano |
Um booleano que indica se o OperationHours é para horários de funcionamento especiais. Os valores aceitáveis são "falso" e "verdadeiro". Exemplo: |
|
dateModified |
Carimbo de data/hora ISO |
A data e a hora da última modificação do feed de entidade de "OperationHours" no formato de carimbo de data/hora ISO, mas com o tipo "String". Exemplo: |
O exemplo a seguir mostra um elemento OperationHours
:
Exemplo 1
{ "@type": "OperationHours", "@id": "10824/deliveryOh", "serviceId": [ "10824/delivery" ], "isSpecialHour": false }
Exemplo 2
{ "@type": "OperationHours", "@id": "10824/takeoutOh", "serviceId": [ "10824/takeout" ], "isSpecialHour": false }
Horário de atendimento (obrigatório)
Descreve a janela de fulfillment em que os usuários podem escolher slots de fulfillment (assim que possível ou slots futuros). A implementação de ServiceHours
é necessária.
Os atributos OperationHours
opens
e closes
especificam os horários de abertura e fechamento do
sistema on-line que permite aos usuários fazer pedidos. Durante o horário de funcionamento do sistema
on-line, use ServiceHours
para especificar os horários de abertura e fechamento
em que os pedidos dos usuários podem ser atendidos.
O horário precisa ser especificado no horário local do serviço. Não inclua um fuso horário
em um valor opens
. Se um fuso horário for especificado, o Google ignorará essas informações. Para mais informações, consulte Formatos de data e hora.
A tabela a seguir lista as propriedades do tipo ServiceHours
:
Propriedade | Tipo | Descrição | |
---|---|---|---|
@type |
Const (link em inglês) | Obrigatório. Valor: |
|
@id |
String | Obrigatório. Identificador exclusivo da entidade que descreve a janela de fulfillment. Os usuários podem escolher slots de fulfillment, ou seja, slots assim que possível ou slots futuros. Exemplo: |
|
orderType |
OrderType |
Obrigatório. Uma string que indica se o horário de serviço se aplica a pedidos avançados ou assim que possível. Os valores aceitáveis são "ASAP" e "ADVANCE". Exemplo: |
|
serviceId |
List<String> | Obrigatório. O valor @id da entidade de serviço correlacionado a essa entidade ServiceHours. Exemplo: |
|
operationHoursId |
List<String> | Obrigatório quando
O valor @id da entidade OperationHours correlacionada a essa entidade ServiceHours. Exemplo: |
|
opens |
Horário ISO (local) |
Indica a hora específica do dia no formato ISO a partir da qual os pedidos dos usuários podem ser atendidos. Exemplo: |
|
closes |
Horário ISO (local) |
Indica a hora do dia específica no formato ISO da qual os pedidos dos usuários não poderão ser atendidos. Exemplo: |
|
dayOfWeek |
Lista<DayOfWeek > |
Uma lista dos dias da semana em que esse horário de funcionamento é válido. Exemplo: |
|
validFrom |
Carimbo de data/hora ISO | Obrigatório quando
Um carimbo de data/hora ISO que indica o horário de início da janela de pedidos em que os usuários podem acessar o fluxo e fazer pedidos futuros ou o mais rápido possível. Exemplo: |
|
validThrough |
Carimbo de data/hora ISO | Obrigatório quando
Um carimbo de data/hora ISO que indica o horário de término da janela de pedidos além do qual os usuários não podem acessar o fluxo e fazer pedidos futuros ou assim que possível. Exemplo: |
|
isSpecialHour |
Booleano |
Um booleano que indica se o OperationHours é para horários de funcionamento especiais. Os valores aceitáveis são "falso" e "verdadeiro". Exemplo: |
|
leadTimeMin |
Número inteiro |
Tempo mínimo de entrega/retirada estimado, em minutos, após o pedido ser feito. Recomendamos que você defina essa propriedade. Exemplo: |
|
leadTimeMax |
Número inteiro |
Tempo máximo estimado de entrega/retirada, em minutos, após o pedido assim que possível. Recomendamos que você defina essa propriedade. Exemplo: |
|
advanceBookingRequirementMin |
Número inteiro | Obrigatório quando
O número mínimo de minutos a partir do horário do pedido em que o pedido antecipado pode ser atendido. Por exemplo, se um pedido antecipado precisar de pelo menos 60 minutos para ser atendido, o avançoBookingRequisitoMin será 60. Exemplo: |
|
advanceBookingRequirementMax |
Número inteiro | Obrigatório quando
O número máximo de minutos a partir do horário em que o pedido antecipado pode ser atendido. Por exemplo, se um pedido antecipado não puder ser atendido mais de dois dias depois, o valor primaryBookingRequisitoMax será 2.880. Exemplo: |
|
advanceBookingSlotInterval |
String | Obrigatório quando
Intervalo entre dois horários sucessivos de reserva antecipada. Por exemplo: se o horário de funcionamento for às 8h e às 20h e o avançoBookingSlotInterval for de 15 minutos, o usuário vai poder escolher os horários de atendimento do pedido como 8h, 8h15, 8h30, 8h45 e assim por diante até as 20h. A duração precisa ser especificada como uma duração de período ISO. Por exemplo: "PT15M" significa intervalos de 15 minutos. Exemplo: |
|
dateModified |
Carimbo de data/hora ISO |
A data e a hora da última modificação do feed de entidade de ServiceHours no formato de carimbo de data/hora ISO, mas com o tipo String. Exemplo: |
O exemplo a seguir mostra um elemento ServiceHours
:
Exemplo 1
{ "@type": "ServiceHours", "@id": "613741/delivery", "orderType": "ASAP", "serviceId": [ "10824/delivery" ], "opens": "T00:00", "closes": "T00:00", "isSpecialHour": true, "validFrom": "2017-12-25T00:00:00-07:00", "validThrough": "2017-12-25T23:59:00-07:00" }
Exemplo 2
{ "@type": "ServiceHours", "@id": "10824/takeoutSh_0", "orderType": "ASAP", "serviceId": [ "10824/takeout" ], "operationHoursId": [ "10824/takeoutOh" ], "opens": "11:00", "closes": "21:00", "dayOfWeek": [ "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY" ], "isSpecialHour": false }
Fee
Descreve uma taxa. Se a entidade Service
associada tiver
serviceType
definido como "DELIVERY", será necessário um Fee
com feeType
definido como
"DELIVERY".
A tabela a seguir lista as propriedades do tipo Fee
:
Propriedade | Tipo | Descrição | |
---|---|---|---|
@type |
Const (link em inglês) | Obrigatório. Valor: |
|
@id |
String | Obrigatório. Um identificador exclusivo da entidade que descreve a taxa. Exemplo: |
|
serviceId |
List<String> | Obrigatório. O valor @id da entidade de serviço correlacionada a essa entidade de taxa. Exemplo: |
|
feeType |
FeeType |
Obrigatório. Uma string que indica se a taxa se aplica a pedidos de entrega ou serviço. Os valores aceitáveis são "DELIVERY" e "SERVICE". Exemplo: |
|
priceCurrency |
String | Obrigatório. É o código de moeda ISO 4217 com três letras. Exemplo: |
|
basePrice |
Número |
Preço base da taxa, aplicável quando Exemplo: |
|
minPrice |
Número |
Taxa mínima, limite do valor da taxa quando Exemplo: |
|
maxPrice |
Número |
Taxa máxima, limite do valor da taxa quando Exemplo: |
|
eligibleRegion |
List<String> |
O @id do ServiceArea das regiões geopolíticas para as quais a taxa é válida. Use esta propriedade somente se as taxas de entrega variarem de acordo com a região. Exemplo: |
|
eligibleTransactionVolumeMin |
Número |
O volume mínimo de transações, em unidade monetária, para o qual esta especificação de taxa é válida. Exemplo: |
|
eligibleTransactionVolumeMax |
Número |
O volume máximo de transações, em unidade monetária, para o qual esta especificação de taxa é válida. Por exemplo, a taxa não será aplicada se estiver acima de um determinado volume de pedidos. Exemplo: |
|
validFrom |
Carimbo de data/hora ISO |
Um carimbo de data/hora ISO que indica o horário de início da validade da taxa. Exemplo: |
|
validThrough |
Carimbo de data/hora ISO |
Um carimbo de data/hora ISO que indica o horário de término após o qual a taxa é inválida. Exemplo: |
|
dateModified |
Carimbo de data/hora ISO |
A data e a hora da última modificação do feed de entidade da tarifa no formato de carimbo de data/hora ISO, mas com o tipo "String". Exemplo: |
|
priority |
Número |
Um valor positivo diferente de zero. Quando mais de uma taxa se aplica ao carrinho do usuário, a taxa de prioridade mais alta tem precedência sobre as mais baixas. Se esse campo for fornecido, a prioridade sempre terá precedência sobre uma prioridade calculada. Exemplo: |
|
Exatamente um dos grupos de propriedades a seguir é obrigatório. | |||
price |
Grupo 1 | Número |
Preço da taxa. Se o preço não for fixo, poderão ser fornecidos minPrice e maxPrice em vez de price. Exemplo: |
percentageOfCart |
Grupo 2 | Número |
Taxa em porcentagem do valor do carrinho. Valores aceitáveis são valores flutuantes entre 0 e 100, inclusive. Exemplo: |
pricePerMeter |
Grupo 3 | Número |
Taxa por metro para a distância radial do usuário. Por exemplo, se a distância até o usuário for de 5 km e a taxa for de US $0,001, a taxa do usuário será de US $5. Exemplo: |
O exemplo a seguir mostra um elemento Fee
:
Exemplo 1
{ "@type": "Fee", "@id": "28427", "serviceId": [ "10824/delivery" ], "feeType": "DELIVERY", "priceCurrency": "USD", "eligibleRegion": [ "28427" ], "eligibleTransactionVolumeMin": 20, "price": 5 }
Exemplo 2
{ "@type": "Fee", "@id": "28427", "serviceId": [ "10824/delivery" ], "feeType": "DELIVERY", "priceCurrency": "USD", "eligibleRegion": [ "28427" ], "eligibleTransactionVolumeMin": 20, "pricePerMeter": 0.0005, "basePrice": 4 }
Exemplo 3
{ "@type": "Fee", "@id": "28427", "serviceId": [ "10824/delivery" ], "feeType": "DELIVERY", "priceCurrency": "USD", "eligibleRegion": [ "28427" ], "eligibleTransactionVolumeMin": 20, "pricePerMeter": 0.0005, "basePrice": 4, "minPrice": 5, "maxPrice": 50 }
Exemplo 4
{ "@type": "Fee", "@id": "28427", "serviceId": [ "10824/delivery" ], "feeType": "DELIVERY", "priceCurrency": "USD", "eligibleRegion": [ "28427" ], "eligibleTransactionVolumeMin": 20, "percentageOfCart": 5, "basePrice": 4 }
Example 5
{ "@type": "Fee", "@id": "28427", "serviceId": [ "10824/delivery" ], "feeType": "DELIVERY", "priceCurrency": "USD", "eligibleRegion": [ "28427" ], "eligibleTransactionVolumeMin": 20, "percentageOfCart": 5, "basePrice": 4, "minPrice": 5, "maxPrice": 50 }
Dados do cardápio
Cardápio (obrigatório)
Uma entidade necessária para implementar. Descreve um menu.
A tabela a seguir lista as propriedades do tipo Menu
:
Propriedade | Tipo | Descrição | |
---|---|---|---|
@type |
Const (link em inglês) | Obrigatório. Valor: |
|
@id |
String | Obrigatório. Um identificador exclusivo do cardápio. Exemplo: |
|
name |
String |
O texto que pode identificar o menu quando um usuário está navegando no menu. Exemplo: |
|
disclaimer |
String |
Exoneração de responsabilidade do cardápio. Por exemplo, divulgação de informações nutricionais e divulgação de alérgenos. Exemplo: |
|
disclaimerUrl |
URL |
URL que direciona para uma página que fornece mais detalhes sobre a exoneração de responsabilidade. |
|
dateModified |
Carimbo de data/hora ISO |
A data e a hora da última modificação do feed de entidade de menu no formato de carimbo de data/hora ISO, mas com o tipo "String". Exemplo: |
O exemplo a seguir mostra um elemento Menu
:
Exemplo
{ "@type": "Menu", "@id": "10824" }
MenuSection
Uma entidade opcional a ser implementada. Descreve uma seção específica no menu.
A tabela a seguir lista as propriedades do tipo MenuSection
:
Propriedade | Tipo | Descrição | |
---|---|---|---|
@type |
Const (link em inglês) | Obrigatório. Valor: |
|
@id |
String | Obrigatório. Um identificador exclusivo da seção do cardápio. Exemplo: |
|
menuId |
Lista<ReverseReference > |
O valor @id da entidade de menu correlacionada a essa entidade Exemplo: |
|
menuSectionId |
List<String> |
Uma lista dos valores @id das entidades Importante:use apenas uma das referências Exemplo: |
|
parentMenuSectionId |
Lista<ReverseReference > |
O valor @id da entidade pai Importante:use apenas uma das referências Exemplo: |
|
name |
String | Obrigatório. O texto que pode identificar o Exemplo: |
|
description |
String |
Uma descrição da seção do cardápio. Exemplo: |
|
image |
URL |
O URL de uma imagem da seção do cardápio. Exemplo: |
|
menuItemId |
List<String> |
Uma lista dos valores @id das entidades Importante:use apenas uma das referências Exemplo: |
|
parentMenuItemId |
Lista<ReverseReference > |
Uma lista dos valores @id das entidades Importante:use apenas uma das referências Exemplo: |
|
parentMenuItemOptionId |
Lista<ReverseReference > |
Uma lista dos valores @id das entidades Importante:use apenas uma das referências Exemplo: |
|
eligibleQuantityMax |
Número inteiro |
O número máximo de complementos que podem ser selecionados na seção de complementos. Exemplo: |
|
eligibleQuantityMin |
Número inteiro |
O número mínimo de complementos que devem ser selecionados na seção de complementos. Exemplo: |
|
defaultItemId |
List<String> |
Uma lista de @id que faz referência a entidades Exemplo: |
|
availabilityId |
List<String> |
Os valores @id das entidades de disponibilidade que fornecem detalhes sobre quando a seção do cardápio está disponível. Exemplo: |
|
numberOfFreeAddOns |
Número inteiro |
Indica o número de complementos que um usuário pode selecionar sem custos financeiros. Válida somente para seções do menu de complementos. Exemplo: |
|
dateModified |
Carimbo de data/hora ISO |
A data e a hora da última modificação do feed de entidade Exemplo: |
|
applicableServiceType |
Lista<ServiceType > |
O serviço a que este |
|
offeredById |
List<String> |
Os valores @id de entidades Exemplo: |
O exemplo a seguir mostra um elemento MenuSection
:
Exemplo 1
{ "@type": "MenuSection", "@id": "853705", "menuId": [ { "@id": "10824", "displayOrder": 853705 } ], "menuSectionId": [ 12345, 43645 ], "name": "Pasta", "applicableServiceType": [ "TAKEOUT" ], "offeredById": [ "italian_restaurant_location_1" ] }
Exemplo 2
{ "@type": "MenuSection", "@id": "427484", "menuId": [ { "@id": "4287", "displayOrder": 964376 } ], "menuItemId": [ 46784, 42728 ], "name": "Burger", "applicableServiceType": [ "TAKEOUT", "DELIVERY" ] }
Exemplo 3
{ "@type": "MenuSection", "@id": "3138486", "name": "Choose a side:", "parentMenuItemId": [ { "@id": "6680295", "displayOrder": 3138486 } ], "eligibleQuantityMax": "5", "numberOfFreeAddOns": "2" }
Exemplo 4
{ "@type": "MenuSection", "@id": "3138482", "name": "Additional Pizza Toppings", "parentMenuItemId": [ { "@id": "6680246", "displayOrder": 3138482 } ], "eligibleQuantityMax": "3" }
Disponibilidade
Uma entidade opcional a ser implementada. Descreve o período em que uma entidade
MenuSection
é veiculada.
A tabela a seguir lista as propriedades do tipo Availability
:
Propriedade | Tipo | Descrição | |
---|---|---|---|
@type |
Const (link em inglês) | Obrigatório. Valor: |
|
@id |
String | Obrigatório. Um identificador exclusivo da entidade que descreve a disponibilidade da seção do cardápio. Exemplo: |
|
availabilityStarts |
Horário ISO (local) |
O carimbo de data/hora ISO que indica o horário de início em que a disponibilidade da seção de menu é válida. Exemplo: |
|
availabilityEnds |
Horário ISO (local) |
O carimbo de data/hora ISO que indica o horário de término após o qual a disponibilidade da seção de menu é inválida. Exemplo: |
|
availableDay |
Lista<DayOfWeek > |
Uma lista dos dias da semana em que a disponibilidade da seção do cardápio é válida. Exemplo: |
|
validFrom |
Carimbo de data/hora ISO |
Um carimbo de data/hora ISO que indica o horário de início em que a disponibilidade da seção de menu é válida. Exemplo: |
|
validThrough |
Carimbo de data/hora ISO |
Um carimbo de data/hora ISO que indica o horário de término após o qual a disponibilidade da seção de menu é inválida. Exemplo: |
|
dateModified |
Carimbo de data/hora ISO |
A data e a hora da última modificação do feed de entidade de disponibilidade no formato de carimbo de data/hora ISO, mas com o tipo "String". Exemplo: |
O exemplo a seguir mostra um elemento Availability
:
Exemplo
{ "@type": "Availability", "@id": "85343705", "availabilityStarts": "06:00", "availabilityEnds": "22:30", "availableDay": [ "SATURDAY", "SUNDAY" ] }
MenuItem (obrigatório)
Uma entidade necessária para implementar. Descreve um item em uma entidade Menu
.
A tabela a seguir lista as propriedades do tipo MenuItem
:
Propriedade | Tipo | Descrição | |
---|---|---|---|
@type |
Const (link em inglês) | Obrigatório. Valor: |
|
@id |
String | Obrigatório. Identificador exclusivo do item do cardápio. Exemplo: |
|
name |
String | Obrigatório. O texto que pode identificar o Exemplo: |
|
description |
String |
Uma descrição do item de menu. Exemplo: |
|
image |
URL |
URL de uma imagem do item do menu. Exemplo: |
|
parentMenuSectionId |
Lista<ReverseReference > |
Uma lista dos valores @id das entidades Importante:use apenas uma das referências Exemplo: |
|
menuAddOnId |
List<String> |
Uma lista dos valores @id das entidades Importante:use apenas uma das referências Exemplo: |
|
nutrition |
NutritionInformation |
Informações nutricionais do prato, principalmente calorias. Exemplo: |
|
allergen |
Lista<Allergen > |
Alérgenos deste MenuItem. Exemplo: |
|
additive |
Lista<Additive > |
Aditivos deste MenuItem. Exemplo: |
|
suitableDiet |
Lista<RestrictedDiet > |
O prato está em conformidade com a restrição alimentar descrita. Exemplo: |
|
depositInfo |
DepositInfo |
Informações de embalagem e reciclagem deste MenuItem. Exemplo: |
|
numberOfServings |
Número inteiro |
Número de porções disponíveis em um determinado item do cardápio. Exemplo: |
|
dateModified |
Carimbo de data/hora ISO |
A data e a hora da última modificação do feed de entidade Exemplo: |
O exemplo a seguir mostra um elemento MenuItem
:
Exemplo 1
{ "@type": "MenuItem", "@id": "18931508", "name": "Sauteed Baby Spinach", "parentMenuSectionId": [ { "@id": "3138479", "displayOrder": 18931508 } ] }
Exemplo 2
{ "@type": "MenuItem", "@id": "18931508", "name": "Hamburger", "parentMenuSectionId": [ { "@id": "4645747", "displayOrder": 12345 } ], "nutrition": { "calories": "400 cal" }, "allergen": [ { "allergenType": "GLUTEN", "levelOfContainment": "CONTAINS" } ], "additive": [ { "additiveName": "Sodium nitrite", "levelOfContainment": "CONTAINS" } ], "suitableDiet": [ "DIABETIC", "LOW_FAT" ] }
MenuItemOption
Uma entidade opcional a ser implementada. Descreve as opções que o usuário precisa fazer ao selecionar um prato/combo. O usuário deve selecionar uma opção. Caso contrário, o pedido será considerado inválido (por exemplo, o usuário deve escolher pequeno, médio ou grande para uma pizza).
A tabela a seguir lista as propriedades do tipo MenuItemOption
:
Propriedade | Tipo | Descrição | |
---|---|---|---|
@type |
Const (link em inglês) |
Valor: |
|
@id |
String | Obrigatório. Identificador exclusivo da opção de item de menu. Exemplo: |
|
menuItemId |
ReverseReference |
Obrigatório. O valor @id da entidade Exemplo: |
|
optionType |
OptionType |
Uma string que indica se a opção de item do menu está categorizada por tamanho, opção ou lado da pizza. Os valores aceitáveis são "SIZE", "OPTION" e "PIZZA_SIDE". "SIZE": o tamanho de MenuItemOption. Por exemplo, pequeno, médio ou grande. "OPÇÃO": qualquer variação que não seja o tamanho (por exemplo, um prato que vem como uma salada ou um sanduíche). Se não for possível distinguir entre "SIZE" e "OPTION", use "OPTION". "PIZZA_SIDE": específico para pizzas, por exemplo, Exemplo: |
|
value |
String ou
PizzaSide |
Obrigatório quando
Um valor de string ou um valor de enumeração. Os valores de enumeração são específicos do tipo de opção PIZZA_SIDE. |
|
applicableParentOptionValue |
String |
Uma string contendo o valor do valor da opção do item pai para o qual esta opção está disponível. Exemplo: |
|
menuAddOnId |
List<String> |
Uma lista dos valores @id das entidades Importante:use apenas uma das referências Exemplo: |
|
nutrition |
NutritionInformation |
Informações nutricionais do prato, principalmente calorias. Exemplo: |
|
allergen |
Lista<Allergen > |
Alérgenos deste MenuItem. Exemplo: |
|
additive |
Lista<Additive > |
Aditivos deste MenuItem. Exemplo: |
|
depositInfo |
DepositInfo |
As informações de embalagem e reciclagem deste MenuItem. Exemplo: |
|
numberOfServings |
Número inteiro |
Número de porções disponíveis em uma determinada opção de item do cardápio. Exemplo: |
|
dateModified |
Carimbo de data/hora ISO |
A data e a hora da última modificação do feed de entidade MenuItemOption no formato de carimbo de data/hora ISO, mas com o tipo String. Exemplo: |
O exemplo a seguir mostra um elemento MenuItemOption
:
Exemplo 1
{ "@type": "MenuItemOption", "@id": "56177944", "menuItemId": { "@id": "18930213", "displayOrder": 1234 }, "optionType": "PIZZA_SIDE", "value": "PIZZA_SIDE_LEFT" }
Exemplo 2
{ "@type": "MenuItemOption", "@id": "56177944", "menuItemId": { "@id": "18930213", "displayOrder": 1234 }, "applicableParentOptionValue": "Small Pizza" }
MenuItemOffer (obrigatório)
Uma entidade necessária para implementar. Descreve uma oferta para uma entidade MenuItem
ou MenuItemOption
.
A tabela a seguir lista as propriedades do tipo MenuItemOffer
:
Propriedade | Tipo | Descrição | |
---|---|---|---|
@type |
Const (link em inglês) | Obrigatório. Valor: |
|
@id |
String | Obrigatório. Identificador exclusivo da oferta do item do cardápio. Exemplo: |
|
sku |
String | Obrigatório. Identificador da oferta do item do cardápio. Os valores de SKU podem ser diferentes ou iguais em várias entidades de oferta de item de menu. O valor da SKU será definido em ordem quando fizermos uma chamada de API para você. Exemplo: |
|
price |
Número | Obrigatório. Preço da oferta do item do cardápio. Exemplo: |
|
priceCurrency |
String | Obrigatório. É o código de moeda ISO 4217 com três letras. Exemplo: |
|
availabilityId |
List<String> |
Os valores @id das entidades de disponibilidade que fornecem detalhes sobre quando a oferta do item do cardápio está disponível. Exemplo: |
|
eligibleQuantityMin |
Número |
A quantidade mínima de pedido para a qual o Exemplo: |
|
eligibleQuantityMax |
Número |
A quantidade máxima de pedidos para a qual o Exemplo: |
|
inventoryLevel |
Número |
O nível de inventário atual aproximado para os itens correspondentes a essa MenuItemOffer. Exemplo: |
|
dateModified |
Carimbo de data/hora ISO |
A data e a hora da última modificação do feed de entidade Exemplo: |
|
applicableServiceType |
Lista<ServiceType > |
O serviço a que este |
|
offeredById |
List<String> |
Os valores @id de entidades Exemplo: |
|
Exatamente um dos grupos de propriedades a seguir é obrigatório. | |||
menuItemId |
Grupo 1 | String |
O valor @id da entidade Exemplo: |
menuItemOptionId |
Grupo 2 | String |
O valor @id da entidade Exemplo: |
O exemplo a seguir mostra um elemento MenuItemOffer
:
Exemplo
{ "@type": "MenuItemOffer", "@id": "6680262", "sku": "offer-mediterranean-bagel", "menuItemId": "896532", "price": 15.5, "priceCurrency": "USD", "applicableServiceType": [ "DELIVERY" ], "offeredById": [ "bagel_shop_location_5" ] }
Nome
ReverseReference
A tabela a seguir lista as propriedades do tipo ReverseReference
:
Propriedade | Tipo | Descrição | |
---|---|---|---|
@id |
String | Obrigatório. @id da entidade pai. |
|
displayOrder |
Número inteiro | Obrigatório. Ordem de exibição do item dentro do pai. |
NutritionInformation
A tabela a seguir lista as propriedades do tipo NutritionInformation
:
Propriedade | Tipo | Descrição | |
---|---|---|---|
description |
String |
Informações nutricionais em texto livre. Por exemplo, "Contém conservantes". |
|
calories |
String |
O número de calorias em calorias, kcal ou kJ, usando o seguinte formato: valor kcal ou min-max kJ Exemplo: |
|
sodiumContent |
String |
O número de mg ou g de sódio, usando o seguinte formato: valor g ou min-max g Exemplo: |
O exemplo a seguir mostra um elemento NutritionInformation
:
Exemplo
{ "calories": "120-150 Cal", "sodiumContent": "100 mg" }
Alérgeno
A tabela a seguir lista as propriedades do tipo Allergen
:
Propriedade | Tipo | Descrição | |
---|---|---|---|
allergenType |
AllergenType |
Obrigatório. Tipo de alérgeno. |
|
levelOfContainment |
ContainmentLevel |
Nível de um determinado alérgeno no item do menu. |
O exemplo a seguir mostra um elemento Allergen
:
Exemplo
{ "allergenType": "PEANUTS", "levelOfContainment": "MAY_CONTAIN" }
Aditivo
A tabela a seguir lista as propriedades do tipo Additive
:
Propriedade | Tipo | Descrição | |
---|---|---|---|
additiveName |
String | Obrigatório. Nome do aditivo. |
|
levelOfContainment |
ContainmentLevel |
Nível de um determinado aditivo no item de menu. |
O exemplo a seguir mostra um elemento Additive
:
Exemplo
{ "additiveName": "Sodium nitrite", "levelOfContainment": "CONTAINS" }
DepositInfo
A tabela a seguir lista as propriedades do tipo DepositInfo
:
Propriedade | Tipo | Descrição | |
---|---|---|---|
depositCode |
DepositCode |
Código do depósito. |
|
depositValue |
Número |
Valor numérico do depósito do item, por exemplo, quando reciclado. |
|
depositValueCurrency |
String |
Moeda do valor do depósito |
O exemplo a seguir mostra um elemento DepositInfo
:
Exemplo
{ "depositCode": "RECYCLABLE", "depositValue": 0.05, "depositValueCurrency": "USD" }
ServingConfig
Configuração de veiculação do serviço usado para controlar vários recursos, por exemplo, desativação do widget de promoções etc.
A tabela a seguir lista as propriedades do tipo ServingConfig
:
Propriedade | Tipo | Descrição | |
---|---|---|---|
disableOrderInstructions |
Booleano |
Oculta a capacidade de especificar instruções de pedido. |
|
disableMenuItemSpecialInstructions |
Booleano |
Oculta a capacidade de especificar instruções especiais em um item de menu. |
|
disableTipWidget |
Booleano |
Oculta o widget de gorjeta na página "Fazer pedido" do fluxo de pedido. |
|
disablePromoWidget |
Booleano |
Oculta o widget promocional na página "Fazer pedido" do fluxo de pedido. |
|
menuItemSpecialInstructionsMaxLength |
Número |
Especifica o número máximo de caracteres que uma instrução especial de item de menu pode conter. |
|
orderInstructionsMaxLength |
Número |
Especifica o número máximo de caracteres que uma instrução de pedido pode conter. |
O exemplo a seguir mostra um elemento ServingConfig
:
Exemplo 1
{ "disableMenuItemSpecialInstructions": true }
Exemplo 2
{ "disableTipWidget": true, "disablePromoWidget": true }
Exemplo 3
{ "menuItemSpecialInstructionsMaxLength": 250, "orderInstructionsMaxLength": 1000 }
Enums
DayOfWeek
O tipo DayOfWeek
tem os seguintes valores possíveis:
MONDAY
TUESDAY
WEDNESDAY
THURSDAY
FRIDAY
SATURDAY
SUNDAY
ServiceType
O tipo ServiceType
tem os seguintes valores possíveis:
DELIVERY
TAKEOUT
OrderType
O tipo OrderType
tem os seguintes valores possíveis:
ASAP
ADVANCE
FeeType
O tipo FeeType
tem os seguintes valores possíveis:
DELIVERY
SERVICE
OptionType
O tipo OptionType
tem os seguintes valores possíveis:
SIZE
OPTION
PIZZA_SIDE
PizzaSide
O tipo PizzaSide
tem os seguintes valores possíveis:
PIZZA_SIDE_LEFT
PIZZA_SIDE_RIGHT
PIZZA_SIDE_WHOLE
AllergenType
Tipo de alérgeno de acordo com gs1:AllergenTypeCode.
O tipo AllergenType
tem os seguintes valores possíveis:
ALMONDS
ALPHA_ISOMETHYL_IONONE
ALCOHOL
AMYL_CINNAMAL
ANISE_ALCOHOL
BARLEY
BENZYL_ALCOHOL
BENZYL_BENZOATE
BENZYL_CINNAMATE
BENZYL_SALICYLATE
BRAZIL_NUTS
BUTYLPHENYL_METHYLPROPIONATE
CARROTS
CASHEW_NUTS
CELERY
CEREALS_CONTAINING_GLUTEN
CINNAMAL
CINNAMYL_ALCOHOL
CITRAL
CITRONELLOL
COCOA
CORIANDER
CORN
COUMARIN
CRUSTACEANS
EGGS
EUGENOL
EVERNIA_FURFURACEA
EVERNIA_PRUNASTRI
FARNESOL
FISH
GERANIOL
GLUTEN
HAZELNUTS
HEXYL_CINNAMAL
HYDROXYCITRONELLAL
HYDROXYISOHEXYL_3_CYCLOHEXENE_CARBOXALDEHYDE_ISOEUGENOL_LIMONENE_LINAL
KAMUT
LACTOSE
LUPINE
MACADAMIA_NUTS
METHYL_2_OCTYNOATE
MILK
MOLLUSCS
MUSTARD
NO_DECLARED_ALLERGENS
OAT
PEANUTS
PEAS
PECAN_NUTS
PISTACHIOS
POD_FRUITS
QUEENSLAND_NUTS
RYE
SESAME_SEEDS
SOYBEANS
SPELT
SULPHUR_DIOXIDE
TREE_NUTS
TREE_NUT_TRACES
WALNUTS
WHEAT
ContainmentLevel
O tipo ContainmentLevel
tem os seguintes valores possíveis:
CONTAINS
FREE_FROM
MAY_CONTAIN
DepositCode
O tipo DepositCode
tem os seguintes valores possíveis:
REUSABLE
RECYCLABLE
DealType
A categoria da oferta a que o desconto será aplicado. A categoria pode ser o total do carrinho ou as taxas de entrega.
O tipo DealType
tem os seguintes valores possíveis:
CART_OFF
DELIVERY_OFF
RestrictedDiet
Tipo de dietas restritas por schema.org:RestrictedDiet.
O tipo RestrictedDiet
tem os seguintes valores possíveis:
DIABETIC
GLUTEN_FREE
HALAL
HINDU
KOSHER
LOW_CALORIE
LOW_FAT
LOW_LACTOSE
LOW_SALT
VEGAN
VEGETARIAN