Definições de parâmetro
Conforme especificado nos
Availability
definição:
party_size
: o número de pessoas que podem ser acomodadas durante esse período. espaço. Um restaurante pode ser associado a vários slots ao mesmo tempo, cada uma especificando umparty_size
diferente se, por exemplo, 2, 3 ou 4 pessoas pode ser assentado com reservaspots_open
: o número de vagas disponíveis no momento. entrada de disponibilidadespots_total
: o número total de vagas que o comerciante tem nesta do Terraform (incluindo aquelas que não estão disponíveis)
Esses três parâmetros trabalham juntos para criar uma representação digital do
planta baixa. party_size
é o número de pessoas que cada mesa pode conter (haverá
ser uma entrada para todos os tamanhos que uma tabela pode acomodar). spots_open
e spots_total
são contagens de quantas tabelas podem acomodar esse party_size
.
Exemplo de planta baixa vazia
Imagine um restaurante com a seguinte planta baixa e nenhum ativo reservas:
![Figura 1: planta baixa sem reservas ativas](https://developers-dot-devsite-v2-prod.appspot.com/static/actions-center/images/tutorial_dining_flow_1.png?authuser=9&hl=pt)
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 nesse 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 reserva
Agora, imagine que uma das mesas redondas estava reservada:
![Figura 2: planta baixa com uma reserva ativa](https://developers-dot-devsite-v2-prod.appspot.com/static/actions-center/images/tutorial_dining_flow_2.png?authuser=9&hl=pt)
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 refeições com suporte a tabelas combinadas
Há muitas maneiras de um restaurante combinar mesas para acomodar grandes
grupos. Nos seus feeds, é esperado que você especifique spots_open
e spots_total
de maneira que reflita com precisão se você pode aceitar partes de um determinado
tamanho. Veja a seguir um exemplo de como especificar a combinação de tabelas.
Seus feeds podem variar um pouco no modo como esse cálculo é feito e é
aceitável para você especificar spots_open
e spots_total
de forma que
que corresponda à sua lógica de negócios.
Se um restaurante aceita combinar mesas para formar um grupo maior, você pode
Atualize 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 as pessoas.
![Figura 3: planta baixa sem reservas ativas](https://developers-dot-devsite-v2-prod.appspot.com/static/actions-center/images/tutorial_dining_flow_1.png?authuser=9&hl=pt)
Caso não haja 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 a mesma planta baixa, é feita uma reserva para um grupo de 10 pessoas que combina duas tabelas pequenas.
![Figura 4: planta baixa com uma reserva ativa abrangendo duas tabelas](https://developers-dot-devsite-v2-prod.appspot.com/static/actions-center/images/tutorial_dining_flow_3.png?authuser=9&hl=pt)
Em seguida, os valores de party_size
, spots_open
e spots_total
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 |