Sia le entità che le risorse possono avere associato ad esse un questionario, che , in caso sia presente, verra richiesto durante il workflow della richiesta di booking. La form viene codificata mediante il FormTemplateDTO. Tale classe permette di specificare la descrizione e l'engine da usare per la renderizzazione nelle UI
@Schema(description = "Define a form template with the specification of used engine") public class FormTemplateDTO { @Schema(description = "The type of engine that is used to render the form") String engineType; @Schema(description = "Form description, json or base64, depend on engine description type") String formDescription; }
Tipi di domande
Checkbox
Il tipo checkbox permette di rispondere in modo positivo o affermativo, non ha speciali configurazioni
Date
Il tipo date permette di rispondere inserendo una data, permette configurazioni aggiuntive col seguente json
{ "dateFormat":"formato data specifico (https://www.w3.org/TR/NOTE-datetime)" }
DropdownSingle
Il tipo dropdown single permette di mostrare un combobox con delle scelte pre-compilate in cui solo una selezione è permessa.
{ "chioceList":["value_1",...] }
DropdownMultiple
Il tipo dropdown multiple permette di mostrare un combobox con delle scelte pre-compilate in cui più selezioni sono permesse.
{ "chioceList":["value_1",...] }
FileUpload
Il tipo file upload permette di eseguire l'upload di un file, l'upload viene fatto in due tempi, un api per la creazione dello slot sul booking service e una di upload direttamente sul backend
InputText
Il tipo di file inputText permette di immettere come risposa del testo libero
{ "maxCharacter":xxx }
Link
Il tipo link permette di di aggiungere una linea in cui dopo la label è presente il link html per eseguire il download di una risorsa
{ "name":"documento" "url":"http://hostname/uri/to/resource }
example: Scarica il <documento> dove → "Scarica il" è la label e il "documento" è il valore del campo name nelle configurazioni
Sentence
Il tipo sentence permette di stampare a video una frase informativa
{ "type":"warm, note, info" }
AppSketch