Projet

Général

Profil

Development #62851

api : dans les meta sur les datatimes (rendez-vous), ajouter le nombre de reservations possible/total

Ajouté par Thomas Noël il y a environ 2 ans. Mis à jour il y a environ 2 ans.

Statut:
Nouveau
Priorité:
Bas
Assigné à:
-
Catégorie:
-
Version cible:
-
Début:
16 mars 2022
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Non
Planning:
Non

Description

Actuellement l'API datetimes renvoie bookable_datetimes_number_total et bookable_datetimes_number_available qui disent combien de créneaux sont visibles par l'usager. Mais il y a beaucoup plus de réservations possibles que cela, car il peut y avoir plusieurs guichets derrière un créneau.

Avoir le total complet permettrait de savoir combien de personnes peuvent être effectivement accueillies. C'est utile au pilotage. (d'ailleurs ça pourrait être affiché ailleurs qu'au fond des API, mais c'est un autre sujet)

Techniquement l'idée serait que api::views::MeetingDatetimes puisse calculer ça (par exemple dans son générateur unique_slots) et renvoie les sommes calculées dans les meta, sous des noms à trouver (bookings_number_total / bookings_number_available ?)

Historique

#2

Mis à jour par Lauréline Guérin il y a environ 2 ans

unique_slots ne traite pas forcément tous les slots qu'on pourrait trouver; dans get_all_slots on zappe des TimeSlots si on sait déjà qu'ils sont dispo:

                # skip generating datetimes if we already know that this
                # datetime is available
                if unique and unique_booked.get(timestamp) is False:
                    continue

(unique est positionné à True pour la recherche des datetimes, False pour fillslots)

Du coup, pour savoir si le slot est libre ou pas, il faudrait supprimer ce block, mais j'ai peur que ça joue sur les perfs de datetimes.

#3

Mis à jour par Thomas Noël il y a environ 2 ans

Lauréline Guerin a écrit :

Du coup, pour savoir si le slot est libre ou pas, il faudrait supprimer ce block, mais j'ai peur que ça joue sur les perfs de datetimes.

Effectivement.

Peut-être qu'on pourrait plutôt remonter ces nombres dans les stats ? Les perfs y posent sans doute un petit peu moins de soucis. Et ça aurait de la pertinence de savoir combien de créneaux étaient ouverts au total versus combien de rendez-vous sont été pris.

#4

Mis à jour par Valentin Deniaud il y a environ 2 ans

Thomas Noël a écrit :

Peut-être qu'on pourrait plutôt remonter ces nombres dans les stats ?

Le problème qui se pose c'est comment on récupère/stocke ces données ? J'imagine que ça nécessiterait un cron qui va calculer ça tous les jours et le stocker dans un modèle créé pour l'occasion.

#5

Mis à jour par Thomas Noël il y a environ 2 ans

Valentin Deniaud a écrit :

Thomas Noël a écrit :

Peut-être qu'on pourrait plutôt remonter ces nombres dans les stats ?

Le problème qui se pose c'est comment on récupère/stocke ces données ? J'imagine que ça nécessiterait un cron qui va calculer ça tous les jours et le stocker dans un modèle créé pour l'occasion.

Je ne comprends pas bien : on ne peut pas connaître le nombre de slots possibles dans le passé, c'est ça ? (je connais trop peu le modèle de données de Chrono pour répondre, ça me semble juste bizarre que ça soit impossible)

Ceci dit, en reprenant mes réflexions, un total "général" c'est fumeux : si on a des agendas qui gèrent des délais de 15 et 30 minutes en concurrence, on ne peut pas savoir "combien de rendez-vous" étaient possibles au total. Il faudrait déjà pouvoir préciser un type de rendez-vous dans StatisticsFiltersSerializer.

#6

Mis à jour par Valentin Deniaud il y a environ 2 ans

Thomas Noël a écrit :

Je ne comprends pas bien : on ne peut pas connaître le nombre de slots possibles dans le passé, c'est ça ? (je connais trop peu le modèle de données de Chrono pour répondre, ça me semble juste bizarre que ça soit impossible)

C'était sans parler de modèle de données, juste qu'au cours du temps on peut être amené à ajouter/supprimer un guichet ou changer les horaires d'ouverture.

#7

Mis à jour par Thomas Noël il y a environ 2 ans

  • Priorité changé de Normal à Bas

Valentin Deniaud a écrit :

Thomas Noël a écrit :

Je ne comprends pas bien : on ne peut pas connaître le nombre de slots possibles dans le passé, c'est ça ? (je connais trop peu le modèle de données de Chrono pour répondre, ça me semble juste bizarre que ça soit impossible)

C'était sans parler de modèle de données, juste qu'au cours du temps on peut être amené à ajouter/supprimer un guichet ou changer les horaires d'ouverture.

Ah oui, évidemment.

Bon, je ne vois pas de sortie simple pour ce ticket. Je le passe en priorité basse.

Formats disponibles : Atom PDF