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_size
diferente, 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 |