- Ressource: Availability
- Ressourcen
- Serie
- ScheduleException
- DurationRequirement
- SchedulingRuleOverrides
- ConfirmationMode
- Methoden
Ressource: Availability
Ein verfügbarer Slot für die Dienstleistung des Händlers mit der Zeit und Anzahl der Plätze.
JSON-Darstellung |
---|
{ "startTime": string, "duration": string, "spotsTotal": string, "spotsOpen": string, "availabilityTag": string, "resources": { object ( |
Felder | |
---|---|
startTime |
Startzeit des Slots (Zeitblocks). Ein Zeitstempel im Format RFC3339 UTC "Zulu" mit einer Auflösung im Nanosekundenbereich und bis zu neun Nachkommastellen. Beispiele: |
duration |
Dauer des Slots. Die Dauer in Sekunden mit bis zu neun Nachkommastellen und am Ende mit " |
spotsTotal |
Anzahl der Gesamtplätze und der freien Plätze dieser Verfügbarkeit. Beispiele:
Hinweis: Wenn Anfragen mit dem unten definierten Komprimierungsformat für die Verfügbarkeit gesendet werden, werden diese beiden Felder abgeleitet.
|
spotsOpen |
Anzahl der freien Plätze. |
availabilityTag |
Ein optionaler nicht durchsichtiger String zur Identifizierung dieses verfügbaren Slots. Ist dieses Feld konfiguriert, wird es in Anfragen zum Buchen/Aktualisieren/Stornieren von Terminen aufgenommen. |
resources |
Optionale Ressourcen, mit denen dieser verfügbare Slot von anderen unterschieden wird, wenn der Dienstleistung verschiedene Mitarbeiter oder Räume zugewiesen sind. Beispiel: Ein Yogakurs, der mit zwei Kursleitern angeboten wird:
|
paymentOptionId[] |
Eine Liste mit IDs für die Zahlungsoptionen, die für die Zahlung für diesen Slot verwendet werden können. Die tatsächlichen Zahlungsoptionen werden auf Händlerebene festgelegt und können für mehrere Händler genutzt werden. Dieses Feld überschreibt alle "payment_option_ids", die in der Dienstleistungsnachricht angegeben werden. Die hier angegebenen "payment_option_ids" müssen NICHT in der Dienstleistungsnachricht enthalten sein. Sie müssen aber auf Händlerebene definiert werden. |
recurrence |
Die Serieninformationen für die Verfügbarkeit. Sie stellen mehr als eine Startzeit dar. Eine Serie muss Termine für einen Arbeitstag enthalten. |
scheduleException[] |
Gibt an, wann diese Dienstleistung nicht gebucht werden kann. Um die Anzahl der "scheduleException"-Nachrichten einzuschränken, kannst du nebeneinanderliegende Ausnahmen zusammenziehen. |
deposit |
Optionale Anzahlung für diese Verfügbarkeit. Überschreibt die Anzahlung auf Dienstleistungsebene, falls eine angegeben wurde. |
noShowFee |
Optionale Gebühr bei Nichterscheinen für diese Verfügbarkeit. Überschreibt die Gebühr bei Nichterscheinen auf Dienstleistungsebene, falls eine angegeben wurde. |
requireCreditCard |
Gibt an, ob der Nutzer Kreditkartendaten angeben muss, um diesen verfügbaren Slot zu buchen. Wenn der Wert nicht festgelegt ist, wird er von der Dienstleistungsebene übernommen, sofern er dort festgelegt ist. (optional) |
ticketTypeId[] |
Gibt eine Liste der unterstützten Tickettypen für diesen verfügbaren Slot an. Wenn dieses Feld nicht festgelegt ist, sind alle Tickettypen der übergeordneten Dienstleistung für diesen Slot verfügbar. Die Werte dieses Felds müssen in der übergeordneten Dienstleistung definiert werden. Beispiele:
So wird das Inventar an Wochentagen dargestellt:
Um anzugeben, dass alle drei Tickettypen für diesen Slot verfügbar sind, verwendest du entweder (optional) |
durationRequirement |
Die Anforderung, die Slotdauer und/oder das Ende anzugeben. Dieses Feld wird ignoriert, wenn der Slot nicht verfügbar ist. Wird nicht in der Kategorie „Mögliche Aktivitäten“ verwendet. (optional) |
schedulingRuleOverrides |
Regeln für die Verfügbarkeitsplanung. Wenn Felder ausgefüllt sind, überschreiben sie alle entsprechenden Planungsregeln (SchedulingRules) auf Dienstleistungsebene. |
confirmationMode |
Der Bestätigungsmodus, der beim Buchen dieser Verfügbarkeit verwendet wird. Buchungsanfragen für Verfügbarkeiten mit dem Bestätigungsmodus CONFIRMATION_MODE_SYNCHRONOUS müssen sofort bestätigt oder abgelehnt werden. Buchungsanfragen für verfügbare Slots mit dem Bestätigungsmodus "CONFIRMATION_MODE_ASYNCHRONOUS" müssen entweder sofort abgelehnt werden oder die Buchung muss mit dem Status "PENDING" erstellt werden. |
Ressourcen
Ressourcen werden verwendet, um verfügbare Slots voneinander zu unterscheiden, wenn der Dienstleistung verschiedene Mitarbeiter oder Räume zugewiesen sind. Für dieselbe Dienstleistung und denselben Zeitraum können mehrere Slots gleichzeitig verfügbar sein, wenn ihnen unterschiedliche Ressourcen zugewiesen sind.
JSON-Darstellung |
---|
{ "staffId": string, "staffName": string, "roomId": string, "roomName": string, "partySize": integer } |
Felder | |
---|---|
staffId |
Optionale ID für einen Mitarbeiter, der die Dienstleistung erbringt. Mit diesem Feld wird der Mitarbeiter über alle Händler, Dienstleistungen und verfügbaren Slots hinweg identifiziert. Es muss auch im Laufe der Zeit konstant bleiben, damit eine Zuordnung zu früheren Buchungen möglich ist. Es ist ein Pflichtfeld, wenn "staffName" festgelegt ist. |
staffName |
Optionaler Name eines Mitarbeiters, der die Dienstleistung erbringt. Nutzer, die eine Buchung vornehmen, sehen dieses Feld. Es muss für Menschen lesbar sein (kein nicht transparenter String). Es ist ein Pflichtfeld, wenn "staffId" festgelegt ist. |
roomId |
Eine optionale ID für den Raum, in dem die Dienstleistung erbracht wird. Mit diesem Feld wird der Raum über alle Händler, Dienstleistungen und verfügbaren Slots hinweg identifiziert. Es muss auch im Laufe der Zeit konstant bleiben, damit eine Zuordnung zu früheren Buchungen möglich ist. Es ist ein Pflichtfeld, wenn "roomName" festgelegt ist. |
roomName |
Ein optionaler Name für den Raum, in dem die Dienstleistung erbracht wird. Nutzer, die eine Buchung vornehmen, sehen dieses Feld. Es muss für Menschen lesbar sein (kein nicht transparenter String). (optional, aber erforderlich, wenn „roomId“ vorhanden ist) Im Restaurant sollte ein Raumname nur für Sitzbereiche wie die Bar oder die Terrasse verwendet werden. Er sollte nicht für Festpreismenüs, besondere Aktivitäten oder andere Werte verwendet werden, die sich nicht auf das Zimmer beziehen (z. B. Reservierung oder Abendessen). Es wird dringend empfohlen, dass dem Standardsitzbereich kein Raum zugeordnet ist. |
partySize |
Gilt nur für die Gastronomie: Die Anzahl der Personen, für die während dieses Slots Platz ist. Für ein Restaurant kann es mehrere Slots gleichzeitig geben, die alle einen anderen Wert für "partySize" haben, z. B. wenn an einem Tisch 2, 3 oder 4 Gäste Platz haben. |
Recurrence (Serie)
"Recurrence"-Nachrichten sind optional, ermöglichen jedoch eine kompaktere Darstellung verfügbarer Slots, die sich regelmäßig wiederholen. Sie stellen normalerweise den Arbeitsplan eines Tages dar. "ScheduleException"-Nachrichten werden dann verwendet, um gebuchte/nicht verfügbare Zeiträume während des Arbeitstages darzustellen.
Voraussetzungen:
- Durch die Erweiterung von verfügbaren Slots oder Serien dürfen KEINE identischen Slots generiert werden. Wenn "ids" (IDs), "startTime" (Startzeit), "duration" (Dauer) und "resources" (Ressourcen) übereinstimmen, werden die Slots als identisch betrachtet.
- Das Standardformat für die Verfügbarkeit und Serien dürfen NICHT innerhalb der Slots einer einzelnen Dienstleistung kombiniert werden. Serien bieten sich für Händler/Dienstleistungen mit Terminen an. Das Standardformat ist auf Händler/Dienstleistungen mit Kursen ausgerichtet, die regelmäßig stattfinden.
- Serien dürfen nicht länger als 24 Stunden dauern.
JSON-Darstellung |
---|
{ "repeatUntil": string, "repeatEvery": string } |
Felder | |
---|---|
repeatUntil |
Der Zeitstempel der Zeit (UTC), bis zu der die Verfügbarkeit wiederholt wird. Ein Zeitstempel im Format RFC3339 UTC "Zulu" mit einer Auflösung im Nanosekundenbereich und bis zu neun Nachkommastellen. Beispiele: |
repeatEvery |
Definiert die Zeit zwischen aufeinanderfolgenden verfügbaren Slots. Beispiel: Eine Verfügbarkeit mit einer Dauer (duration) von 20 Minuten, einer Startzeit (startTime) von 9:00 Uhr und Wiederholungen, die alle 30 Minuten (repeatEvery) bis 11:00 Uhr (repeatUntil) beginnen, führt zu folgenden Slots: 9 bis 9:20 Uhr, 9:30 bis 9:50 Uhr, 10 bis 10:20 Uhr, 10:30 bis 10:50 Uhr und 11 bis 11:20 Uhr. (erforderlich) Die Dauer in Sekunden mit bis zu neun Nachkommastellen und am Ende mit " |
ScheduleException
"ScheduleException"-Nachrichten stellen gebuchte/nicht verfügbare Zeiträume während des Arbeitstages dar. Sie sind Ausnahmen der oben beschriebenen Serien. Wenn Slots gebucht werden, muss die Liste der Ausnahmen mit den Zeiträumen aktualisiert werden, die nun nicht mehr verfügbar sind. Die Serie selbst darf nicht geändert werden.
JSON-Darstellung |
---|
{
"timeRange": {
object ( |
Felder | |
---|---|
timeRange |
Der Zeitraum der Ausnahme. Alle Slots in der Serie, die mit der Start- und/oder Endzeit dieses festen Zeitraums überlappen, werden als nicht verfügbar angesehen. Beispiel: Angenommen, für eine Serie sind eine Dauer (duration) von 20 Minuten, eine Startzeit (startTime) von 9:00 Uhr und Wiederholungen, die alle 30 Minuten (repeatEvery) bis 11:00 Uhr (repeatUntil) beginnen, festgelegt. Hier würde eine Ausnahme (ScheduleException) mit dem Zeitraum (timeRange) 9:45 bis 11:00 Uhr dazu führen, dass folgende Slots nicht verfügbar sind: 9:30 bis 9:50 Uhr, 10 bis 10:20 Uhr und 10:30 bis 10:50 Uhr. Da der Zeitraum eine Start- und Endzeit hat, wirkt sich die Ausnahme nicht auf den Slot aus, der um 11:00 Uhr beginnt. |
DurationRequirement
Diese Aufzählung gibt an, welche Anforderungen der Nutzer hat, um die Dauer/das Ende der angeforderten Slots zu bestätigen oder anzusehen.
Enums | |
---|---|
DURATION_REQUIREMENT_UNSPECIFIED |
Wie die Endzeit behandelt wird, ist nicht angegeben. Das ist die Standardeinstellung. |
DO_NOT_SHOW_DURATION |
Die Endzeit wird dem Nutzer nicht angezeigt. |
MUST_SHOW_DURATION |
Das Ende muss dem Nutzer angezeigt werden, bevor ein Termin vereinbart werden kann. |
SchedulingRuleOverrides
Planungsregeln auf Verfügbarkeitsebene
JSON-Darstellung |
---|
{ "lastBookableSec": string, "firstBookableSec": string, "lastOnlineCancellableSec": string } |
Felder | |
---|---|
lastBookableSec |
Die Zeit (in Sekunden), bis zu der dieser Slot gebucht werden kann. Der Zeitstempel muss vor dem Wert für "startSec" des Slots liegen, der einzuhalten ist. Wenn Nutzer auch nach der Startzeit noch buchen können, verwende stattdessen "SchedulingRules.min_booking_before_end_time" auf Dienstleistungsebene. Falls vorhanden, werden alle Werte in "min_booking_buffer" der Planungsregeln (SchedulingRules) der Dienstleistung überschrieben. |
firstBookableSec |
Die Zeit (in Sekunden), ab der dieser Slot gebucht werden kann. Der Zeitstempel muss vor dem Wert für "startSec" oder "lastBookableSec" (falls angegeben) des Slots liegen. |
lastOnlineCancellableSec |
Mit dieser Einstellung wird der letzte Zeitpunkt in Sekunden seit der Unix-Epoche angegeben, zu dem dieser Terminslot über „Mit Google reservieren“ storniert werden kann. Dieses Feld überschreibt alle Stornierungsregeln auf Dienstleistungsebene. (optional) |
ConfirmationMode
Die Bestätigungsmodi, die beim Buchen von Verfügbarkeiten verwendet werden.
Optionen | |
---|---|
CONFIRMATION_MODE_UNSPECIFIED |
Der Bestätigungsmodus wurde nicht angegeben. Es wird von einer synchronen Bestätigung ausgegangen. |
CONFIRMATION_MODE_SYNCHRONOUS |
Buchungen für diese Verfügbarkeit werden synchron bestätigt. |
CONFIRMATION_MODE_ASYNCHRONOUS |
Buchungen für diese Verfügbarkeit werden asynchron bestätigt. |
Methoden |
|
---|---|
|
Ersetzt die Availability eines vorhandenen Service eines Händlers, der vom angegebenen Aggregator verwaltet wird, und gibt sie zurück. |