Entidad del servicio

La entidad Service define los servicios de pedido de comida disponibles en un restaurante, como los de comida para llevar o entrega a domicilio. Cuando definas una entidad Service, usa el tipo Service. Cada restaurante debe estar conectado a, al menos, una entidad de servicio de comida para llevar o de entrega a domicilio y, como máximo, a dos entidades, una de comida para llevar y una de entrega a domicilio.

Diagrama de relación de entidad de servicio
Figura 1: Entidad de servicio que muestra su relación con las entidades ServiceArea, ServiceHours, OperationHours y Fee.

Una entidad de servicio define propiedades como el tipo de servicio, el horario disponible y el área en la que se entrega servicio. Se espera que la entidad de servicio cambie y se actualice con cada carga del feed de datos.

Ejemplo de entidad de servicio

En el siguiente ejemplo, se define una entidad Service básica que acepta pedidos todos los días.

{
  "@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
}

Horario lo antes posible y lo antes posible

Los usuarios pueden realizar pedidos lo antes posible durante las ServiceHours lo antes posible o pueden hacerlo con anticipación dentro de las OperationHours del restaurante para que se entreguen durante los ServiceHours anticipados. Para definir horarios de servicio avanzados, crea una entidad ServiceHours con la propiedad orderType establecida en ADVANCE. Consulta Horarios de entrega y retiro para obtener más detalles y ejemplos.

Inhabilita temporalmente una entidad Service

Puedes suspender o reemplazar temporalmente ServiceHours durante un período específico que se conozca con anticipación estableciendo horarios especiales y feriados. Para inhabilitar una entidad de servicio por un motivo imprevisto, envía una solicitud de actualización en tiempo real con la propiedad isDisabled de la entidad de servicio establecida en true.

Consulta Cómo inhabilitar y borrar entidades para obtener más detalles y ejemplos.