Partner, die am Wartelistenprogramm teilnehmen, müssen die Einrichtung des Kontos abschließen, bevor sie beginnen können. Einige Schritte im allgemeinen Leitfaden sind jedoch für die Verwendung der Wartelistenfunktion 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“ nutzen möchten. Wir empfehlen Ihnen, diese Übersicht zu lesen, bevor Sie mit den Integrationsschritten fortfahren.
Einführungsprozess
In Abbildung 1 siehst du, wie du deine Wartelistenhändler in „Mit Google reservieren“ aktivierst.
Insgesamt sind die wichtigsten Datenflüsse zwischen Ihnen (dem Partner) und Google in Abbildung 2 dargestellt:
Richtlinien für alle Wartelistenpartner
Bei der Implementierung der Wartelistenfunktion ist Folgendes zu beachten:
- Für den Dienst für jeden Händler auf der Warteliste muss
waitlist_rules
ausgefüllt sein.- Sie müssen für die Warteliste und die Reservierung denselben Dienst verwenden. Wenn Ihr Restaurant auch Reservierungen zulässt, fügen Sie dem Dienst einfach die Wartelistenmetadaten für die Reservierung hinzu.
- In den folgenden Fällen ist das Senden von SMS-Updates für die Implementierung der Warteliste erforderlich:
- Zur Bestätigung, dass sich der Nutzer auf die Warteliste gesetzt hat.
- Den Nutzer darüber informieren, dass seine Tabelle bereit ist.
- Den Nutzer darüber informieren, dass sein Wartelisteneintrag abgesagt wurde.
- SMS müssen einen Link zu einer Seite enthalten, auf der Nutzer ihren Wartelistenstatus abrufen können.
- Händler, die nur Wartelisten unterstützen, müssen keine Verfügbarkeitsfeeds für „Mit Google reservieren“ zur Verfügung stellen.
- Dein Buchungsserver muss alle wartelistenspezifischen Schritte implementieren, die unter Buchungsserver implementieren aufgeführt sind. Partner, die sowohl Reservierungen als auch Wartelisten unterstützen, können die neuen Methoden zu ihrem vorhandenen Buchungsserver hinzufügen.
- „Mit Google reservieren“ führt eine Reihe von Testläufen für die Wartelistenmethoden auf dem Buchungsserver durch.
Flussdiagramm für den Status
In diesem Diagramm werden die Status beschrieben, die in WaitlistEntry.waitlist_entry_state
gemeldet werden müssen, wenn
GetWaitlistEntry
-Aufrufe beantwortet werden. Das Diagramm gibt auch an, wann die Felder WaitlistEntry.waitlist_entry_state_times.*_time_seconds
aufgezeichnet und ausgefüllt werden sollten und wann eine SMS an den Nutzer gesendet werden soll, um ihn über den neuen Status zu informieren.
Häufige Sonderfälle
Im Folgenden finden Sie häufige Grenzfälle in der Wartelistenintegration und bevorzugte Lösungen.
-
Wenn einige (aber nicht alle) Gruppengrößen keine neuen Wartelistenzusätze akzeptieren, da es keine Wartezeiten für diese Gruppengrößen gibt, wird
WaitEstimates
für alle Gruppengrößen in derBatchGetWaitEstimates
-Antwort zurückgegeben und Nutzer können in die Warteliste für diese Gruppengrößen ohne Wartezeit aufgenommen werden. Gibt einWaitLength
mit 0parties_ahead_count
und/oder mit einemestimated_seat_time_range
mit 0start_seconds
und mit 0end_seconds
für dieparty_size
s ohne Wartezeit zurück -
Wenn für eine oder mehrere Gruppengrößen keine neuen Wartelisten hinzugefügt werden können, weil die Wartezeit zu lang ist, wird
WaitEstimates
für diese Gruppengröße in der AntwortBatchGetWaitEstimates
bevorzugt.
Diese Ansätze werden bevorzugt, da sie den Nutzern verschiedene Optionen bieten, obwohl die Warteliste des Händlers möglicherweise nicht vollständig geöffnet ist.
Richtlinien für Partner, die nur die Warteliste 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 Wartelisten unterstützen, implementieren die Reservierungsmethoden nicht auf ihrem Buchungsserver. Implementieren Sie stattdessen den Buchungsserver mit der Anleitung für die Wartelistenimplementierung.
- Partner, die nur die Warteliste unterstützen, senden keine API-Aufrufe an Google. Dies bedeutet, dass Partner, die nur Wartelisten unterstützen, kein Cloud-Projekt einrichten und keine Entwickler-E-Mail-Adresse angeben müssen. Sie müssen keine Echtzeit-API-Updates durchführen. Die Feeds für Händler und Dienstleistungen müssen jedoch weiterhin für "Mit Google reservieren" bereitgestellt werden.
Richtlinien für Partner, deren Händler das Hinzufügen von Wartelisten manuell akzeptieren müssen
Wenn deine Händler neue Wartelistenzusätze von Google manuell akzeptieren oder ablehnen müssen, sind zusätzliche Schritte erforderlich:
- Setze
waitlist_confirmation_mode
inwait_estimate
für Partygrößen, die eine manuelle Bestätigung erfordern, aufWAITLIST_CONFIRMATION_MODE_ASYNCHRONOUS
. Dies muss inBatchGetWaitEstimateResponse
undGetWaitlistEntryResponse
festgelegt werden. - Wartelisteneinträge, die der Nutzer angefordert, aber noch nicht vom Händler akzeptiert hat, sollten den Status
PENDING_MERCHANT_CONFIRMATION
haben.
Testläufe für Wartelisten
Google testet die folgenden Anwendungsfälle, um die Funktionalität der Wartelistenmethoden in deiner Buchungsserverimplementierung zu gewährleisten. Außerdem testet und überwacht Google die Latenz. Alle diese Tests müssen vor der Einführung erfolgreich sein.
WaitEstimate-Abruf
- Wartezeiten werden für jede Gruppengröße zurückgegeben, die in einem
BatchGetWaitEstimatesRequest
-Objekt angefordert wurden. - Für Gruppengrößen, bei denen der Händler neue Wartelistenzusätze akzeptieren oder ablehnen kann, musst du „waitlist_confirmation_mode“ auf
WAITLIST_CONFIRMATION_MODE_ASYNCHRONOUS
setzen.
Wartelisteneinträge erstellen
- Ein Wartelisteneintrag kann aus einer
CreateWaitlistEntry
-Anfrage erstellt werden. - Wenn das Erstellen eines Wartelisteneintrags fehlschlägt, wird in der Antwort ein Fehler in der Geschäftslogik angezeigt.
- Wenn ein
CreateWaitlistEntry
-Versuch erfolgreich war, wird dieselbe Antwort zurückgegeben, wenn derselbeCreateWaitlistEntry
noch einmal empfangen wird. - Wenn ein
CreateWaitlistEntry
-Versuch fehlschlägt, versucht der Server es noch einmal, sobald dieselbeCreateWaitlistEntry
noch einmal eingeht. - Wartelisteneinträge werden auf der Benutzeroberfläche des Händlers angezeigt.
- Aufrufe von
GetWaitlistEntry
geben den erstellten Wartelisteneintrag erfolgreich zurück.
Status von Wartelisteneinträgen und Zeitstempel
- Prüfe, ob jeder Wartelisteneintragsstatus im Wartelisteneintrag von
GetWaitlistEntry
-Antworten korrekt zurückgegeben wird. - Achten Sie darauf, dass 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 der leere Proto-
{}
sein.
Deaktivieren
- Prüfe, ob die deaktivierten Händler wie unter Händler deaktivieren behandelt werden.
Beispiel für einen Dienstleistungsfeed für die wartelistenbasierte Integration (JSON)
Dienstleistungsfeed für wartelistenbasierte IntegrationDeaktivierung durch Händler
Google erwartet bestimmte Antworten von Händlern, die zuvor Wartelisten aktiviert hatten, sich aber entschieden haben, die Funktion zu deaktivieren.
Sofortige Deaktivierung
- Für Anfragen vom Typ
BatchGetWaitEstimates
wirdCLOSED_OTHER
zurückgegeben. - Für Anfragen vom Typ
CreateWaitlistEntry
wirdWAITLIST_CLOSED
zurückgegeben. - Für Nutzer, die sich bereits auf der Warteliste befinden, können
GetWaitlistEntry
-Anfragen korrekt zurückgegeben werden.
Erweiterte Deaktivierung
- Entferne
waitlist_rules
aus dem Dienstleistungsfeed des Händlers, wenn er keine Reservierungen deaktiviert. - Entferne den Händler aus dem Händlerfeed, wenn er alle Google-Integrationen deaktiviert.