Entité de service

L'entité Service définit les services de commande de repas disponibles dans un restaurant (ventes à emporter ou livraison, par exemple). Lorsque vous définissez une entité Service, utilisez le type Service. Chaque restaurant doit être connecté à au moins une entité de service de type "vente à emporter" ou "livraison", et au maximum deux entités de service (une de type "vente à emporter" et une autre de livraison).

Schéma de la relation entre les entités de service
Figure 1:Entité de service montrant sa relation avec les entités ServiceArea, ServiceHours, OperationHours et Frais.

Une entité de service définit des propriétés telles que le type de service, les heures disponibles et la zone desservie. L'entité de service doit changer et s'actualiser à chaque importation de flux de données.

Exemple d'entité de service

L'exemple suivant définit une entité Service de base qui accepte les commandes tous les jours.

{
  "@type":"Service",
  "@id":"takeout_1",
  "serviceType":"TAKEOUT",
  "menuId":"menu_1",
  "restaurantId":"restaraunt_1"
}
{
  "@type":"OperationHours",
  "@id":"takeout_1_op_hours",
  "serviceId":"takeout_1",
  "opens":"00:00",
  "closes":"23:59"
}
{
  "@type":"ServiceHours",
  "@id":"takeout_1_service_hours",
  "orderType":"ASAP",
  "serviceId":"takeout_1",
  "operationHoursId":"takeout_1_op_hours",
  "opens":"11:00",
  "closes":"21:00",
  "dayOfWeek":["MONDAY","TUESDAY","WEDNESDAY","THURSDAY", "FRIDAY", "SATURDAY"],
  "leadTimeMin":"20",
  "leadTimeMax":"20",
  "isSpecialHour":false
}
{
  "@type":"ServiceHours",
  "@id":"takeout_1_service_hours_sun",
  "orderType":"ASAP",
  "serviceId":"takeout_1",
  "operationHoursId":"takeout_1_op_hours",
  "opens":"16:00",
  "closes":"21:00",
  "dayOfWeek":["SUNDAY"],
  "leadTimeMin":"20",
  "leadTimeMax":"20",
  "isSpecialHour":false
}
{
  "@type":"Service",
  "@id":"delivery_1",
  "serviceType":"DELIVERY",
  "menuId":"10824",
  "restaurantId":"10824"
}
{
  "@type":"OperationHours",
  "@id":"delivery_1_op_hours",
  "serviceId":"delivery_1",
  "opens":"00:00",
  "closes":"23:59"
}
{
  "@type":"ServiceHours",
  "@id":"delivery_1_service_hours",
  "orderType":"ASAP",
  "serviceId":"delivery_1",
  "operationHoursId":"delivery_1_op_hours",
  "opens":"11:00",
  "closes":"21:00",
  "dayOfWeek":["MONDAY","TUESDAY","WEDNESDAY","THURSDAY", "FRIDAY", "SATURDAY",
  "SUNDAY"],
  "leadTimeMin":"50",
  "leadTimeMax":"50",
  "isSpecialHour":false
}
{
  "@type":"ServiceArea",
  "@id":"delivery_1_service_area",
  "serviceId":"delivery_1",
  "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"]
}
{
  "@type":"Fee",
  "@id":"delivery_1_fee",
  "serviceId":"delivery_1",
  "feeType":"DELIVERY",
  "priceCurrency":"USD",
  "eligibleRegion":"delivery_1_service_area",
  "eligibleTransactionVolumeMin":20,
  "percentageOfCart": 7
}

Horaires dès que possible et à l'avance

Les utilisateurs peuvent passer commande dès que possible pendant les heures de service (ServiceHours) du restaurant ou à l'avance pendant les OperationHours (heure de service du restaurant) qui seront traitées pendant les ServiceHours à l'avance. Pour définir des horaires de service anticipés, créez une entité ServiceHours avec la propriété orderType définie sur ADVANCE. Pour en savoir plus et obtenir des exemples, consultez Horaires de livraison et de retrait.

Désactiver temporairement une entité Service

Vous pouvez suspendre temporairement ou remplacer les heures de service ServiceHours pour une période spécifique connue à l'avance en définissant les jours fériés et les horaires d'ouverture exceptionnels. Pour désactiver une entité Service pour une raison imprévue, envoyez une requête de mise à jour en temps réel avec la propriété isDisabled de l'entité Service définie sur true.

Pour en savoir plus et obtenir des exemples, consultez Supprimer et désactiver des entités.