Skip to content

Calendari advanced: creazione api disponibilità in base ad una finestra

User stories

  1. Come utilizzatore della API voglio avere a disposizione un endpoint che mi suggerisca un numero di disponibilità in una finestra temporale in base ai calendari passati

Casi di test

Dettagli

https://host/lang/api/availabilities/widowed?window_size=8&limit=3&reserve=true&calendar_ids=XXXX,YYYY,ZZZZ

Parametri

windows_size

intero, tra 1 e 30

Numero di giorni per i quali si vogliono degli appuntamenti liberi Se ci fossero calendari vuoti e aperti tutti i giorni corrisponderebbe al numero di giorni che deve intercorrere tra il primo e l’ultimo appuntamento suggerito. Nella realtà il tempo potrà dilatarsi in funzione di quanto sono saturi i calendari.

limit

intero, tra 1 e 10

Numero di appuntamenti che si vogliono suggerire nell’IVR

reserve

booleano

Riserva gli appuntamenti contestualmente alla chiamata, senza necessità di ulteriori chiamate per riservare i tre slot

calendar_ids

lista separata da virtgola di uuid di calendari

Per scegliere gli appuntamenti liberi viene individuato un intervallo di giorni in cui è presente almeno uno slot libero. E’ possibile quindi che vengano elencati dei giorni non consecutivi e questo rende indeterminabile a priori l’intervallo coperto da questa chiamata. Nell’esempio che segue vengono ritornati per esempio 8 giorni tra il 1 settembre e il 16 settembre. Su servizi con calendari molto saturi anche se vengono richiesti 8 giorni potrebbero esserci un numero minore di giorni tra cui scegliere. 

Nel caso di servizi con calendari molto liberi di fatto stiamo individuando il numero massimo di giorni tra il primo e l’ultimo appuntamento suggerito. Nel caso di servizi con calendari saturati in modo molto disomogeneo potrebbero esserci intervalli di tempo anche molto ampi tra il primo e l’ultimo appuntamento suggerito. 

Indichiamo i tre slot proposti con A, B, C

1 disp 2 3 4 5 6 7 8
1/9/25 2/9/25 5/9/25 7/9/25 8/9/25 10/9/25 11/9/25 16/9/25
Matt A C
Pom B

Nell’intervallo di giorni individuati restituisce la prima (A) e l’ultima disponibilità (C) di quei giorni: questo favorisce al massimo la differenza della fascia oraria negli slot suggeriti.

La seconda disponibilità è nel giorno di mezzo dell’intervallo di 8 giorni, possibilmente in un periodo del giorno diverso da quello del PRIMO meeting (A), se A è di mattina B è nel pomeriggio e viceversa: per realizzare questo si individua lo slot con la distanza massima di orario tra se stesso e lo slot A.

Edited by klaudio gaba