Entidad del servicio

La entidad Service define los servicios de pedidos de comida disponibles en un restaurante, como 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 tipo para llevar o para entrega y, como máximo, a dos entidades de servicio: una para llevar y una para entrega.

Diagrama de relaciones de entidades 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, las horas disponibles y el área de servicio. Se espera que la entidad de servicio cambie y se actualice con cada carga de 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
}

Horarios lo antes posible y con anticipación

Los usuarios pueden hacer pedidos lo antes posible durante las ServiceHours del restaurante o pueden hacer pedidos con anticipación durante las OperationHours del restaurante para que se entreguen durante las ServiceHours anticipadas. Para definir los horarios de atención 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 para un período específico que se conozca con anticipación configurando horarios especiales y de feriados. Para inhabilitar una entidad Service por un motivo imprevisto, envía una solicitud de actualización en tiempo real con la propiedad isDisabled de la entidad Service establecida en true.

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