Übersicht

Partner, die am Programm für Reservierungswartelisten teilnehmen, müssen die Kontoeinrichtung abschließen, bevor sie beginnen können. Einige Schritte in der allgemeinen Anleitung sind für die Verwendung der Wartelistenfunktion jedoch nicht erforderlich. In den Richtlinien auf dieser Seite wird erläutert, welche Schritte für Partner erforderlich sind, die die Wartelistenfunktion von „Mit Google reservieren“ verwenden möchten. Du solltest dir diese Übersicht durchlesen, bevor du mit den Integrationsschritten beginnst.

Einführungsprozess

In Abbildung 1 siehst du, wie du deine wartelistenfähigen Händler im Actions Center integrierst.

Abbildung 1: Allgemeine Integrationsschritte
Abbildung 1:Allgemeine Integrationsschritte

In Abbildung 2 sind die wichtigsten Datenflüsse zwischen dir (dem Partner) und Google dargestellt:

Abbildung 2: Diagramm für den Datenfluss
Abbildung 2: Diagramm für den Datenfluss

Richtlinien für alle Partner von „Wartelisten für Reservierungen“

Beachten Sie bei der Implementierung der Funktion „Wartelisten für Reservierungen“ Folgendes:

  • Für die Dienstleistung jedes Händlers mit Reservierungswarteliste muss waitlist_rules angegeben sein.
    • Sie müssen für die Warteliste und die Reservierung denselben Dienst verwenden. Wenn Ihr Restaurant also auch Reservierungen zulässt, fügen Sie dem Reservierungsdienst einfach die Metadaten für die Warteliste hinzu.
  • Das Senden von SMS-Updates ist für die Wartelistenimplementierung in den folgenden Fällen erforderlich:
    • Bestätigen, dass der Nutzer erfolgreich auf die Warteliste gesetzt wurde
    • Um den Nutzer darüber zu informieren, dass sein Tisch bereit ist.
    • Nutzer darüber informieren, dass sein Eintrag auf der Warteliste storniert wurde
  • SMS-Nachrichten müssen einen Link zu einer Seite enthalten, auf der Nutzer ihren Wartelistenstatus einsehen können.
  • Händler, die nur Wartelisten unterstützen, müssen keine Verfügbarkeitsfeeds für das Actions Center bereitstellen.
  • Für den Buchungsserver müssen alle wartelistenspezifischen Schritte implementiert werden, die hier aufgeführt sind. Partner, die sowohl Reservierungen als auch Wartelisten unterstützen, können die neuen Methoden auf ihrem bestehenden Buchungsserver implementieren.
  • Das Actions Center führt eine Reihe von Testläufen für die Wartelistenmethoden auf dem Buchungsserver durch.

Status-Flussdiagramm

In diesem Diagramm werden die Status beschrieben, die in WaitlistEntry.waitlist_entry_state angegeben werden müssen, wenn auf GetWaitlistEntry -Aufrufe geantwortet wird. Das Diagramm gibt auch an, wann die Felder WaitlistEntry.waitlist_entry_state_times.*_time_seconds erfasst und ausgefüllt werden sollen und wann dem Nutzer eine SMS gesendet werden soll, um ihn darüber zu informieren, dass er einen neuen Status erreicht hat.

Abbildung 3: Ablaufdiagramm für den Wartelistenstatus
Abbildung 3: Wartelistenstatus-Flussdiagramm

Häufige Sonderfälle

Im Folgenden findest du bevorzugte Lösungen zu Sonderfällen, die bei der Integration von Reservierungswartelisten häufig auftreten.

  • Wenn einige (aber nicht alle) Gruppengrößen nicht zur Warteliste hinzugefügt werden können, weil es keine Wartezeiten für diese Gruppengrößen gibt, werden in der BatchGetWaitEstimates-Antwort WaitEstimates für alle Gruppengrößen zurückgegeben. Nutzer sollten sich dann vorzugsweise ohne Wartezeit in die Warteliste für diese Gruppengrößen aufnehmen lassen können. Gib eine WaitLength mit 0 parties_ahead_count und/oder eine estimated_seat_time_range mit 0 start_seconds und 0 end_seconds für die party_sizes ohne Wartezeit zurück.
  • Wenn eine oder mehrere Gruppengrößen nicht zur Warteliste hinzugefügt werden können, weil die Wartezeit zu lang ist, sollten in der BatchGetWaitEstimates-Antwort vorzugsweise keine WaitEstimates für diese Gruppengrößen zurückgegeben werden.

Diese Herangehensweisen werden bevorzugt, weil Nutzer dann Optionen haben, selbst wenn die Warteliste des Händlers eventuell nicht vollständig geöffnet ist.

Richtlinien für Partner, die nur die Warteliste für Reservierungen unterstützen

Beachte Folgendes, wenn der Buchungsserver nur für Wartelisten verwendet wird:

  • Partner, die nur Wartelisten unterstützen, stellen keine Verfügbarkeitsfeeds für „Mit Google reservieren“ bereit.
  • Partner, die nur Reservierungen und Wartelisten unterstützen, implementieren die Reservierungsmethoden nicht auf ihrem Buchungsserver. Stattdessen verwendest du die Anleitung für die wartelistenbasierte Implementierung.
  • Partner, die nur die Warteliste unterstützen, senden keine API-Aufrufe an Google. Daher brauchen sie auch kein Cloud-Projekt einrichten und keine E-Mail-Adresse eines Entwicklers angeben. API-Updates in Echtzeit sind nicht erforderlich. Die Feeds für Händler und Dienstleistungen müssen aber weiter für das Actions Center bereitgestellt werden.

Richtlinien für Partner, deren Händler Hinzufügungen für Wartelisten manuell akzeptieren/ablehnen müssen

Wenn deine Händler das Hinzufügen zu Wartelisten von Google manuell annehmen oder ablehnen müssen, sind zusätzliche Schritte erforderlich:

  • Für Gruppengrößen, für die eine manuelle Bestätigung erforderlich ist, musst du waitlist_confirmation_mode in wait_estimate auf WAITLIST_CONFIRMATION_MODE_ASYNCHRONOUS setzen. Das muss in BatchGetWaitEstimateResponse und GetWaitlistEntryResponse festgelegt werden.
  • Einträge auf der Warteliste, die vom Nutzer angefordert, aber noch nicht vom Händler akzeptiert wurden, sollten den Status PENDING_MERCHANT_CONFIRMATION haben.

Testfälle für Wartelisten für Reservierungen

Google testet die folgenden Anwendungsfälle. So wird geprüft, ob die Wartelistenmethoden in der Implementierung deines Buchungsservers richtig funktionieren. Google prüft und überwacht auch die Latenz. Alle diese Tests müssen vor der Einführung erfolgreich sein.

WaitEstimate-Abruf

  • Für jede in einer BatchGetWaitEstimatesRequest angeforderte Gruppengröße werden geschätzte Wartezeiten zurückgegeben.
  • Bei Gruppengrößen, bei denen der Händler das Hinzufügen zur Warteliste akzeptieren oder ablehnen kann, musst du „waitlist_confirmation_mode“ auf WAITLIST_CONFIRMATION_MODE_ASYNCHRONOUS setzen.

Wartelisteneinträge erstellen

  • Wartelisteneinträge können aus einer CreateWaitlistEntry-Anfrage erstellt werden.
  • Schlägt das fehl, wird in der Antwort ein Fehler in der Geschäftslogik zurückgegeben.
  • Ist die CreateWaitlistEntry-Anfrage erfolgreich, wird dieselbe Antwort zurückgegeben, wenn derselbe CreateWaitlistEntry noch einmal eingeht.
  • Schlägt die CreateWaitlistEntry-Anfrage fehl, wird sie vom Server wiederholt, wenn derselbe CreateWaitlistEntry noch einmal eingeht.
  • Wartelisteneinträge werden auf der Benutzeroberfläche des Händlers angezeigt.
  • Bei Aufrufen von GetWaitlistEntry wird der erstellte Wartelisteneintrag zurückgegeben.

Status von Wartelisteneinträgen und Zeitstempel

  • Prüfe, ob alle Status für Wartelisteneinträge im Wartelisteneintrag von GetWaitlistEntry-Antworten richtig zurückgegeben werden.
  • Prüfe, ob jeder Statuszeitstempel im entsprechenden Zeitstempelfeld des Wartelisteneintrags in GetWaitlistEntry-Antworten festgelegt ist.

Wartelisteneinträge löschen

  • Bestehende Wartelisteneinträge können gelöscht werden. Die Antwort auf einen erfolgreichen Löschvorgang muss das leere Proto {} sein.

Deaktivieren

Beispiel für einen Dienstleistungsfeed für die wartelistenbasierte Integration (JSON)

Dienstleistungsfeed für wartelistenbasierte Integration

Deaktivierung durch Händler

Google erwartet bestimmte Antworten von Händlern, die Wartelisten zuvor aktiviert hatten, sie jetzt aber deaktiviert haben.

Sofortige Deaktivierung

Erweiterte Deaktivierung

  • Wenn ein Händler Reservierungen nicht aktiviert, muss waitlist_rules aus dem Dienstleistungsfeed entfernt werden.
  • Händler, die alle Google-Integrationen deaktivieren, müssen aus dem Händlerfeed entfernt werden.