A entidade Service
define os serviços de pedido de comida disponíveis em um
restaurante, como retirada ou entrega. Ao definir uma entidade Service
, use
o tipo Serviço.
Cada restaurante precisa estar conectado a pelo menos uma entidade de serviço do tipo retirada ou entrega
e, no máximo, duas entidades de serviço: uma para viagem e um tipo de entrega.
Uma entidade Service define propriedades como o tipo de serviço, o horário de funcionamento e a área atendida. A entidade de serviço deve mudar e atualizar a cada upload do feed de dados.
Exemplo de entidade de serviço
O exemplo a seguir define uma entidade Service
básica que aceita pedidos
todos os dias.
{
"@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
}
Assim que possível e horas avançadas
Os usuários podem fazer pedidos assim que possível durante o ServiceHours o mais rápido possível do restaurante ou podem fazer pedidos com antecedência no OperationHours do restaurante para serem entregues durante os ServiceHours anteriores. Para definir os horários de funcionamento avançados, crie uma entidade ServiceHours com a propriedade orderType
definida como ADVANCE
. Consulte Horários de entrega e retirada para mais detalhes e exemplos.
Desativar temporariamente uma entidade Service
Você pode suspender temporariamente ou substituir o ServiceHours por um período específico conhecido antecipadamente, definindo feriado e horário de funcionamento especial. Para desativar uma entidade de Serviço por um motivo imprevisível, envie uma solicitação de atualização em tempo real com a propriedade de entidade Serviço isDisabled
definida como true
.
Consulte Como excluir e desativar entidades para mais detalhes e exemplos.