= Use-case model = == List of Actors / Roles == * '''Room Requester''' - A person who needs to reserve a room, equipment, or both for a specific date and time interval. * [[UseCase0001|UC0001]] - Search available rooms - The actor searches for available rooms according to date, time, capacity, type, and required equipment. * [[UseCase0002|UC0002]] - Create reservation request - The actor creates a reservation request for a room, equipment, or both. * UC0004 - Cancel own reservation - The actor cancels a reservation request that is no longer needed. * UC0005 - View reservation status - The actor checks whether a reservation is pending, approved, rejected, or cancelled. * '''Reservation Approver''' - A person responsible for reviewing reservation requests and making approval decisions. * [[UseCase0003|UC0003]] - Approve or reject reservation - The actor reviews pending reservation requests and records an approval or rejection decision. * UC0006 - Review pending reservations - The actor lists all pending reservation requests that require a decision. * UC0007 - View reservation details - The actor views the room, equipment, requester, date, time, and status of a reservation. * '''Resource Administrator''' - A person responsible for maintaining room and equipment data in the system. * UC0008 - Add or update room data - The actor creates or updates room information such as capacity, type, room code, and building. * UC0009 - Add or update equipment data - The actor creates or updates equipment information and available stock quantity. * UC0010 - Assign equipment to rooms - The actor records which equipment is available in specific rooms and in what quantity. == Use-case model diagram == A use-case model diagram is optional for this phase. The main use-case structure is documented textually through the actors, use-cases, and detailed use-case scenario pages listed above. == Selected use cases for detailed realization == The following use cases are selected as the most important database usage scenarios for the Room Reservation System: * [[UseCase0001|UC0001 - Search available rooms]] * [[UseCase0002|UC0002 - Create reservation request]] * [[UseCase0003|UC0003 - Approve or reject reservation]] These use cases were selected because they cover the central database operations of the project: reading available room and equipment data, inserting reservation requests, inserting requested equipment records, updating reservation status, and inserting approval decisions.