Project

General

Profile

Development #62851

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

Added by Thomas Noël 11 months ago. Updated 10 months ago.

Status:
Nouveau
Priority:
Bas
Assignee:
-
Category:
-
Target version:
-
Start date:
16 March 2022
Due date:
% Done:

0%

Estimated time:
Patch proposed:
No
Planning:
No

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 ?)

History

#2

Updated by Lauréline Guérin 11 months ago

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

Updated by Thomas Noël 11 months ago

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

Updated by Valentin Deniaud 10 months ago

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

Updated by Thomas Noël 10 months ago

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

Updated by Valentin Deniaud 10 months ago

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

Updated by Thomas Noël 10 months ago

  • Priority changed from Normal to 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.

Also available in: Atom PDF