Verfügbarkeitsdaten für Reservierungen strukturieren

Parameterdefinitionen

Gemäß der Definition von Availability:

  • 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 Plätze, die derzeit für diesen Verfügbarkeitseintrag verfügbar sind
  • spots_total: Die Gesamtzahl der Anzeigenflächen, die der Händler für diese Konfiguration hat (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 einem Tisch Platz finden. Es gibt einen Eintrag für jede Größe, die ein Tisch aufnehmen kann. spots_open und spots_total geben an, wie viele Tabellen diese party_size aufnehmen können.

Beispiel für einen leeren Grundriss

Stellen Sie sich ein Restaurant mit dem folgenden Grundriss und ohne aktive Buchungen 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 einmaligen Slot 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 Grundriss mit einer Buchung

Angenommen, einer der runden Tische ist reserviert:

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 dann:

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 Speisen und Getränken mit Unterstützung für kombinierte Tische angeben

Es gibt viele Möglichkeiten, wie ein Restaurant Tische kombinieren kann, um größere Gruppen zu bedienen. Sie müssen in Ihren Feeds spots_open und spots_total so angeben, dass sie genau widerspiegeln, ob Sie Gruppen einer bestimmten Größe akzeptieren können. Im Folgenden finden Sie ein Beispiel dafür, wie Sie zusammengeführte Tabellen angeben können. Die Berechnung kann in Ihren Feeds etwas variieren. Sie können spots_open und spots_total so angeben, wie es Ihrer Geschäftslogik entspricht.

Wenn ein Restaurant die Kombination von Tischen zu einer größeren 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, haben party_size, spots_open und spots_total folgende Werte:

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 für denselben Grundriss eine Reservierung für eine Gruppe von 10 Personen vorgenommen, bei der zwei kleine Tische kombiniert werden.

Abbildung 4: Grundriss mit einer aktiven Buchung, die zwei Tische umfasst
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 dann:

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