I partner che partecipano al programma delle liste d'attesa per le prenotazioni devono completare la configurazione dell'account prima di iniziare. Tuttavia, alcuni passaggi della guida generale non sono necessari per utilizzare la funzionalità della lista d'attesa. Le linee guida riportate in questa pagina spiegano quali passaggi devono seguire i partner interessati a utilizzare la funzionalità della lista d'attesa su Prenota con Google. Ti consigliamo di leggere questa panoramica prima di procedere con i passaggi di integrazione.
Avvio del processo
La Figura 1 illustra la procedura per lanciare i commercianti idonei alla lista d'attesa in Actions Center.
In generale, i principali flussi di dati tra te (il Partner) e Google sono riportati nella Figura 2:
Linee guida per tutti i partner di Liste d'attesa per le prenotazioni
Tieni presente quanto segue durante l'implementazione della funzionalità Liste d'attesa per le prenotazioni:
- Il servizio per ogni commerciante con liste d'attesa per le prenotazioni deve avere il campo
waitlist_rules
compilato.- Devi utilizzare lo stesso servizio sia per la lista d'attesa che per la prenotazione. In altre parole, se il tuo ristorante ammette anche le prenotazioni, devi solo aggiungere i metadati relativi alla lista d'attesa al servizio per le prenotazioni.
- L'invio di aggiornamenti via SMS è obbligatorio per l'implementazione della lista d'attesa nei seguenti casi:
- Per confermare che l'utente si è iscritto correttamente alla lista d'attesa.
- Per informare l'utente che il tavolo è pronto.
- Per notificare all'utente che la sua registrazione alla lista d'attesa è stata annullata.
- I messaggi SMS devono contenere un link a una pagina in cui gli utenti possono visualizzare il proprio stato nella lista d'attesa.
- I commercianti solo in lista d'attesa non devono fornire feed di disponibilità al Centro azioni.
- Il server di prenotazione deve implementare tutti i passaggi specifici per la lista d'attesa elencati in Implementare il server di prenotazione. I partner che supportano sia le prenotazioni sia le liste d'attesa possono aggiungere i nuovi metodi al proprio server di prenotazione esistente.
- Il Centro azioni esegue un insieme di casi di test per i metodi di lista d'attesa nel server di prenotazione.
Diagramma di flusso dello stato
Questo grafico descrive gli stati che devono essere segnalati in
WaitlistEntry.waitlist_entry_state
quando si risponde alle chiamate
GetWaitlistEntry
. Il grafico indica anche quando registrare e compilare i campi
WaitlistEntry.waitlist_entry_state_times.*_time_seconds
e quando inviare un SMS all'utente per informarlo che ha inserito un nuovo stato.
Casi limite comuni
Di seguito sono riportati casi limite comuni in un'integrazione delle liste d'attesa per le prenotazioni e le soluzioni preferite.
-
Se per alcuni (ma non per tutti) numeri di persone non vengono accettate nuove aggiunte alla lista d'attesa perché non c'è attesa per questi numeri di persone, è preferibile restituire
WaitEstimates
per tutti i numeri di persone nella rispostaBatchGetWaitEstimates
e consentire agli utenti di iscriversi alla lista d'attesa per questi numeri di persone senza attesa. Restituire unWaitLength
con 0parties_ahead_count
e/o unestimated_seat_time_range
con 0start_seconds
e 0end_seconds
per iparty_size
senza attesa -
Se per una o più dimensioni del gruppo non vengono accettate nuove aggiunte alla lista d'attesa
perché l'attesa è diventata troppo lunga, è preferibile omettere
WaitEstimates
per queste dimensioni del gruppo nella rispostaBatchGetWaitEstimates
.
Questi approcci sono preferiti perché offrono all'utente delle opzioni anche se la lista d'attesa del commerciante potrebbe non essere completamente aperta.
Linee guida per i partner che offrono solo liste d'attesa per le prenotazioni
Tieni presente quanto segue se il server di prenotazione viene utilizzato solo per le liste d'attesa:
- I partner che offrono solo liste d'attesa per le prenotazioni non forniscono feed di disponibilità a Prenota con Google.
- I partner che offrono solo prenotazioni con lista d'attesa non implementano i metodi di prenotazione nel loro server di prenotazione. Devi invece implementare il server di prenotazione seguendo le istruzioni per l'implementazione della lista d'attesa.
- I partner che offrono solo liste d'attesa per le prenotazioni non effettuano chiamate API a Google. Ciò significa che i partner che utilizzano solo le liste d'attesa per le prenotazioni non devono configurare un progetto cloud o fornire un indirizzo email dello sviluppatore. Non è necessario completare Aggiornamenti dell'API in tempo reale. Tuttavia, i feed dei commercianti e servizi devono comunque essere forniti al Centro azioni.
Linee guida per i partner i cui commercianti devono accettare/rifiutare manualmente le aggiunte alla lista d'attesa
Se i tuoi commercianti richiedono la possibilità di accettare o rifiutare manualmente le nuove aggiunte alla lista d'attesa da Google, sono necessari passaggi aggiuntivi:
- Imposta
waitlist_confirmation_mode
suWAITLIST_CONFIRMATION_MODE_ASYNCHRONOUS
inwait_estimate
per i numeri di persone che richiedono conferma manualmente. Questo valore deve essere impostato inBatchGetWaitEstimateResponse
eGetWaitlistEntryResponse
. - Le voci della lista d'attesa richieste dall'utente, ma non ancora accettate dal commerciante, devono essere nello stato
PENDING_MERCHANT_CONFIRMATION
.
Scenari di test delle liste d'attesa per le prenotazioni
Google testa i seguenti casi d'uso per garantire la funzionalità dei metodi di lista d'attesa nell'implementazione del server di prenotazione. Google testa e monitora anche la latenza. Tutti questi test devono essere superati prima del lancio.
Recupero di WaitEstimate
- Le stime di attesa vengono restituite per ogni numero di persone richiesto in un
BatchGetWaitEstimatesRequest
. - Per le dimensioni dei gruppi per i quali il commerciante ha la possibilità di accettare o rifiutare nuove aggiunte alla lista d'attesa, imposta waitlist_confirmation_mode su
WAITLIST_CONFIRMATION_MODE_ASYNCHRONOUS
.
Creazione di voci nella lista d'attesa
- Una voce della lista d'attesa può essere creata da una richiesta
CreateWaitlistEntry
. - Se la creazione della voce della lista d'attesa non va a buon fine, nella risposta viene visualizzato un errore della logica di business.
- Se un tentativo di
CreateWaitlistEntry
va a buon fine, la stessa risposta viene restituita quando viene ricevuto nuovamente lo stessoCreateWaitlistEntry
. - Se un tentativo di
CreateWaitlistEntry
non va a buon fine, il server riprova quando riceve di nuovo lo stessoCreateWaitlistEntry
. - Le voci della lista d'attesa vengono visualizzate nell'interfaccia del commerciante.
- Le chiamate a
GetWaitlistEntry
restituiscono correttamente la voce della lista d'attesa creata.
Stati e timestamp delle voci della lista d'attesa
- Verifica che ogni stato della voce della lista d'attesa venga restituito correttamente nella voce della lista d'attesa delle risposte
GetWaitlistEntry
. - Verifica che ogni timestamp dello stato sia impostato nel campo timestamp appropriato della voce della lista d'attesa nelle risposte
GetWaitlistEntry
.
Eliminazione della voce della lista d'attesa
- Le voci della lista d'attesa esistenti possono essere eliminate. La risposta a un'eliminazione riuscita deve essere il proto vuoto
{}
.
Disattiva
- Verifica che i commercianti che hanno disattivato la funzionalità vengano trattati come descritto in Disattivazione del commerciante.
Feed del servizio di lista d'attesa di esempio (JSON)
Feed del servizio di lista d'attesaDisattivazione del commerciante
Google si aspetta determinate risposte dai commercianti che in precedenza avevano attivato le liste di attesa, ma hanno deciso di disattivarle.
Disattivazione immediata
- Restituire
CLOSED_OTHER
per le richiesteBatchGetWaitEstimates
. - Restituire
WAITLIST_CLOSED
perCreateWaitlistEntry
richieste. - Restituire
correttamente le richieste
GetWaitlistEntry
per gli utenti che sono già in lista d'attesa.
Disattivazione estesa
- Rimuovi
waitlist_rules
dal feed dei servizi del commerciante se il commerciante non disattiva le prenotazioni. - Rimuovi il commerciante dal feed del commerciante se disattiva tutte le integrazioni con Google.