La configurazione e' associate ad una entità' e permette di definire un periodo su cui si possono eseguire delle richieste di booking. La richiesta di booking varia da entità ed entità, seguendo uno specifico workflow. 

Associato ad ogni entità c'e' un template che ne definire regole di validazione workflow e parametrizazzioni dello stesso:

/**
 * Represent a set of properties that need to be used to create
 * a configuration for the booking process associated to an entity
 */
public class BookingConfigurationTemplateDTO {
    /**
     * Definition of the conf for the configuration of the workflow that will rule the booking process
     */
    private FormTemplate formTemplate;
    /**
     * Define the workflow that need to be associate to the request
     */
    private String requestWorkflowDefinitionID; 
    /**
     * The validation bean used to validate the form values
     */
    private String formValidationBean;
    /**
     * The validation bean used to validate the request
     */
    private String requestValidationBean;
    /**
     * Last timestamp that the identity has been modified
     */
    private LocalDateTime lastUpdateTS;
}


dove:

  • formTemplate, definisce la form per la visualizzazione delle configurazione del workflow
  • requestWorkflowDefinitionID, e' l'id di definizione da usare per le regole di booking
  • formValidationBean,  class Java permette di validare una configurazione al momento della creazione
  • requestValidationBean, class Java che permette di validare e completare la richiesta di booking su una specifica configurazione

la configurazione è quindi la valorizzazione di uno o più parametri espressi dal template

Specifiche

La configurazione permette di delineare una timeline come quella mostrata in figura. Le open/close booking date indicano un constraint che limita quando e' possibile prenotare una entità'. Le start/end date identifica il periodo di prenotazione di un'entità.

la data di chiusura della possibilità di prenotazioni (Close Booking Data) puo' essere minore o uguale alla data di inizio della prenotazione



  • No labels