Parameterdefinitionen
Wie in der Definition von Availability
angegeben:
party_size
: Die Anzahl der Personen, für die während dieses Zeitfensters Platz ist. Ein Restaurant kann mit mehreren Slots gleichzeitig verknüpft sein, wobei jeder Slots eine andereparty_size
angibt, wenn beispielsweise 2, 3 oder 4 Personen mit einer Reservierung Platz haben.spots_open
: Die Anzahl der Plätze, die derzeit für diesen Verfügbarkeitseintrag verfügbar sindspots_total
: Die Gesamtzahl der Plätze, die der Händler für diese Konfiguration hat (einschließlich der nicht verfügbaren Plätze)
Diese drei Parameter bilden zusammen eine digitale Darstellung des Gebäudeplans. party_size
ist die Anzahl der Personen, die in einer Tabelle Platz haben. Für jede Größe, die in einer Tabelle Platz ist, gibt es einen Eintrag. spots_open
und spots_total
geben an, wie viele Tabellen diese party_size
aufnehmen können.
Beispiel für einen leeren Gebäudeplan
Stellen Sie sich ein Restaurant mit folgendem Grundriss und ohne aktive Buchungen vor:
![Abbildung 1: Gebäudeplan ohne aktive Buchungen](https://developers-dot-devsite-v2-prod.appspot.com/static/actions-center/images/tutorial_dining_flow_1.png?authuser=8&hl=de)
Die Werte für party_size
, spots_open
und spots_total
wären also:
party_size | spots_open | spots_total |
---|---|---|
4 | 3 | 3 |
5 | 3 | 3 |
6 | 4 | 4 |
7 | 1 | 1 |
8 | 1 | 1 |
Der Verfügbarkeitsfeed für ein Zeitfenster bei diesem Händler würde so aussehen:
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 } } ] }
Beispiel für einen Gebäudeplan mit einer Buchung
Stellen Sie sich nun vor, einer der runden Tische war gebucht:
![Abbildung 2: Gebäudeplan mit einer aktiven Buchung](https://developers-dot-devsite-v2-prod.appspot.com/static/actions-center/images/tutorial_dining_flow_2.png?authuser=8&hl=de)
Die Werte für party_size
, spots_open
und spots_total
wären jetzt:
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 } } ] }
Verfügbarkeit von Restaurants mit Unterstützung für kombinierte Tabellen angeben
Es gibt viele Möglichkeiten, wie ein Restaurant Tische kombinieren kann, um größere Gruppen zu unterstützen. Du musst spots_open
und spots_total
in deinen Feeds so angeben, dass du Gruppen einer bestimmten Größe annehmen kannst. Im Folgenden finden Sie ein Beispiel dafür, wie Sie das Kombinieren von Tabellen angeben können.
Deine Feeds können sich in der Art und Weise, wie diese Berechnung durchgeführt wird, unterscheiden. Du kannst spots_open
und spots_total
so angeben, dass sie deiner Geschäftslogik entsprechen.
Wenn ein Restaurant die Kombination von Tabellen zu einer größeren Gruppe unterstützt, kannst du spots_open
und spots_total
entsprechend aktualisieren.
Angenommen, ein Restaurant kann zwei kleine Tische für eine Gruppe von 7 bis 10 Personen kombinieren.
![Abbildung 3: Gebäudeplan ohne aktive Buchungen](https://developers-dot-devsite-v2-prod.appspot.com/static/actions-center/images/tutorial_dining_flow_1.png?authuser=8&hl=de)
Wenn keine aktiven Buchungen vorliegen, sind die Werte für party_size
, spots_open
und spots_total
so:
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 |
Jetzt wird bei gleichem Gebäudeplan eine Buchung für bis zu 10 Personen durchgeführt, die zwei kleine Tische kombiniert.
![Abbildung 4: Gebäudeplan mit einer aktiven Buchung, die sich über zwei Tabellen erstreckt](https://developers-dot-devsite-v2-prod.appspot.com/static/actions-center/images/tutorial_dining_flow_3.png?authuser=8&hl=de)
Dann sind die Werte für party_size
, spots_open
und spots_total
:
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 |