Project Desciption
Holiday House Booking System
Overview: The goal of this project is to develop a booking system for a holiday house that meets the following requirements:
- Restrict access to certain houses based on whether a manager tries to access vs a regular user.
- Allow users to choose their check-in dates separate from their booking date.
- Send a notification to users reminding them of their booking a week or two before their check-in dates.
- If a user booked the year before, prevent an automatic confirmed booking until an admin is able to confirm.
- Prevent users from booking for the next financial year, hence booking period should be from October to September as a year.
- The user interface should be modern and eye-catching.
Functional Requirements:
User Access Levels:
-
- The system shall have two levels of users: regular users and managers.
- Regular users shall be able to access and book all available houses.
- Managers shall be able to access all available houses as well as view and edit bookings made by regular users.
- The system shall restrict access to certain houses based on whether a manager or a regular user is trying to access it.
Check-In Dates:
-
- The system shall allow users to choose their check-in dates separate from their booking date.
- Users shall be able to choose their check-in date from a calendar interface that displays the available dates for each house.
- The system shall prevent users from choosing a check-in date that conflicts with an existing booking.
Booking Notifications:
-
- The system shall send a notification to users reminding them of their booking a week or two before their check-in dates.
- Users shall have the option to opt out of booking notifications.
Confirmed Bookings:
-
- If a user booked the year before, the system shall prevent an automatic confirmed booking until an admin is able to confirm.
- The system shall send an email notification to the admin when a booking is made by a user who booked the year before.
Booking Period:
-
- The system shall prevent users from booking for the next financial year.
- The booking period shall be from October to September as a year.
User Interface:
a. The user interface shall be modern and eye-catching.
b. The system shall use responsive design to ensure that it is accessible on different devices.
Non-Functional Requirements:
Performance:
a. The system shall be able to handle multiple concurrent bookings.
b. The system shall be responsive and load quickly on all devices.
Security:
a. The system shall use encryption to protect user data.
b. The system shall use password protection to ensure that only authorized users can access the system.
Scalability:
a. The system shall be scalable to allow for future growth and expansion.
b. The system shall be able to handle an increasing number of users and bookings.
Usability:
a. The system shall be easy to use and navigate.
b. The system shall provide clear instructions for users.