Project

General

Profile

Development #38942

Gestion des ressources (était : liste des créneaux disponibles communs à plusieurs agendas rendez-vous)

Added by Mikaël Ates 3 months ago. Updated 3 months ago.

Status:
Nouveau
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
Start date:
14 Jan 2020
Due date:
% Done:

0%

Patch proposed:
No
Planning:
No

Description

Le cas d'usage c'est de pouvoir poser un rendez-vous en prenant en compte les disponibilités d'un agenda d'un organisme (le service État-civil ou la CAF par exemple) et les disponibilités d'un agenda de ressource (une salle ou un poste de visio par exemple). L'usager choisirait le partenaire et la ressource puis il lui est affiché un agenda des disponibilités croisées des deux agendas.

Ce serait donc de disposer de l'ensemble intersection des datetimes de n agendas (n fixe déterminé à la conception de la démarche), en appelant par exemple :

{{agendas_url}}api/agenda/{{choix_partenaire_raw}},{{choix_ressource_raw}}/datetimes/.
Une fois le créneau choisi (e.g. form_var_creneau) ,les n URL des appels WS de réservation peuvent se construire manuellement :
  • {{agendas_url}}api/agenda/{{choix_partenaire_raw}}/fillslot/{{form_var_creneau_datetime}}/
  • {{agendas_url}}api/agenda/{{choix_ressource_raw}}/fillslot/{{form_var_creneau_datetime}}/
De manière tout à fait facultatif (ce pourrait être un autre ticket), ce pourrait être intéressant d'avoir les URL retournées dans le créneau, par exemple pour faire les appels sur :
  • {{ form_var_creneau_api_fillslot_url_0 }}
  • {{ form_var_creneau_api_fillslot_url_1 }}

History

#1 Updated by Mikaël Ates 3 months ago

  • Description updated (diff)

#2 Updated by Emmanuel Cazenave 3 months ago

Sur ton cas d'usage on est plutôt sur des agendas évènements ? rdv ? (je ne sais pas si ce sera important pour le dev mais autant le savoir quand même).

#3 Updated by Mikaël Ates 3 months ago

  • Subject changed from Liste des créneaux disponibles communs à plusieurs agendas to Liste des créneaux disponibles communs à plusieurs agendas rendez-vous

Rendez-vous

#4 Updated by Frédéric Péters 3 months ago

  • Tracker changed from Support to Development
  • Subject changed from Liste des créneaux disponibles communs à plusieurs agendas rendez-vous to Gestion des ressources (était : liste des créneaux disponibles communs à plusieurs agendas rendez-vous)

Une fois le créneau choisi (e.g. form_var_creneau), les n URL des appels WS de réservation peuvent se construire manuellement :

Il ne faudrait pas devoir faire n appels, il faut 1 seul appel qui pose toutes les réservations demandées, et que celles-ci soit liées, qu'une annulation du rendez-vous libère aussi la salle.

{{agendas_url}}api/agenda/{{choix_partenaire_raw}},{{choix_ressource_raw}}/datetimes/

Je serais plutôt à identifier clairement une notion de ressource, qui ne sont ni agenda de rendez-vous ni agenda d'événements, ça permettra par exemple de ne pas devoir définir des durées de réservation pour les ressources, d'avoir à les maintenir celles-ci en parallèle des durées définies au niveau des rendez-vous; ça permettrait aussi de poser que par défaut une ressource peut à tout moment être empruntée, pour ne pas avoir non plus à gérer des "horaires d'ouverture" pour les ressources. Le truc étant d'aller au plus simple dans la définition, je déclare une ressource "poste de visio", je la déclare comme exploitable par l'agenda "état civil" et c'est parti.

Dans les informations générales de l'agenda on récupère ainsi l'info sur les ressources possibles, genre :

   ...
   "resources": [
      {"id": "poste-de-visio", "text": "Poste de visio", "description": "bla bla bla bla"},
      {"id": "local-b-12", "text": "Local B.12", "description", "bla bla bla bla"}
   ]

(selon ce qui est le plus pratique pour être affiché dans une liste / liste à choix multiple de w.c.s.)

Et l'API d'obtention des créneaux derrière,

{{agendas_url}}api/agenda/{{choix_partenaire_raw}}/datetimes/?resources=poste-de-visio,local-b-12

(ici aussi selon ce qui se révèle le plus facilement exploitable)

#5 Updated by Benjamin Dauvergne 3 months ago

Je pose juste ça là mais parmi les notions à garder depuis les agendas rdv, je verrai celle de multiplicité (on appelle guichet pour les agenda de rdv actuellement), si on a 200 chaises on va pas faire 200 agendas de ressources chaise. À terme on pourrait même faire disparaître cette notion des RdV eux mêmes, elle viendrait purement des ressources.

Et deuxième petite remarque pour aller dans le même sens, ça pourrait être utile d'avoir des types de ressources (guichet-a, guichet-b et guichet-c sont des "guichet", si je met guichet ça cherche une dispo dans l'union des 3 guichet, et ça rapporte à la fin lequel a été choisi).

À long terme les agents eux mêmes seraient des ressources et on pourrait générer directement leur agenda de RdV (et prendre en compte leur dispo réelle) ; si on a 3 agents et 2 guichets au mieux on peut prendre 2 RdV par créneau, mais au moins un agent peut-être absent sans que ça gêne la dispo du service.

#6 Updated by Mikaël Ates 3 months ago

Le delta avec l'existant me semble plus important avec cette approche. Mais bien elle est mieux adaptée et permettra sûrement d'affiner par la suite la notion de ressources et les contraintes que l'on pourrait lui associer.

Je comprends la notion de déclaration de la ressource par agenda et le besoin d'en faire dans le formulaire une liste mais comme elles peuvent être exploitées par plusieurs agenda, j'aurai vu le libellé et la description définis dans un objet ressource où l'on trouverait également les horaires de disponibilité, pour ne pointer sur les agendas que les id des ressources.

Also available in: Atom PDF