Verfügbarkeitsdaten für Reservierungen strukturieren

Parameterdefinitionen

Wie in der Definition von Availability angegeben:

  • party_size: Die Anzahl der Personen, für die während dieses Slots Platz ist. Für ein Restaurant kann es mehrere Slots gleichzeitig geben, die alle einen anderen Wert für party_size haben, z. B. wenn an einem Tisch 2, 3 oder 4 Gäste Platz haben.
  • spots_open: Die Anzahl der derzeit verfügbaren Plätze für diesen Verfügbarkeitseintrag.
  • spots_total: Die Gesamtzahl der verfügbaren Plätze für diese Konfiguration (einschließlich der nicht verfügbaren)

Diese drei Parameter bilden zusammen eine digitale Darstellung des Grundrisses. party_size ist die Anzahl der Personen, die an jedem Tisch Platz finden. Es gibt einen Eintrag für jede Größe, die ein Tisch bieten kann. spots_open und spots_total sind die Anzahl der Tabellen, die party_size aufnehmen können.

Beispiel für einen leeren Grundriss

Stellen Sie sich ein Restaurant mit dem folgenden Grundriss und ohne aktive Reservierungen vor:

Abbildung 1: Grundriss ohne aktive Buchungen
Abbildung 1:Grundriss ohne aktive Buchungen

Die Werte für party_size, spots_open und spots_total wären:

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 einen Zeitrahmen 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
          }
        }
      ]
}

Beispielgrundriss mit einer Buchung

Stellen Sie sich nun vor, dass einer der runden Tische reserviert wurde:

Abbildung 2: Grundriss mit einer aktiven Buchung
Abbildung 2:Grundriss mit einer aktiven Buchung

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 für größere Gruppen zusammenstellen kann. In Ihren Feeds müssen Sie spots_open und spots_total so angeben, dass genau angegeben wird, ob Sie Gruppen einer bestimmten Größe annehmen können. Im Folgenden finden Sie ein Beispiel dafür, wie Sie das Kombinieren von Tabellen angeben können. Die Berechnung kann sich je nach Feed etwas unterscheiden. Es ist in Ordnung, wenn Sie spots_open und spots_total so angeben, dass sie Ihrer Geschäftslogik entsprechen.

Wenn ein Restaurant das Zusammenlegen von Tischen für eine größere Gruppe unterstützt, können Sie spots_open und spots_total entsprechend aktualisieren.

Angenommen, ein Restaurant kann zwei kleine Tische kombinieren, um eine Gruppe von 7 bis 10 Personen unterzubringen.

Abbildung 3: Grundriss ohne aktive Buchungen
Abbildung 3:Grundriss ohne aktive Buchungen

Wenn keine aktiven Buchungen vorhanden sind, 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

Nun wird mit demselben Grundriss eine Reservierung für eine Gruppe von 10 Personen vorgenommen, bei der zwei kleine Tische kombiniert werden.

Abbildung 4: Grundriss mit einer aktiven Reservierung, die sich über zwei Tische erstreckt
Abbildung 4:Grundriss mit einer aktiven Buchung, die sich über zwei Tische erstreckt

Die Werte für party_size, spots_open und spots_total sind jetzt:

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