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ù fasce orarie per la stessa data, ciascuna con unparty_size
diverso, se ad esempio possono essere ospitate 2, 3 o 4 persone con una prenotazionespots_open
: il numero di posti attualmente disponibili per questa voce di disponibilitàspots_total
: il numero totale di postazioni a disposizione del commerciante per questa configurazione (inclusi quelli non disponibili)
Questi tre parametri agiscono insieme per creare una rappresentazione digitale della pianta. party_size
è il numero di persone che ogni tavolo può ospitare (esiste
una voce per ogni dimensione che un tavolo può ospitare). spots_open
e spots_total
indicano il numero di tabelle che possono contenere party_size
.
Esempio di planimetria vuota
Immagina un ristorante con la seguente pianta e nessuna prenotazione attiva:
I valori di 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 di disponibilità per una fascia oraria presso questo commerciante sarà il seguente:
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
Ora immagina che una delle tavole rotonde sia stata prenotata:
I valori di party_size
, spots_open
e spots_total
saranno ora:
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 } } ] }
Specifica della disponibilità dei pasti con il supporto delle tabelle combinate
Esistono molti modi in cui un ristorante può combinare i tavoli per supportare gruppi più numerosi. Nei tuoi feed devi specificare spots_open
e spots_total
in modo che riflettano con precisione se puoi accettare gruppi di una determinata
dimensione. Di seguito è riportato un esempio di come specificare le tabelle da combinare.
I tuoi feed potrebbero differire leggermente per quanto riguarda il modo in cui viene effettuato questo calcolo ed è accettabile specificare spots_open
e spots_total
in modo che sia in linea con la tua logica di business.
Se un ristorante supporta la combinazione di tavoli per formare un gruppo più grande, puoi aggiornare spots_open
e spots_total
in base a questa opzione.
Supponiamo che un ristorante possa unire due piccoli tavoli per ospitare un gruppo di 7-10 persone.
In caso di nessuna prenotazione attiva, i valori di 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, con la stessa pianta, viene effettuata una prenotazione per un gruppo di 10 persone che combina due piccoli tavoli.
I valori di 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 |