Liste d'attente des évènements
Sur chaque évènement, il est possible de configurer une liste d'attente avec un nombre de places défini. La gestion de la liste d'attente peut être manuelle ou automatisée.
Enregistrement de réservations en liste d'attente
L'inscription à un évènement se fait grâce à une action webservice dûment paramétrée dans le workflow. Lorsqu'une liste d'attente existe, la réponse à l'appel webservice de réservation fournit quatre informations (attributs) supplémentaires, in_waiting_list, waiting_list_total, waiting_list_reserved, waiting_list_available.
L'attribut in_waiting_list est positionné à True si la demande est placée sur la liste d'attente dans Chrono, à False si elle est sur la liste principale.
{'err': 0, 'booking_id': 14, 'in_waiting_list': True, 'api': {...}}
On pourra donc classer les demandes qui sont sur la liste d'attente dans un statut dédié du workflow en utilisant une action de saut automatique vers ce statut, conditionnée par :
form_workflow_wscall_reservation_response_in_waiting_list == True
(où reservation est l'identifiant de l'appel webservice de réservation).
Gestion manuelle de la liste d'attente
Le fonctionnement par défaut de la liste d'attente est celui de la gestion manuelle : une action d'un agent est nécessaire pour passer les inscriptions de la liste d'attente à la liste principale. Cette action peut s'effectuer côté Chrono (rubrique « Agendas ») ou côté w.c.s. (rubrique « Studio »), au cours du traitement de la demande. Dans ce fonctionnement, c'est le respect de l'ordre d'arrivée des inscriptions qui est priorisé.
Mode de constitution de la liste d'attente
- S'il n'y a plus suffisamment de places en liste principale pour enregistrer une réservation, et si des places sont disponibles en liste d'attente, la réservation est enregistrée en liste d'attente.
- Lorsque la liste d'attente est ouverte (c'est-à -dire lorsqu'au moins une réservation y a été enregistrée), alors toutes les réservations suivantes sont enregistrées en liste d'attente, même s'il reste suffisamment de places en liste principale.
Passage en liste principale
Passage orchestré depuis le circuit de traitement de la demande
Pour accepter la réservation et la sortir de la file d'attente, il faut configurer une action webservice en POST vers {{form_workflow_wscall_reservation_response_api_accept_url}}. Cette action va prendre la demande existante sur la liste d'attente et la déplacer sur la liste principale.
Attention il ne faut pas donner à cet appel webservice qui déplace la demande depuis la liste d'attente vers la liste principale, le même identifiant que celui utilisé pour l'appel webservice initial de réservation, sinon il y aura interférence entre les variables.
Dès que la liste principale est pleine, la variable waiting_list_activated est mise à true, elle empêche les réservations supplémentaires sur la liste principale. Toutefois, dans le cas d'une réservation de plusieurs place en une seule fois, il est possible d'avoir des surréservations.
Passage orchestré depuis l'interface de gestion de l'évènement dans Chrono
Il est possible de passer une réservation sur liste principale depuis la vue back-office des agendas (lien « flèche vers le haut » à droite des réservations en liste d'attente dans la vue d'un évènement).

Le clic sur le lien « flèche vers le haut » ne déclenche des actions que si l'on a configuré le nécessaire dans le workflow.
La méthode recommandée pour cela est :
- Ajouter une action globale (ex. « Passage sur liste principale depuis l'agenda »), avec un déclencheur de type « Appel externe ». Cette action globale comprendra les actions de workflow souhaitées. Dans « » il faut sélectionner « Appels signés aux API » pour que cet appel externe ne soit pas ouvert à tous.
- Dans l'appel webservice de réservation du créneau, ajouter le paramètre waiting_list_callback_url avec pour valeur
{{ form_api_url }}hooks/IDENTIFIANT-APPEL-EXTERNE/
Si vous travaillez sur la base d'un workflow comportant déjà une action manuelle de passage sur liste principale de la réservation, l'action globale ne devra pas amener à rejouer l'appel webservice de passage sur liste principale, sinon vous provoqueriez une erreur. Pour cela, il est possible de positionner l'appel webservice sur un statut intermédiaire « passage sur liste principale » par lequel ne passera pas la demande suite à l'appel du déclencheur.
Si un agent tente de passer sur liste principale une réservation depuis l'agenda alors que waiting_list_callback_url n'est pas défini, l'agent aura un message d'alerte : « Le demande associée ne peut pas être synchronisée. Le passage en liste principale doit se faire depuis la demande pour garder des données cohérentes. ».
Gestion automatisée de la liste d'attente
Il est possible d'automatiser entièrement la gestion de la liste d'attente d'un évènement donné, en cochant l'option « » dans le paramétrage de l'évènement. Dans ce fonctionnement, c'est le remplissage de la liste principale qui est priorisé.

Mode de constitution de la liste d'attente
- S'il n'y a plus suffisamment de places en liste principale pour enregistrer une réservation, et si des places sont disponibles en liste d'attente, la réservation est enregistrée en liste d'attente.
- Contrairement au mode de gestion manuelle, l'ouverture de la liste d'attente n'induit pas l'enregistrement en liste d'attente de toutes les réservations suivantes : s'il reste suffisamment de places en liste principale, la prochaine réservation sera enregistrée en liste principale et non en liste d'attente, sauf si une réservation en attente peut passer en liste principale. Dans ce cas, la réservation en liste d'attente sera prioritaire.
Passage en liste principale
Les réservations basculent automatiquement dès que des places se libèrent, par ordre d'arrivée sur la liste d'attente. Il faut que le nombre de places libérées soit suffisant pour qu'une réservation puisse basculer. Une réservation en attente peut passer en liste principale même si elle est postérieure à une autre réservation en attente, s'il n'y a pas suffisamment de places libérées pour que cette dernière passe en liste principale.
Le processus de bascule automatique évalue la situation toutes les 5 minutes, la bascule n'est donc pas immédiate dès les désistements. Il tient également compte du délai minimal de réservation et ne bascule donc pas les réservations une fois le délai minimal dépassé.
Les demandes sont notifiées de la même façon que lors d'une bascule manuelle depuis la vue back-office des agendas. Si le paramètre waiting_list_callback_url n'a pas été défini sur la réservation, celle-ci ne sera pas basculée automatiquement mais elle ne bloquera pas la bascule des réservations qui la suivent dans la file d'attente.
