Exigences générales
Les entités doivent être structurées sur une ligne par entité dans les flux (les entités sont séparées par un retour à la ligne). Pour des raisons de lisibilité, les exemples JSON de cette page ne respectent pas cette structure. Cependant, vous devez respecter cette structure lorsque vous envoyez vos flux. Par exemple, une entité de menu doit être structurée comme suit:
{"@type": "Menu","name": "Coffee Shop A","@id": "1535"}
Chaque entité "Restaurant" peut avoir deux entités de service (une pour les types de service "DELIVERY" et "TAKEOUT"). Chaque entité "Service" ne peut avoir qu'une seule entité "Menu".
Toutes les sous-entités peuvent être réutilisées dans plusieurs restaurants.
Consignes concernant la valeur JSON
Coercition de type
Le type d'une valeur JSON peut être différent du type défini dans le schéma, à condition que la valeur puisse être forcée pour obtenir le type requis. Par exemple, les propriétés de chaîne peuvent accepter à la fois des valeurs de chaîne et des entiers comme entrée. De même, les propriétés de type entier peuvent accepter des valeurs de chaîne, à condition que la chaîne puisse être analysée en entier valide.
La coercition de type fonctionne également pour les propriétés répétées. Les propriétés répétées peuvent accepter des valeurs en entrée sans être placées entre crochets []
. Par exemple, la propriété OperationHours.serviceId
accepte à la fois "service_id"
et ["service_id"]
comme entrées valides.
Valeurs de date et d'heure
DateTime
est basé sur le type schema.org et, sauf indication contraire, doit respecter le format ISO 8601 et inclure la date, l'heure et le fuseau horaire. Utilisez la syntaxe suivante pour DateTime
:
// DateTime format: YYYY-MM-DDTHH:MM:SS[∓HH:MM|Z]
Exemple :
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
est l'heure locale du fuseau horaire d'un restaurant ou d'un lieu de service donné. Elle est également basée sur le type de schema.org et doit également respecter le format ISO 8601. Time utilise la syntaxe suivante:
// Time format: THH:MM:SS
Exemple :
T08:08:00 // 8:08 AM
Tenez compte des points suivants chaque fois que vous spécifiez DateTime
ou Time
:
- Le préfixe "T" devant l'heure fait partie du format et est obligatoire.
- Le fuseau horaire doit être spécifié pour
DATETIME
. Il n'est pas obligatoire pourTIME
. - L'heure doit être spécifiée dans le fuseau horaire local du restaurant ou du service.
Données sur les restaurants
Restaurant (obligatoire)
Entité obligatoire à implémenter. Décrit un restaurant.
Le tableau suivant répertorie les propriétés pour le type Restaurant
:
Propriété | Type | Description | |
---|---|---|---|
@type |
Continuité | Obligatoire. Valeur : |
|
@id |
String | Obligatoire. Identifiant unique du restaurant ou du prestataire de livraison. Exemple : |
|
name |
String | Obligatoire. Nom du restaurant. Exemple : |
|
description |
String |
Description du restaurant. Exemple : |
|
url |
URL |
URL du restaurant. Le domaine du restaurant est prioritaire sur le domaine de l'agrégateur. Exemple : |
|
sameAs |
URL |
Site Web officiel du restaurant. Exemple : |
|
telephone |
String |
Numéro de téléphone du restaurant. Exemple : |
|
streetAddress |
String | Obligatoire. Adresse postale du restaurant. Exemple : |
|
addressLocality |
String | Obligatoire. Localité ou ville. Exemple : |
|
addressRegion |
String | Obligatoire. Région ou État. Exemple : |
|
postalCode |
String | Obligatoire. Code postal. Exemple : |
|
addressCountry |
String | Obligatoire. Code pays ISO 3166-1 alpha-2 à deux lettres. Exemple : |
|
latitude |
Number |
Latitude en degrés. Les valeurs sont limitées à [-90, 90]]. La précision doit être d'au moins cinq décimales. Exemple : |
|
longitude |
Number |
Longueur en degrés. Les valeurs sont limitées à [[-180, 180]]. La précision doit être d'au moins cinq décimales. Exemple : |
|
dealId |
List<String> |
|
|
imprint |
String |
La marque d'éditeur d'un restaurant est une section d'informations supplémentaires sur le restaurant, telles que son nom légal, son adresse légale et son numéro d'enregistrement. Vous pouvez mettre en forme ces informations à l'aide de " ". Exemple : |
|
economicOperator |
String |
Informations sur l'opérateur économique associés au restaurant, le cas échéant. Ces informations s'afficheront dans la section "Informations sur le professionnel". Vous pouvez mettre en forme le texte à l'aide de " ". Exemple : |
|
dateModified |
Horodatage ISO |
Date et heure de la dernière modification du flux d'entités "Restaurant" au format d'horodatage ISO, mais de type "Chaîne". Exemple : |
L'exemple suivant illustre un élément Restaurant
:
Exemple
{ "@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 }
Accord
Types de remises pouvant être appliquées à un panier.
Le tableau suivant répertorie les propriétés pour le type Deal
:
Propriété | Type | Description | |
---|---|---|---|
@type |
Continuité | Obligatoire. Valeur : |
|
@id |
String | Obligatoire. Identifiant unique de l'accord. Exemple : |
|
dealCode |
String | Obligatoire. ID d'accord unique par accord et par partenaire. Cet identifiant doit identifier l'offre de manière unique dans votre système de promotion. Google vous envoie cet identifiant dans le champ Exemple : |
|
applicableServiceType |
Liste<ServiceType > |
Service auquel cette offre s'applique. L'offre par défaut suppose un accord applicable à tous. |
|
eligibleMaxOrders |
Entier |
Cette offre n'est éligible que si le nombre de commandes passées effectuées par l'utilisateur est inférieur ou égal à ce nombre. |
|
availabilityId |
List<String> |
Valeurs @id des entités de disponibilité qui fournissent des détails sur la disponibilité de la section de menu. Exemple : |
|
isDisabled |
Valeur booléenne |
Elle remplace les autres vérifications de validité. |
|
dealType |
DealType |
Obligatoire. Catégorie d'offre spéciale à laquelle appliquer la remise. La catégorie peut correspondre au montant total du panier, aux frais de service ou aux frais de livraison. |
|
priceCurrency |
String | Obligatoire lorsque Obligatoire lorsque Devise (au format ISO 4217 à trois lettres) de la remise. Exemple : |
|
eligibleTransactionVolumeMin |
Number |
Volume de transaction, dans une unité monétaire, pour lequel cette promotion est valable. |
|
termsOfServiceUrl |
URL | Obligatoire. Documentation sur les conditions d'utilisation lisible par l'humain. |
|
dateModified |
Horodatage ISO |
Date et heure de la dernière modification du flux d'entités "Accords" au format d'horodatage ISO, mais de type "Chaîne". Exemple : |
|
Vous devez indiquer exactement l'un des groupes de propriétés suivants. | |||
discount |
Groupe 1 | Number |
Valeur de la remise sous forme de nombre. |
discountPercentage |
Groupe 2 | Number |
Valeur de la remise sous forme de pourcentage du prix d'origine. |
L'exemple suivant illustre un élément Deal
:
Exemple 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" }
Exemple 2
{ "@type": "Deal", "@id": "10PERCOFF", "dealCode": "10PERCOFF", "dealType": "CART_OFF", "availabilityId": [ "availability_weekdays_evening" ], "termsOfServiceUrl": "http://www.provider.com/deal", "discountPercentage": 10, "priceCurrency": "USD" }
Exemple 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" }
Données de service
Service (obligatoire)
Décrit les détails du service de commande de repas d'un restaurant. Service
est une entité obligatoire à mettre en œuvre.
Le tableau suivant répertorie les propriétés pour le type Service
:
Propriété | Type | Description | |
---|---|---|---|
@type |
Continuité | Obligatoire. Valeur : |
|
@id |
String | Obligatoire. Identifiant du service de fulfillment. Exemple : |
|
serviceType |
ServiceType |
Obligatoire. Type de service proposé. Les valeurs possibles sont "DELIVERY" ou "TAKEOUT". Exemple : |
|
restaurantId |
String | Obligatoire. Valeur @id de l'entité Restaurant en corrélation avec cette entité Service. Exemple : |
|
menuId |
String | Obligatoire. Valeur @id de l'entité Menu en corrélation avec cette entité Service. Exemple : |
|
dateModified |
Horodatage ISO |
Date et heure de la dernière modification du flux d'entités de service, au format d'horodatage ISO. Exemple : |
|
isDisabled |
Valeur booléenne |
Indique si l'entité est désactivée. N'utilisez ce type que lorsque vous devez désactiver l'entité en raison d'un événement inattendu et que vous ne savez pas quand le service sera rétabli (par exemple, ne l'utilisez pas pendant les jours fériés). Exemple : |
|
servingConfig |
ServingConfig |
Configuration de la diffusion pour le service permettant de contrôler diverses fonctionnalités (par exemple, désactivation du widget promotionnel, etc.). |
|
actionLinkUrl |
String |
Contient l'URL d'un service de livraison/à emporter qui sera utilisé lors de la migration de l'expérience de commande de repas de bout en bout vers la redirection. |
L'exemple suivant illustre un élément Service
:
Exemple 1
{ "@type": "Service", "@id": "10824/takeout", "serviceType": "TAKEOUT", "menuId": "10824", "restaurantId": "10824", "actionLinkUrl": "https://www.rwgpartnerwebsite.com/foodorderpickup/merchant_foepa_3" }
Exemple 2
{ "@type": "Service", "@id": "10824/delivery", "serviceType": "DELIVERY", "menuId": "10824", "restaurantId": "10824", "actionLinkUrl": "https://www.rwgpartnerwebsite.com/foodorderdelivery/merchant_foepa_3" }
ServiceArea
Décrit la zone géographique dans laquelle la nourriture peut être livrée. Cette entité doit être implémentée si serviceType
est défini sur "DELIVERY" pour l'entité Service
associée.
Le tableau suivant répertorie les propriétés pour le type ServiceArea
:
Propriété | Type | Description | |
---|---|---|---|
@type |
Continuité | Obligatoire. Valeur : |
|
@id |
String | Obligatoire. Identifiant unique de la zone desservie. Exemple : |
|
serviceId |
List<String> | Obligatoire. Valeur @id de l'entité Service corrélée à cette entité ServiceArea. Exemple : |
|
dateModified |
Horodatage ISO |
Date et heure de la dernière modification du flux d'entités ServiceArea au format d'horodatage ISO, mais de type "Chaîne". Exemple : |
|
exclude |
Valeur booléenne |
Excluez cette zone desservie de la région de livraison totale. Par exemple, un code postal peut être exclu d'un polygone plus vaste. |
|
Vous devez indiquer exactement l'un des groupes de propriétés suivants. | |||
polygon |
Groupe 1 | List<String> |
Polygone ou multipolygone exprimé par une série de trois points ou plus délimités par un espace. Il est recommandé que les premier et dernier points soient identiques, mais ce n'est pas obligatoire. Chaque point d'un polygone ou d'un multipolygone est défini par un point de latitude suivi d'un point de longitude. Vous devez également indiquer les points dans le sens inverse des aiguilles d'une montre. Exemple : |
geoMidpointLatitude |
Groupe 2 | Number |
Indique la latitude au centre de la zone CERCLE. Exemple : |
geoMidpointLongitude |
Groupe 2 | Number |
Indique la coordonnée de longitude au centre de la zone Circle. Exemple : |
geoRadius |
Groupe 2 | Entier |
Indique le rayon approximatif (en mètres) de la zone CERCLE. Exemple : |
postalCode |
Groupe 3 | String |
Indique le code postal. Exemple : |
addressCountry |
Groupe 3 | String |
Indique le code pays ISO 3166-1 alpha-2 à deux lettres Exemple : |
L'exemple suivant illustre un élément ServiceArea
:
Exemple
{ "@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" ] }
OperationHours (obligatoire)
Décrit la fenêtre de commande dans laquelle les utilisateurs peuvent accéder au flux et passer des commandes dès que possible ou futures. L'implémentation de OperationHours
est requise. Par défaut, elle représente les opérations à toute heure du jour et de la semaine.
Les attributs opens
et closes
OperationHours
spécifient les heures d'ouverture et de fermeture du système en ligne qui permet aux utilisateurs de passer des commandes. Au cours de ces horaires d'ouverture du système en ligne, utilisez ServiceHours
pour spécifier les heures d'ouverture et de fermeture pendant lesquelles les commandes des utilisateurs peuvent être traitées.
Les heures doivent être indiquées dans le fuseau horaire local du service. N'incluez pas de fuseau horaire dans la valeur opens
. Si un fuseau horaire est spécifié, Google ignore ces informations. Pour en savoir plus, consultez la section Formats de date et d'heure.
Le tableau suivant répertorie les propriétés pour le type OperationHours
:
Propriété | Type | Description | |
---|---|---|---|
@type |
Continuité | Obligatoire. Valeur : |
|
@id |
String | Obligatoire. Identifiant unique de l'entité décrivant la fenêtre de commande à laquelle les utilisateurs peuvent accéder au flux et passer des commandes dès que possible ou futures. Exemple : |
|
serviceId |
List<String> | Obligatoire. Valeur @id de l'entité Service en corrélation avec cette entité OperationHours. Exemple : |
|
opens |
Heure ISO (locale) |
Indique l'heure précise au format ISO à partir de laquelle les utilisateurs peuvent passer des commandes. Exemple : |
|
closes |
Heure ISO (locale) |
Heure de la journée (au format ISO) au-delà de laquelle les utilisateurs ne peuvent pas passer commande. Exemple : |
|
dayOfWeek |
Liste<DayOfWeek > |
La liste des jours de la semaine pendant lesquels ces horaires d'ouverture sont valides. Les valeurs acceptées sont "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY" et "SUNDAY". Exemple : |
|
validFrom |
Horodatage ISO | Obligatoire lorsque Horodatage ISO indiquant l'heure de début de la période de commande à laquelle les utilisateurs peuvent accéder au flux et passer des commandes dès que possible ou futures. Exemple : |
|
validThrough |
Horodatage ISO | Obligatoire lorsque Horodatage ISO indiquant l'heure de fin de la période de commande au-delà de laquelle les utilisateurs ne peuvent pas accéder au flux et passer des commandes dès que possible ou futures. Exemple : |
|
isSpecialHour |
Valeur booléenne |
Booléen indiquant si OperationHours est destiné à des horaires d'ouverture exceptionnels. Les valeurs acceptables sont "false" et "true". Exemple : |
|
dateModified |
Horodatage ISO |
Date et heure de la dernière modification du flux d'entités OperationHours au format d'horodatage ISO, mais de type "Chaîne". Exemple : |
L'exemple suivant illustre un élément OperationHours
:
Exemple 1
{ "@type": "OperationHours", "@id": "10824/deliveryOh", "serviceId": [ "10824/delivery" ], "isSpecialHour": false }
Exemple 2
{ "@type": "OperationHours", "@id": "10824/takeoutOh", "serviceId": [ "10824/takeout" ], "isSpecialHour": false }
ServiceHours (obligatoire)
Décrit la fenêtre de traitement dans laquelle les utilisateurs peuvent choisir des emplacements de traitement (dès que possible ou futurs). L'implémentation de ServiceHours
est requise.
Les attributs opens
et closes
OperationHours
spécifient les heures d'ouverture et de fermeture du système en ligne qui permet aux utilisateurs de passer des commandes. Au cours de ces horaires d'ouverture du système en ligne, utilisez ServiceHours
pour spécifier les heures d'ouverture et de fermeture pendant lesquelles les commandes des utilisateurs peuvent être traitées.
Les heures doivent être indiquées dans le fuseau horaire local du service. N'incluez pas de fuseau horaire dans la valeur opens
. Si un fuseau horaire est spécifié, Google ignore ces informations. Pour en savoir plus, consultez la section Formats de date et d'heure.
Le tableau suivant répertorie les propriétés pour le type ServiceHours
:
Propriété | Type | Description | |
---|---|---|---|
@type |
Continuité | Obligatoire. Valeur : |
|
@id |
String | Obligatoire. Identifiant unique de l'entité décrivant la fenêtre de traitement dans laquelle les utilisateurs peuvent choisir des emplacements de traitement, c'est-à-dire les créneaux "Dès que possible" ou futurs. Exemple : |
|
orderType |
OrderType |
Obligatoire. Chaîne indiquant si les horaires d'ouverture s'appliquent aux commandes dès que possible ou avancées. Les valeurs acceptées sont "Dès que possible" et "AVANCE". Exemple : |
|
serviceId |
List<String> | Obligatoire. Valeur @id de l'entité Service corrélée à cette entité ServiceHours. Exemple : |
|
operationHoursId |
List<String> | Obligatoire lorsque Valeur @id de l'entité OperationHours corrélée à cette entité ServiceHours. Exemple : |
|
opens |
Heure ISO (locale) |
Indique l'heure précise au format ISO à partir de laquelle les commandes des utilisateurs peuvent être traitées. Exemple : |
|
closes |
Heure ISO (locale) |
Heure de la journée spécifique au format ISO au-delà de laquelle les commandes des utilisateurs ne peuvent pas être traitées. Exemple : |
|
dayOfWeek |
Liste<DayOfWeek > |
La liste des jours de la semaine pendant lesquels ces horaires d'ouverture sont valides. Exemple : |
|
validFrom |
Horodatage ISO | Obligatoire lorsque Horodatage ISO indiquant l'heure de début de la période de commande à laquelle les utilisateurs peuvent accéder au flux et passer des commandes dès que possible ou futures. Exemple : |
|
validThrough |
Horodatage ISO | Obligatoire lorsque Horodatage ISO indiquant l'heure de fin de la période de commande au-delà de laquelle les utilisateurs ne peuvent pas accéder au flux et passer des commandes dès que possible ou futures. Exemple : |
|
isSpecialHour |
Valeur booléenne |
Booléen indiquant si OperationHours est destiné à des horaires d'ouverture exceptionnels. Les valeurs acceptables sont "false" et "true". Exemple : |
|
leadTimeMin |
Entier |
Heure de livraison/de retrait minimale estimée, en minutes, une fois que vous avez passé la commande dès que possible. Nous vous recommandons vivement de définir cette propriété. Exemple : |
|
leadTimeMax |
Entier |
Heure de livraison/de retrait maximale estimée, en minutes, une fois que la commande "Dès que possible" a été passée. Nous vous recommandons vivement de définir cette propriété. Exemple : |
|
advanceBookingRequirementMin |
Entier | Obligatoire lorsque Nombre minimal de minutes à partir de l'heure de la commande pendant lesquelles la commande à l'avance peut être traitée. Par exemple, si une commande à l'avance a besoin d'au moins 60 minutes pour être honorée, la valeur de la valeur d'anticipation de réservation requise pour la valeur minimale de réservation est de 60. Exemple : |
|
advanceBookingRequirementMax |
Entier | Obligatoire lorsque Nombre maximal de minutes à compter de l'heure de commande où la commande anticipée peut être traitée. Par exemple, si le traitement d'une commande à l'avance est impossible plus de deux jours plus tard, la valeur de la valeur "advancedBookingRequiredmentMax" est de 2 880. Exemple : |
|
advanceBookingSlotInterval |
String | Obligatoire lorsque Intervalle entre deux créneaux de réservation à l'avance successifs. Par exemple, si les horaires d'ouverture et de fermeture ont lieu à 8h et 20h, et que le paramètre "advancedBookingSlotInterval" est de 15 minutes, l'utilisateur peut choisir les heures de traitement suivantes : 8 h, 8 h 15, 8 h 30, 8 h 45, etc. La durée doit être indiquée sous la forme d'une durée de période ISO. Par exemple, "PT15M" signifie des intervalles de 15 minutes. Exemple : |
|
dateModified |
Horodatage ISO |
Date et heure de la dernière modification du flux d'entités ServiceHours au format d'horodatage ISO, mais de type "String" (Chaîne). Exemple : |
L'exemple suivant illustre un élément ServiceHours
:
Exemple 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" }
Exemple 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
Décrit les frais. Si l'entité Service
associée a serviceType
défini sur "DELIVERY", un Fee
avec feeType
défini sur "DELIVERY" est requis.
Le tableau suivant répertorie les propriétés pour le type Fee
:
Propriété | Type | Description | |
---|---|---|---|
@type |
Continuité | Obligatoire. Valeur : |
|
@id |
String | Obligatoire. Identifiant unique de l'entité décrivant les frais. Exemple : |
|
serviceId |
List<String> | Obligatoire. Valeur @id de l'entité de service mise en corrélation avec l'entité "Frais" Exemple : |
|
feeType |
FeeType |
Obligatoire. Chaîne indiquant si les frais s'appliquent aux commandes de livraison ou de service. Les valeurs acceptées sont "DELIVERY" et "SERVICE". Exemple : |
|
priceCurrency |
String | Obligatoire. Code de devise ISO 4217 à trois lettres. Exemple : |
|
basePrice |
Number |
Prix de base des frais, applicable lorsque Exemple : |
|
minPrice |
Number |
Frais minimaux, plafonnement de la valeur des frais lorsque Exemple : |
|
maxPrice |
Number |
Frais maximaux, plafonnant la valeur des frais lorsque Exemple : |
|
eligibleRegion |
List<String> |
@id de la ServiceArea pour la ou les régions géopolitiques pour lesquelles les frais sont valides. N'utilisez cet établissement que si les frais de livraison varient selon la région. Exemple : |
|
eligibleTransactionVolumeMin |
Number |
Volume de transaction minimal, en unité monétaire, pour lequel cette spécification de frais s'applique. Exemple : |
|
eligibleTransactionVolumeMax |
Number |
Volume de transaction maximal, en unité monétaire, pour lequel cette spécification de frais s'applique. Par exemple, ils ne s'appliquent pas pour les commandes supérieures à un certain volume. Exemple : |
|
validFrom |
Horodatage ISO |
Horodatage ISO indiquant l'heure de début de validité des frais. Exemple : |
|
validThrough |
Horodatage ISO |
Horodatage ISO indiquant l'heure de fin au-delà de laquelle les frais ne sont pas valides. Exemple : |
|
dateModified |
Horodatage ISO |
Date et heure de la dernière modification du flux d'entités "Frais" au format d'horodatage ISO, mais de type "Chaîne". Exemple : |
|
priority |
Number |
Valeur positive non nulle. Lorsque plusieurs frais s'appliquent au panier de l'utilisateur, les frais les plus élevés prévalent sur les moins élevés. Lorsque ce champ est renseigné, la priorité est toujours prioritaire sur une priorité calculée. Exemple : |
|
Vous devez indiquer exactement l'un des groupes de propriétés suivants. | |||
price |
Groupe 1 | Number |
Prix des frais. Si le prix n'est pas fixe, vous pouvez indiquer minPrice et maxPrice à la place du prix. Exemple : |
percentageOfCart |
Groupe 2 | Number |
Frais en pourcentage de la valeur du panier. Les valeurs acceptables sont des valeurs flottantes comprises entre 0 et 100 inclus. Exemple : |
pricePerMeter |
Groupe 3 | Number |
Frais au mètre pour la distance radiale de l'utilisateur. Par exemple, si la distance est de 5 km et que le tarif est de 0,001 $, les frais d'utilisation sont de 5 $. Exemple : |
L'exemple suivant illustre un élément Fee
:
Exemple 1
{ "@type": "Fee", "@id": "28427", "serviceId": [ "10824/delivery" ], "feeType": "DELIVERY", "priceCurrency": "USD", "eligibleRegion": [ "28427" ], "eligibleTransactionVolumeMin": 20, "price": 5 }
Exemple 2
{ "@type": "Fee", "@id": "28427", "serviceId": [ "10824/delivery" ], "feeType": "DELIVERY", "priceCurrency": "USD", "eligibleRegion": [ "28427" ], "eligibleTransactionVolumeMin": 20, "pricePerMeter": 0.0005, "basePrice": 4 }
Exemple 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 }
Exemple 4
{ "@type": "Fee", "@id": "28427", "serviceId": [ "10824/delivery" ], "feeType": "DELIVERY", "priceCurrency": "USD", "eligibleRegion": [ "28427" ], "eligibleTransactionVolumeMin": 20, "percentageOfCart": 5, "basePrice": 4 }
Exemple 5
{ "@type": "Fee", "@id": "28427", "serviceId": [ "10824/delivery" ], "feeType": "DELIVERY", "priceCurrency": "USD", "eligibleRegion": [ "28427" ], "eligibleTransactionVolumeMin": 20, "percentageOfCart": 5, "basePrice": 4, "minPrice": 5, "maxPrice": 50 }
Données de menu
Menu (obligatoire)
Entité obligatoire à implémenter. Décrit un menu.
Le tableau suivant répertorie les propriétés pour le type Menu
:
Propriété | Type | Description | |
---|---|---|---|
@type |
Continuité | Obligatoire. Valeur : |
|
@id |
String | Obligatoire. Identifiant unique du menu. Exemple : |
|
name |
String |
Texte permettant d'identifier le menu lorsqu'un utilisateur le parcourt. Exemple : |
|
disclaimer |
String |
Clause de non-responsabilité concernant le menu. Par exemple, la divulgation d'informations nutritionnelles et d'allergènes. Exemple : |
|
disclaimerUrl |
URL |
URL renvoyant vers une page fournissant plus de détails sur la clause de non-responsabilité. |
|
dateModified |
Horodatage ISO |
Date et heure de la dernière modification du flux d'entités de menu au format d'horodatage ISO, mais de type "Chaîne". Exemple : |
L'exemple suivant illustre un élément Menu
:
Exemple
{ "@type": "Menu", "@id": "10824" }
MenuSection
Entité facultative à implémenter. Décrit une section particulière du menu.
Le tableau suivant répertorie les propriétés pour le type MenuSection
:
Propriété | Type | Description | |
---|---|---|---|
@type |
Continuité | Obligatoire. Valeur : |
|
@id |
String | Obligatoire. Identifiant unique de la section du menu. Exemple : |
|
menuId |
Liste<ReverseReference > |
Valeur @id de l'entité Menu en corrélation avec cette entité Exemple : |
|
menuSectionId |
List<String> |
Liste des valeurs @id des entités Important:Vous ne devez utiliser qu'une seule référence Exemple : |
|
parentMenuSectionId |
Liste<ReverseReference > |
La valeur @id de l'entité parente Important:Vous ne devez utiliser qu'une seule référence Exemple : |
|
name |
String | Obligatoire. Texte permettant d'identifier l'élément Exemple : |
|
description |
String |
Description de la section du menu. Exemple : |
|
image |
URL |
URL d'une image de la section de menu. Exemple : |
|
menuItemId |
List<String> |
Liste des valeurs @id des entités Important:Vous ne devez utiliser qu'une seule référence Exemple : |
|
parentMenuItemId |
Liste<ReverseReference > |
Liste des valeurs @id des entités Important:Vous ne devez utiliser qu'une seule référence Exemple : |
|
parentMenuItemOptionId |
Liste<ReverseReference > |
Liste des valeurs @id des entités Important:Vous ne devez utiliser qu'une seule référence Exemple : |
|
eligibleQuantityMax |
Entier |
Nombre maximal de modules complémentaires pouvant être sélectionnés dans la section dédiée. Exemple : |
|
eligibleQuantityMin |
Entier |
Nombre minimal de modules complémentaires devant être sélectionnés dans la section dédiée. Exemple : |
|
defaultItemId |
List<String> |
Liste de @id faisant référence aux entités Exemple : |
|
availabilityId |
List<String> |
Valeurs @id des entités de disponibilité qui fournissent des détails sur la disponibilité de la section de menu. Exemple : |
|
numberOfFreeAddOns |
Entier |
Indique le nombre de modules complémentaires qu'un utilisateur peut sélectionner sans frais. Valide uniquement pour les sections de menu complémentaire. Exemple : |
|
dateModified |
Horodatage ISO |
Date et heure de la dernière modification du flux d'entités Exemple : |
|
applicableServiceType |
Liste<ServiceType > |
Service auquel ce |
|
offeredById |
List<String> |
Les valeurs @id des entités Exemple : |
L'exemple suivant illustre un élément MenuSection
:
Exemple 1
{ "@type": "MenuSection", "@id": "853705", "menuId": [ { "@id": "10824", "displayOrder": 853705 } ], "menuSectionId": [ 12345, 43645 ], "name": "Pasta", "applicableServiceType": [ "TAKEOUT" ], "offeredById": [ "italian_restaurant_location_1" ] }
Exemple 2
{ "@type": "MenuSection", "@id": "427484", "menuId": [ { "@id": "4287", "displayOrder": 964376 } ], "menuItemId": [ 46784, 42728 ], "name": "Burger", "applicableServiceType": [ "TAKEOUT", "DELIVERY" ] }
Exemple 3
{ "@type": "MenuSection", "@id": "3138486", "name": "Choose a side:", "parentMenuItemId": [ { "@id": "6680295", "displayOrder": 3138486 } ], "eligibleQuantityMax": "5", "numberOfFreeAddOns": "2" }
Exemple 4
{ "@type": "MenuSection", "@id": "3138482", "name": "Additional Pizza Toppings", "parentMenuItemId": [ { "@id": "6680246", "displayOrder": 3138482 } ], "eligibleQuantityMax": "3" }
Garantie de disponibilité
Entité facultative à implémenter. Décrit la période pendant laquelle une entité MenuSection
est diffusée.
Le tableau suivant répertorie les propriétés pour le type Availability
:
Propriété | Type | Description | |
---|---|---|---|
@type |
Continuité | Obligatoire. Valeur : |
|
@id |
String | Obligatoire. Identifiant unique de l'entité décrivant la disponibilité de la section de menu. Exemple : |
|
availabilityStarts |
Heure ISO (locale) |
Horodatage ISO indiquant l'heure de début de validité de la disponibilité de la section de menu. Exemple : |
|
availabilityEnds |
Heure ISO (locale) |
Horodatage ISO indiquant l'heure de fin au-delà de laquelle la disponibilité de la section de menu n'est pas valide. Exemple : |
|
availableDay |
Liste<DayOfWeek > |
Liste des jours de la semaine pendant lesquels la disponibilité de la section de menu est valide. Exemple : |
|
validFrom |
Horodatage ISO |
Horodatage ISO indiquant l'heure de début de validité de la disponibilité de la section de menu. Exemple : |
|
validThrough |
Horodatage ISO |
Horodatage ISO indiquant l'heure de fin au-delà de laquelle la disponibilité de la section de menu n'est pas valide. Exemple : |
|
dateModified |
Horodatage ISO |
Date et heure de la dernière modification du flux d'entités de disponibilité au format d'horodatage ISO, mais de type "Chaîne". Exemple : |
L'exemple suivant illustre un élément Availability
:
Exemple
{ "@type": "Availability", "@id": "85343705", "availabilityStarts": "06:00", "availabilityEnds": "22:30", "availableDay": [ "SATURDAY", "SUNDAY" ] }
MenuItem (obligatoire)
Entité obligatoire à implémenter. Décrit un élément dans une entité Menu
.
Le tableau suivant répertorie les propriétés pour le type MenuItem
:
Propriété | Type | Description | |
---|---|---|---|
@type |
Continuité | Obligatoire. Valeur : |
|
@id |
String | Obligatoire. Identifiant unique de l'élément de menu. Exemple : |
|
name |
String | Obligatoire. Texte permettant d'identifier l'élément Exemple : |
|
description |
String |
Description de l'élément de menu. Exemple : |
|
image |
URL |
URL d'une image de l'élément de menu. Exemple : |
|
parentMenuSectionId |
Liste<ReverseReference > |
Liste des valeurs @id des entités Important:Vous ne devez utiliser qu'une seule référence Exemple : |
|
menuAddOnId |
List<String> |
Liste des valeurs @id des entités Important:Vous ne devez utiliser qu'une seule référence Exemple : |
|
nutrition |
NutritionInformation |
Informations nutritionnelles du plat, notamment les calories. Exemple : |
|
allergen |
Liste<Allergen > |
Allergènes de cet élément de menu. Exemple : |
|
additive |
Liste<Additive > |
Additifs de cet élément MenuItem. Exemple : |
|
suitableDiet |
Liste<RestrictedDiet > |
Le plat respecte les restrictions alimentaires décrites. Exemple : |
|
depositInfo |
DepositInfo |
Informations sur l'emballage et le recyclage de cet élément MenuItem. Exemple : |
|
numberOfServings |
Entier |
Nombre de portions disponibles pour un élément de menu donné. Exemple : |
|
dateModified |
Horodatage ISO |
Date et heure de la dernière modification du flux d'entités Exemple : |
L'exemple suivant illustre un élément MenuItem
:
Exemple 1
{ "@type": "MenuItem", "@id": "18931508", "name": "Sauteed Baby Spinach", "parentMenuSectionId": [ { "@id": "3138479", "displayOrder": 18931508 } ] }
Exemple 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
Entité facultative à implémenter. Décrit les choix qu'un utilisateur devrait faire lorsqu'il sélectionne un plat/combo. L'utilisateur doit sélectionner une option, sinon la commande est considérée comme non valide (par exemple, il doit choisir petite, moyenne ou grande pour une pizza).
Le tableau suivant répertorie les propriétés pour le type MenuItemOption
:
Propriété | Type | Description | |
---|---|---|---|
@type |
Continuité |
Valeur : |
|
@id |
String | Obligatoire. Identifiant unique de l'option d'élément de menu. Exemple : |
|
menuItemId |
ReverseReference |
Obligatoire. La valeur @id de l'entité Exemple : |
|
optionType |
OptionType |
Chaîne indiquant si l'option de l'élément de menu est classée en fonction de la taille, de l'option ou du côté de la pizza. Les valeurs acceptées sont "SIZE", "OPTION" et "PIZZA_SIDE". "SIZE": taille de l'option MenuItemOption. Par exemple, petit, moyen ou grand. "OPTION": toute variante autre que la taille (par exemple, une salade ou un sandwich). Si vous ne parvenez pas à faire la distinction entre "SIZE" et "OPTION", utilisez "OPTION". "PIZZA_SIDE" : spécifique aux pizzas. Par exemple, l'attribut Exemple : |
|
value |
Chaîne ou
PizzaSide |
Obligatoire lorsque Valeur de chaîne ou valeur d'énumération. Les valeurs d'énumération sont spécifiques au type d'option PIZZA_SIDE. |
|
applicableParentOptionValue |
String |
Chaîne contenant la valeur de la valeur d'option de l'élément parent pour laquelle cette option est disponible. Exemple : |
|
menuAddOnId |
List<String> |
Liste des valeurs @id des entités Important:Vous ne devez utiliser qu'une seule référence Exemple : |
|
nutrition |
NutritionInformation |
Informations nutritionnelles du plat, notamment les calories. Exemple : |
|
allergen |
Liste<Allergen > |
Allergènes de cet élément de menu. Exemple : |
|
additive |
Liste<Additive > |
Additifs de cet élément MenuItem. Exemple : |
|
depositInfo |
DepositInfo |
Informations sur l'emballage et le recyclage de cet élément MenuItem. Exemple : |
|
numberOfServings |
Entier |
Nombre de portions disponibles pour une option d'élément de menu donnée. Exemple : |
|
dateModified |
Horodatage ISO |
Date et heure de la dernière modification du flux d'entités MenuItemOption, au format d'horodatage ISO, mais de type "Chaîne". Exemple : |
L'exemple suivant illustre un élément MenuItemOption
:
Exemple 1
{ "@type": "MenuItemOption", "@id": "56177944", "menuItemId": { "@id": "18930213", "displayOrder": 1234 }, "optionType": "PIZZA_SIDE", "value": "PIZZA_SIDE_LEFT" }
Exemple 2
{ "@type": "MenuItemOption", "@id": "56177944", "menuItemId": { "@id": "18930213", "displayOrder": 1234 }, "applicableParentOptionValue": "Small Pizza" }
MenuItemOffer (obligatoire)
Entité obligatoire à implémenter. Décrit une offre pour une entité MenuItem
ou MenuItemOption
.
Le tableau suivant répertorie les propriétés pour le type MenuItemOffer
:
Propriété | Type | Description | |
---|---|---|---|
@type |
Continuité | Obligatoire. Valeur : |
|
@id |
String | Obligatoire. Identifiant unique de l'offre de menu. Exemple : |
|
sku |
String | Obligatoire. Identifiant de l'offre associée au menu. Les valeurs du code SKU peuvent être différentes ou identiques pour plusieurs entités d'offres d'éléments de menu. La valeur du code SKU sera définie dans l'ordre lorsque nous effectuerons un appel d'API. Exemple : |
|
price |
Number | Obligatoire. Prix de l'offre. Exemple : |
|
priceCurrency |
String | Obligatoire. Code de devise ISO 4217 à trois lettres. Exemple : |
|
availabilityId |
List<String> |
Valeurs @id des entités de disponibilité qui fournissent des détails sur la disponibilité de l'offre d'élément de menu. Exemple : |
|
eligibleQuantityMin |
Number |
Quantité minimale à commander pour laquelle le Exemple : |
|
eligibleQuantityMax |
Number |
Quantité commandée maximale pour laquelle Exemple : |
|
inventoryLevel |
Number |
Niveau d'inventaire approximatif actuel du ou des articles correspondant à MenuItemOffer. Exemple : |
|
dateModified |
Horodatage ISO |
Date et heure de la dernière modification du flux d'entités Exemple : |
|
applicableServiceType |
Liste<ServiceType > |
Service auquel ce |
|
offeredById |
List<String> |
Les valeurs @id des entités Exemple : |
|
Vous devez indiquer exactement l'un des groupes de propriétés suivants. | |||
menuItemId |
Groupe 1 | String |
La valeur @id de l'entité Exemple : |
menuItemOptionId |
Groupe 2 | String |
La valeur @id de l'entité Exemple : |
L'exemple suivant illustre un élément MenuItemOffer
:
Exemple
{ "@type": "MenuItemOffer", "@id": "6680262", "sku": "offer-mediterranean-bagel", "menuItemId": "896532", "price": 15.5, "priceCurrency": "USD", "applicableServiceType": [ "DELIVERY" ], "offeredById": [ "bagel_shop_location_5" ] }
Courant
ReverseReference
Le tableau suivant répertorie les propriétés pour le type ReverseReference
:
Propriété | Type | Description | |
---|---|---|---|
@id |
String | Obligatoire. @id de l'entité parente. |
|
displayOrder |
Entier | Obligatoire. Ordre d'affichage des éléments dans le parent. |
NutritionInformation
Le tableau suivant répertorie les propriétés pour le type NutritionInformation
:
Propriété | Type | Description | |
---|---|---|---|
description |
String |
Informations nutritionnelles en texte libre. Exemple : "Contient des conservateurs". |
|
calories |
String |
Nombre de calories en Cal, kcal ou kJ, au format suivant: valeur Cal ou min-max Cal Exemple : |
|
sodiumContent |
String |
Nombre de mg ou g de sodium, au format suivant: valeur g ou min-max g Exemple : |
L'exemple suivant illustre un élément NutritionInformation
:
Exemple
{ "calories": "120-150 Cal", "sodiumContent": "100 mg" }
Allergènes
Le tableau suivant répertorie les propriétés pour le type Allergen
:
Propriété | Type | Description | |
---|---|---|---|
allergenType |
AllergenType |
Obligatoire. Type d'allergène. |
|
levelOfContainment |
ContainmentLevel |
Niveau d'un allergène donné dans l'élément du menu. |
L'exemple suivant illustre un élément Allergen
:
Exemple
{ "allergenType": "PEANUTS", "levelOfContainment": "MAY_CONTAIN" }
Le modelage
Le tableau suivant répertorie les propriétés pour le type Additive
:
Propriété | Type | Description | |
---|---|---|---|
additiveName |
String | Obligatoire. Nom de l'additif. |
|
levelOfContainment |
ContainmentLevel |
Niveau d'un additif donné dans l'élément de menu. |
L'exemple suivant illustre un élément Additive
:
Exemple
{ "additiveName": "Sodium nitrite", "levelOfContainment": "CONTAINS" }
DepositInfo
Le tableau suivant répertorie les propriétés pour le type DepositInfo
:
Propriété | Type | Description | |
---|---|---|---|
depositCode |
DepositCode |
Code d'acompte. |
|
depositValue |
Number |
Valeur numérique du dépôt de l'article, lorsqu'il est recyclé, par exemple. |
|
depositValueCurrency |
String |
Devise de la valeur du virement |
L'exemple suivant illustre un élément DepositInfo
:
Exemple
{ "depositCode": "RECYCLABLE", "depositValue": 0.05, "depositValueCurrency": "USD" }
ServingConfig
Configuration de la diffusion pour le service permettant de contrôler diverses fonctionnalités (par exemple, désactivation du widget promotionnel, etc.).
Le tableau suivant répertorie les propriétés pour le type ServingConfig
:
Propriété | Type | Description | |
---|---|---|---|
disableOrderInstructions |
Valeur booléenne |
Masque la possibilité de spécifier des instructions d'ordre. |
|
disableMenuItemSpecialInstructions |
Valeur booléenne |
Masque la possibilité de spécifier des instructions spéciales sur un élément de menu. |
|
disableTipWidget |
Valeur booléenne |
Masque le widget de pourboire sur la page "Commander" du flux de commande. |
|
disablePromoWidget |
Valeur booléenne |
Masque le widget promotionnel sur la page "Commander" du processus de commande. |
|
menuItemSpecialInstructionsMaxLength |
Number |
Spécifie le nombre maximal de caractères qu'une instruction spéciale d'élément de menu peut contenir. |
|
orderInstructionsMaxLength |
Number |
Spécifie le nombre maximal de caractères qu'une instruction de commande peut contenir. |
L'exemple suivant illustre un élément ServingConfig
:
Exemple 1
{ "disableMenuItemSpecialInstructions": true }
Exemple 2
{ "disableTipWidget": true, "disablePromoWidget": true }
Exemple 3
{ "menuItemSpecialInstructionsMaxLength": 250, "orderInstructionsMaxLength": 1000 }
Enums
DayOfWeek
Le type DayOfWeek
peut avoir les valeurs suivantes:
MONDAY
TUESDAY
WEDNESDAY
THURSDAY
FRIDAY
SATURDAY
SUNDAY
ServiceType
Le type ServiceType
peut avoir les valeurs suivantes:
DELIVERY
TAKEOUT
OrderType
Le type OrderType
peut avoir les valeurs suivantes:
ASAP
ADVANCE
FeeType
Le type FeeType
peut avoir les valeurs suivantes:
DELIVERY
SERVICE
OptionType
Le type OptionType
peut avoir les valeurs suivantes:
SIZE
OPTION
PIZZA_SIDE
PizzaSide
Le type PizzaSide
peut avoir les valeurs suivantes:
PIZZA_SIDE_LEFT
PIZZA_SIDE_RIGHT
PIZZA_SIDE_WHOLE
AllergenType
Type d'allergène selon gs1:AllergenTypeCode.
Le type AllergenType
peut avoir les valeurs suivantes:
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
Le type ContainmentLevel
peut avoir les valeurs suivantes:
CONTAINS
FREE_FROM
MAY_CONTAIN
DepositCode
Le type DepositCode
peut avoir les valeurs suivantes:
REUSABLE
RECYCLABLE
DealType
Catégorie d'offre spéciale à laquelle appliquer la remise. La catégorie peut correspondre au montant total du panier ou aux frais de livraison.
Le type DealType
peut avoir les valeurs suivantes:
CART_OFF
DELIVERY_OFF
RestrictedDiet
Type de régimes soumis à des restrictions conformément à schema.org:RestrictedDiet.
Le type RestrictedDiet
peut avoir les valeurs suivantes:
DIABETIC
GLUTEN_FREE
HALAL
HINDU
KOSHER
LOW_CALORIE
LOW_FAT
LOW_LACTOSE
LOW_SALT
VEGAN
VEGETARIAN