Exigences générales
Les entités doivent être structurées de sorte qu'une seule ligne par entité soit utilisée dans les flux (les entités sont séparées par des caractères de nouvelle ligne). Pour des raisons de lisibilité, les exemples JSON de cette page ne suivent pas cette structure. Toutefois, vous devez suivre 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 chaque type 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 les valeurs JSON
Contrainte 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 dans le type requis. Par exemple, les propriétés de chaîne peuvent accepter à la fois des chaînes et des valeurs entières en entrée. De même, les propriétés entières peuvent accepter une valeur de chaîne tant que la chaîne peut ê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. Sauf indication contraire, il doit suivre 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
correspond à l'heure locale du fuseau horaire d'un restaurant ou d'un établissement de services donné. Il est également basé sur le type schema.org et doit également suivre le format ISO 8601. L'heure utilise la syntaxe suivante:
// Time format: THH:MM:SS
Exemple :
T08:08:00 // 8:08 AM
Tenez compte des points suivants lorsque vous spécifiez un DateTime
ou un Time
:
- Le préfixe "T" avant 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 indiquée dans l'heure locale 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 du type Restaurant
:
Propriété | Type | Description | |
---|---|---|---|
@type |
Const | Obligatoire. Valeur : |
|
@id |
String | Obligatoire. Identifiant unique du restaurant ou du fournisseur de livraison. Exemple : |
|
name |
String | Obligatoire. Nom du restaurant. Exemple : |
|
description |
String |
Description du restaurant. Exemple : |
|
url |
URL |
URL représentant le restaurant. Le domaine du restaurant est préférable au 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 à la plage [[-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 à la plage [[-180, 180]]. La précision doit être d'au moins cinq décimales. Exemple : |
|
dealId |
List<String> |
|
|
imprint |
String |
L'empreinte 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. Ces informations peuvent être mises en forme à l'aide de " ". Exemple : |
|
economicOperator |
String |
Informations sur l'opérateur économique associé au restaurant, le cas échéant Ces informations s'afficheront dans la section "Informations sur le marchand". Vous pouvez mettre en forme le texte à l'aide de " ". Exemple : |
|
dateModified |
Code temporel ISO |
Date et heure de la dernière modification du flux d'entités de restaurant au format d'horodatage ISO, mais avec le type "Chaîne". Exemple : |
L'exemple suivant montre 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 du type Deal
:
Propriété | Type | Description | |
---|---|---|---|
@type |
Const | Obligatoire. Valeur : |
|
@id |
String | Obligatoire. Identifiant unique de l'offre. Exemple : |
|
dealCode |
String | Obligatoire. ID d'accord unique par accord et par partenaire. Cet ID doit identifier de manière unique l'offre dans votre système de promotion. Google vous envoie cet identifiant dans le champ Exemple : |
|
applicableServiceType |
List<ServiceType > |
Service auquel cet accord s'applique. Par défaut, l'offre s'applique à tous. |
|
eligibleMaxOrders |
Entier |
Cette offre n'est éligible que si l'utilisateur a passé moins de commandes réussies ou égal à ce nombre. |
|
availabilityId |
List<String> |
Valeurs @id des entités "Disponibilité" qui fournissent des informations sur la période de disponibilité de la section de menu. Exemple : |
|
isDisabled |
Valeur booléenne |
Cette valeur remplace les autres vérifications de validité. |
|
dealType |
DealType |
Obligatoire. Catégorie de l'offre à laquelle appliquer la remise. La catégorie peut être le montant total du panier, les frais de service ou les frais de livraison. |
|
priceCurrency |
String | Obligatoire lorsque Obligatoire lorsque Devise (au format ISO 4217 à trois lettres) de la remise. Exemple : |
|
eligibleTransactionVolumeMin |
Number |
Volume de transactions, exprimé en unité monétaire, pour lequel cette promotion est valide. |
|
termsOfServiceUrl |
URL | Obligatoire. Documentation des conditions d'utilisation lisible par l'utilisateur. |
|
dateModified |
Code temporel ISO |
Date et heure de la dernière modification du flux d'entités "Deal" au format d'horodatage ISO, mais avec le type "Chaîne". Exemple : |
|
Vous devez spécifier 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 en pourcentage du prix d'origine. |
L'exemple suivant montre 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éfinit les détails du service de commande de repas d'un restaurant. Service
est une entité requise à implémenter.
Le tableau suivant répertorie les propriétés du type Service
:
Propriété | Type | Description | |
---|---|---|---|
@type |
Const | Obligatoire. Valeur : |
|
@id |
String | Obligatoire. Identifiant du service de traitement. Exemple : |
|
serviceType |
ServiceType |
Obligatoire. Type de service proposé. Les valeurs possibles sont "DELIVERY" ou "TAKEOUT". Exemple : |
|
restaurantId |
String | Obligatoire. La valeur @id de l'entité Restaurant est corrélée à cette entité Service. Exemple : |
|
menuId |
String | Obligatoire. La valeur @id de l'entité Menu est corrélée à cette entité Service. Exemple : |
|
dateModified |
Code temporel 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 pour les vacances). Exemple : |
|
servingConfig |
ServingConfig |
Configuration de diffusion du service utilisé pour contrôler diverses fonctionnalités (par exemple, désactiver le widget promotionnel, etc.) |
|
actionLinkUrl |
String |
Inclut une URL pour un service de livraison/à emporter qui sera utilisée lors de la migration de l'expérience de commande de repas de bout en bout vers la redirection. |
L'exemple suivant montre 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
Indique la région géographique dans laquelle les repas peuvent être livrés. Cette entité doit être implémentée si l'entité Service
associée a serviceType
défini sur "DELIVERY".
Le tableau suivant répertorie les propriétés du type ServiceArea
:
Propriété | Type | Description | |
---|---|---|---|
@type |
Const | Obligatoire. Valeur : |
|
@id |
String | Obligatoire. Identifiant unique de la zone de service. Exemple : |
|
serviceId |
List<String> | Obligatoire. La valeur @id de l'entité "Service" est corrélée à cette entité "ServiceArea". Exemple : |
|
dateModified |
Code temporel ISO |
Date et heure de la dernière modification du flux d'entités ServiceArea au format d'horodatage ISO, mais avec le type Chaîne. Exemple : |
|
exclude |
Valeur booléenne |
Excluez cette zone desservie de la région de livraison totale. Par exemple, vous pouvez exclure un code postal d'une zone polygonale plus grande. |
|
Vous devez spécifier exactement l'un des groupes de propriétés suivants. | |||
polygon |
Groupe 1 | List<String> |
Polygone ou multipolygone exprimé sous la forme d'une série de trois points ou plus séparés par des espaces. Il est recommandé que les premiers et derniers 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 spécifier les points dans le sens inverse des aiguilles d'une montre. Exemple : |
geoMidpointLatitude |
Groupe 2 | Number |
Indique la coordonnée de latitude au centre de la zone CIRCLE. 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 CIRCLE. 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 montre 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 période de commande pendant laquelle les utilisateurs peuvent accéder au parcours et passer une commande immédiate ou future. L'implémentation de OperationHours
est obligatoire et représente par défaut l'opération à toutes les heures de tous les jours.
Les attributs opens
et closes
de OperationHours
spécifient les heures d'ouverture et de fermeture du système en ligne qui permet aux utilisateurs de passer des commandes. Pendant ces heures de fonctionnement 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 spécifiées dans l'heure locale du service. N'incluez pas de fuseau horaire dans une valeur opens
. Si un fuseau horaire est spécifié, Google ignore ces informations. Pour en savoir plus, consultez Formats "Date/Heure" et "Heure".
Le tableau suivant répertorie les propriétés du type OperationHours
:
Propriété | Type | Description | |
---|---|---|---|
@type |
Const | Obligatoire. Valeur : |
|
@id |
String | Obligatoire. Identifiant unique de l'entité décrivant la période de commande pendant laquelle les utilisateurs peuvent accéder au parcours et passer des commandes immédiates ou futures. Exemple : |
|
serviceId |
List<String> | Obligatoire. La valeur @id de l'entité "Service" est corrélée à cette entité "OperationHours". Exemple : |
|
opens |
Heure ISO (locale) |
Indique l'heure spécifique de la journée au format ISO à partir de laquelle les utilisateurs peuvent passer des commandes. Exemple : |
|
closes |
Heure ISO (locale) |
Indique l'heure spécifique de la journée au format ISO à partir de laquelle les utilisateurs ne peuvent plus passer de commande. Exemple : |
|
dayOfWeek |
List<DayOfWeek > |
Liste des jours de la semaine pour lesquels ces horaires d'ouverture sont valides. Les valeurs acceptées sont "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY" et "SUNDAY". Exemple : |
|
validFrom |
Code temporel ISO | Obligatoire lorsque Code temporel ISO indiquant l'heure de début de la période de commande pendant laquelle les utilisateurs peuvent accéder au parcours et passer des commandes immédiates ou futures. Exemple : |
|
validThrough |
Code temporel ISO | Obligatoire lorsque Code temporel ISO indiquant l'heure de fin de la période de commande au-delà de laquelle les utilisateurs ne peuvent plus accéder au parcours et passer des commandes ASAP/future. Exemple : |
|
isSpecialHour |
Valeur booléenne |
Valeur booléenne indiquant si les horaires d'ouverture correspondent à des horaires exceptionnels. Les valeurs acceptées sont "false" et "true". Exemple : |
|
dateModified |
Code temporel ISO |
Date et heure de la dernière modification du flux d'entités OperationHours au format d'horodatage ISO, mais avec le type Chaîne. Exemple : |
L'exemple suivant montre 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 période de traitement au cours de laquelle les utilisateurs peuvent choisir des créneaux de traitement (ASAP ou créneaux futurs). L'implémentation de ServiceHours
est obligatoire.
Les attributs opens
et closes
de OperationHours
spécifient les heures d'ouverture et de fermeture du système en ligne qui permet aux utilisateurs de passer des commandes. Pendant ces heures de fonctionnement 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 spécifiées dans l'heure locale du service. N'incluez pas de fuseau horaire dans une valeur opens
. Si un fuseau horaire est spécifié, Google ignore ces informations. Pour en savoir plus, consultez Formats "Date/Heure" et "Heure".
Le tableau suivant répertorie les propriétés du type ServiceHours
:
Propriété | Type | Description | |
---|---|---|---|
@type |
Const | Obligatoire. Valeur : |
|
@id |
String | Obligatoire. Identifiant unique de l'entité décrivant la période de traitement au cours de laquelle les utilisateurs peuvent choisir des créneaux de traitement (par exemple, dès que possible ou des créneaux futurs). Exemple : |
|
orderType |
OrderType |
Obligatoire. Chaîne indiquant si les heures de service s'appliquent aux commandes urgentes ou avancées. Les valeurs acceptées sont "ASAP" (Dès que possible) et "ADVANCE" (Avancer). Exemple : |
|
serviceId |
List<String> | Obligatoire. La valeur @id de l'entité "Service" est corrélée à l'entité "ServiceHours". Exemple : |
|
operationHoursId |
List<String> | Obligatoire lorsque La valeur @id de l'entité "OperationHours" est corrélée à l'entité "ServiceHours". Exemple : |
|
opens |
Heure ISO (locale) |
Indique l'heure spécifique de la journée au format ISO à partir de laquelle les commandes des utilisateurs peuvent être traitées. Exemple : |
|
closes |
Heure ISO (locale) |
Indique l'heure spécifique de la journée au format ISO à partir de laquelle les commandes des utilisateurs ne peuvent plus être traitées. Exemple : |
|
dayOfWeek |
List<DayOfWeek > |
Liste des jours de la semaine pour lesquels ces horaires d'ouverture sont valides. Exemple : |
|
validFrom |
Code temporel ISO | Obligatoire lorsque Code temporel ISO indiquant l'heure de début de la période de commande pendant laquelle les utilisateurs peuvent accéder au parcours et passer des commandes immédiates ou futures. Exemple : |
|
validThrough |
Code temporel ISO | Obligatoire lorsque Code temporel ISO indiquant l'heure de fin de la période de commande au-delà de laquelle les utilisateurs ne peuvent plus accéder au parcours et passer des commandes ASAP/future. Exemple : |
|
isSpecialHour |
Valeur booléenne |
Valeur booléenne indiquant si les horaires d'ouverture correspondent à des horaires exceptionnels. Les valeurs acceptées sont "false" et "true". Exemple : |
|
leadTimeMin |
Entier |
Délai de livraison/ramassage estimé minimal, en minutes, une fois la commande "ASAP" passée. Nous vous recommandons vivement de définir cette propriété. Exemple : |
|
leadTimeMax |
Entier |
Délai de livraison/retrait estimé maximal, en minutes, une fois la commande "ASAP" 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 commande à laquelle la commande anticipée peut être traitée. Par exemple, si une commande à l'avance nécessite au moins 60 minutes pour être traitée, la valeur de advanceBookingRequirementMin est 60. Exemple : |
|
advanceBookingRequirementMax |
Entier | Obligatoire lorsque Nombre maximal de minutes à partir de l'heure de commande pendant lesquelles la commande anticipée peut être traitée. Par exemple, si une commande anticipée ne peut pas être traitée plus de deux jours plus tard, la valeur de advanceBookingRequirementMax est 2880. Exemple : |
|
advanceBookingSlotInterval |
String | Obligatoire lorsque Intervalle entre deux créneaux de réservation à l'avance successifs. Par exemple, si les heures d'ouverture et de fermeture sont 8h00 et 20h00, et que l'intervalle de réservation anticipée est de 15 minutes, l'utilisateur peut choisir des heures de traitement de 8h00, 8h15, 8h30, 8h45, etc. jusqu'à 20h00. La durée doit être spécifiée sous la forme d'une période ISO. Par exemple, "PT15M" signifie "intervalles de 15 minutes". Exemple : |
|
dateModified |
Code temporel ISO |
Date et heure de la dernière modification du flux d'entités ServiceHours au format d'horodatage ISO, mais avec le type Chaîne. Exemple : |
L'exemple suivant montre 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 des frais. Si la valeur serviceType
de l'entité Service
associée est définie sur "DELIVERY", une Fee
avec feeType
défini sur "DELIVERY" est requise.
Le tableau suivant répertorie les propriétés du type Fee
:
Propriété | Type | Description | |
---|---|---|---|
@type |
Const | Obligatoire. Valeur : |
|
@id |
String | Obligatoire. Identifiant unique de l'entité décrivant les frais. Exemple : |
|
serviceId |
List<String> | Obligatoire. Valeur @id de l'entité "Service" mise en corrélation avec cette 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" (LIVRAISON) et "SERVICE" (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 : limite la valeur des frais lorsque Exemple : |
|
maxPrice |
Number |
"Frais max." limite la valeur des frais lorsque Exemple : |
|
eligibleRegion |
List<String> |
@id de la zone de service pour la ou les régions géopolitiques pour lesquelles les frais sont valables. N'utilisez cette propriété que si les frais de livraison varient selon la région. Exemple : |
|
eligibleTransactionVolumeMin |
Number |
Volume de transactions minimal, en unité monétaire, pour lequel cette spécification de frais est valide. Exemple : |
|
eligibleTransactionVolumeMax |
Number |
Volume de transactions maximal, exprimé en unité monétaire, pour lequel cette spécification de frais est valide. Par exemple, les frais ne s'appliquent pas si vous dépassez un certain volume de commandes. Exemple : |
|
validFrom |
Code temporel ISO |
Code temporel ISO indiquant l'heure de début de validité des frais. Exemple : |
|
validThrough |
Code temporel ISO |
Code temporel ISO indiquant l'heure de fin à partir de laquelle les frais ne sont plus valides. Exemple : |
|
dateModified |
Code temporel ISO |
Date et heure de la dernière modification du flux d'entités de frais au format d'horodatage ISO, mais avec le type "Chaîne". Exemple : |
|
priority |
Number |
Valeur positive non nulle. Lorsqu'un panier contient plusieurs frais, le plus prioritaire prévaut sur les autres. Si ce champ est fourni, la priorité aura toujours la priorité sur une priorité calculée. Exemple : |
|
Vous devez spécifier exactement l'un des groupes de propriétés suivants. | |||
price |
Groupe 1 | Number |
Montant des frais. Si le prix n'est pas fixe, vous pouvez fournir minPrice et maxPrice à la place de price. 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 par mètre pour la distance radiale par rapport à l'utilisateur. Par exemple, si la distance par rapport à l'utilisateur est de 5 km et que le tarif est de 0,001 $, les frais pour l'utilisateur seront de 5 $. Exemple : |
L'exemple suivant montre 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 du type Menu
:
Propriété | Type | Description | |
---|---|---|---|
@type |
Const | 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é pour le menu. (par exemple, les informations nutritionnelles et les allergènes) ; Exemple : |
|
disclaimerUrl |
URL |
URL pointant vers une page fournissant plus d'informations sur la clause de non-responsabilité. |
|
dateModified |
Code temporel ISO |
Date et heure de la dernière modification du flux d'entités de menu au format d'horodatage ISO, mais avec le type Chaîne. Exemple : |
L'exemple suivant montre un élément Menu
:
Exemple
{ "@type": "Menu", "@id": "10824" }
MenuSection
Entité facultative à implémenter. Décrit une section spécifique du menu.
Le tableau suivant répertorie les propriétés du type MenuSection
:
Propriété | Type | Description | |
---|---|---|---|
@type |
Const | Obligatoire. Valeur : |
|
@id |
String | Obligatoire. Identifiant unique de la section de menu. Exemple : |
|
menuId |
List<ReverseReference > |
La valeur @id de l'entité "Menu" est associée à 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 |
List<ReverseReference > |
Valeur @id de l'entité Important:Vous ne devez utiliser qu'une seule référence Exemple : |
|
name |
String | Obligatoire. Texte permettant d'identifier le Exemple : |
|
description |
String |
Description de la section de 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 |
List<ReverseReference > |
Liste des valeurs @id des entités Important:Vous ne devez utiliser qu'une seule référence Exemple : |
|
parentMenuItemOptionId |
List<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 "Modules complémentaires". Exemple : |
|
eligibleQuantityMin |
Entier |
Nombre minimal de modules complémentaires à sélectionner dans la section "Modules complémentaires". Exemple : |
|
defaultItemId |
List<String> |
Liste d'ID référençant des entités Exemple : |
|
availabilityId |
List<String> |
Valeurs @id des entités "Disponibilité" qui fournissent des informations sur la période de disponibilité de la section de menu. Exemple : |
|
numberOfFreeAddOns |
Entier |
Indique le nombre de modules complémentaires qu'un utilisateur peut sélectionner sans frais. Valable uniquement pour les sections de menu des modules complémentaires. Exemple : |
|
dateModified |
Code temporel ISO |
Date et heure de la dernière modification du flux d'entités Exemple : |
|
applicableServiceType |
List<ServiceType > |
Service auquel cette |
|
offeredById |
List<String> |
Valeurs @id des entités Exemple : |
L'exemple suivant montre 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" }
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 du type Availability
:
Propriété | Type | Description | |
---|---|---|---|
@type |
Const | Obligatoire. Valeur : |
|
@id |
String | Obligatoire. Identifiant unique de l'entité décrivant la disponibilité de la section de menu. Exemple : |
|
availabilityStarts |
Heure ISO (locale) |
Code temporel ISO indiquant l'heure de début de la période de validité de la section de menu. Exemple : |
|
availabilityEnds |
Heure ISO (locale) |
Code temporel ISO indiquant l'heure de fin au-delà de laquelle la disponibilité de la section de menu n'est plus valide. Exemple : |
|
availableDay |
List<DayOfWeek > |
Liste des jours de la semaine pour lesquels la disponibilité de la section de menu est valide. Exemple : |
|
validFrom |
Code temporel ISO |
Code temporel ISO indiquant l'heure de début de la période de validité de la section de menu. Exemple : |
|
validThrough |
Code temporel ISO |
Code temporel ISO indiquant l'heure de fin au-delà de laquelle la disponibilité de la section de menu n'est plus valide. Exemple : |
|
dateModified |
Code temporel ISO |
Date et heure de la dernière modification du flux d'entités "Disponibilité" au format d'horodatage ISO, mais avec le type "Chaîne". Exemple : |
L'exemple suivant montre 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 du type MenuItem
:
Propriété | Type | Description | |
---|---|---|---|
@type |
Const | Obligatoire. Valeur : |
|
@id |
String | Obligatoire. Identifiant unique de l'élément de menu. Exemple : |
|
name |
String | Obligatoire. Texte permettant d'identifier le 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 |
List<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 |
Les informations nutritionnelles du plat, en particulier les calories Exemple : |
|
allergen |
List<Allergen > |
Allergènes de cet élément de menu. Exemple : |
|
additive |
List<Additive > |
Additifs de cet élément de menu. Exemple : |
|
suitableDiet |
List<RestrictedDiet > |
Le plat respecte la restriction alimentaire décrite. Exemple : |
|
depositInfo |
DepositInfo |
Informations sur l'emballage et le recyclage de cet élément de menu. Exemple : |
|
numberOfServings |
Entier |
Nombre de portions disponibles pour un élément de menu donné. Exemple : |
|
dateModified |
Code temporel ISO |
Date et heure de la dernière modification du flux d'entités Exemple : |
L'exemple suivant montre 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 doit effectuer lorsqu'il sélectionne un plat/un menu. L'utilisateur doit sélectionner une option, sinon la commande est considérée comme non valide (par exemple, l'utilisateur doit choisir une taille de pizza : petite, moyenne ou grande).
Le tableau suivant répertorie les propriétés du type MenuItemOption
:
Propriété | Type | Description | |
---|---|---|---|
@type |
Const |
Valeur : |
|
@id |
String | Obligatoire. Identifiant unique de l'option de l'élément de menu. Exemple : |
|
menuItemId |
ReverseReference |
Obligatoire. Valeur @id de l'entité Exemple : |
|
optionType |
OptionType |
Chaîne indiquant si l'option de l'élément de menu est catégorisée en fonction de la taille, de l'option ou de la garniture de la pizza. Les valeurs acceptées sont "SIZE", "OPTION" et "PIZZA_SIDE". "SIZE": taille de MenuItemOption. Par exemple, "petite", "moyenne" ou "grande". "OPTION": toute variante autre que la taille (par exemple, un plat disponible en salade ou en sandwich). Si vous ne pouvez pas faire la distinction entre "SIZE" et "OPTION", utilisez "OPTION". "PIZZA_SIDE" : spécifique aux pizzas. Par exemple, cet 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 l'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 sur le plat, en particulier les calories Exemple : |
|
allergen |
List<Allergen > |
Allergènes de cet élément de menu. Exemple : |
|
additive |
List<Additive > |
Additifs de cet élément de menu. Exemple : |
|
depositInfo |
DepositInfo |
Informations sur l'emballage et le recyclage de cet élément de menu. Exemple : |
|
numberOfServings |
Entier |
Nombre de portions disponibles pour une option d'élément de menu donnée. Exemple : |
|
dateModified |
Code temporel ISO |
Date et heure de la dernière modification du flux d'entités MenuItemOption au format d'horodatage ISO, mais avec le type "Chaîne". Exemple : |
L'exemple suivant montre 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 du type MenuItemOffer
:
Propriété | Type | Description | |
---|---|---|---|
@type |
Const | Obligatoire. Valeur : |
|
@id |
String | Obligatoire. Identifiant unique de l'offre de l'élément de menu. Exemple : |
|
sku |
String | Obligatoire. Identifiant de l'offre de l'élément de menu. Les valeurs du code SKU peuvent être différentes ou identiques pour plusieurs entités d'offres d'articles de menu. La valeur du code SKU sera définie dans l'ordre lorsque nous vous enverrons un appel d'API. Exemple : |
|
price |
Number | Obligatoire. Prix de l'offre sur l'élément du menu. Exemple : |
|
priceCurrency |
String | Obligatoire. Code de devise ISO 4217 à trois lettres. Exemple : |
|
availabilityId |
List<String> |
Valeurs @id des entités "Disponibilité" qui indiquent quand l'offre de l'élément de menu est disponible. Exemple : |
|
eligibleQuantityMin |
Number |
Quantité minimale de commande pour laquelle Exemple : |
|
eligibleQuantityMax |
Number |
Quantité maximale de commande pour laquelle Exemple : |
|
inventoryLevel |
Number |
Niveau approximatif actuel de l'inventaire de l'article ou des articles correspondant à cette MenuItemOffer. Exemple : |
|
dateModified |
Code temporel ISO |
Date et heure de la dernière modification du flux d'entités Exemple : |
|
applicableServiceType |
List<ServiceType > |
Service auquel cette |
|
offeredById |
List<String> |
Valeurs @id des entités Exemple : |
|
Vous devez spécifier exactement l'un des groupes de propriétés suivants. | |||
menuItemId |
Groupe 1 | String |
Valeur @id de l'entité Exemple : |
menuItemOptionId |
Groupe 2 | String |
Valeur @id de l'entité Exemple : |
L'exemple suivant montre 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 du type ReverseReference
:
Propriété | Type | Description | |
---|---|---|---|
@id |
String | Obligatoire. @id de l'entité parente. |
|
displayOrder |
Entier | Obligatoire. Ordre d'affichage de l'élément dans le parent. |
NutritionInformation
Le tableau suivant répertorie les propriétés du type NutritionInformation
:
Propriété | Type | Description | |
---|---|---|---|
description |
String |
Informations nutritionnelles au format de texte libre. (par 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 montre un élément NutritionInformation
:
Exemple
{ "calories": "120-150 Cal", "sodiumContent": "100 mg" }
Allergène
Le tableau suivant répertorie les propriétés du 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 de menu. |
L'exemple suivant montre un élément Allergen
:
Exemple
{ "allergenType": "PEANUTS", "levelOfContainment": "MAY_CONTAIN" }
Le modelage
Le tableau suivant répertorie les propriétés du 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 montre un élément Additive
:
Exemple
{ "additiveName": "Sodium nitrite", "levelOfContainment": "CONTAINS" }
DepositInfo
Le tableau suivant répertorie les propriétés du type DepositInfo
:
Propriété | Type | Description | |
---|---|---|---|
depositCode |
DepositCode |
Code de l'acompte. |
|
depositValue |
Number |
Valeur numérique de la caution de l'article, par exemple lors de son recyclage. |
|
depositValueCurrency |
String |
Devise de la valeur de l'acompte |
L'exemple suivant montre un élément DepositInfo
:
Exemple
{ "depositCode": "RECYCLABLE", "depositValue": 0.05, "depositValueCurrency": "USD" }
ServingConfig
Configuration de diffusion du service utilisé pour contrôler diverses fonctionnalités (par exemple, désactiver le widget promotionnel, etc.)
Le tableau suivant répertorie les propriétés du type ServingConfig
:
Propriété | Type | Description | |
---|---|---|---|
disableOrderInstructions |
Valeur booléenne |
Masque la possibilité de spécifier des instructions de commande. |
|
disableMenuItemSpecialInstructions |
Valeur booléenne |
Masque la possibilité de spécifier des instructions spéciales pour un élément de menu. |
|
disableTipWidget |
Valeur booléenne |
Masque le widget de pourboire sur la page "Passer commande" du parcours de commande. |
|
disablePromoWidget |
Valeur booléenne |
Masque le widget de promotion sur la page "Passer commande" du parcours de commande. |
|
menuItemSpecialInstructionsMaxLength |
Number |
Spécifie le nombre maximal de caractères que peut contenir une instruction spéciale d'un élément de menu. |
|
orderInstructionsMaxLength |
Number |
Spécifie le nombre maximal de caractères qu'une instruction de commande peut contenir. |
L'exemple suivant montre 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ènes 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 de l'offre à laquelle appliquer la remise. La catégorie peut être le montant total du panier ou les frais de livraison.
Le type DealType
peut avoir les valeurs suivantes:
CART_OFF
DELIVERY_OFF
RestrictedDiet
Type de régime restrictif, 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