Definições de parâmetro
Conforme especificado na
definição de
Availability:
party_size: o tamanho do grupo que pode ser acomodado durante esse período. Um restaurante pode estar associado a vários espaços ao mesmo tempo, cada um especificando umparty_sizediferente, se, por exemplo, duas, três ou quatro pessoas puderem fazer uma reserva.spots_open: o número de vagas disponíveis atualmente para esta entrada de disponibilidadespots_total: o número total de vagas que o comerciante tem para essa configuração (incluindo as que não estão disponíveis)
Esses três parâmetros trabalham juntos para criar uma representação digital do
plano. party_size é o número de pessoas que cada mesa pode acomodar. Haverá
uma entrada para cada tamanho que uma mesa pode acomodar. spots_open e spots_total
são contagens de quantas tabelas podem acomodar esse party_size.
Exemplo de planta vazia
Imagine um restaurante com o seguinte plano de piso e sem reservas ativas:
Os valores de party_size, spots_open e spots_total seriam:
| party_size | spots_open | spots_total |
|---|---|---|
| 4 | 3 | 3 |
| 5 | 3 | 3 |
| 6 | 4 | 4 |
| 7 | 1 | 1 |
| 8 | 1 | 1 |
O feed de disponibilidade de um horário disponível neste comerciante seria assim:
JSON
{ "availability": [ { "spots_total": 3, "spots_open": 3, "duration_sec": 3600, "service_id": "1000", "start_sec": 1535806800, "merchant_id": "merch1", "resources": { "party_size": 4 } }, { "spots_total": 3, "spots_open": 3, "duration_sec": 3600, "service_id": "1000", "start_sec": 1535806800, "merchant_id": "merch1", "resources": { "party_size": 5 } }, { "spots_total": 4, "spots_open": 4, "duration_sec": 3600, "service_id": "1000", "start_sec": 1535806800, "merchant_id": "merch1", "resources": { "party_size": 6 } }, { "spots_total": 1, "spots_open": 1, "duration_sec": 3600, "service_id": "1000", "start_sec": 1535806800, "merchant_id": "merch1", "resources": { "party_size": 7 } }, { "spots_total": 1, "spots_open": 1, "duration_sec": 3600, "service_id": "1000", "start_sec": 1535806800, "merchant_id": "merch1", "resources": { "party_size": 8 } } ] }
Exemplo de planta com uma reserva
Agora imagine que uma das mesas redondas foi reservada:
Os valores de party_size, spots_open e spots_total agora serão:
| party_size | spots_open | spots_total |
|---|---|---|
| 4 | 2 | 3 |
| 5 | 2 | 3 |
| 6 | 3 | 4 |
| 7 | 1 | 1 |
| 8 | 1 | 1 |
JSON
{ "availability": [ { "spots_total": 3, "spots_open": 2, "duration_sec": 3600, "service_id": "1000", "start_sec": 1535806800, "merchant_id": "merch1", "resources": { "party_size": 4 } }, { "spots_total": 3, "spots_open": 2, "duration_sec": 3600, "service_id": "1000", "start_sec": 1535806800, "merchant_id": "merch1", "resources": { "party_size": 5 } }, { "spots_total": 4, "spots_open": 3, "duration_sec": 3600, "service_id": "1000", "start_sec": 1535806800, "merchant_id": "merch1", "resources": { "party_size": 6 } }, { "spots_total": 1, "spots_open": 1, "duration_sec": 3600, "service_id": "1000", "start_sec": 1535806800, "merchant_id": "merch1", "resources": { "party_size": 7 } }, { "spots_total": 1, "spots_open": 1, "duration_sec": 3600, "service_id": "1000", "start_sec": 1535806800, "merchant_id": "merch1", "resources": { "party_size": 8 } } ] }
Como especificar a disponibilidade de refeições com suporte a mesas combinadas
Há muitas maneiras de combinar mesas para atender grupos maiores. É esperado que você especifique spots_open e spots_total nos seus feeds de uma forma que reflita com precisão se é possível aceitar grupos de um determinado tamanho. Confira a seguir um exemplo de como especificar a combinação de tabelas.
Seus feeds podem diferir um pouco na forma como esse cálculo é feito, e é
aceitável especificar spots_open e spots_total de uma maneira que
corresponda à sua lógica de negócios.
Se um restaurante permitir a combinação de mesas para formar um grupo maior, você poderá
atualizar spots_open e spots_total para refletir isso.
Digamos que um restaurante possa combinar duas mesas pequenas para acomodar um grupo de 7 a 10 pessoas.
No caso de não haver reservas ativas, os valores de party_size, spots_open e spots_total são:
| party_size | spots_open | spots_total |
|---|---|---|
| 4 | 3 | 3 |
| 5 | 3 | 3 |
| 6 | 4 | 4 |
| 7 | 1 | 1 |
| 8 | 1 | 1 |
| 9 | 1 | 1 |
| 10 | 1 | 1 |
Agora, com o mesmo plano, uma reserva é feita para um grupo de 10 pessoas que combina duas mesas pequenas.
Os valores de party_size, spots_open e spots_total agora são:
| party_size | spots_open | spots_total |
|---|---|---|
| 4 | 1 | 3 |
| 5 | 1 | 3 |
| 6 | 2 | 4 |
| 7 | 1 | 1 |
| 8 | 1 | 1 |
| 9 | 0 | 1 |
| 10 | 0 | 1 |