Einführung in Wartelisten

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.

Abbildung 1: Allgemeine Integrationsschritte
Abbildung 1:Allgemeine Integrationsschritte

Insgesamt sind die wichtigsten Datenflüsse zwischen Ihnen (dem Partner) und Google in Abbildung 2 dargestellt:

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

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.

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

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 der BatchGetWaitEstimates-Antwort zurückgegeben und Nutzer können in die Warteliste für diese Gruppengrößen ohne Wartezeit aufgenommen werden. Gibt ein WaitLength mit 0 parties_ahead_count und/oder mit einem estimated_seat_time_range mit 0 start_seconds und mit 0 end_seconds für die party_sizes 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 Antwort BatchGetWaitEstimates 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 in wait_estimate für Partygrößen, die eine manuelle Bestätigung erfordern, auf WAITLIST_CONFIRMATION_MODE_ASYNCHRONOUS. Dies muss in BatchGetWaitEstimateResponse und GetWaitlistEntryResponse 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 derselbe CreateWaitlistEntry noch einmal empfangen wird.
  • Wenn ein CreateWaitlistEntry-Versuch fehlschlägt, versucht der Server es noch einmal, sobald dieselbe CreateWaitlistEntry 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

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 zuvor Wartelisten aktiviert hatten, sich aber entschieden haben, die Funktion zu deaktivieren.

Sofortige Deaktivierung

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.