Przegląd

Partnerzy uczestniczący w programie „Listy oczekujących rezerwacji” muszą najpierw ukończyć konfigurację konta. Jednak niektóre czynności opisane w przewodniku ogólnym nie są konieczne, aby korzystać z funkcji listy oczekujących. Wytyczne na tej stronie wyjaśniają, jakie czynności należy wykonać w przypadku partnerów zainteresowanych korzystaniem z funkcji listy oczekujących w Zarezerwuj z Google. Przed wykonaniem kroków integracji sugerujemy zapoznanie się z tym omówieniem.

Proces uruchamiania

Na Rysunku 1 przedstawiamy proces wprowadzania w Actions Center sprzedawców, którzy mają dostęp do listy oczekujących.

Rysunek 1. Ogólna integracja
Rysunek 1. Ogólna integracja

Ogólnie główne przepływy danych między Tobą (partnerem) a Google zostały przedstawione na ilustracji 2:

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

Wytyczne dla wszystkich partnerów oferujących listy oczekujących rezerwacji

Wdrażając funkcję „Listy oczekujących rezerwacji”, pamiętaj o tych kwestiach:

  • Usługa każdego sprzedawcy z listy oczekujących rezerwacji musi mieć pole waitlist_rules.
    • Musisz używać tej samej usługi zarówno na liście oczekujących, jak i w rezerwacji. Inaczej mówiąc, jeśli Twoja restauracja umożliwia też rezerwacje, dodaj do usługi metadane związane z listą oczekujących.
  • Wysyłanie aktualizacji SMS jest wymagane w przypadku implementacji listy oczekujących w tych przypadkach:
    • Potwierdź, że użytkownik dołączył do listy oczekujących.
    • Powiadomienie użytkownika, że jego tabela jest gotowa.
    • Powiadomienie 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ć stan swojej listy oczekujących.
  • Sprzedawcy z listy oczekujących nie muszą przesyłać plików danych o dostępności do Centrum działań.
  • Serwer rezerwacji musi wdrożyć wszystkie kroki związane z listą oczekujących, podane w artykule Wdrażanie serwera rezerwacji. Partnerzy, którzy obsługują zarówno rezerwacje, jak i listy oczekujących, mogą dodać nowe metody do swojego serwera rezerwacji.
  • Centrum działań uruchamia zestaw przypadków testowych metod listy oczekujących na serwerze rezerwacji.

Schemat blokowy stanu

Ten wykres przedstawia stany, które muszą być zgłaszane w zadaniu WaitlistEntry.waitlist_entry_state w przypadku odpowiadania na wywołania GetWaitlistEntry . Wykres wskazuje też, kiedy należy zarejestrować i wypełnić pola WaitlistEntry.waitlist_entry_state_times.*_time_seconds , a kiedy wysłać do użytkownika SMS-a z informacją o wprowadzeniu nowego stanu.

Rysunek 3. Schemat blokowy stanu listy oczekujących
Rys. 3 Schemat blokowy stanu listy oczekujących

Najczęstsze przypadki skrajne

Poniżej znajdziesz typowe przypadki skrajne w integracji list oczekujących rezerwacji i preferowane rozwiązania w ich przypadku.

  • Jeśli niektóre (ale nie wszystkie) osoby nie akceptują dodawania nowych osób do listy oczekujących, ponieważ nie trzeba czekać w przypadku tych rozmiarów, preferowane jest zwrócenie wartości WaitEstimates dla wszystkich rozmiarów grupy w odpowiedzi BatchGetWaitEstimates i zezwolenie użytkownikom na dołączenie do listy oczekujących na osoby z tych rozmiarów bez konieczności czekania. Zwróć WaitLength z wartością 0 parties_ahead_count lub z wartością estimated_seat_time_range o wartości 0 start_seconds i 0 end_seconds w przypadku zasobów party_size bez oczekiwania
  • Jeśli co najmniej 1 rozmiar grupy nie akceptuje dodawania nowych do listy oczekujących, ponieważ czas oczekiwania wydłużył się, preferowane jest pominięcie WaitEstimates w przypadku tych rozmiarów grupy w odpowiedzi BatchGetWaitEstimates.

Te metody są preferowane, ponieważ dają użytkownikom różne opcje, nawet jeśli lista oczekujących sprzedawcy nie jest w pełni otwarta.

Wytyczne dla partnerów korzystających tylko z list oczekujących na rezerwacje

Jeśli serwer rezerwacji jest używany tylko do tworzenia list oczekujących, pamiętaj o tych kwestiach:

  • Partnerzy korzystający tylko z list oczekujących rezerwacji nie przesyłają plików danych o dostępności do usługi Zarezerwuj z Google.
  • Partnerzy korzystający tylko z list oczekujących rezerwacji nie implementują metod rezerwacji na swoim serwerze rezerwacji. Zamiast tego zaimplementuj serwer rezerwacji zgodnie z instrukcjami implementacji listy oczekujących.
  • Partnerzy korzystający tylko z list oczekujących rezerwacji nie wykonują wywołań interfejsu API w Google. Oznacza to, że partnerzy mający dostęp tylko do list oczekujących na rezerwacje nie muszą konfigurować projektu w chmurze ani podawać adresu e-mail dewelopera. Nie musisz przeprowadzać aktualizacji interfejsu API w czasie rzeczywistym. Jednak pliki danych sprzedawcy i usług nadal muszą być jednak przesłane w Actions Center.

Wytyczne dla partnerów, których sprzedawcy muszą ręcznie akceptować/odrzucać dodania do listy oczekujących

Jeśli Twoi sprzedawcy wymagają możliwości ręcznego akceptowania lub odrzucania nowych pozycji na liście oczekujących od Google, są wymagane dodatkowe czynności:

  • Ustaw waitlist_confirmation_mode na WAITLIST_CONFIRMATION_MODE_ASYNCHRONOUS w wait_estimate w przypadku rozmiarów grup, które wymagają ręcznego potwierdzenia. Należy go ustawić w polach BatchGetWaitEstimateResponse i GetWaitlistEntryResponse.
  • Wpisy na liście oczekujących, o które prosi użytkownik, ale które nie zostały jeszcze zaakceptowane przez sprzedawcę, powinny mieć stan PENDING_MERCHANT_CONFIRMATION.

Przypadki testowe dotyczące list oczekujących dotyczących rezerwacji

Google testuje poniższe przypadki użycia, aby upewnić się, że metody listy oczekujących w implementacji serwera rezerwacji działają prawidłowo. Google testuje i monitoruje również czas oczekiwania. Przed uruchomieniem muszą zostać zaliczone wszystkie te testy.

Pobieranie oszacowania czasu oczekiwania

  • Zwracane są szacowane czasy oczekiwania dla każdej liczby osób żądanej w BatchGetWaitEstimatesRequest.
  • W przypadku liczby osób, które sprzedawca może zaakceptować lub odrzucić nowe osoby do listy oczekujących, ustaw ustawienie Waitlist_confirmation_mode na WAITLIST_CONFIRMATION_MODE_ASYNCHRONOUS.

Tworzenie pozycji na liście oczekujących

  • Wpis na liście oczekujących można utworzyć na podstawie żądania CreateWaitlistEntry.
  • Jeśli nie uda się utworzyć wpisu na liście oczekujących, w odpowiedzi wyświetli się błąd logiki biznesowej.
  • Jeśli próba CreateWaitlistEntry się powiedzie, ta sama odpowiedź zostanie zwrócona po ponownym odebraniu tego samego elementu CreateWaitlistEntry.
  • Jeśli próba CreateWaitlistEntry się nie powiedzie, serwer ponawia próbę, gdy ponownie otrzyma ten sam parametr CreateWaitlistEntry.
  • Pozycje na liście oczekujących pojawią się w interfejsie sprzedawcy.
  • Wywołania GetWaitlistEntry zwracają utworzoną pozycję na liście oczekujących.

Stany wpisów na liście oczekujących i sygnatury czasowe

  • Sprawdź, czy każdy stan wpisu na liście oczekujących jest zwracany prawidłowo we wpisie listy oczekujących dla odpowiedzi GetWaitlistEntry.
  • Sprawdź, czy sygnatura czasowa każdego stanu jest ustawiona w odpowiednim polu sygnatury czasowej pozycji na liście oczekujących w odpowiedziach GetWaitlistEntry.

Usunięcie pozycji z listy oczekujących

  • Istniejące wpisy z listy oczekujących można usunąć. Odpowiedź na udane usunięcie musi być pustym proto {}.

Zrezygnuj

  • Sprawdź, czy sprzedawcy, którzy zrezygnowali z tej funkcji, są traktowani w sposób opisany w sekcji Rezygnacja sprzedawców.

Przykładowy plik danych usługi listy oczekujących (JSON)

Plik danych usługi listy oczekujących

Rezygnacja sprzedawcy

Google oczekuje określonych odpowiedzi w przypadku sprzedawców, którzy wcześniej korzystali z list oczekujących, ale zdecydowali się zrezygnować z ich używania.

Natychmiastowa rezygnacja

Rozszerzona rezygnacja

  • Usuń atrybut waitlist_rules z pliku danych usług sprzedawcy, jeśli nie rezygnuje on z rezerwacji.
  • Usunąć sprzedawcę z pliku danych, jeżeli zrezygnował ze wszystkich integracji z Google.