Présentation des listes d'attente

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.

Figure 1: Procédure générale d'intégration
Figure 1:Procédure générale d'intégration

La figure 2 illustre les principaux flux de données entre vous (le partenaire) et Google:

Figure 2 : Diagramme présentant les flux de données d'intégration
Figure 2:Diagramme présentant les flux de données d'intégration

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.

Figure 3: Organigramme de la liste d'attente
Figure: Organigramme de la liste d'attente

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éponse BatchGetWaitEstimates et permettre aux utilisateurs de se joindre à la liste sans attendre. Renvoie un WaitLength avec 0 parties_ahead_count et/ou avec un estimated_seat_time_range avec 0 start_seconds et avec 0 end_seconds pour les party_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éponse BatchGetWaitEstimates.

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 sur WAITLIST_CONFIRMATION_MODE_ASYNCHRONOUS dans wait_estimate pour le nombre de personnes nécessitant une confirmation manuelle. Cette valeur doit être définie dans BatchGetWaitEstimateResponse et GetWaitlistEntryResponse.
  • 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ête CreateWaitlistEntry est reçue à nouveau.
  • Si une tentative de requête CreateWaitlistEntry échoue, le serveur effectue une nouvelle tentative lorsque la même requête CreateWaitlistEntry 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

Exemple de flux services avec listes d'attente (JSON)

Flux services avec listes d'attente

Marchands 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é

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.