Les partenaires participant au programme de listes d'attente doivent configurer leur compte avant de commencer. Cependant, certaines étapes du guide général ne sont pas nécessaires pour utiliser la fonctionnalité de liste d'attente. Les consignes de cette page expliquent les étapes qui s'appliquent aux partenaires qui souhaitent utiliser la fonctionnalité de liste d'attente de Réserver avec Google. Nous vous recommandons de lire cette présentation avant de suivre les étapes d'intégration.
Processus de publication de votre flux
La figure 1 présente le processus de lancement de la fonctionnalité Réserver avec Google pour les marchands qui acceptent les listes d'attente.
La figure 2 illustre les principaux flux de données entre vous (le partenaire) et Google:
Consignes pour tous les partenaires avec listes d'attente
Tenez compte des points suivants lorsque vous mettez en œuvre la fonctionnalité de listes d'attente :
waitlist_rules
doit être renseigné pour le service de chaque marchand sur liste d'attente.- Vous devez utiliser le même service pour la liste d'attente et la réservation. En d'autres termes, si votre restaurant autorise également les réservations, il vous suffit d'ajouter les métadonnées associées à la liste d'attente au service pour la réservation.
- L'envoi de mises à jour par SMS est obligatoire pour implémenter la liste d'attente dans les cas suivants :
- Pour confirmer que l'utilisateur a bien rejoint la liste d'attente
- Pour informer l'utilisateur que sa table est prête
- Pour informer l'utilisateur que sa liste d'attente a été annulée.
- Les SMS doivent contenir un lien vers une page sur laquelle les utilisateurs peuvent consulter l'état de leur liste d'attente.
- Les marchands qui n'utilisent que des listes d'attente n'ont pas besoin de fournir des flux disponibilité à Réserver avec Google.
- Votre serveur de réservation doit mettre en œuvre toutes les étapes propres aux listes d'attente décrites dans la section Mettre en œuvre le serveur de réservation. Les partenaires qui acceptent à la fois les réservations et les listes d'attente peuvent ajouter les nouvelles méthodes à leur serveur de réservation existant.
- Réserver avec Google exécute un ensemble de scénarios de test pour les méthodes de listes d'attente sur le serveur de réservation.
Organigramme : État
Ce graphique décrit les états qui doivent être signalés dans WaitlistEntry.waitlist_entry_state
lorsque vous répondez aux appels GetWaitlistEntry
. Le graphique indique également quand enregistrer et renseigner les champs WaitlistEntry.waitlist_entry_state_times.*_time_seconds
, et quand envoyer un SMS à l'utilisateur pour l'informer qu'il est passé à un nouvel état.
Problèmes courants
Vous trouverez ci-dessous des cas courants dans une intégration basée sur des listes d'attente, ainsi que des solutions qui leur sont recommandées.
-
Si certaines personnes (mais pas toutes) n'acceptent pas de nouvelles listes d'attente, car il n'y a pas d'attente, elles peuvent renvoyer la valeur
WaitEstimates
pour toutes les tailles de la réponseBatchGetWaitEstimates
et permettre aux utilisateurs de se joindre à la liste sans attendre. Renvoie unWaitLength
avec 0parties_ahead_count
et/ou avec unestimated_seat_time_range
avec 0start_seconds
et avec 0end_seconds
pour lesparty_size
sans attente. -
Si un ou plusieurs groupes de personnes n'acceptent pas de nouveaux ajouts à la liste d'attente, car l'attente est devenue trop longue, il est préférable d'omettre
WaitEstimates
pour ces groupes dans la réponseBatchGetWaitEstimates
.
Nous vous recommandons de choisir cette approche, car elle offre des options à l'utilisateur, même si la liste d'attente du marchand n'est peut-être pas entièrement ouverte.
Consignes pour les partenaires n'utilisant que des listes d'attente
Tenez compte des points suivants si le serveur de réservation n'est utilisé que pour les listes d'attente:
- Les partenaires qui n'utilisent que des listes d'attente ne fournissent pas de flux disponibilité à Réserver avec Google.
- Les partenaires ne proposant que des listes d'attente n'implémentent pas les méthodes de réservation sur leur serveur de réservation. À la place, vous devez mettre en œuvre le serveur de réservation en suivant les instructions concernant la mise en œuvre basée sur des listes d'attente.
- Les partenaires qui n'utilisent le serveur que pour des listes d'attente n'envoient pas d'appels d'API à Google. Cela signifie que les partenaires ne disposant que de listes d'attente n'ont pas besoin de configurer un projet cloud ni de fournir une adresse e-mail de développeur. Vous n'avez pas besoin d'effectuer les mises à jour de l'API en temps réel. Toutefois, vous devez tout de même fournir les flux marchand et service à Réserver avec Google.
Consignes pour les partenaires dont les marchands doivent accepter/refuser manuellement les ajouts aux listes d'attente
Si vos marchands exigent de pouvoir ajouter ou refuser manuellement de nouvelles listes d'attente de Google, vous devez suivre des étapes supplémentaires:
- Définissez
waitlist_confirmation_mode
surWAITLIST_CONFIRMATION_MODE_ASYNCHRONOUS
danswait_estimate
pour le nombre de personnes nécessitant une confirmation manuelle. Cette valeur doit être définie dansBatchGetWaitEstimateResponse
etGetWaitlistEntryResponse
. - Les entrées dans une liste d'attente qui ont été demandées par l'utilisateur, mais qui n'ont pas encore été acceptées par le marchand, doivent être à l'état
PENDING_MERCHANT_CONFIRMATION
.
Scénarios de tests effectués pour les listes d'attente
Google teste les cas d'utilisation suivants pour s'assurer du bon fonctionnement des méthodes de liste d'attente dans la mise en œuvre de votre serveur de réservation. Google teste et surveille également la latence. Tous ces tests doivent réussir avant le lancement.
Récupération de la valeur WaitEstimate
- Des estimations d'attente sont renvoyées pour chaque nombre de personnes demandé dans une
BatchGetWaitEstimatesRequest
. - Pour les groupes de personnes pour lesquels le marchand a la possibilité d'accepter ou de refuser de nouveaux ajouts à la liste d'attente, définissez le paramètre waitlist_confirmation_mode sur
WAITLIST_CONFIRMATION_MODE_ASYNCHRONOUS
.
Créer une entrée dans une liste d'attente
- Vous pouvez créer une entrée dans une liste d'attente à partir d'une requête
CreateWaitlistEntry
. - Si la création d'une entrée dans une liste d'attente échoue, une erreur de logique métier s'affiche dans la réponse.
- Si une tentative de requête
CreateWaitlistEntry
réussit, la même réponse est renvoyée lorsque la même requêteCreateWaitlistEntry
est reçue à nouveau. - Si une tentative de requête
CreateWaitlistEntry
échoue, le serveur effectue une nouvelle tentative lorsque la même requêteCreateWaitlistEntry
est reçue à nouveau. - Les entrées dans des listes d'attente s'affichent dans l'interface du marchand.
- Les appels à
GetWaitlistEntry
renvoient l'entrée de liste d'attente créée.
États et horodatages des entrées dans des listes d'attente
- Vérifiez que chaque état d'entrée dans une liste d'attente est correctement renvoyé dans l'entrée de la liste d'attente des réponses
GetWaitlistEntry
. - Vérifiez que chaque horodatage d'état est défini dans le champ d'horodatage approprié de l'entrée dans la liste d'attente des réponses
GetWaitlistEntry
.
Supprimer une entrée dans une liste d'attente
- Les entrées existantes dans des listes d'attente peuvent être supprimées. La réponse à une suppression réussie doit être le proto
{}
vide.
Désactiver
- Vérifiez que les marchands désactivés sont traités comme décrit dans la section Désactiver les marchands.
Exemple de flux services avec listes d'attente (JSON)
Flux services avec listes d'attenteMarchands ayant désactivé la fonctionnalité
Google attend certaines réponses des marchands qui avaient précédemment activé des listes d'attente, mais qui ont décidé de les désactiver.
Désactivation immédiate de la fonctionnalité
- Renvoyez
CLOSED_OTHER
pour les requêtesBatchGetWaitEstimates
. - Renvoyez
WAITLIST_CLOSED
pour les requêtesCreateWaitlistEntry
. - Renvoyez les requêtes
GetWaitlistEntry
correctement pour les utilisateurs qui figurent déjà sur la liste d'attente.
Désactivation de la fonctionnalité pour un temps prolongé
- Supprimez
waitlist_rules
du flux de service pour le marchand si ce dernier ne désactive pas les réservations. - Supprimez le marchand du flux des marchands si toutes les intégrations Google sont désactivées.