- Ressource: Availability
- Ressourcen
- Serie
- ScheduleException
- Vorauszahlung
- PriceInfo
- PriceRange
- DurationRequirement
- SchedulingRuleOverrides
- ConfirmationMode
- LinkoutRequiredReason
- 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 | |
---|---|
start |
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 " |
spots |
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.
|
spots |
Anzahl der freien Plätze. |
availability |
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:
|
payment |
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. |
schedule |
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. |
no |
Optionale Gebühr bei Nichterscheinen für diese Verfügbarkeit. Überschreibt die Gebühr bei Nichterscheinen auf Dienstleistungsebene, falls eine angegeben wurde. |
prepayment |
Optional. Optionale Informationen zur Vorauszahlung für diese Verfügbarkeit. |
require |
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) |
ticket |
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) |
duration |
Die Dauer und/oder Endzeit der Zeitfenster muss angegeben werden. Dieses Feld wird ignoriert, wenn der Slot nicht verfügbar ist. Wird in der Branche „Mögliche Aktivitäten“ nicht verwendet. (optional) |
scheduling |
Regeln für die Verfügbarkeitsplanung. Wenn Felder ausgefüllt sind, überschreiben sie alle entsprechenden Planungsregeln (SchedulingRules) auf Dienstleistungsebene. |
confirmation |
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ügbarkeiten mit dem Bestätigungsmodus CONFIRMATION_MODE_ASYNCHRONOUS müssen entweder sofort abgelehnt oder mit dem Status PENDING erstellt werden. |
linkout |
Optional. Der Grund, warum für diesen Slot ein Link erforderlich ist. Falls festgelegt, muss die Händlerressource für diesen Slot eine gültige LinkoutTemplate haben. (optional) |
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,
"roomDescription": {
object ( |
Felder | |
---|---|
staff |
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. |
staff |
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. |
room |
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. |
room |
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 Bereich „Dining“ sollte ein Raumname nur für Sitzbereiche wie die Bar oder den Patio verwendet werden. Er darf nicht für Menüs zu Festpreisen, besondere Aktivitäten oder andere Werte (z. B. Reservierung oder Abendessen) verwendet werden. Es wird dringend empfohlen, dem Standardsitzbereich kein Zimmer zuzuweisen. |
party |
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. |
room |
Optional. Lokalisierte Zimmerbeschreibung. Wenn festgelegt, muss ein Standardwert angegeben werden. Es wird empfohlen, auch gängige Sprachen für die Region des Händlers anzugeben. (optional) |
Wiederholung
"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 | |
---|---|
repeat |
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: |
repeat |
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 | |
---|---|
time |
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. |
Vorauszahlung
Eine Zahlung, die dem Nutzer im Rahmen seiner Reservierung in Rechnung gestellt werden kann.
JSON-Darstellung |
---|
{
"priceInfo": {
object ( |
Felder | |
---|---|
price |
Container für Preisdetails. |
PriceInfo
Container für Preisdetails.
JSON-Darstellung |
---|
{ "priceType": enum ( |
Felder | |
---|---|
price |
Definiert, wie der Preis oder Preisbereich angewendet wird (pro Person oder fest) |
Union-Feld price_options . Sie können entweder einen genauen Preis oder einen Bereich angeben. Für price_options ist nur einer der folgenden Werte zulässig: |
|
price |
Der Preis für eine Dienstleistung oder eine Gebühr |
price |
Die Ober- und/oder Untergrenze für einen Dienst oder eine Gebühr. |
PriceRange
Umschlag für einen Bereich von Geldbeträgen, der als unbegrenzt behandelt wird, es sei denn, beide Werte sind festgelegt. Es ist mindestens eine Angabe für „minAmount“ und „maxAmount“ erforderlich.
JSON-Darstellung |
---|
{ "minPrice": { object ( |
Felder | |
---|---|
min |
Mindestbetrag. |
max |
Höchstbetrag. Muss immer größer als „minPrice“ sein. |
DurationRequirement
Dieser Enum gibt an, welche Anforderungen der Nutzer erfüllen muss, um die Dauer/Endzeit der angeforderten Zeiträume zu bestätigen oder aufzurufen.
Enums | |
---|---|
DURATION_REQUIREMENT_UNSPECIFIED |
Die Behandlung des Endzeitpunkts ist nicht angegeben. Das ist die Standardeinstellung. |
DO_NOT_SHOW_DURATION |
Die Endzeit wird dem Nutzer nicht angezeigt. |
MUST_SHOW_DURATION |
Die Endzeit 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 | |
---|---|
last |
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. |
first |
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. |
last |
Falls festgelegt, die letzte Zeit (in Sekunden seit der Unix-Epoche), bis zu der dieser Termin über „Mit Google reservieren“ storniert werden kann. Dieses Feld überschreibt alle Kündigungsregeln 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. |
LinkoutRequiredReason
Der Grund, warum ein Slot einen Linkout hat.
Enums | |
---|---|
LINKOUT_REQUIRED_REASON_UNSPECIFIED |
Standardwert: Nicht verwenden, entspricht „unbekannt“. |
PAYMENT_REQUIRED |
Für die Buchung eines Slots ist eine Zahlung auf der Partnerplattform erforderlich. |
Methoden |
|
---|---|
|
Ersetzt die Availability eines vorhandenen Service eines Händlers, der vom angegebenen Aggregator verwaltet wird, und gibt sie zurück. |