- Zasób: Availability
- Zasoby
- Powtarzanie
- ScheduleException
- Przedpłata
- PriceInfo
- PriceRange
- DurationRequirement
- SchedulingRuleOverrides
- ConfirmationMode
- LinkoutRequiredReason
- Metody
Zasób: Availability
Dostępny termin usługi sprzedawcy, wskazujący godzinę i liczbę miejsc.
| Zapis JSON |
|---|
{ "startTime": string, "duration": string, "spotsTotal": string, "spotsOpen": string, "availabilityTag": string, "resources": { object ( |
| Pola | |
|---|---|
startTime |
Czas rozpoczęcia terminu spotkania. Korzysta ze standardu RFC 3339, w którym wygenerowane dane wyjściowe są zawsze znormalizowane do formatu Z i zawierają 0, 3, 6 lub 9 cyfr po przecinku. Akceptowane są też przesunięcia inne niż „Z”. Przykłady: |
duration |
Czas trwania terminu spotkania Czas trwania w sekundach z maksymalnie 9 miejscami po przecinku, zakończony znakiem „ |
spotsTotal |
Łączna liczba miejsc i wolnych miejsc w ramach tej dostępności. Przykłady:
Uwaga: jeśli wysyłasz żądania w formacie kompresji dostępności zdefiniowanym poniżej, te 2 pola zostaną wywnioskowane.
|
spotsOpen |
Liczba wolnych miejsc. |
availabilityTag |
Opcjonalny nieprzezroczysty ciąg znaków identyfikujący ten przedział dostępności. Jeśli to ustawienie jest włączone, będzie ono uwzględniane w żądaniach dotyczących rezerwowania, aktualizowania i anulowania wizyt. |
resources |
Opcjonalne zasoby używane do odróżnienia tego przedziału czasowego od innych, gdy usługa obejmuje różnych pracowników lub pokoje. np. te same zajęcia jogi z 2 instruktorami: |
paymentOptionId[] |
Lista identyfikatorów odwołujących się do opcji płatności, których można użyć do zapłaty za ten przedział czasu. Rzeczywiste opcje płatności są zdefiniowane na poziomie sprzedawcy i mogą być też udostępniane wielu sprzedawcom. To pole zastępuje wszystkie identyfikatory payment_option_ids określone w wiadomości usługi. Podobnie identyfikatory payment_option_ids określone tutaj NIE muszą być obecne w wiadomości o usłudze, ale muszą być zdefiniowane na poziomie sprzedawcy. |
recurrence |
Informacje o powtarzaniu dostępności, które reprezentują więcej niż 1 godzinę rozpoczęcia. Cykliczne spotkanie powinno zawierać spotkania na 1 dzień roboczy. |
scheduleException[] |
Okresy, w których nie można zaplanować tej usługi. Aby ograniczyć liczbę wiadomości scheduleException, rozważ połączenie sąsiednich wyjątków. |
deposit |
Opcjonalna zaliczka w przypadku tej dostępności. Zastępuje kaucję za usługę, jeśli została określona. |
noShowFee |
Opcjonalna opłata za niepojawienie się w przypadku tej dostępności. Zastępuje opłatę za niestawienie się w przypadku usługi, jeśli została określona. |
prepayment |
Opcjonalnie. Opcjonalne informacje o przedpłacie w przypadku tej dostępności. |
requireCreditCard |
Wskazuje, czy użytkownik musi podać dane karty kredytowej, aby zarezerwować ten przedział czasu. Jeśli wartość nie jest ustawiona, jest dziedziczona z poziomu usługi, jeśli jest tam ustawiona. (opcjonalnie) |
ticketTypeId[] |
Wskazuje listę obsługiwanych typów biletów w przypadku tego przedziału czasowego dostępności. Jeśli nie zostanie ustawiony, wszystkie typy biletów w usłudze nadrzędnej będą dostępne w tym przedziale. Wartości tego pola muszą być zdefiniowane w usłudze nadrzędnej. Przykłady:
Aby reprezentować zasoby reklamowe w dni powszednie:
Aby wskazać, że w tym przedziale czasowym dostępne są wszystkie 3 rodzaje biletów, użyj wartości (opcjonalnie) |
durationRequirement |
Wymóg wyświetlania czasu trwania lub godziny zakończenia przedziałów. To pole będzie ignorowane, jeśli przedział jest niedostępny. Nie jest używany w przypadku kategorii „Atrakcje”. (opcjonalnie) |
schedulingRuleOverrides |
Reguły planowania dostępności. Jeśli pola są wypełnione, zastąpią one odpowiednie reguły harmonogramu w polu SchedulingRules na poziomie usługi. |
confirmationMode |
Tryb potwierdzenia, który będzie używany podczas rezerwowania tej dostępności. Próby utworzenia rezerwacji dla dostępności z trybem potwierdzenia CONFIRMATION_MODE_SYNCHRONOUS muszą być natychmiast potwierdzone lub odrzucone. Próby utworzenia rezerwacji dla dostępności z trybem potwierdzenia CONFIRMATION_MODE_ASYNCHRONOUS muszą być natychmiast odrzucane lub tworzone ze stanem PENDING. |
linkoutRequiredReason |
Opcjonalnie. Przyczyna, dla której w tym miejscu wymagany jest link do zewnętrznej strony. Jeśli ten atrybut jest ustawiony, zasób sprzedawcy dla tego miejsca musi mieć prawidłowy atrybut LinkoutTemplate. (opcjonalnie) |
Zasoby
Zasób służy do rozróżniania przedziałów czasowych, gdy usługa obejmuje różnych pracowników lub pomieszczenia. Wiele miejsc na tę samą usługę i przedział czasowy może istnieć równocześnie, jeśli mają różne zasoby.
| Zapis JSON |
|---|
{
"staffId": string,
"staffName": string,
"roomId": string,
"roomName": string,
"partySize": integer,
"roomDescription": {
object ( |
| Pola | |
|---|---|
staffId |
Opcjonalny identyfikator pracownika świadczącego usługę. To pole identyfikuje pracownika we wszystkich rekordach sprzedawców, usług i dostępności. Musi też być stabilny w czasie, aby można było go powiązać z rezerwacjami z przeszłości. To pole musi być obecne, jeśli pole staffName jest obecne. |
staffName |
Opcjonalna nazwa pracownika świadczącego usługę. To pole będzie wyświetlane użytkownikom dokonującym rezerwacji i powinno być zrozumiałe dla człowieka, a nie nieprzejrzyste. To pole musi być obecne, jeśli pole staffId jest obecne. |
roomId |
Opcjonalny identyfikator pokoju, w którym znajduje się usługa. To pole identyfikuje pokój u wszystkich sprzedawców, usług i rekordów dostępności. Musi też być stabilny w czasie, aby można było go powiązać z rezerwacjami z przeszłości. To pole musi być obecne, jeśli pole roomName jest obecne. |
roomName |
Opcjonalna nazwa pomieszczenia, w którym znajduje się usługa. To pole będzie wyświetlane użytkownikom dokonującym rezerwacji i powinno być zrozumiałe dla człowieka, a nie nieprzejrzyste. (opcjonalnie, ale wymagane, jeśli występuje identyfikator pokoju) W przypadku restauracji nazwa pokoju powinna być używana tylko w przypadku miejsc siedzących, takich jak bar lub patio, i nie powinna być używana w przypadku menu o stałej cenie, specjalnych aktywności ani żadnych innych wartości niezwiązanych z pokojem (takich jak rezerwacja lub kolacja). Zdecydowanie zalecamy, aby domyślna strefa wypoczynkowa nie była powiązana z żadnym pomieszczeniem. |
partySize |
Dotyczy tylko restauracji: liczba osób, które można przyjąć w tym przedziale czasowym. Restauracja może być powiązana z wieloma przedziałami czasowymi w tym samym czasie, z których każdy określa inną liczbę osób, np. 2, 3 lub 4, które można posadzić przy stoliku po dokonaniu rezerwacji. |
roomDescription |
Opcjonalnie. Zlokalizowany opis pokoju. Jeśli jest ustawiona, należy podać wartość domyślną. Warto też podać popularne języki w regionie sprzedawcy. (opcjonalnie) |
Powtarzanie
Wiadomości o powtarzaniu są opcjonalne, ale umożliwiają bardziej zwięzłe przedstawienie powtarzających się przedziałów dostępności. Zwykle reprezentują one harmonogram pracy w danym dniu. Wiadomości ScheduleException są następnie używane do reprezentowania zarezerwowanych lub niedostępnych przedziałów czasu w ciągu dnia pracy.
Wymagania:
- Rozszerzenie dostępnych przedziałów czasowych lub powtórzeń NIE może tworzyć identycznych przedziałów. Jeśli identyfikatory, startTime, duration i resources są zgodne, przedziały czasowe są uznawane za identyczne.
- W przypadku gniazd pojedynczej usługi NIE mieszaj standardowego formatu dostępności i cykliczności. Powtarzanie jest korzystne dla sprzedawców/usługodawców, którzy oferują rezerwacje. Standardowy format jest przeznaczony dla sprzedawców/usługodawców, którzy regularnie prowadzą zajęcia.
- Powtórzenia nie powinny trwać dłużej niż 24 godziny.
| Zapis JSON |
|---|
{ "repeatUntil": string, "repeatEvery": string } |
| Pola | |
|---|---|
repeatUntil |
Maksymalna sygnatura czasowa UTC (włącznie), do której powtarza się dostępność. Korzysta ze standardu RFC 3339, w którym wygenerowane dane wyjściowe są zawsze znormalizowane do formatu Z i zawierają 0, 3, 6 lub 9 cyfr po przecinku. Akceptowane są też przesunięcia inne niż „Z”. Przykłady: |
repeatEvery |
Określa czas między kolejnymi przedziałami dostępności. Przykład: dostępność z czasem trwania 20 min, powtarzaniem co 30 min, czasem rozpoczęcia 9:00 i czasem zakończenia 11:00 spowoduje utworzenie przedziałów czasowych 9:00–9:20, 9:30–9:50, 10:00–10:20, 10:30–10:50 i 11:00–11:20. (wymagane) Czas trwania w sekundach z maksymalnie 9 miejscami po przecinku, zakończony znakiem „ |
ScheduleException
Wiadomości ScheduleException reprezentują zarezerwowane lub niedostępne przedziały czasu w ciągu dnia pracy, które są wyjątkami od opisanego powyżej cyklu. W miarę rezerwowania terminów lista wyjątków powinna być aktualizowana, aby odzwierciedlać nowo niedostępne przedziały czasowe. Nie należy modyfikować samego cyklu.
| Zapis JSON |
|---|
{
"timeRange": {
object ( |
| Pola | |
|---|---|
timeRange |
Zakres czasu wyjątku. Wszystkie terminy opisane przez powtarzanie, które pokrywają się z tym przedziałem czasu, będą uznawane za niedostępne. Przykład: jeśli powtarzanie określa czas trwania 20 minut, powtarzanie co 30 minut, czas rozpoczęcia 9:00 i czas zakończenia 11:00, to ScheduleException z zakresem czasu 9:45–11:00 spowoduje niedostępność przedziałów czasowych 9:30–9:50, 10:00–10:20 i 10:30–10:50. Pamiętaj, że ponieważ zakres czasu jest zamknięto-otwarty, nie ma to wpływu na przedział czasu rozpoczynający się o 11:00. |
Przedpłata
Płatność, którą użytkownik może uiścić w ramach rezerwacji.
| Zapis JSON |
|---|
{
"priceInfo": {
object ( |
| Pola | |
|---|---|
priceInfo |
Kontener ze szczegółami ceny. |
PriceInfo
Kontener ze szczegółami ceny.
| Zapis JSON |
|---|
{ "priceType": enum ( |
| Pola | |
|---|---|
priceType |
Określa, jak stosowana jest cena lub przedział cenowy (za osobę lub stała cena) |
Pole zbiorcze price_options. Opcje cenowe mogą określać dokładną cenę lub przedział cenowy. price_options może mieć tylko jedną z tych wartości: |
|
price |
Cena usługi lub opłata. |
priceRange |
Górna lub dolna granica usługi lub opłaty. |
PriceRange
Obiekt opakowujący zakres kwot pieniężnych traktowany jako nieograniczony, chyba że obie wartości są ustawione. Wymagana jest co najmniej jedna z wartości minAmount i maxAmount.
| Zapis JSON |
|---|
{ "minPrice": { object ( |
| Pola | |
|---|---|
minPrice |
Minimalna kwota. |
maxPrice |
Maksymalna kwota. Wartość powinna być zawsze większa niż minPrice. |
DurationRequirement
Ten wyliczenie wskazuje, jakie wymagania musi spełnić użytkownik, aby potwierdzić lub wyświetlić czas trwania/godzinę zakończenia żądanych przedziałów czasowych.
| Wartości w polu enum | |
|---|---|
DURATION_REQUIREMENT_UNSPECIFIED |
Obsługa czasu zakończenia nie jest określona. Jest to ustawienie domyślne. |
DO_NOT_SHOW_DURATION |
Czas zakończenia nie jest widoczny dla użytkownika. |
MUST_SHOW_DURATION |
Zanim użytkownik będzie mógł umówić spotkanie, musi zobaczyć godzinę zakończenia. |
SchedulingRuleOverrides
Reguły harmonogramu poziomu dostępności.
| Zapis JSON |
|---|
{ "lastBookableSec": string, "firstBookableSec": string, "lastOnlineCancellableSec": string } |
| Pola | |
|---|---|
lastBookableSec |
Ostatni moment (w sekundach), w którym można zarezerwować ten przedział czasowy. Aby ten sygnatura czasowa była uwzględniana, musi być wcześniejsza niż startSec przedziału (jeśli użytkownicy mają mieć możliwość rezerwacji po godzinie rozpoczęcia, użyj SchedulingRules.min_booking_before_end_time na poziomie usługi). Jeśli jest obecny, zastąpi wszystko, co zostało określone w min_booking_buffer w SchedulingRules odpowiedniej usługi. |
firstBookableSec |
Pierwszy moment (w sekundach), w którym można zarezerwować ten przedział czasu. Ta sygnatura czasowa musi być wcześniejsza niż startSec w przypadku przedziału czasu lub lastBookableSec, jeśli jest określona. |
lastOnlineCancellableSec |
Jeśli jest ustawiona, ostatni czas (w sekundach od początku epoki systemu Unix), w którym można anulować konkretny przedział czasowy rezerwacji za pomocą funkcji Zarezerwuj z Google. To pole zastąpi wszystkie reguły anulowania na poziomie usługi. (opcjonalnie) |
ConfirmationMode
Tryby potwierdzenia używane podczas rezerwowania dostępności.
| Wartości w polu enum | |
|---|---|
CONFIRMATION_MODE_UNSPECIFIED |
Nie określono trybu potwierdzenia. Zakładamy potwierdzenie synchroniczne. |
CONFIRMATION_MODE_SYNCHRONOUS |
Rezerwacje w ramach tej dostępności będą potwierdzane synchronicznie. |
CONFIRMATION_MODE_ASYNCHRONOUS |
Rezerwacje w ramach tej dostępności będą potwierdzane asynchronicznie. |
LinkoutRequiredReason
Przyczyna, dla której w miejscu docelowym występuje link prowadzący do zewnętrznej strony.
| Wartości w polu enum | |
|---|---|
LINKOUT_REQUIRED_REASON_UNSPECIFIED |
Wartość domyślna: nie używaj, oznacza nieznane. |
PAYMENT_REQUIRED |
Aby zarezerwować termin, musisz dokonać płatności na platformie partnera. |
Metody |
|
|---|---|
|
Zastępuje Availability istniejącego Service sprzedawcy zarządzanego przez określonego agregatora i zwraca go. |