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_rulesangegeben 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-AntwortWaitEstimatesfü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 eineWaitLengthmit 0parties_ahead_countund/oder eineestimated_seat_time_rangemit 0start_secondsund 0end_secondsfür dieparty_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 keineWaitEstimatesfü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_modeinwait_estimateaufWAITLIST_CONFIRMATION_MODE_ASYNCHRONOUSsetzen. Das muss inBatchGetWaitEstimateResponseundGetWaitlistEntryResponsefestgelegt werden. - Einträge auf der Warteliste, die vom Nutzer angefordert, aber noch nicht vom Händler akzeptiert wurden, sollten den Status
PENDING_MERCHANT_CONFIRMATIONhaben.
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
BatchGetWaitEstimatesRequestangeforderte 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_ASYNCHRONOUSsetzen.
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 derselbeCreateWaitlistEntrynoch einmal eingeht. - Schlägt die
CreateWaitlistEntry-Anfrage fehl, wird sie vom Server wiederholt, wenn derselbeCreateWaitlistEntrynoch einmal eingeht. - Wartelisteneinträge werden auf der Benutzeroberfläche des Händlers angezeigt.
- Bei Aufrufen von
GetWaitlistEntrywird 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_OTHERfürBatchGetWaitEstimates-Anfragen zurück. - Gibt
WAITLIST_CLOSEDfü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_rulesaus dem Dienstleistungsfeed entfernt werden. - Händler, die alle Google-Integrationen deaktivieren, müssen aus dem Händlerfeed entfernt werden.