L'entità rappresenta un contenitore di risorse prenotatili, come tale categorizza ognuna di esse sotto un unico gruppo logico. Ad esempio l'entità BTF del tipo facility, raggruppa due risorse, Linea1 e Linea2 che ereditano le caratteristiche (domande e metadati) dell'insieme BTF.

Sotto viene riportato il DTO che descrive un entità (da notare che viene esteso il DTO di autorizzazione).

public class BookableEntityDTO extends AuthorizationDTO {
    @Schema(description = "The unique identifier of the resource")
    private String id;
    @Schema(description = "The name of th facility")
    private String name;
    @Schema(description = "The description for minimal information about the facility")
    private String description;
    @Schema(description = "The godiva domain path that identify the entity")
    private String path;
    @Schema(description = "Is the type of the entity that can be booked [facility, guesthouse, etc....]")
    private String type;
    @Schema(description = "the question that are associated to the entity used in booking phase")
    List<BookingQuestionDTO> bookingQuestions;
    @Schema(description = "are the informational metadata about the entity")
    List<MetadataDTO> metadata;
}

Le bookingQuestions sono un templare di domande che verranno usate al momento della richiesta di booking, la loro struttura dati e' disponibile qui.

I metadati sono invece oggetti chiave/valore che descrivono delle caratteristiche a scopo informativo dell'entità' come ad esempio location, address, building e Icon. Quest' ultima chiave verra usata per la gestione delle icone delle entità'.


  • No labels