Definicje parametrów
Zgodnie z definicją Availability
:
party_size
: liczba osób, które mogą uczestniczyć w danym wydarzeniu. Restauracja może być powiązana z wieloma slotami w tym samym czasie, przy czym każdy z nich określa inną wartośćparty_size
, jeśli na przykład 2, 3 lub 4 osoby mogą zająć miejsca w ramach rezerwacjispots_open
: liczba miejsc obecnie dostępnych w przypadku tego wpisu z informacjami o dostępnościspots_total
: łączna liczba miejsc, które sprzedawca ma w ramach tej konfiguracji (w tym te, które nie są dostępne)
Te 3 parametry współpracują ze sobą, aby utworzyć cyfrową reprezentację planu piętra. party_size
to liczba osób, które mogą usiąść przy każdym stoliku (będzie wpis dla każdego rozmiaru stołu). spots_open
i spots_total
to liczba tabel, w których można umieścić dane party_size
.
Przykład pustego planu piętra
Wyobraź sobie restaurację z taką mapą piętra i bez aktywnych rezerwacji:
Wartości party_size
, spots_open
i spots_total
będą następujące:
party_size | spots_open | spots_total |
---|---|---|
4 | 3 | 3 |
5 | 3 | 3 |
6 | 4 | 4 |
7 | 1 | 1 |
8 | 1 | 1 |
Plik danych o dostępności na jeden przedział czasowy u tego sprzedawcy będzie wyglądał tak:
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 } } ] }
Przykładowy plan piętra z rezerwacją
Teraz wyobraź sobie, że jedna z okrągłych ławek została zarezerwowana:
Wartości parametrów party_size
, spots_open
i spots_total
będą teraz następujące:
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 } } ] }
Określanie dostępności posiłków z uwzględnieniem połączonych stolików
Restauracje mogą łączyć stoliki na wiele sposobów, aby obsługiwać większe grupy. W plikach danych musisz podać wartości spots_open
i spots_total
w sposób, który dokładnie odzwierciedla, czy możesz przyjmować partie o danym rozmiarze. Poniżej znajdziesz przykład określenia łączenia tabel.
Sposób, w jaki są one obliczane, może się nieco różnić w przypadku poszczególnych plików danych. Możesz podać wartości spots_open
i spots_total
w sposób odpowiadający logice Twojej firmy.
Jeśli restauracja umożliwia połączenie stolików, aby utworzyć większą grupę, możesz zaktualizować wartości pól spots_open
i spots_total
, aby odzwierciedlić tę opcję.
Załóżmy, że restauracja może połączyć 2 małe stoły, aby pomieścić grupę 7–10 osób.
W przypadku braku aktywnych rezerwacji wartości parametrów party_size
, spots_open
i spots_total
wynoszą:
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 |
Teraz, przy użyciu tego samego planu piętra, rezerwacja jest dokonywana dla grupy 10 osób, która łączy 2 małe stoły.
Wartości party_size
, spots_open
i spots_total
są teraz takie:
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 |