Przegląd

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.

Rysunek 1. Ogólne kroki integracji
Rysunek 1. Najważniejsze kroki integracji

Ogólnie główne przepływy danych między Tobą (Partnerem) a Google przedstawia rysunek 2:

Rysunek 2. Diagram przepływu danych integracji
Rysunek 2. Diagram przepływu danych integracji

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.

Rysunek 3. Schemat działania listy oczekujących
Rysunek 3. Schemat przepływu dotyczący stanu na liście oczekujących

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 odpowiedzi BatchGetWaitEstimates oraz zezwolenie użytkownikom na dołączanie do listy oczekujących dla tych rozmiarów grup bez kolejki. Zwraca WaitLength z 0 parties_ahead_count lub estimated_seat_time_range z 0 start_seconds i 0 end_seconds dla party_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 odpowiedzi BatchGetWaitEstimates.

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 na WAITLIST_CONFIRMATION_MODE_ASYNCHRONOUS w wait_estimate w przypadku liczby osób, która wymaga ręcznego potwierdzenia. Musi być ustawiony w BatchGetWaitEstimateResponseGetWaitlistEntryResponse.
  • 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ć stanPENDING_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 żądanie CreateWaitlistEntry ponownie.
  • Jeśli próba CreateWaitlistEntry się nie powiedzie, serwer spróbuje ponownie, gdy otrzyma ten sam CreateWaitlistEntry.
  • 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

Przykładowy plik danych usługi z listą oczekujących (w formacie JSON)

Plik danych usługi na liście oczekujących

Rezygnacja 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

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.