Pré-réservation d’un rendez-vous ou d’un évènement
Il s’agitPré-réservation d'un rendez-vous ou d'un évènement
Paramétrage (exemple pour les rendez-vous)
Pour permettre la pré-réservation temporaire, il faut :
- Créer un appel de webservice (dans Studio / Appels de webservices / Nouvel appel webservice) qui utilise la méthode POST (JSON) avec la même URL que le webservice de réservation dans le workflow. Dans les « Données à envoyer dans le corps de la requête » indiquez « lock_code » comme variable avec le gabarit
{% firstof form_submission_context_lock_code session_hash_id %}.
Une fois l'appel créé, on peut le modifier et éditer son identifiant. Dans cet exemple, l’identifiant de l’appell'identifiant de l'appelwebservice 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 rendez-vous (ou de l’évènement),
l'évènement),et les suivantes.
Condition : webservice.rdv_fillslot_preblocage.err == 0
Message d’erreurd'erreursi condition non statisfaite : Veuillez choisir un nouveau créneau, le pré-blocagepré-blocaquede votre réservation n’an'apas pu aboutir.
- Toujours côté formulaire, dans le champ qui permet d’afficher
d'afficherles créneaux de l’agenda,l'agenda,ajouter le paramètre lock_code à la source de donnée :- soit à la fin de l’URL
l'URLdu JSON, exemple :{{ agendas_url }}api/agenda/agenda-de-type-rdv/meetings/{{ form_var_meeting_type_raw }}/datetimes/?lock_code={% firstof form_submission_context_lock_code session_hash_id %} - soit en sélectionnant directement la source de donnée de l’agenda
l'agenda(la donnée à envoyer en paramètres de l’URLl'URL: lock_code : {% firstof form_submission_context_lock_code session_hash_id %} étant déjà intégrée)
- soit à la fin de l’URL
Côté workflow, dans le webservice de réservation, ajouter des données à envoyer dans le corps de la requête.
lock_code : {% firstof form_submission_context_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’à 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 d'une place à plusieurs évènements).
Affichage côté agenda en backoffice
Côté agenda, la pré-réservation indique comme libellé « En cours de réservation ».
