Definições de parâmetro
Conforme especificado na definição de
Availability:
party_size: a quantidade de pessoas que podem ser acomodadas 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 no momento para esta entrada de disponibilidade.spots_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 da planta baixa. party_size é o número de pessoas que cada mesa pode acomodar. Há uma entrada para cada tamanho de mesa. spots_open e spots_total são contagens de quantas tabelas podem acomodar esse party_size.
Exemplo de planta vazia
Imagine um restaurante com a seguinte planta baixa 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 para um horário específico desse 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 baixa com uma reserva
Agora imagine que uma das mesas redondas foi reservada:
Os valores de party_size, spots_open e spots_total agora seriam:
| 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 } } ] }
Especificar a disponibilidade de restaurantes com suporte a tabelas combinadas
Há muitas maneiras de um restaurante combinar mesas para atender a grupos maiores. Nos seus feeds, especifique spots_open e spots_total de forma que reflita com precisão se você pode aceitar grupos de um determinado tamanho. Confira um exemplo de como especificar a combinação de tabelas.
Seus feeds podem variar um pouco na forma como esse cálculo é feito, e é aceitável especificar spots_open e spots_total de uma forma que corresponda à sua lógica de negócios.
Se um restaurante permitir a combinação de mesas para formar um grupo maior, atualize o spots_open e o spots_total para refletir isso.
Por exemplo, um restaurante pode juntar duas mesas pequenas para acomodar um grupo de 7 a 10 pessoas.
Se não houver reservas ativas, os valores de party_size, spots_open e spots_total serã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 a mesma planta, uma reserva é feita para um grupo de 10 pessoas que combina duas mesas pequenas.
Então, 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 |