# Domain Entities — Unit 03: Availability Module Dit document beschrijft de data structuren voor de beschikbaarheidsmodule. ## 1. AvailabilityResponse (DTO) Model voor de publieke status check. - **Status**: De huidige `AvailabilityStatus` (Enum uit U01). - **CheckedAt**: Tijdstip van de status check. - **Message**: Optionele tekstuele toelichting (bijv. "Onderhoud gepland tot 14:00"). ## 2. AvailabilitySettings (Configuration) Model voor de configuratie in `appsettings.json`. - **DefaultStatus**: De status die geretourneerd wordt door de stub. - **MaintenanceMessage**: Bericht dat getoond wordt tijdens onderhoud. - **AllowedRolesForMaintenance**: Lijst van rollen die toegang hebben tijdens onderhoud (default: `Owner`, `Administrator`). ## 3. AvailabilityState (In-Memory) Indien we in de MVP de status dynamisch willen kunnen aanpassen zonder restart: - **CurrentStatus**: `AvailabilityStatus`. - **StatusChangedAt**: DateTimeOffset. - **Reason**: String.