Wprowadzenie do list oczekujących

Partnerzy uczestniczący w programie listy oczekujących muszą ukończyć konfigurację konta, zanim zaczną działać. Niektóre czynności opisane w przewodniku ogólnym nie są jednak konieczne, aby można było korzystać z funkcji listy oczekujących. Wskazówki na tej stronie wyjaśniają, co muszą zrobić partnerzy, którzy chcą korzystać z listy oczekujących w Zarezerwuj z Google. Przed wykonaniem kroków integracji zalecamy zapoznanie się z omówieniem.

Proces uruchamiania

Ilustracja 1 przedstawia proces uruchamiania w Zarezerwuj z Google sprzedawców z listą oczekujących.

Ilustracja 1. Integracja – ogólnie
Ilustracja 1. Integracja wysokiego poziomu

Ogólnie najważniejsze przepływy danych między Tobą (partnerem) a Google są przedstawione na ilustracji 2:

Ilustracja 2. Diagram przepływu danych integracji
Rys. 2: Diagram przepływu danych integracji

Wytyczne dla wszystkich partnerów korzystających z listy oczekujących

Implementując funkcję listy oczekujących, pamiętaj o tych kwestiach:

  • Usługa dla każdego sprzedawcy z listy oczekujących musi zawierać waitlist_rules.
    • Musisz używać tej samej usługi zarówno na liście oczekujących, jak i w rezerwacji. Oznacza to, że jeśli Twoja restauracja także zezwala na rezerwacje, dodaj do usługi metadane związane z listą oczekujących rezerwacji.
  • W przypadku implementacji listy oczekujących wysłanie wiadomości SMS jest wymagane w tych przypadkach:
    • Aby sprawdzić, czy użytkownik dołączył do listy oczekujących,
    • Powiadomienie użytkownika o tym, że 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ą wyświetlić stan listy oczekujących.
  • Sprzedawcy z dostępem tylko do listy oczekujących nie muszą przesyłać plików danych o dostępności do usługi Zarezerwuj z Google.
  • Twój serwer rezerwacji musi zaimplementować wszystkie czynności związane z listą oczekujących na liście w sekcji Implementowanie serwera rezerwacji. Partnerzy, którzy obsługują zarówno rezerwacje, jak i listy oczekujących, mogą dodawać nowe metody do swojego dotychczasowego serwera rezerwacji.
  • Funkcja Zarezerwuj z Google uruchamia zestaw przypadków testowych dla metod listy oczekujących na serwerze rezerwacji.

Schemat blokowy stanu

Ten wykres opisuje stany, które muszą być raportowane w WaitlistEntry.waitlist_entry_state podczas odpowiadania na wywołania GetWaitlistEntry. Wykres pokazuje też, kiedy należy wypełnić i wypełnić pola WaitlistEntry.waitlist_entry_state_times.*_time_seconds oraz kiedy należy wysłać użytkownikowi SMS-a z informacją o wprowadzeniu nowego stanu.

Ilustracja 3. Schemat blokowy stanu listy oczekujących
Ilustracja: 3 Schemat blokowy stanu listy oczekujących

Typowe przypadki skrajne

Poniżej znajdziesz typowe przypadki integracji w przypadku listy oczekujących i preferowane rozwiązania.

  • Jeśli niektóre (nie wszystkie) rozmiary grup nie przyjmują nowych próśb o dołączenie, ponieważ nie ma na nie czekania, oznacza to, że w odpowiedzi BatchGetWaitEstimates zwracana jest wartość WaitEstimates dla wszystkich rozmiarów grup, a użytkownicy mogą dołączać do listy oczekujących na te rozmiary grup bez żadnego oczekiwania. Zwróć WaitLength o wartości 0 parties_ahead_count lub estimated_seat_time_range z wartością 0 start_seconds oraz 0 end_seconds przez party_size bez oczekiwania
  • Jeśli co najmniej 1 rozmiar grupy nie akceptuje nowych pozycji na liście oczekujących, ponieważ czas oczekiwania jest zbyt długi, preferuj WaitEstimates w przypadku tych rozmiarów grup w odpowiedzi BatchGetWaitEstimates.

Te rozwiązania są preferowane, ponieważ dają użytkownikom opcje, mimo że lista oczekujących sprzedawcy może nie być w pełni otwarta.

Wytyczne dla partnerów z listy oczekujących

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

  • Partnerzy z dostępem tylko do listy oczekujących nie udostępniają plików danych dostępności w usłudze Zarezerwuj z Google.
  • Partnerzy korzystający tylko z listy oczekujących 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 listy oczekujących nie wykonują wywołań interfejsu API do Google. Oznacza to, że partnerzy korzystający tylko z listy oczekujących nie muszą konfigurować projektu w chmurze ani podawać adresu e-mail dewelopera. Nie musisz przechodzić aktualizacji interfejsu API w czasie rzeczywistym. Jednak w przypadku plików danych sprzedawcy i usług należy nadal udostępniać usługę Zarezerwuj z Google.

Wskazówki dla partnerów, których sprzedawcy muszą ręcznie zaakceptować/odrzucić prośby o dodanie do listy oczekujących

Jeśli Twoi sprzedawcy muszą mieć możliwość ręcznego akceptowania lub odrzucania nowych pozycji na liście oczekujących od Google, musisz wykonać te czynności:

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

Przypadki testowe na liście oczekujących

Google testuje te przypadki użycia, aby zapewnić działanie metod listy oczekujących na wdrożenie serwera rezerwacji. Google testuje też i monitoruje czas oczekiwania. Wszystkie te testy muszą zakończyć się przed uruchomieniem.

Pobieranie pobierania prognozy

  • Szacowany czas oczekiwania jest zwracany dla każdej wielkości określonej w żądaniu (BatchGetWaitEstimatesRequest).
  • W przypadku rozmiarów grupy, w których sprzedawca może akceptować lub odrzucać nowe pozycje na liście oczekujących, ustaw wartość Waitlist_confirmation_mode na WAITLIST_CONFIRMATION_MODE_ASYNCHRONOUS.

Tworzenie pozycji na liście oczekujących

  • Wpis listy oczekujących można utworzyć na podstawie żądania CreateWaitlistEntry.
  • Jeśli nie uda się utworzyć wpisu na liście oczekujących, w odpowiedzi pojawi się błąd logiczny.
  • Jeśli próba wykonania czynności CreateWaitlistEntry zakończy się pomyślnie, po otrzymaniu ponownie tej samej wartości CreateWaitlistEntry zwracana jest ta sama odpowiedź.
  • Jeśli próba CreateWaitlistEntry zakończy się niepowodzeniem, serwer spróbuje ponownie wykonać odbiór tej samej wartości CreateWaitlistEntry.
  • Pozycje na liście oczekujących pojawią się w interfejsie sprzedawcy.
  • Wywołania GetWaitlistEntry zwracają utworzony wpis na liście oczekujących.

Stany i sygnatura czasowa wpisów na liście oczekujących

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

Usunięcie pozycji z listy oczekujących

  • Pozycje na liście oczekujących można usunąć. Odpowiedź na żądanie usunięcia musi być pustym proto {}.

Rezygnacja

  • Sprawdź, czy sprzedawcy, którzy zrezygnowali z reklam spersonalizowanych, są obsługiwani w sposób opisany w artykule Rezygnacja sprzedawcy.

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

Plik danych usługi listy oczekujących

Rezygnacja sprzedawcy

Google oczekuje pewnych odpowiedzi od sprzedawców, którzy wcześniej mieli włączone listy oczekujących, ale zdecydowali się z nich zrezygnować.

Natychmiast zrezygnuj

Dłuższa rezygnacja

  • Usuń waitlist_rules z pliku danych dla sprzedawców, jeśli sprzedawca nie rezygnuje z rezerwacji.
  • Usuń sprzedawcę z pliku danych sprzedawcy, jeśli zrezygnował on ze wszystkich integracji z usługami Google.