Best Practices

Die folgenden Best Practices gelten für die End-to-End-Einbindung von „Mit Google reservieren“ und können genutzt werden, um Probleme bei der Nutzerfreundlichkeit und der Leistung zu vermeiden. Eine mangelhafte Datenqualität kann zu einer Deaktivierung des Inventars führen.

Feeds

  • Wenn ein Dienst keine festgelegte Länge hat, setze duration_sec im Verfügbarkeitsfeed auf eine der folgenden Optionen:
    • Die Anzahl der Sekunden, die erforderlich sind, um den Dienst in angemessener Weise auszuführen.
    • Die durchschnittliche Anzahl von Sekunden, die zum Ausführen des Dienstes benötigt werden.

  • Die Eingabe im Feld Category im Feed des Händlers muss spezifisch sein. Ein Restaurant kann beispielsweise einen bestimmten Typ wie Französisch oder Japanisch einreichen. Weitere Informationen zu möglichen Kategoriewerten finden Sie unter Ortstypen.
  • Legen Sie die händlerspezifischen Nutzungsbedingungen im Feld Terms des Händlerfeeds fest, damit unter der Schaltfläche Buchen der folgende Hinweis angezeigt wird:

    Wenn Sie fortfahren, stimmen Sie den Nutzungsbedingungen von <merchant> zu.
    In diesem Fall ist „Nutzungsbedingungen“ ein Link, über den der Text im Textfeld terms angezeigt wird.

  • Feeds mit gzip komprimieren

Buchungsserver

So optimieren Sie die Integration der Maps Booking API:

  • Verwenden Sie immer UNIX-Zeitstempel im UTC-Format.
  • Generieren Sie eine eindeutige Buchungs-ID, wenn eine neue Buchung in der CreateBooking API aufgerufen wird.

Echtzeitaktualisierungen

So sorgst du für eine optimale Nutzererfahrung während des Buchungsprozesses:

  • Verwenden Sie für eine Standardimplementierung die BookingNotifications API, um den Beginn, die Dauer und den Buchungsstatus eines Termins (z. B. Stornierung oder Nichterscheinen) zu ändern.
  • Bei einer Buchung über „Mit Google reservieren“ in Echtzeit kannst du über die BookingNotification API Echtzeitaktualisierungen vom System senden, damit die Daten auf der Seite „Mit Google reservieren“ nicht veraltet sind. Du kannst beispielsweise eine Buchung über dein System in „Mit Google reservieren“ stornieren, verschieben oder aktualisieren.
  • Achte bei jeder Buchungsaktualisierung von UpdateBookingRequest darauf, dass der Wert UpdateBookingResponse die Buchungs-ID enthält und alle aktualisierten Felder den neuen Wert widerspiegeln müssen.
  • Bei Implementierung von Inventar-TU
    • Aktualisieren Sie die Verfügbarkeit nur in Batches von 100 bis 1.000 Slots pro API-Aufruf.
    • Verwenden Sie *Restrict-Felder (z. B. startTimeRestrict), um das Bearbeitungsziel einzugrenzen, die Nutzlastgröße zu reduzieren und zu vermeiden, dass zu viele unveränderte Daten noch einmal gesendet werden.
    • Wenn Sie mehrere Threads abschalten, implementieren Sie einen exponentiellen Backoff, um Drosselungsfehler zu vermeiden. Wenn Sie einen exponentiellen Backoff nicht richtig implementieren, wird möglicherweise ein Kontingentfehler vom Typ RESOURCE_EXHAUSTED ausgegeben. Sie können den exponentiellen Backoff wiederholen, damit er verarbeitet wird. Wenn Sie aber feststellen, dass Ihr Server beim Ausführen von ReplaceServiceAvailability häufig Kontingente erreicht, konfigurieren Sie ihn als Batch-Ersetzung für die Verfügbarkeit. Diese Lösung verhindert Kontingentfehler, da die Anzahl der API-Aufrufe, die Ihre Bereitstellung ausführen muss, reduziert wird.
  • Legen Sie die Antwortzeitlimits für API-Aufrufe auf weniger als eine Sekunde fest. Achten Sie darauf, dass Ihr Server fünf Abfragen pro Sekunde mit einer Latenz von unter einer Sekunde in mindestens 95% der Zeit verarbeiten kann.