Definizioni dei parametri
Come specificato nella definizione di
Availability
:
party_size
: il numero di persone che possono essere ospitate durante questo intervallo di tempo. Un ristorante può essere associato a più slot contemporaneamente, ognuno specificando unparty_size
diverso, se ad esempio 2, 3 o 4 persone possono prenotare un postospots_open
: il numero di posti attualmente disponibili per questa voce relativa alla disponibilitàspots_total
: il numero totale di spot a disposizione del commerciante per questa configurazione (inclusi quelli non disponibili)
Questi tre parametri interagiscono per creare una rappresentazione digitale della pianta del piano. party_size
è il numero di persone che ogni tabella può contenere (ci sarà una voce per ogni dimensione che una tabella può contenere). spots_open
e spots_total
rappresentano il numero di tabelle che possono ospitare un dato (party_size
).
Esempio di planimetria vuota
Immagina un ristorante con la seguente planimetria e nessuna prenotazione attiva:
![Figura 1: planimetria senza prenotazioni attive](https://developers-dot-devsite-v2-prod.appspot.com/static/actions-center/images/tutorial_dining_flow_1.png?authuser=6&hl=it)
I valori per party_size
, spots_open
e spots_total
sono:
party_size | spots_open | spots_total |
---|---|---|
4 | 3 | 3 |
5 | 3 | 3 |
6 | 4 | 4 |
7 | 1 | 1 |
8 | 1 | 1 |
Il feed della disponibilità per una fascia oraria di questo commerciante avrebbe il seguente aspetto:
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 } } ] }
Esempio di planimetria con una prenotazione
Immaginiamo che una delle tavole rotonde sia già stata prenotata:
![Figura 2: planimetria con una prenotazione attiva](https://developers-dot-devsite-v2-prod.appspot.com/static/actions-center/images/tutorial_dining_flow_2.png?authuser=6&hl=it)
Ora i valori per party_size
, spots_open
e spots_total
sarebbero:
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 } } ] }
Specificare la disponibilità di pasti con il supporto di tabelle combinate
Un ristorante può combinare i tavoli in molti modi per supportare gruppi più numerosi. Nei feed devi specificare spots_open
e spots_total
in un modo che rifletta accuratamente se puoi accettare parti di una determinata
dimensione. Di seguito è riportato un esempio di come specificare combinazioni di tabelle.
I feed potrebbero essere leggermente diversi per questo calcolo ed
è accettabile che tu specifichi spots_open
e spots_total
in modo che
rispecchino la tua logica di business.
Se un ristorante supporta la combinazione di tavoli per organizzare una festa con più partecipanti, puoi aggiornare spots_open
e spots_total
di conseguenza.
Supponiamo che un ristorante possa combinare due tavolini per ospitare un gruppo di 7-10 persone.
![Figura 3: planimetria senza prenotazioni attive](https://developers-dot-devsite-v2-prod.appspot.com/static/actions-center/images/tutorial_dining_flow_1.png?authuser=6&hl=it)
Nel caso di nessuna prenotazione attiva, i valori per party_size
, spots_open
e spots_total
sono:
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 |
Ora, a parità di planimetria, viene effettuata una prenotazione per un gruppo di 10 persone che combina due tavolini.
![Figura 4: planimetria con una prenotazione attiva su due tavoli](https://developers-dot-devsite-v2-prod.appspot.com/static/actions-center/images/tutorial_dining_flow_3.png?authuser=6&hl=it)
Allora, i valori per party_size
, spots_open
e spots_total
sono ora:
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 |