Documentation en ligne

Enregistrer, modifier, annuler dans un agenda

C'est dans le workflow que l'on va pouvoir procĂ©der Ă  l'enregistrement dans un agenda, pour prendre, annuler ou encore dĂ©placer une ou plusieurs rĂ©servations, grâce Ă  une action webservice.

Enregistrer un rendez-vous ou une inscription

L'action webservice doit ĂŞtre configurĂ©e en POST. L'URL Ă  utiliser dans cet appel, en considĂ©rant que le champ prĂ©sentant le choix avait comme identifiant « EVENT », sera {{ form_var_IDENTIFIANT-CHAMP-EVENT_api_fillslot_url }}.

L'appel webservice doit inclure les « DonnĂ©es Ă  envoyer dans le corps de la requĂŞte » suivantes :

  • label pour le libellĂ© qui sera affichĂ© dans les plages rĂ©servĂ©es dans les agendas, vue back-office (par exemple pourrait ĂŞtre {{ form_name }},
  • user_first_name et user_last_name pour le prĂ©nom et le nom de l'usager, si dĂ©fini viendra s'afficher dans la plage rĂ©servĂ©e Ă  la suite de label,
  • backoffice_url pour la demande vers laquelle crĂ©er un lien activĂ© sur le libellĂ© prĂ©cĂ©dent (usuellement doit ĂŞtre {{ form_url_backoffice }}),
  • user_display_label pour le libellĂ© qui sera prĂ©sentĂ© Ă  l'usager (par exemple « Rendez-vous passeport »). Ces deux dernières donnĂ©es ne sont utilisĂ©es que dans le cas de gĂ©nĂ©ration d'un fichier ics (cf. le tutoriel dĂ©diĂ©).
  • user_email pour l’adresse Ă©lectronique de l’usager, nĂ©cessaire pour que les rappels par email fonctionnent.
  • user_phone_number pour le numĂ©ro de tĂ©lĂ©phone mobile de l’usager, nĂ©cessaire pour que les rappels par SMS fonctionnent.
  • form_url, optionnel, et permet de passer l'adresse de la demande, ce qui ajoutera un bouton "Modifier ou annuler le rendez-vous" dans les courriels de rappel.
  • cancel_callback_url, optionnel mais Ă  utiliser pour permettre l'annulation depuis l'agenda.
Il est possible d'ajouter n'importe quel couple donnée/valeur dans l'appel webservice. La donnée pourra être utilisée ensuite pour configurer un filtre dans l'écran de pointage. Par exemple, si j'utilise regime: "végétarien", je pourrais dans les paramètres de l'écran de pointage indiquer regime comme filtre. Cela permettra d'avoir dans l'écran de pointage un bouton radio pour chaque valeur associée à la donnée regime (Végétarien, Allergique, etc.). Ces boutons radio permettent de n'afficher que les réservations concernées.

L'appel ne doit pas reprendre intĂ©gralement  les donnĂ©es de la demande (l'option « Envoyer les donnĂ©es du formulaire Â» doit rester dĂ©cochĂ©e).

Attribuer un identifiant à l'appel webservice, par exemple « reservation », permettra d'utiliser les variables {{ form_workflow_wscall_reservation_response_* }} qui contiennent de nombreuses informations utiles (regardez la vue inspect d'une demande pour les voir toutes).

Annuler un rendez-vous ou une inscription

L'action webservice permettant d'annuler un enregistrement dans l'agenda se configure en POST avec :

  • URL : {{ form_workflow_wscall_reservation_response_api_cancel_url }}
L'annulation ainsi configurée pourra être déclenchée par l'usager ou l'agent en fonction des choix faits dans le workflow, voir en exemple le workflow « Prise de rendez-vous » sur le catalogue des démarches.

On peut également permettre aux agents d'annuler un rendez-vous depuis l'agenda, mais cela nécessite une configuration différente et plus poussée du workflow.

Modifier un rendez-vous ou une inscription

La modification d'un enregistrement est en réalité une action d'annulation de l'enregistrement existant et une action de création d'un nouvel enregistrement. Il est tout à fait possible de faire cela avec 2 actions webservices séparés en utilisant les deux appels vu précédemment.

Mais il est possible d'utiliser un seul appel pour faciliter les choses : il fera Ă  la fois l'annulation et le nouvel enregistrement comme sur le workflow « Prise de rendez-vous » sur le catalogue. Dans notre exemple, nous avons stockĂ© l'identifiant du rendez-vous existant dans une donnĂ©e de traitement {{ form_var_id_rdv }}, et nous exposons la possibilitĂ© de changer l'enregistrement via une action formulaire dans le workflow qui nous donne une variable {{ form_workflow_form_IDENTIFIANT-FORMULAIRE_var_IDENTIFIANT-CHAMP-EVENT_api_fillslot_url }}.

L'action webservice est utilisĂ©e Ă  la fois pour faire le premier enregistrement et le modifier. Elle se configure en post comme suit :

  • URL : {% firstof form_workflow_form_IDENTIFIANT-FORMULAIRE_var_IDENTIFIANT-CHAMP-EVENT_api_fillslot_url form_var_IDENTIFIANT-CHAMP-EVENT_api_fillslot_url %}
  • backoffice_url : {{form_url_backoffice|safe}}
  • cancel_booking_id : {{form_var_id_rdv|default:""}}
  • label : {{form_name|safe}}
  • user_name : {{form_user_display_name|safe}}

Aller plus loin

Un paramétrage plus avancé du workflow est possible pour faire plusieurs d'inscriptions d'un coup, gérer les erreurs, annuler les rendez-vous directement depuis l'agenda ou encore gérer une liste d'attente.

Dernière mise à jour le 13/01/2026 11:31 — Éditer