0% found this document useful (0 votes)
51 views7 pages

Hotel Reservation System: I. Iii. Methodology

The document presents a Hotel Reservation System designed to streamline hotel management functions for both administrators and customers. It includes features for managing food menus, rooms, halls, and taxis, allowing users to book services online and generate reports for effective administration. The system is built using modern technologies such as Express JS, Node.js, ReactJS, and MongoDB, ensuring ease of use and efficient service delivery.

Uploaded by

Meet Pandav
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
51 views7 pages

Hotel Reservation System: I. Iii. Methodology

The document presents a Hotel Reservation System designed to streamline hotel management functions for both administrators and customers. It includes features for managing food menus, rooms, halls, and taxis, allowing users to book services online and generate reports for effective administration. The system is built using modern technologies such as Express JS, Node.js, ReactJS, and MongoDB, ensuring ease of use and efficient service delivery.

Uploaded by

Meet Pandav
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

International Journal of Engineering and Management Research e-ISSN: 2250-0758 | p-ISSN: 2394-6962

Volume-12, Issue-5 (October 2022)


www.ijemr.net https://doi.org/10.31033/ijemr.12.5.69

Hotel Reservation System


Nandasiri K.G.N.D1, Gamage M.I.S2, Wanniarachchi M.Y3, Lakshani N.V.M4, D.I De Silva5 and Dulanji Cooray6
1
Student, Department of Software Engineering, Sri Lanka Institute of Information Technology, SRI LANKA
2
Student, Department of Software Engineering, Sri Lanka Institute of Information Technology, SRI LANKA
3
Student, Department of Software Engineering, Sri Lanka Institute of Information Technology, SRI LANKA
4
Student, Department of Software Engineering, Sri Lanka Institute of Information Technology, SRI LANKA
5
Senior Lecturer, Department of Software Engineering, Sri Lanka Institute of Information Technology, SRI LANKA
6
Instructor, Department of Software Engineering, Sri Lanka Institute of Information Technology, SRI LANKA
1
Corresponding Author: nayani.dn@gmail.com

ABSTRACT out of the bargain, low occupancy rate and low profit
The essay "Hotel Management System" focuses on “three low” strange circle. Therefore, linking true business
managing hotel functions between the customer and the hotel. and information technology management to facilitate
This system is divided into four components food, hall, room, customer service and manage service delivery helps to
and taxi. An administrator would be capable of managing build the hotel industry successfully.
taxis, menus, halls, and rooms, whereas a customer would be
Jingda Yang d divided the hotel management
able to view menus and book a hall, room, or taxi. This paper
discusses how the system manages all of these functionalities. system into four main parts to manage all functions of the
In addition, the system has been designed to generate reports system, basic information management, reception
on every functionality for the administrator to effectively management, complete desk cashier management and
administer the system. This system includes several features, system user management. [1] Their system uses the
each of which is accessible to either the administrator or the Microsoft DNA structure, which breaks the application
customer. The main goal of this paper is to make the hotel's into three layers: the presentation layer, the business rules
fundamental functions with customers easier and to provide layer, and the data layer.
an online presentation of the hotel for customers to connect The proposed Hotel Management System before are
more.
include comparative evaluation factors such as privacy,
security and data protection, Usage simplicity,
Keywords– Customer, Hotel, Reports, Booking, Online
Accessibility to system [2]. These factors are the highest
turnaround time, an important measure of efficiency.
I. INTRODUCTION III. METHODOLOGY
Technology integrations is continuing to evolve the
A. Technologies
hotel management systems. This web-based application is
This developed application used Express JS,
designed for hotel management system. Customer can do
Node.js for server side, Rest API and ReactJS for server
their task very easily and the administrator can manage
side and mongo dB as database. Figure 1 will show how
system and provide service to the customer via system.
these technologies connect with each other‟s.
The system easier to use than manual system.
Express JS, Node JS
And while building this app, good practices such as
Node J's is a fast JavaScript run-time
interface are designed by focusing on one specific task,
environment, but it doesn't support request handling,
using easy to read and understand words without using
HTTP methods, or saving files, so Express JS comes into
complex or system-oriented words for menu names,
the picture. ExpressJS makes node JS easier. Express
adding relevant labels for input fields, Capital letters have
provides a wide range of features for developing both web
been used for the beginning of each word in each label,
and mobile applications. It is used to build single-page,
and labels and buttons have been given meaningful names
multi-page, and hybrid-page web applications. Express
to make the site more user-friendly.
writing in Java Script is very easy to understand for
developers. Express is a Node.js framework designed for
II. RELATED WORK building APIs, web applications, and cross-platform
mobile apps. Express is fast, and you believe there is no
Day by day the hotel industry has become more structured way to write code; Express is not forced to write
competitive in the business sector. Until recently, the code in a fox manner; and Express is lightweight.
traditional hotel industry has found it difficult to pull itself
527 This work is licensed under Creative Commons Attribution 4.0 International License.
International Journal of Engineering and Management Research e-ISSN: 2250-0758 | p-ISSN: 2394-6962
Volume-12, Issue-5 (October 2022)
www.ijemr.net https://doi.org/10.31033/ijemr.12.5.69

React JS admin side and customer side. A customer can get service
The app itself is the client, or front-end part. through the system provided by the admin.
Under the hood, it needs to talk to a server or the backend
to get or save the data. This communication happens using
the HTTP protocol, the same protocol that powers our
website. So, on the server, we expose a bunch of services
that are accessible via the HTTP protocol. Then the client
can directly call the services by sending an HTTP request.
This is where the rest is needed. "Rest" is short for
"Representational State Transfer. The Rest is basically a
converter for building these HTTP services. We use simple
HTTP protocol principles to provide support for creating,
reading, updating, and deleting data. These operations are
all together called "crud operations." Figure 1 : System Overview
Rest API
The client, or frontend, component is the app
itself. To obtain or save the data, it needs to communicate
with a server or the backend. This communication takes
place over the HTTP protocol, which also underpins our
web. As a result, we expose a number of services on the
server that may be accessed using the HTTP protocol. The
client can then make a direct HTTP request to the services.
The downtime is required here. It stands for
"Representational State Transfer" or "REST." In essence,
Rest serves as a converter when creating these HTTP
services. We provide support for creating, reading,
updating, and removing data using basic HTTP protocol
concepts. All these operations are collectively referred to
as "crud operations." Figure 2 : Whole System
Mongo dB
Alright, so this is what's called a no SQL database 1. Food Menu Functions
and there are different types of no SQL databases, but to 1.1. Admin-Side
be more specific, it's called a document database. Data or 1.1.1. Add a New Menu
records are stored as documents and they use JSON like
syntax, so if you know what Jason is, its JavaScript object
notation. No SQL databases differ significantly from
relational databases such as MySQL. With a relational
database, we must map out everything required to
determine the exact schema, including which tables and
fields are used. MongoDB is the most advanced and most
popular document-oriented database. MongoDB is easy to
scale compared to SQL or relational databases, and they
are also much faster in most types of operations. There are
some things that would benefit from using relational
databases. When creating a new document in MongoDB, it
assigns an object ID that is unique for that collection.
Multiple fields within the document can have values of
various data types such as strings, arrays, objects, and so
Figure 3: Add New Menu
on.
B. Proposed System
Admin can add new food menus to the system
According to the figure 2 this proposed system
using this function. According to the Figure 3 admin can
mainly focuses on room management, menu management,
enter required details and submit it by clicking „Save
hall management, and taxi management. And cover the
Details‟ Button.

528 This work is licensed under Creative Commons Attribution 4.0 International License.
International Journal of Engineering and Management Research e-ISSN: 2250-0758 | p-ISSN: 2394-6962
Volume-12, Issue-5 (October 2022)
www.ijemr.net https://doi.org/10.31033/ijemr.12.5.69

1.1.2. View already added menus, update and delete them 2.1.1. Add a new room

Figure 5: Add New Room

Admin can add new room to the system using this


function. According to the Figure 3 admin can enter
Figure 4: Update, Delete Menu required details and submit it by clicking „Save Details‟
Button.
According to the figure 9 admin can view already
2.1.2. View already added rooms, update and delete them
added food menus, update and delete them. If admin wants
to update a menu, admin should click update button of
respective menu cards. Then Update Menu Details
interface will appear, and admin can make the necessary
changes and update the details by clicking the 'Update
Details' button. If the menu details updated successfully,
the alert message 'Menu details updated successfully' will
be displayed.
When the admin clicks the delete button in the
corresponding menu card, popup interface will appear,
asking the administrator for the deletion approval. If admin
want to delete a menu from system permanently admin can
click „Delete‟ button or if admin accidentally click delete
button, admin can click 'Cancel' button and go back to all
food menus page. If the menu is deleted successfully, the
alert message 'Menu details deleted successfully' will be
displayed.
1.2. Client-Side
1.2.1. View all menus and details of a selected menu
As Figure 8 customers can view all the food
menus and view details of relevant menus by clicking Figure 6: Update, Delete Room
„Menu Details‟ button.
According to the figure 6 admin can view already
2. Rooms Functions added rooms, update and delete them. If admin wants to
2.1. Admin-Side update a room, admin should click update button of
respective room cards. Then Update Room Details
interface will appear, then admin can make the necessary
changes and update the details by clicking the 'Update
Details' button. If the room details updated successfully,
the alert message „Room details updated successfully‟ will
be displayed.

529 This work is licensed under Creative Commons Attribution 4.0 International License.
International Journal of Engineering and Management Research e-ISSN: 2250-0758 | p-ISSN: 2394-6962
Volume-12, Issue-5 (October 2022)
www.ijemr.net https://doi.org/10.31033/ijemr.12.5.69

When the admin clicks the delete button in the 3.1.1. Add a new hall
corresponding room card, popup interface will appear,
asking the administrator for the deletion approval. If admin
want to delete a room from system permanently admin can
click „Delete‟ button or if admin accidentally click the
delete button in the room card, admin can click 'Cancel'
button and go back to „All Rooms‟ page. If the room is
deleted successfully, the alert message Room details
deleted successfully' will be displayed.
2.2. Client-Side

Figure 8: Add New Hall

Admin can add new halls to the system using this


function. According to the Figure 8 admin can enter
required details and submit it by clicking „Save Details‟
Button.
3.1.2. View already added halls, update and delete them

Figure 7: Book a Room and Make the Payment

2.2.1. View all rooms


This function focused to display available room
options to the customers. In here users can view the rooms
list. Users can also search rooms by selecting relevant
room types, guest count, check-In date, and Check-out
date.
2.2.2. View details of the selected room and book them by
making payments
In here users can view the details of the selected
room. Users can book the room by filling the required
information and they will be redirected to the payment
page by clicking the “BOOK” Button. Then customers
must fill required details and provide the correct payment
information. Then they can click the “CONFIRM THE
BOOKING” Button after rechecking the information and
the Total amount. After clicking the button, they will get Figure 9: Update, Delete Hall
an email with the booking information. When clicking the
„Reservation Details‟ button customer can view the report According to the figure 9 admin can view already
of reservation details. It will work as Figure 7. added halls, update and delete them. If admin wants to
update hall, admin should click update button of respective
3. Halls Functions hall cards. Then Update Hall Details interface will appear,
3.1. Admin-Side and admin can make the necessary changes and update the
details by clicking the 'Update' button. If the room details
updated successfully, the alert message „Details updated
successfully' will be displayed.
When the admin clicks the delete button in the
corresponding hall card, popup interface will appear,

530 This work is licensed under Creative Commons Attribution 4.0 International License.
International Journal of Engineering and Management Research e-ISSN: 2250-0758 | p-ISSN: 2394-6962
Volume-12, Issue-5 (October 2022)
www.ijemr.net https://doi.org/10.31033/ijemr.12.5.69

asking the administrator for the deletion approval. If admin 4.1.1. Add a new taxi
want to delete hall from system permanently admin can
click „Delete‟ button or if admin accidentally click delete
button, admin can click 'Cancel' button and go back to the
halls page. If the hall is deleted successfully, the alert
message „Hall removed successfully' will be displayed.
3.2. Client-Side

Figure 11: Add New Taxi

Admin can add new taxis to the system using this


function. According to the Figure 11 admin can enter
required details and submit it by clicking „Save Details‟
Button.
4.1.2. View already added taxis, update and delete them
Figure 10 : Book a Hall and Make the Payment

3.2.1. View all halls


This function focused to display available halls
options to the users. In here Customers can see all the halls
are available in our hotel. And brief introduction of hall
and image of hall in here. Furthermore, users can see the
details of relevant halls by clicking the „Explore More‟
button.
3.2.2. View details of the selected hall and book them by
making payments
According to the figure 10, this function is used
to display details of the selected hall to the customers and
book them by making payments. In here users can view the
details of the selected hall. Users can book the hall by
filling the required information and they will be redirected
to the reservation details page by clicking the
“PROCEED” Button. Customer can see the details enter Figure 12: Update, Delete Taxi
by him/her when make hall reservation. After checking the
details customer must confirm it for make payment. Admin can view already added taxis, update and
Customer redirects to payments page when clicking the delete them as in the figure 12. If admin wants to update
„Pay Now‟ button. Then customer have to provide the taxi, admin should click update button of respective taxi
correct payment information and they can click the “PAY cards. Then Update Taxi interface will appear, and admin
NOW” Button after rechecking the information. When can make the necessary changes and update the details by
clicking the „Reservation Details‟ button customer can clicking the 'Update Taxi' button.
view the report of reservation details. When the admin clicks the delete button in the
corresponding taxi card it will delete the selected taxi from
4. Taxi Functions the system.
4.1. Admin-Side

531 This work is licensed under Creative Commons Attribution 4.0 International License.
International Journal of Engineering and Management Research e-ISSN: 2250-0758 | p-ISSN: 2394-6962
Volume-12, Issue-5 (October 2022)
www.ijemr.net https://doi.org/10.31033/ijemr.12.5.69

4.2. Client-Side everyone has access to new modifications and the latest
code for the project. Each member was working on their
own branches. Commit History of members is showing in
the figure 14

Figure 14: Commit History

Figure 13: Book a Taxi and Cancel Booking We used azure boards for organized our work
item. It supported track the tasks, features and bug in the
4.2.1. View all taxis project. It is easy to run by using product backlog or
This function is used to display available taxi Kanban board. The user interface makes it simple to build
options to the users. In here Customers can see all the taxis and personalize Kanban boards, task boards, and delivery
available. Furthermore, users can see the details of relevant plans. And also Backlog items of the Sprint 1 shown in the
taxi and book them by clicking the „Book‟ button. figure 15.
4.2.2. View details of a single taxi and book taxis by
providing requested details
This function is used to display Taxi/ Vehicle
details to the user and to book that taxi/ vehicle. Once user
selects a taxi from the “Book Your Vehicle” page‟s list, it
will redirect to this page. User can find all the relevant
details regarding the selected taxi. If user wants to book
this vehicle, he/she can click “Book” button and it will
redirect to the book your vehicle page. Then user can fill
the form and book the Taxi/Vehicle if they want. This
Figure 15: Backlog items of the Sprint 1
function act as figure 13.
4.2.3. View already booked taxis of the current user and
For checking the Code Quality Assurances tool,
cancel the bookings if they want
we used SonarQube. It collects and analyzes source codes
This function is used to display and delete all the
as well as provides reports about the code quality of a
booked taxis for the user. This page will display all the
project. Overview status of analyzed projects shown in
taxis booked by a user with the details user provided when
figure 16.
he booked that specific taxi. If user wants to delete a
booked taxi, he can click “Delete” button. If user wants to
find a booked taxi quickly, he can search it through the
search bar. The flow of this function is showed in figure
13.
C. Process of the project
We organized a meeting with some clients via
Microsoft teams and gather requirements for the hotel
management system and called them daily scrum
meetings. At the scrum meetings, we discussed the team
plan, the problems that members were facing, and the
solutions that came up. We plan our whole project Figure 16: Overview status of analyzed projects
according to the number of two sprints.
When developing the system, we used version For the testing of the app, we used Selenium,
control for simultaneous work on our project. We used Git which shows live automated tests being performed on a
as our version control. Because of this version control,

532 This work is licensed under Creative Commons Attribution 4.0 International License.
International Journal of Engineering and Management Research e-ISSN: 2250-0758 | p-ISSN: 2394-6962
Volume-12, Issue-5 (October 2022)
www.ijemr.net https://doi.org/10.31033/ijemr.12.5.69

computer screen. We did get some test cases and tested V. CONCLUSION
them using selenium. Successfully admin login test is
shown in the figure 17. In a conclusion, we believe that this hotel
management system fulfilled its goals. This system makes
customer-hotel interaction more effective, fast, transparent,
and trustworthy. As a hotel, they were able to attract more
clients than ever before since their online presence grew
and people were able to quickly share and recommend
them. Furthermore, the hotel was able to handle all its
functions since they could see what was available and what
was reserved. They might also simply update or introduce
new options to clients. Clients were able to reserve rooms
and other facilities simply even without physically being
Figure 17: Successfully admin login there. This made traveling easy for the customer. Overall,
the system enabled both the hotel and the customer to
D. Access privilege manage and complete their tasks with a single click, saving
When admin logs in to the system with admin login money on paper, phone calls, and pre-hotel visits. The
credentials, admin can access all the managing tasks in the system also saved time. As a result, this approach has
system. And the customer login with customer credentials proven to be a valuable tool for both sides.
will not be able to access any admin functions. This
privileged access allowed us to secure the application. REFERENCES
Both admins and customers can logout of the system, and
any user can't register with the same password for the [1] Y. Jingda. (2013). Research and design of hotel
system. management system model. International Conference on
Education Technology and Information System, pp. 1140.
[2] Sanni Abubakar Omuya Ogirima, Tolulope Reuben
IV. DISCUSSION Awode & Olajide Olusegun Adeosun. (2014). Online
computerized hotel management system. J. Comput. Biosci.
We faced many challenges while building this Eng., 2348-7321.
application such as setting goals before build the system, [3] https://nodejs.org/en/docs/.
designing UI as user friendly, making the application easy [4] G. LIM. (2021). Beginning MERN stack: Build and
to navigate, making sure all functions on the website deploy a full stack MongoDB, Express, React, Node.js App.
works well and then integrate the application. Independently Published.
As the solutions we research for specific goals [5] "Hooks API Reference," [Online]. Available:
based on the vision behind the topic of web application. https://reactjs.org/docs/hooks-reference.html. [Accessed 12
When goals were set, made sure everyone in the group August 2022].
discussed how to build the application according to fulfill [6] "Introducing Hooks," [Online]. Available:
the goals. https://reactjs.org/docs/hooks-intro.html. [Accessed 22 July
Always focus on the user-friendliness of the 2022].
application. Researched other web application with the [7] "Routing," [Online]. Available:
same functionality and researched user reviews of those https://expressjs.com/en/guide/routing.html. [Accessed 15
applications. August 2022].
The application was integrated from the [8] "About pull requests," [Online]. Available:
https://docs.github.com/en/pull-requests/collaborating-with-
beginning and the problem was solved as soon as possible.
pull-requests/proposing-changes-to-your-work-with-pull-
Issues arising while building the application did not
requests/about-pull-requests. [Accessed 20 August 2022].
proceed with building the application. [9] "MERN Stack Authentication Tutorial (Part 1 - The
The manual system for hotel management Backend)," [Online]. Available:
systems always takes more time and costs more. From this https://dev.to/salarc123/mern-stack-authentication-tutorial-
web application, clients can do tasks in the hotel industry part-1-the-backend-1c57. [Accessed 12 September 2022].
without experiencing more complexity. This application [10] https://reactjs.org/docs/getting-started.html.
always focuses on the main problems that users face in the [11] "Welcome to the MongoDB Documentation," [Online].
hotel management system. So, this application makes it Available: https://www.mongodb.com/docs/. [Accessed 20
very easy for the administrator to provide services to July 2022].
customers, and customers can easily obtain services.

533 This work is licensed under Creative Commons Attribution 4.0 International License.

You might also like