Skip to content

Business requirements of the application

AnnKd edited this page Nov 1, 2022 · 1 revision

Business requirements of the Hotel Management app

The application has a hotel search as a homepage . Every user is considered a guest and has the option to log in or sign up. If the user signs up he/she is transferred to a page where he/she can choose if he/she will be an administrator (admin) or a client .

The required fields in order to create an account are the following:
* username,
* password,
* first name,
* last name ,
* email.
When the user completes the application process he/she receives a confirmation email. The user has to use the link on the email to confirm his/her email address. The provided email address is stored in the database regardless if the user's email is confirmed or not.
Once the account is created, the user can log in to the application using his/her username and password.

Hotels are characterized by their:
*name,
* category (stars),
* area.

A hotel can have one or more rooms. A room belongs to only one hotel.

The client will be able to search for one or more hotels.

The administrator (admin) will be able to manage one or more hotels while being able to add, edit or remove hotels. He will still be able to modify availability or delete a room.

Hotel rooms are characterized by:
* reservations,
* room type (luxury or room for disabled),
* room amenities,
* capacity,
* price.
The capacity of each room reflects the number of adults and the number of children who can stay using a bed feature.

The administrator (admin) can change the characteristics of the rooms and their amenities.

Clients can make a reservation only if there is room availability.
Reservations are characterized by:
* the reservation code,
* the arrival date (check in) and the departure date (check out) of the guests.
During the reservation process, the client can choose additional amenities, which must be recorded in the database and shown on the booking confirmation email . The final amount of payment is calculated based on the characteristics of the selected room, the additional benefits and the length of stay. From this, the client will pay an advance fee which is a percentage of the total amount, set by the administrator (admin) when creating or modifying the room. The advance fee and the total amount must be recorded in the database and shown in the confirmation emails of creation and of any modification.
For example, if the total amount is 100 euros and the administrator has chosen a required advance fee of 30%, then the client must pay an advance fee of 30 euros in order to secure his/her booking.

The client is informed beforehand that he/she will not be refunded in case a cancellation after the payment of the advance fee. In case of cancellation, the room is restored as available and the previous reservation is set from active to cancelled. The cancelled reservation details are not deleted from the database and remain for historical reasons .

As soon as the booking process is completed, a confirmation email is sent to the user with all the details of the booking.

The client can change the dates of the existing reservation, but can not change the reservation benefits. This change is done without any penalty but the final amount may change considering the room type and availability.

To sum up, the client will be able to make none, one or more reservations.

The room will have none, one or more reservations.

Each reservation is connected with a specific card transaction and each transaction belongs to a specific reservation.

When a reservation is completed the following are created and stored: a unique identifier code for the client, a unique identifier of the room, the check in and check out dates, a unique identifier of the reservation from the service that will hold the secure card payment data (eg stripe), the date of submission of the reservation, the date any reservation changes ,confirmation that the initial registration email has been successfully sent and if a reservation modification email has been successfully sent.

Each reservation includes one (1) room.

Payment for each reservation will be made by credit / debit card.

Finally, the administrator (admin) will be able to have the overview of one or more hotels and their room availability , as well as the hotel amenities that are connected to each room.

Each room can have none, one or more amenities. For the convenience of the administrator (admin), the ability to apply the selected benefits to all hotel rooms will be added to the ui.

Each amenity can be connected in one or more rooms.

Each amenity has its title and a description.