Documentation en ligne

Rendez-vous

Pour configurer un agenda de type « rendez-vous », il faut définir les plages horaires concernées (par exemple, « le lundi de 13 à 18 heures et le jeudi de 19 à 22 heures ») et un ou plusieurs types de rendez-vous ayant chacun une durée définie.

Il est également possible de créer plusieurs guichets, permettant ainsi de multiplier le nombre de places disponibles pour un même créneau.

Lorsque vous avez défini plusieurs type de RdV différents dans un agenda, il peut être utile d'afficher ces types (RdV pour 1 personne, RdV famille...) dans un formulaire. Pour les afficher, dans un champ de type liste au sein d'un formulaire, vous pouvez faire appel à la source de données JSON suivante :

    {{agendas_url}}api/agenda/IDENTIFIANT-AGENDA/meetings/

Pour importer un fichier iCal (.ics) permettant de générer des exceptions, il faut cliquer sur l'icône Transférer qui se trouve à droite de « Exceptions » en bout de ligne. Il est également possible à cet endroit d'indiquer l'URL d' un calendrier distant reprenant les exceptions aux horaires d'ouverture, et mettant ainsi ces dernières automatiquement à jour dans l'agenda. Attention, seules les exceptions dans les 600 jours à venir sont importées.

Exposer les créneaux horaires dans un formulaire

Pour exploiter un agenda de type rendez-vous, il convient d'abord de présenter à l'usager la liste des créneaux horaires disponibles. Pour cela il faut créer dans un formulaire un champ de type liste auquel on donne un nom de variable (par exemple « event ») et que l'on alimente (dans les paramètres avancés du champ) par une « source de données » de type JSON.

Après avoir sélectionné « JSON » dans la liste des sources de données, on indiquera l'URL suivante :

  {{agendas_url}}api/agenda/RENDEZ-VOUS-PASSEPORT/meetings/TYPE-DE-RDV/datetimes/

RENDEZ-VOUS-PASSEPORT est l'identifiant de votre agenda (visible dans les paramètres de l'agenda) et TYPE-DE-RDV est l'identifiant de votre type de rendez-vous (visible au même endroit).

Il est nécessaire de mettre « template-meetings » dans le paramètre « Classes supplémentaires pour les styles CSS » pour avoir un affichage optimisé plutôt qu'une simple liste déroulante des créneaux. 

Dans « Paramètres supplémentaires » , le réglage « Afficher les éléments désactivés » (désactivé par défaut) permet d'afficher, en grisé, les créneaux déjà réservés, un tel créneau n'est pas pour autant réservable.

Lorsque l'usager aura choisi un créneaux et validé le formulaire, il est nécessaire que le workflow soit correctement configuré pour enregistrer la réservation dans l'agenda.

Changer les horaires d'une semaine sur l'autre

Les agendas définissent, de façon récurrente, les horaires pour une semaine. Mais il est possible de définir pour chacun (pour chaque guichet en réalité) des périodes pendant lesquelles les horaires normaux ne s'appliquent pas : les « exceptions ». Il peut y avoir des exceptions parce qu'un jour est férié, parce qu'une personne est en congés ou malade, ou simplement parce que les règles ont changé sur une période donnée.

Les exceptions permettent de donner une date de début, une date de fin et d'indiquer quels sont les créneaux habituellement disponibles et qui ne le sont plus sur la période en question. Les créneaux indiqués deviennent indisponibles entre les deux dates indiquées.
Il y a deux façon différentes de mettre en place des  exceptions (dans lesquelles on peut indiquer des dates) :
  • soit en indiquant manuellement les créneaux, la date de début et la date de fin,
  • soit, pour mettre enplace des chose élaborées et récurrentes, en construisant un calendrier des exceptions (dans un outil comme Thunderbird permettant d'exporter un fichier .ics) puis en utilisant le fichier .ics obtenu pour indiquer les exceptions dans  l'agenda. 
Vous pouvez télécharger le fichier des jours fériés en France jusqu'en 2030 avec ce lien.

Visualisation des rendez-vous et export .ics

Envoyer le fichier .ics d'un rendez-vous par courriel

Il est possible de joindre à un courriel un fichier .ics d'un rendez-vous. La personne recevant ce courriel dans Outlook n'aura qu'à cliquer sur le fichier .ics pour mettre le rendez-vous dans son agenda. Pour suivre le tutoriel, c'est par là.

Fichier .ics de la liste des rendez-vous

Publik offre une vue sur les agendas directement depuis son backoffice, il suffit d'attribuer les droits de visualisation sur l'agenda concerné aux rôles autorisés. Les personnes autorisées disposeront alors d'une vue calendaire des rendez-vous, vue quotidienne ou mensuelle.

Alternativement, il est possible d'exporter la liste des rendez-vous vers un logiciel d'agenda type Zimbra ou Outlook, à travers une vue « ics » des demandes.

Pour ce faire, il faut construire une adresse sur la forme

{{eservices_url}}api/forms/IDENTIFIANT-DU-FORMULAIRE/ics/IDENTIFIANT-DONNEE-DE-TRAITEMENT

Par exemple : https://demarches.example.fr/api/forms/prise-de-rendez-vous-passeport/ics/rdv_datetime.

L'identifiant du formulaire est ici prise-de-rendez-vous-passeport. rdv_datetime est l'identifiant de la donnée de traitement dans laquelle on a stocké le jour et l'heure du rendez-vous sous forme structurée (identifiant sans préfixe form_var_ donc).

données de traitement

Pour obtenir le jour et l'heure sous forme structurée et pour un rendez-vous dont le créneau aurait été sélectionné dans un champ ayant comme identifiant event, la donnée de traitement rdv_datetime serait alimentée par la variable form_var_event_datetime.

affectation de la valeur à la donnée de traitement

Pour utiliser la durée du rendez-vous, il faut créer une autre donnée de traitement et y stocker la date de fin retournée par le webservice d'agenda : {{reservation_response_end_datetime}} par exemple, si le webservice a pour identifiant reservation, puis appeler

{{eservices_url}}api/forms/IDENTIFIANT-DU-FORMULAIRE/ics/IDENTIFIANT-DONNEE-DE-TRAITEMENT/IDENTIFIANT-AUTRE-DONNEE-DE-TRAITEMENT.

Il manquera encore au programme tiers les autorisations nécessaires pour accéder au webservice, il faudra demander à l'administrateur de Publik d'ajouter, dans une section [api-http-auth-ics] du site-options.cfg, une entrée username = password, pour ouvrir l'accès au webservice et il faudra également ajouter à l'URL un paramètre email correspondant à un usager habilité à accéder aux demandes.

Dernière mise à jour le 9 juin 2020 15:04 — Éditer