Pré-réservation d'un rendez-vous ou d'un évènement
Il s'agit de réserver temporairement un créneau horaire ou un évènement, laissant ainsi le temps pour l'usager (ou l'agent lors de la saisie backoffice) de compléter le formulaire sans que le rendez-vous ou l'évènement ne soit réservé par une autre personne entre temps.
Paramétrage
Pour permettre la pré-réservation temporaire, il faut :
- Créer un appel de webservice qui utilise la méthode POST (JSON) avec la même URL que le webservice de réservation dans le workflow. Et renseigner dans les « Données à envoyer dans le corps de la requête » le gabarit {{ session_hash_id }}.
Dans cet exemple, l'identifiant de l'appel webservice est « rdv_fillslot_preblocage ».

- Côté formulaire, ajouter une condition de sortie de page sur la page qui permet de choisir le créneau du RDV (ou l'évènement), et les suivantes.
Condition : webservice.rdv_fillslot_preblocage.err == 0
Message d'erreur si condition non statisfaite : Veuillez choisir un nouveau créneau, le pré-blocaque de votre réservation n'a pas pu aboutir.
Côté workflow, dans le webservice de réservation, ajouter des données à envoyer dans le corps de la requête.
lock_code : {{ session_hash_id }}
confirm_after_lock : true

Explication
Le paramètre « lock_code » permet deux choses :
- de valider la disponibilité du créneau : il vérifie que le créneau est toujours accessible à chaque sortie de page ;
- de poser un verrou temporaire : le créneau sera bloqué pendant 10 minutes. Durant ce laps de temps, le créneau ne sera plus considéré comme disponible, bien que la réservation ne soit pas encore définitive.
Chaque fois que ce paramètre est appelé, le verrouillage existant est prolongé de 10 minutes. Il est donc important de maintenir la condition de sortie de page jusqu'à la fin du formulaire.
Ce nouveau paramètre est également utilisable pour la réservation multiple (réservation de plusieurs places à un évènement + réservation d'une place à plusieurs évènements).