Partner, die am Programm für Wartelisten für Reservierungen teilnehmen, müssen zuerst die Kontoeinrichtung abschließen. Einige Schritte in der allgemeinen Anleitung sind jedoch nicht erforderlich, um die Wartelistenfunktion zu nutzen. In den Richtlinien auf dieser Seite wird erläutert, welche Schritte für Partner gelten, die die Wartelistenfunktion von "Mit Google reservieren" nutzen möchten. Wir empfehlen dir, diese Übersicht zu lesen, bevor du die Integrationsschritte durchführst.
Einführungsprozess
Abbildung 1 zeigt, wie du Händler mit Wartelistenfunktion im Actions Center veröffentlichen kannst.
![Abbildung 1: Allgemeine Integrationsschritte](https://google-developers.gonglchuangl.net/static/actions-center/images/waitlists/reserve_with_google_waitlist_integration.png?authuser=0&hl=de)
Die wichtigsten Datenflüsse zwischen Ihnen (dem Partner) und Google sind in Abbildung 2 dargestellt:
![Abbildung 2: Diagramm für den Datenfluss](https://google-developers.gonglchuangl.net/static/actions-center/images/waitlists/waitlist_integration_data_flow_diagram.png?authuser=0&hl=de)
Richtlinien für alle Wartelistenpartner für Reservierungen
Beachten Sie bei der Implementierung der Funktion „Wartelisten für Reservierungen“ Folgendes:
- Für die Dienstleistung jedes Händlers auf Wartelisten für Reservierungen muss
waitlist_rules
ausgefüllt sein.- Sie müssen für die Warteliste und die Reservierung denselben Service verwenden. Mit anderen Worten: Wenn Ihr Restaurant auch Reservierungen zulässt, fügen Sie der Dienstleistung für die Reservierung einfach die Metadaten für die Warteliste hinzu.
- Das Senden von SMS-Updates ist in den folgenden Fällen für die Implementierung der Warteliste erforderlich:
- Bestätigung, dass sich der Nutzer erfolgreich auf die Warteliste gesetzt hat.
- Der Nutzer wird benachrichtigt, dass seine Tabelle bereit ist.
- Der Nutzer wird darüber informiert, dass sein Wartelisteneintrag storniert wurde.
- SMS müssen einen Link zu einer Seite enthalten, auf der Nutzer ihren Wartelistenstatus sehen können.
- Händler, die nur Wartelisten unterstützen, müssen im Actions Center keine Verfügbarkeitsfeeds zur Verfügung stellen.
- Auf deinem Buchungsserver müssen alle wartelistenspezifischen Schritte implementiert werden, die unter Buchungsserver implementieren aufgeführt sind. Partner, die sowohl Reservierungen als auch Wartelisten unterstützen, können die neuen Methoden ihrem bestehenden Buchungsserver hinzufügen.
- Das Actions Center führt eine Reihe von Testläufen für die Wartelistenmethoden auf dem Buchungsserver aus.
Flussdiagramm für Status
In dieser Tabelle werden die Status beschrieben, die in
WaitlistEntry.waitlist_entry_state
gemeldet werden müssen, wenn auf
GetWaitlistEntry
-Anrufe reagiert wird. Im Diagramm wird auch angegeben, wann die Felder
WaitlistEntry.waitlist_entry_state_times.*_time_seconds
aufgezeichnet und ausgefüllt und wann eine SMS an den Nutzer gesendet werden soll, um ihn über den neuen Status zu informieren.
![Abbildung 3: Flussdiagramm für den Status der Warteliste](https://google-developers.gonglchuangl.net/static/actions-center/images/waitlists/waitlist_status_flowchart.png?authuser=0&hl=de)
Häufige Sonderfälle
Im Folgenden sind häufige Grenzfälle bei der Einbindung von Wartelisten für Reservierungen sowie bevorzugte Lösungen dafür aufgeführt.
-
Wenn einige (aber nicht alle) Gruppengrößen keine neuen Wartelisteneinträge akzeptieren, weil es keine Wartezeit auf diese Gruppengrößen gibt, wird vorzugsweise
WaitEstimates
für alle Gruppengrößen in derBatchGetWaitEstimates
-Antwort zurückgegeben und Nutzer können sich ohne Wartezeit auf die Warteliste für diese Gruppengrößen setzen lassen. Gibt einenWaitLength
mit 0parties_ahead_count
und/oder mit einemestimated_seat_time_range
mit 0start_seconds
und mit 0end_seconds
für dieparty_size
-Werte ohne Wartezeit zurück -
Wenn eine oder mehrere Gruppengrößen keine neuen Wartelisteneinträge akzeptieren, weil die Wartezeit zu lang geworden ist, wird es bevorzugt,
WaitEstimates
für diese Gruppengrößen in derBatchGetWaitEstimates
-Antwort wegzulassen.
Diese Ansätze werden bevorzugt, da sie den Nutzern Optionen bieten, obwohl die Warteliste des Händlers möglicherweise nicht vollständig geöffnet ist.
Richtlinien für Partner, die nur auf Wartelisten Zugriff haben
Beachte Folgendes, wenn der Buchungsserver nur für Wartelisten verwendet wird:
- Partner, die nur Wartelisten für Reservierungen nutzen, stellen keine Verfügbarkeitsfeeds für „Mit Google reservieren“ zur Verfügung.
- Partner, die nur Wartelisten für Reservierungen nutzen, implementieren die Reservierungsmethoden nicht auf ihrem Buchungsserver. Implementiere den Buchungsserver stattdessen mit der Anleitung für die Wartelistenimplementierung.
- Partner, die nur Wartelisten für Reservierungen nutzen, senden keine API-Aufrufe an Google. Das bedeutet, dass Partner, die nur auf Wartelisten ausgerichtet sind, kein Cloud-Projekt einrichten oder eine Entwickler-E-Mail-Adresse angeben müssen. Sie müssen keine Echtzeit-API-Aktualisierungen durchführen. Händlerfeeds und Dienstleistungsfeeds müssen jedoch weiterhin im Actions Center bereitgestellt werden.
Richtlinien für Partner, deren Händler Hinzufügungen zu Wartelisten manuell akzeptieren/ablehnen müssen
Wenn deine Händler die Möglichkeit benötigen, neue Wartelisten von Google manuell anzunehmen oder abzulehnen, sind zusätzliche Schritte erforderlich:
- Legen Sie
waitlist_confirmation_mode
für Gruppengrößen, für die eine manuelle Bestätigung erforderlich ist, inwait_estimate
aufWAITLIST_CONFIRMATION_MODE_ASYNCHRONOUS
fest. Dies muss inBatchGetWaitEstimateResponse
undGetWaitlistEntryResponse
festgelegt werden. - Wartelisteneinträge, die vom Nutzer angefordert, aber noch nicht vom Händler akzeptiert wurden, sollten den Status
PENDING_MERCHANT_CONFIRMATION
haben.
Testläufe für Wartelisten für Reservierungen
Google testet die folgenden Anwendungsfälle, um zu prüfen, ob die Wartelistenmethoden in deiner Implementierung des Buchungsservers funktionieren. Google testet und überwacht auch die Latenz. Alle diese Tests müssen vor der Einführung erfolgreich sein.
WaitEstimate-Abruf
- Für jede in einem
BatchGetWaitEstimatesRequest
angeforderte Gruppengröße werden geschätzte Wartezeiten zurückgegeben. - Für Gruppengrößen, bei denen der Händler die Möglichkeit hat, neue Wartelisteneinträge anzunehmen oder abzulehnen, setze „waitlist_confirmation_mode“ auf
WAITLIST_CONFIRMATION_MODE_ASYNCHRONOUS
.
Wartelisteneinträge erstellen
- Ein Wartelisteneintrag kann aus einer
CreateWaitlistEntry
-Anfrage erstellt werden. - Wenn die Erstellung der Wartelisteneinträge fehlschlägt, wird in der Antwort ein Fehler in der Geschäftslogik angezeigt.
- Bei einem erfolgreichen
CreateWaitlistEntry
-Versuch wird dieselbe Antwort zurückgegeben, wenn dieselbeCreateWaitlistEntry
noch einmal empfangen wird. - Wenn ein
CreateWaitlistEntry
-Versuch fehlschlägt, wiederholt der Server einen neuen Versuch, sobald dieselbeCreateWaitlistEntry
-Anfrage noch einmal empfangen wird. - Wartelisteneinträge werden auf der Benutzeroberfläche des Händlers angezeigt.
- Bei Aufrufen an
GetWaitlistEntry
wird der erstellte Wartelisteneintrag zurückgegeben.
Status von Wartelisteneinträgen und Zeitstempel
- Prüfe, ob jeder Status eines Wartelisteneintrags im Wartelisteneintrag von
GetWaitlistEntry
-Antworten korrekt zurückgegeben wird. - 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 der leere Proto-
{}
sein.
Deaktivieren
- Deaktivierte Händler müssen wie unter Opt-out für Händler 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 für Händler, die Wartelisten zuvor aktiviert hatten, die Funktion aber deaktiviert haben.
Sofortige Deaktivierung
CLOSED_OTHER
fürBatchGetWaitEstimates
-Anfragen zurückgeben.- Geben Sie
WAITLIST_CLOSED
fürCreateWaitlistEntry
-Anfragen zurück. GetWaitlistEntry
-Anfragen für Nutzer, die sich bereits auf der Warteliste befinden, müssen korrekt zurückgegeben werden.
Erweiterte Deaktivierung
- Entferne
waitlist_rules
aus dem Dienstleistungsfeed des Händlers, wenn er Reservierungen nicht deaktiviert. - Den Händler aus dem Händlerfeed entfernen, wenn er alle Google-Integrationen deaktiviert hat.