The Team Reservation Management System is a web-based application designed to streamline the process of reserving venues for teams and organizations. This system enables users to manage and reserve spaces efficiently while providing role-based access for users, admins, and super admins.
- Use Cases
- User Stories
- Activity Diagram
- Mockup Design
- High-Level Architecture
The system supports several key use cases to enhance user experience and manage reservations efficiently. The following diagram provides an overview of the major use cases involved:
- Use Case Diagram:
@startuml
left to right direction
actor User as U #yellow
actor Admin as A #lightblue
actor "Super Admin" as SA #pink
rectangle "Reservation Management System" {
U --> (Login)
U --> (Signup)
U --> (View Availability of venues according to the location)
U --> (View Availability of venues according to the venue type)
U --> (Reserve a venue)
U --> (View Summary and State of Reservation)
U --> (Remove draft venues)
U --> (Add feedback)
U --> (Cancel reservation)
A --> (Login)
A --> (Update Venue Details)
A --> (Add new venue details)
A --> (View the user reservations)
A --> (Accept/Reject user reservation)
A --> (Reply to Feedback)
A --> (Delete the venue)
A --> (Generate Reports)
SA --> (Assign Admin)
}
@enduml
User stories capture the functionality from the perspective of different roles in the system. Each story describes a specific requirement or feature the system should fulfill.
- User Stories:
-
Login
As a User, I want to log into my account so that I can access my dashboard and manage my reservations. -
Search Venue
As a User, I want to search for venues by location, date, or availability so that I can find the right venue for my needs. -
Reserve a Venue (After Login)
As a User, I want to reserve a venue after logging in so that I can secure a booking for my event. -
View Reservation Summary and Status (After Login)
As a User, I want to view a summary and the status of my reservation after logging in, so I can track its progress and details. -
Remove Draft Venues (After Login)
As a User, I want to remove venues that are in draft status from my reservation list after logging in, so I can manage my reservations more efficiently. -
Add Feedback (After Login)
As a User, I want to provide feedback about a venue or the reservation process after logging in, so I can share my experience and help improve the service. -
Cancel Reservation (After Login)
As a User, I want to cancel my reservation after logging in, so I can manage my bookings and avoid unnecessary commitments.
-
View Venue Availability by Location
As a Guest User, I want to view the availability of venues according to the location so I can explore options before logging in. -
View Venue Availability by Venue Type
As a Guest User, I want to view the availability of venues according to the venue types so I can find a venue that fits my needs. -
Sign Up
As a Guest User, I want to sign up for a new account so that I can create an account and access additional features after logging in.
-
Login
As an Admin, I want to log into my admin account so that I can manage venues and reservations effectively. -
Update Venue Availability
As an Admin, I want to update the availability of venues so that users can only book venues that are free at their preferred times. -
Add New Venue Details
As an Admin, I want to add new venues to the system so that users have more options to choose from. -
Update Venue Details
As an Admin, I want to update the details of existing venues so that the information is always current and accurate. -
View User Reservations
As an Admin, I want to view user reservations so that I can monitor and manage booking activities. -
Accept or Reject User Reservations
As an Admin, I want to accept or reject user reservations so that I can control venue bookings based on availability and other factors. -
Reply to User Feedback
As an Admin, I want to reply to user feedback so that I can address their concerns and improve user satisfaction. -
Delete Venue
As an Admin, I want to delete a venue from the system if it is no longer available, so users only see valid options. -
Generate Reports
As an Admin, I want to generate reports about venue usage and user reservations so that I can analyze performance and make informed decisions.
The activity diagram illustrates the flow of actions users perform within the system to complete various tasks such as reserving a venue, managing user roles, and generating reports.
- Activity Diagram:
@startuml
start
:User Login;
if (Is User Registered?) then (yes)
:Authenticate User;
else (no)
:Register User;
:Authenticate User;
endif
:View Available Reservations;
if (Select Reservation?) then (yes)
:Provide Reservation Details;
:Confirm Reservation;
:Send Confirmation Email;
else (no)
:Exit System;
endif
if (Modify Reservation?) then (yes)
:Retrieve Reservation;
:Update Reservation Details;
:Send Update Confirmation;
else (no)
if (Cancel Reservation?) then (yes)
:Retrieve Reservation;
:Process Cancellation;
:Send Cancellation Confirmation;
else (no)
:Exit System;
endif
endif
:Log Out;
stop
@enduml
The system design is visualized through mockups, which offer a representation of the user interface and flow.
- Mockup Design View (Figma): View Mockup
The architecture diagram provides an overview of the system’s structure, showing key components, data flow, and technology stacks used.
- High-Level Architecture Diagram: View High-Level Architecture