Partnerzy biorący udział w programie rezerwacji z listy oczekujących muszą przed rozpoczęciem konfigurować konto. Jednak do korzystania z funkcji kolejki nie są potrzebne niektóre kroki z ogólnego przewodnika. Wytyczne na tej stronie wyjaśniają, jakie kroki należy wykonać w przypadku partnerów zainteresowanych korzystaniem z funkcji listy oczekujących w usłudze Zarezerwuj z Google. Zanim wykonasz czynności związane z integracją, przeczytaj ten ogólny opis.
Proces uruchamiania
Rysunek 1 przedstawia proces uruchamiania w Centrum działań sprzedawców, którzy zostali dodani do listy oczekujących.
Ogólnie główne przepływy danych między Tobą (Partnerem) a Google przedstawia rysunek 2:
Wytyczne dla wszystkich partnerów korzystających z list oczekujących na rezerwacje
Podczas wdrażania funkcji listy oczekujących na rezerwację pamiętaj o tych kwestiach:
- Usługa dla każdego sprzedawcy z listy oczekujących musi mieć wypełnione pola
waitlist_rules
.- Musisz używać tej samej usługi zarówno w przypadku listy oczekujących, jak i rezerwacji. Innymi słowy, jeśli Twoja restauracja umożliwia rezerwacje, dodaj metadane dotyczące listy oczekujących do usługi rezerwacji.
- Wysyłanie powiadomień SMS jest wymagane w przypadku wdrożenia listy oczekujących w tych sytuacjach:
- Aby potwierdzić, że użytkownik dołączył do listy oczekujących.
- Aby powiadomić użytkownika, że jego stół jest gotowy.
- Ten szablon służy do powiadomienia użytkownika o anulowaniu jego pozycji na liście oczekujących.
- SMS-y muszą zawierać link do strony, na której użytkownicy mogą sprawdzić swój stan na liście oczekujących.
- Sprzedawcy, którzy oferują produkty tylko na liście oczekujących, nie muszą przesyłać plików danych o dostępności do Centrum działań.
- Serwer rezerwacji musi realizować wszystkie kroki dotyczące listy oczekujących wymienione w artykule Wdrażanie serwera rezerwacji. Partnerzy, którzy obsługują rezerwacje i listy oczekujących, mogą dodać nowe metody do swojego dotychczasowego serwera rezerwacji.
- Centrum działań uruchamia zestaw przypadków testowych dla metod kolejki oczekujących na serwerze rezerwacji.
Schemat blokowy stanu
Ten diagram przedstawia stany, które należy zgłaszać w
WaitlistEntry.waitlist_entry_state
, gdy odpowiadasz na
GetWaitlistEntry
połączenia. Wykres wskazuje też, kiedy należy rejestrować i wypełniać pola
WaitlistEntry.waitlist_entry_state_times.*_time_seconds
oraz kiedy wysyłać SMS-y do użytkownika, aby poinformować go o wejściu w nowy stan.
Typowe skrajne przypadki
Poniżej znajdziesz typowe przypadki integracji z listą oczekujących na rezerwację i preferowane rozwiązania.
-
Jeśli niektóre (ale nie wszystkie) rozmiary grup nie akceptują nowych wpisów na liście oczekujących, ponieważ nie ma kolejki dla tych rozmiarów grup, zaleca się zwrócenie wartości
WaitEstimates
dla wszystkich rozmiarów grup w odpowiedziBatchGetWaitEstimates
oraz zezwolenie użytkownikom na dołączanie do listy oczekujących dla tych rozmiarów grup bez kolejki. ZwracaWaitLength
z 0parties_ahead_count
lubestimated_seat_time_range
z 0start_seconds
i 0end_seconds
dlaparty_size
bez oczekiwania -
Jeśli w przypadku co najmniej 1 liczby osób nie można dodawać nowych osób na listę oczekujących, ponieważ czas oczekiwania jest zbyt długi, zaleca się pominięcie opcji
WaitEstimates
w przypadku tych liczb osób w odpowiedziBatchGetWaitEstimates
.
Te metody są preferowane, ponieważ dają użytkownikom możliwość wyboru, nawet jeśli lista oczekujących sprzedawcy może nie być w pełni otwarta.
Wytyczne dla partnerów, którzy korzystają tylko z list oczekujących
Jeśli serwer rezerwacji jest używany tylko do obsługi list oczekujących, pamiętaj o tych kwestiach:
- Partnerzy, którzy oferują rezerwacje tylko na listach oczekujących, nie udostępniają plików danych o dostępności do Zarezerwuj z Google.
- Partnerzy, którzy korzystają tylko z list oczekujących, nie implementują metod rezerwacji na serwerze rezerwacji. Zamiast tego zaimplementuj serwer rezerwacji, korzystając z instrukcji implementacji listy oczekujących.
- Partnerzy, którzy korzystają tylko z list oczekujących, nie wykonują wywołań interfejsu API do Google. Oznacza to, że partnerzy, którzy korzystają tylko z list oczekujących, nie muszą konfigurować projektu w chmurze ani podawać adresu e-mail dewelopera. Nie musisz wypełniać sekcji Aktualizacje interfejsu API w czasie rzeczywistym. Pliki danych merchant i service muszą jednak zostać przesłane do Centrum działań.
Wskazówki dla partnerów, których sprzedawcy muszą ręcznie akceptować lub odrzucać dodawanie do listy oczekujących
Jeśli Twoi sprzedawcy potrzebują możliwości ręcznego akceptowania lub odrzucania nowych próśb o dodanie do listy oczekujących przesłanych przez Google, musisz wykonać dodatkowe czynności:
- Ustaw wartość
waitlist_confirmation_mode
naWAITLIST_CONFIRMATION_MODE_ASYNCHRONOUS
wwait_estimate
w przypadku liczby osób, która wymaga ręcznego potwierdzenia. Musi być ustawiony wBatchGetWaitEstimateResponse
iGetWaitlistEntryResponse
. - Wpisy na liście oczekujących, które zostały zgłoszone przez użytkownika, ale nie zostały jeszcze zaakceptowane przez sprzedawcę, powinny mieć stan
PENDING_MERCHANT_CONFIRMATION
.
Przypadki testowe dotyczące list oczekujących na rezerwacje
Google testuje poniższe przypadki użycia, aby zapewnić działanie metod kolejki oczekujących w implementacji serwera rezerwacji. Google testuje i monitoruje też opóźnienia. Wszystkie te testy muszą zakończyć się pomyślnie przed uruchomieniem.
Pobieranie wartości WaitEstimate
- Szacowane czasy oczekiwania są zwracane dla każdego rozmiaru grupy podanego w
BatchGetWaitEstimatesRequest
. - W przypadku wielkości grup, które sprzedawca może zaakceptować lub odrzucić, ustaw parametr waitlist_confirmation_mode na
WAITLIST_CONFIRMATION_MODE_ASYNCHRONOUS
.
Tworzenie pozycji na liście oczekujących
- Wpis na liście oczekujących może zostać utworzony na podstawie prośby
CreateWaitlistEntry
. - Jeśli tworzenie pozycji na liście oczekujących zakończy się niepowodzeniem, w odpowiedzi pojawi się błąd logiki biznesowej.
- Jeśli próba wykonania operacji
CreateWaitlistEntry
się powiedzie, ta sama odpowiedź zostanie zwrócona, gdy otrzymamy to samo żądanieCreateWaitlistEntry
ponownie. - Jeśli próba
CreateWaitlistEntry
się nie powiedzie, serwer spróbuje ponownie, gdy otrzyma ten samCreateWaitlistEntry
. - Wpisy na liście oczekujących pojawiają się w interfejsie sprzedawcy.
- Połączenia z adresem
GetWaitlistEntry
zwracają utworzony wpis na liście oczekujących.
Stany i sygnatura czasowa pozycji na liście oczekujących
- Sprawdź, czy stan każdego wpisu na liście oczekujących jest prawidłowo zwracany w odpowiednich odpowiedziach
GetWaitlistEntry
. - Sprawdź, czy w odpowiednim polu znacznika czasu w pliku odpowiedzi
GetWaitlistEntry
jest ustawiony znacznik czasu dla każdego stanu.
Usuwanie pozycji z listy oczekujących
- Istniejące pozycje na liście oczekujących mogą zostać usunięte. Odpowiedź na usunięty obiekt musi być pustym proto
{}
.
Zrezygnuj
- Sprawdź, czy sprzedawcy, którzy zrezygnowali z usług, są traktowani zgodnie z opisem w sekcji Rezygnacja sprzedawcy z usług.
Przykładowy plik danych usługi z listą oczekujących (w formacie JSON)
Plik danych usługi na liście oczekującychRezygnacja sprzedawcy
Google oczekuje pewnych odpowiedzi od sprzedawców, którzy wcześniej mieli włączone listy oczekujących, ale zdecydowali się zrezygnować z tej opcji.
Natychmiastowe rezygnowanie
- Zwraca
CLOSED_OTHER
w przypadku żądańBatchGetWaitEstimates
. - Zwrot
WAITLIST_CLOSED
w przypadku żądańCreateWaitlistEntry
. - Zwracaj
GetWaitlistEntry
prawidłowo oczekujące prośby o dostęp do usługi dla użytkowników, którzy są już na liście oczekujących.
Rozszerzona rezygnacja
- Usuń
waitlist_rules
z pliku danych usługi sprzedawcy, jeśli ten nie zrezygnuje z rezerwacji. - Usuń sprzedawcę z pliku danych, jeśli zrezygnuje on ze wszystkich integracji z Google.