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.
In Abbildung 2 sind die wichtigsten Datenflüsse zwischen dir (dem Partner) und Google dargestellt:
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.
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
-AntwortWaitEstimates
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 eineWaitLength
mit 0parties_ahead_count
und/oder eineestimated_seat_time_range
mit 0start_seconds
und 0end_seconds
für dieparty_size
s 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 keineWaitEstimates
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
inwait_estimate
aufWAITLIST_CONFIRMATION_MODE_ASYNCHRONOUS
setzen. Das muss inBatchGetWaitEstimateResponse
undGetWaitlistEntryResponse
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 derselbeCreateWaitlistEntry
noch einmal eingeht. - Schlägt die
CreateWaitlistEntry
-Anfrage fehl, wird sie vom Server wiederholt, wenn derselbeCreateWaitlistEntry
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
- Deaktivierte Händler müssen wie hier beschrieben 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 Wartelisten zuvor aktiviert hatten, sie jetzt aber deaktiviert haben.
Sofortige Deaktivierung
- Gibt
CLOSED_OTHER
fürBatchGetWaitEstimates
-Anfragen zurück. - Gibt
WAITLIST_CLOSED
fürCreateWaitlistEntry
-Anfragen zurück. GetWaitlistEntry
-Anfragen für Nutzer, die sich bereits auf der Warteliste befinden, müssen ordnungsgemäß zurückgegeben werden.
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.