Para mostrar seus horários no fluxo de reserva, envie um mapeamento preciso e atualizado do seu inventário. O número de vagas disponíveis pode mudar significativamente após uma única reserva devido à natureza dos restaurantes e à capacidade de juntar mesas ou ao tamanho do grupo. Os exemplos neste documento mostram como manter e mapear seu inventário disponível corretamente.
Confira abaixo os parâmetros especificados no
Availability definition
:
party_size
: o tamanho do grupo que o estabelecimento pode acomodar neste horário. Os diagramas neste artigo mostram as várias maneiras de configurar o tamanho do grupo.spots_open
: o número de mesas disponíveis para um determinado horário e tamanho de grupo.spots_total
: o número total de tabelas que o comerciante tem para essa configuração, incluindo as tabelas indisponí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 que uma tabela pode acomodar. spots_open
e spots_total
são contagens de tabelas que podem acomodar esse party_size
.
Exemplo de planta baixa vazia
Imagine um restaurante com a seguinte planta e sem reservas ativas:
Figura 1. Planta baixa sem reservas ativas.
Estes são os valores para party_size
, spots_open
e spots_total
:
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 é assim:
{
"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
Um restaurante com uma das mesas redondas reservadas anteriormente é o seguinte:
Figura 2. Planta baixa com uma reserva ativa.
Estes são os valores para party_size
, spots_open
e spots_total
:
party_size | spots_open | spots_total |
---|---|---|
4 | 2 | 3 |
5 | 2 | 3 |
6 | 3 | 4 |
7 | 1 | 1 |
8 | 1 | 1 |
O feed de disponibilidade para um horário específico desse comerciante é assim:
{
"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. Você precisa especificar spots_open
e spots_total
de uma forma que
reflita com precisão se você pode aceitar grupos de um determinado tamanho.
Confira a seguir um exemplo de como especificar a combinação de tabelas. Seus feeds podem variar de acordo com o método de cálculo usado. É aceitável especificar spots_open
e spots_total
de uma forma que corresponda à lógica da sua empresa.
Se um restaurante permitir a combinação de mesas para formar um grupo maior, atualize
seus spots_open
e spots_total
para refletir isso.
Por exemplo, um restaurante que pode combinar duas mesas pequenas para acomodar um grupo de 7 a 10 pessoas:
Figura 3. Planta baixa sem reservas ativas.
Se não houver reservas ativas, estes serão os valores de party_size
, spots_open
e spots_total
:
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 dez pessoas que combina duas mesas pequenas.
Figura 4. Planta baixa com uma reserva ativa em duas mesas.
Então, os valores de party_size
, spots_open
e spots_total
são os seguintes:
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 |