Best Practices

Die folgenden Best Practices gelten für die End-to-End-Integration von Actions Center Reservations und können genutzt werden, um Nutzungs- und Leistungsprobleme zu vermeiden. Eine geringe Datenqualität kann zu einer Deaktivierung des Inventars führen.

Feeds

  • Wenn ein Dienst keine festgelegte Länge hat, legen Sie duration_sec im Verfügbarkeitsfeed auf eine der folgenden Optionen fest:
    • Die Anzahl von Sekunden, die benötigt wird, um den Dienst angemessen auszuführen.
    • Die durchschnittliche Anzahl von Sekunden, die für die Ausführung des Dienstes erforderlich ist.

  • Achte darauf, dass das Feld Category im Feed des Händlers spezifisch ist. Ein Restaurant könnte beispielsweise eine bestimmte Kategorie angeben, z. B. Französisch oder Japanisch. Weitere Informationen zu möglichen Kategoriewerten findest du unter Ortstypen.
  • Lege im Feld Terms des Händlerfeeds händlerspezifische Nutzungsbedingungen fest, damit unter der Schaltfläche Buchen der folgende Hinweis erscheint:

    Wenn Sie fortfahren, stimmen Sie den Nutzungsbedingungen von <merchant> zu.
    In diesem Fall ist „Nutzungsbedingungen“ ein Link, der beim Anklicken der im Textfeld terms festgelegte Text anzeigt.

  • Feeds mit gzip komprimieren

Buchungsserver

So optimierst du die Einbindung der Maps Booking API:

  • Verwenden Sie immer UNIX-Zeitstempel im UTC-Format.
  • Du kannst beim Aufruf einer neuen Buchung in der CreateBooking API eine eindeutige Buchungs-ID generieren.

Echtzeitaktualisierungen

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

  • In der Standardimplementierung kannst du die BookingNotifications API verwenden, um Startzeit, Dauer und Buchungsstatus (z. B. Absage oder Nichterscheinen) eines Termins zu ändern.
  • Bei jeder Änderung bei der Actions Center-Buchung von deiner Seite aus solltest du immer in Echtzeit Buchungsaktualisierungen vom System mit der BookingNotification API in Echtzeit senden, damit die Daten im Actions Center nicht veraltet sind. Du kannst beispielsweise eine Buchung in deinem System im Actions Center 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.
  • Wenn die Echtzeitaktualisierung für Inventar implementiert ist:
    • Verfügbarkeit nur in Batches von 100–1.000 Slots pro API-Aufruf aktualisieren.
    • 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 aufrollen, implementieren Sie einen exponentiellen Backoff, um Drosselungsfehler zu vermeiden. Wenn Sie einen exponentiellen Backoff nicht richtig implementieren, wird möglicherweise der Kontingentfehler RESOURCE_EXHAUSTED angezeigt. Sie können den exponentiellen Backoff wiederholen, um sie zu verarbeiten. Wenn Sie jedoch feststellen, dass Ihr Server beim Ausführen von ReplaceServiceAvailability häufig die Kontingente erreicht, konfigurieren Sie Ihren Server so, dass er im Batch für die Verfügbarkeit ersetzt wird. Diese Lösung verhindert Kontingentfehler, da die Anzahl der API-Aufrufe Ihrer Bereitstellung reduziert wird.
  • Legen Sie die Zeitlimits für die Antwortzeit bei API-Aufrufen auf weniger als eine Sekunde fest. Achten Sie darauf, dass Ihr Server in mindestens 95% der Fälle fünf Abfragen pro Sekunde mit einer Latenz von weniger als einer Sekunde verarbeiten kann.