Hotel Management Project File
Hotel Management Project File
SUBMITTED BY
RIDDHI KUMARI Enroll no :- 1903505025
AMRISH KUMAR Enroll no :- 1903505003
DECLARATION
The matter embodied in this Project / Thesis / Dissertation has not been submitted for
the award of any other degree or diploma to any University / institution.
Date: -
CERTIFICATE
To the best of knowledge, the matter embodied in the thesis has not been
submitted to any other University / Institute for the award of any Degree or
Diploma.
ACKNOWLEDGEMENT
This project was an ambitious work and would have never been completed
without the facilities provided by the Mr. PANKAJ SARAWAT
Department of Computer Science in Sanskriti University and the
Cooperation of my parents and sincere efforts of my faculty colleagues
guided me to complete this project. My sincere "THANKS" goes to:
ABSTRACT
The purpose of the project entitled as “HOTEL MANAGEMENT SYSTEM” is to take hotel
management online in a very simple way in the form of software which is user friendly, simple, fast,
and cost – effective. It deals with the collection of room’s information, customer’s details, etc.
Traditionally, it was done manually. The main function of the system is to register customers for
rooms and store room’s details i.e. room is vacant or occupied etc. and to retrieve these details as and
when required, and also to manipulate these details meaningfully. System input contains rooom’s
details, customer’s details, while system output is to get these details on to the screen. It is accessible
either by an administrator or receptionist. Only they can add data into the database. The data can be
retrieved easily. The data is managed properly and in a very efficient way.
INDEX
1. INTRODUCTION PAGE NO
1.1 Introduction 7
2. REQUIREMENTS SPECIFICATION 13
2.1 Introduction
3. ANALYSIS 15
4. DESIGN 19
5. SYSTEM IMPLEMENTATION 25
5.1 Introduction
6. TESTING 26
6.1 Introduction
7. SAMPLE SCREENSHOTS 30
8. CONCLUSION… 35
9. BIBLIOGRAPHY… 35
CHAPTER 1
INTRODUCTION
1.1 INTRODUCTION:
The project Hotel Management system includes registration of customers, storing their details into the
system. The software has the facility to give a unique id for every customer and stores the details of
every customer.
It is accessible either by an administrator or receptionist. Only they can add data into the database.
The data can be retrieved easily. The interface is very user-friendly. The data is well managed and
makes the data processing very fast.
The Hotel Management System is powerful, flexible, and easy to use and is designed and developed
to deliver real conceivable benefits to hotel.
Hotel Management System is designed for hotels, to cover a wide range of hotel administration and
management processes. It is an integrated end-to-end Hotel Management System that provides
relevant information about the rooms and customers.
Hotel Management System is a software product suite designed to improve the quality and
management of hotel management in the areas of client and room management process. Hotel
Management System enables you to take your organization online and improve its effectiveness and
quality of work. Managing the key processes efficiently is the key to the success of an organization.
Problem Introduction:
The information is very difficult to retrieve and to find particular information like- E.g. - To find out
about the room’s history, the user has to go through various registers. This results in inconvenience
and wastage of time.
The information generated by various transactions takes time and effort to be stored at the right place.
Various changes to information like room’s details or customers are difficult to make as paperwork is
involved.
Traditional calculations are error prone and take a lot of time this may result in incorrect information.
For example, calculation of a room's bills.
This becomes a difficult task as information is difficult to collect from various registers.
Objective: -
1) Define hotel
2) Recording information about the customers that come.
3) Generating bills.
4) Recording information related to rooms given to customers.
5) Keeping record of the current status of rooms.
These are the various jobs that need to be done in a hotel by the operational staff. Traditionally, all
these works are done on paper.
1) Information about customers is gathered by just writing the customer’s name, address and
mobile. Whenever the customer comes up his/her information is stored freshly.
2) Bills are generated by recording the price for each facility provided to customers on a separate
sheet and at last they all are summed up.
3) Number of days for which rooms are occupied is generally recorded on the document, which
contains customer information. It is destroyed after some time period to decrease the paper
load in the office.
4) Records of vacant rooms are maintained in separate sheets, which are kept in a file
All this work is done manually by the receptionist and other operational staff and a lot of papers are
needed to be handled and taken care of.
1.2 MODULES:
Hotel Management System is a software application for hotels which manages doctors and patients.
In this project, we use Python, tkinter and SQLite databases.
❖ Customer module
❖ Room module
1. Basically there are two things that the user is supposed to do i.e. check in and check out.
2. Check in means a user is assigned a room.
3. Check out means the user vacates the room.
CHAPTER 2
REQUIREMENT SPECIFICATION
2.1 INTRODUCTION:
To be used efficiently, all computer software needs certain hardware components or the other
software resources to be present on a computer. These prerequisites are known as(computer) system
requirements and are often used as a guideline as opposed to an absolute rule. Most software defines
two sets of system requirements: minimum and recommended. With increasing demand for higher
processing power and resources in newer versions of software, system requirements tend to increase
over time. Industry analysts suggest that this trend plays a bigger part in driving upgrades to existing
computer systems than technological advancements.
The most common set of requirements defined by any operating system or software application is the
physical computer resources, also known as hardware. A hardware requirements list is often
accompanied by a hardware compatibility list (HCL), especially in case of operating systems. An
HCL lists tested, compatibility and sometimes incompatible hardware devices for a particular
operating system or application. The following subsections discuss the various aspects of hardware
requirements.
RAM : 1 GB
HARD DISK : 80 GB
Software Requirements deal with defining software resource requirements and prerequisites that need
to be installed on a computer to provide optimal functioning of an application. These requirements or
pre-requisites are generally not included in the software installation package and need to be installed
separately before the software is installed.
SCRIPT : Python
DATABASE : SQLite
CHAPTER 3
ANALYSIS
3.1 EXISTING SYSTEM:
Hotels currently use a manual system for the management and maintenance of room’s and customer’s
information. The current system requires numerous paper forms, with data stores spread throughout
the hotel management infrastructure. Often information is incomplete or does not follow management
standards. Forms are often lost in transit between departments requiring a comprehensive auditing
process to ensure that no vital information is lost. Multiple copies of the same information exist in the
hotel and may lead to inconsistencies in data in various data stores.
The feasibility of the project is analyzed in this phase and a business proposal is put forth with
a very general plan for the project and some cost estimates. During system analysis the feasibility
study of the proposed system is to be carried out. This is to ensure that the proposed system is not a
burden to the company. For feasibility analysis, some understanding of the major requirements for the
system is essential.
This study is carried out to check the economic impact the system will have on the
organization. The amount of funds that the hotel can pour into the research and
development of the system is limited. The expenditures must be justified. Thus, the
developed system as well within the budget and this was achieve
The aspect of study is to check the level of acceptance of the system by the user.
This includes the process of training the user to use the system efficiently. The
user must not feel threatened by the system, instead must accept it as a necessity.
The level of acceptance by the users solely depends on the methods that are
employed to educate the user about the system and to make him familiar with it.
His level of confidence must be raised so that he is also able to make some
constructive criticism, which is welcomed, as he is the final user of the system.
Python :
● Python is an interpreted, object-oriented, high-level programming language with dynamic
semantics.
● Its high-level built in data structures, combined with dynamic typing and dynamic binding, make
it very attractive for Rapid Application Development, as well as for use as a scripting or glue
language to connect existing components together.
● Python's simple, easy to learn syntax emphasizes readability and therefore reduces the cost of
program maintenance. Python supports modules and packages, which encourages program
modularity and code reuse.
● The Python interpreter and the extensive standard library are available in source or binary form
without charge for all major platforms, and can be freely distributed.
● Python is an open-source general-purpose interpreted programming language available for the
most popular operating systems.
● The current versions are 3.x while 2.x is no longer supported, since 2020. This book describes
primarily the unsupported version 2 (while often the same code works in version 3), but does at
times reference changes in version 3.
● There are a few implementations for Python 3 (and older): the standard implementation written in
C, and PyPy, a JIT-compiled version written in RPython - a subset of Python. For Python 2 only
there are Jython written in Java and IronPython written in C# for the .NET environment.
Tkinter
: ● The tkinter package (“Tk interface”) is the standard Python interface to the Tcl/Tk GUI
toolkit. Both Tk and tkinter are available on most Unix platforms, including macOS, as well as
on Windows systems.
● Running python -m tkinter from the command line should open a window demonstrating a
simple Tk interface, letting you know that tkinter is properly installed on your system, and also
showing what version of Tcl/Tk is installed, so you can read the Tcl/Tk documentation specific
to that version.
● Tkinter supports a range of Tcl/Tk versions, built either with or without thread support. The
official Python binary release bundles Tcl/Tk 8.6 threaded. See the source code for the
_tkinter module for more information about supported versions.
● Tkinter is not a thin wrapper, but adds a fair amount of its own logic to make the experience
more pythonic. This documentation will concentrate on these additions and changes, and refer to
the official Tcl/Tk documentation for details that are unchanged.
SQLite :
● SQLite is a software library that implements a self-contained, serverless, zero-configuration,
transactional SQL database engine. SQLite is one of the fastest-growing database engines
around, but that's growth in terms of popularity, not anything to do with its size. The source code
for SQLite is in the public domain.
● SQLite is an in-process library that implements a self-contained, serverless, zero-configuration,
transactional SQL database engine. It is a database, which is zero-configured, which means like
other databases you do not need to configure it in your system.
● SQLite engine is not a standalone process like other databases, you can link it statically or
dynamically as per your requirement with your application. SQLite accesses its storage files
directly.
● SQLite does not require a separate server process or system to operate (serverless).
● SQLite comes with zero-configuration, which means no setup or administration needed.
● A complete SQLite database is stored in a single cross-platform disk file.
CONNECTIVITY:
Clients can connect to SQLite database using several protocols:
● On Windows systems in the NT family (NT, 2000, XP, 2003, or Vista), clients can connect
using named pipes if the server is started with the --enable-named-pipe option. In SQLite
4.1 and higher, Windows servers also support shared-memory connections if started with
the --shared-memory option. Clients can connect through shared memory by using the
--protocol=memory option.
● On UNIX systems, clients can connect using Unix domain socket files.
● Following code section is used
conn = sqlite3.connect('Hotel.db')
with conn:
cursor = conn.cursor()
cursor.execute(
'CREATE TABLE IF NOT EXISTS Hotel (Fullname TEXT,Address
TEXT,mobile_number TEXT,number_days TEXT,'
'room_number NUMBER)')
conn.commit()
LOCALIZATION:
● The server can provide error messages to clients in many languages.
● All data is saved in the chosen character set.
CHAPTER 4
DESIGN
UML Design
The Unified Modeling Language (UML) is a standard language for specifying,
visualizing, constructing, and documenting the software system and its components. It is a graphical
language, which provides a vocabulary and set of semantics and rules. The UML focuses on the
conceptual and physical representation of the system. It captures the decisions and understandings
about systems that must be constructed. It is used to understand, design, configure, maintain, and
control information about the systems.
The UML is a language for:
□ Visualizing
□ Specifying
□ Constructing
□ Documenting
Visualizing
Through UML we see or visualize an existing system and ultimately, we visualize how the
system is going to be after implementation. Unless we think, we cannot implement. UML
helps to visualize how the components of the system communicate and interact with each
other.
Specifying
Specifying means building models that are precise, unambiguous and complete UML
addresses the specification of all the important analysis design, implementation decisions that
must be made in developing and deploying a software system.
Constructing
UML models can be directly connected to a variety of programming language through
mapping a model from UML to a programming language like JAVA or C++ or VB. Forward
Engineering and Reverse Engineering is possible through UML.
19
Documenting
The Deliverables of a project apart from coding are some Artifacts, which are critical in
controlling, measuring and communicating about a system during its developing
requirements, architecture, desire, source code, project plans, tests, prototypes, releases, etc...
A use case diagram in the Unified Modeling Language (UML) is a type of behavioral diagram
defined by and created from a use-case analysis. Its purpose is to present a graphical overview of the
functionality provided by a system in terms of actors, their goals (represented as use cases), and any
dependencies between those use cases.
Use case diagrams are formally included in two modeling languages defined by the OMG:
ER Diagram
22
DATABASE DESIGN
The data in the system has to be stored and retrieved from the database. Designing the database is part
of system design. Data elements and data structures to be stored have been identified at the analysis
stage. They are structured and put together to design the data storage and retrieval system.
A database is a collection of interrelated data stored with minimum redundancy to serve many users
quickly and efficiently. The general objective is to make database access easy, quick, inexpensive and
flexible for the user. Relationships are established between the data items and unnecessary data items
are removed. Normalization is done to get an internal consistency of data and to have minimum
redundancy and maximum stability. This ensures minimizing data storage required, minimizing
chances of data inconsistencies and optimizing for updates. The MS Access database has been chosen
● Table creation
○ CREATE TABLE IF NOT EXISTS Hotel (Fullname TEXT,Address TEXT,mobile_number
NUMBER,number_days NUMBER,room_number NUMBER)
● Assigning room
○ INSERT INTO Hotel (FullName,Address,mobile_number,number_days,room_number) VALUES(?,?,?,?,?)
● Vacating room
○ DELETE FROM Hotel where room_number = ?
● Extracting all details
○ SELECT * FROM Hotel
● Extracting room’s details
○ SELECT * FROM Hotel where room_number = ?
23
CHAPTER 5
SYSTEM IMPLEMENTATION
5. IMPLEMENTATION:
5.1 Introduction:
Implementation is the stage of the project when the theoretical design is turned out into a working
system. Thus, it can be considered to be the most critical stage in achieving a successful new system
and in giving the user confidence that the new system will work and be effective.
The implementation stage involves careful planning, investigation of the existing system and its
constraints on implementation, designing of methods to achieve changeover and evaluation of
changeover methods.
CHAPTER 6
TESTING
The purpose of testing is to discover errors. Testing is the process of trying to discover every
conceivable fault or weakness in a work product. It provides a way to check the functionality of
components, sub-assemblies, assemblies and/or a finished product It is the process of exercising
software with the intent of ensuring that the
Software system meets its requirements and user expectations and does not fail in an unacceptable
manner. There are various types of tests. Each test type addresses a specific testing requirement.
TYPES OF TESTING:
Unit testing:
Unit testing involves the design of test cases that validate that the internal program logic is
functioning properly, and that program inputs produce valid outputs. All decision branches and
internal code flow should be validated. It is the testing of individual software units of the application
.It is done after the completion of an individual unit before integration. This is a structural testing that
relies on knowledge of its construction and is invasive. Unit tests perform basic tests at component
level and test a specific business process, application, and/or system configuration. Unit tests ensure
that each unique path of a business process performs accurately to the documented specifications and
contains clearly defined inputs and expected results.
Integration testing:
Integration tests are designed to test integrated software components to determine if they
actually run as one program.
Integration tests demonstrate that although the components were individually satisfactory, as shown
by successfully unit testing, the combination of components is correct and consistent. Integration
testing is specifically aimed at exposing the problems that arise from the combination of components.
Functional test:
Functional tests provide systematic demonstrations that functions tested are available as
specified by the business and technical requirements, system documentation, and user manuals.
invoked.
System Test:
System testing ensures that the entire integrated software system meets requirements. It tests a
configuration to ensure known and predictable results. An example of system testing is the
27
configuration oriented system integration test. System testing is based on process descriptions and
flows, emphasizing pre-driven process links and integration points.
Unit Testing:
Unit testing is usually conducted as part of a combined code and unit test phase of the software
lifecycle, although it is not uncommon for coding and unit testing to be conducted as two distinct
phases.
Test objectives
All field entries must work properly.
Pages must be activated from the identified link.
Features to be tested
Verify that the entries are of the correct format
No duplicate entries should be allowed
All links should take the user to the correct page.
Integration Testing:
Software integration testing is the incremental integration testing of two or more integrated
software components on a single platform to produce failures caused by interface defects.
The task of the integration test is to check that components or software applications, e.g.
components in a software system or – one step up – software applications at the company level –
interact without error.
Test Results:
All the test cases mentioned above passed successfully. No defects encountered.
Acceptance Testing:
User Acceptance Testing is a critical phase of any project and requires significant
participation by the end user. It also ensures that the system meets the functional requirements.
Test Results:
All the test cases mentioned above passed successfully. No defects encountered.
CHAPTER 7
SAMPLE SCREENSHOTS
HomePage
Check in
Check out
32
Customer information
Change Password
8. CONCLUSION:
Since we are entering details of the customer’s electronically in the” Hotel Management System”,data
will be secured. Using this application, we can retrieve a room’s history with a single click. Thus,
processing information will be faster. It guarantees accurate maintenance of patient details. It easily
reduces the book keeping task and thus reduces the human effort and increases accuracy speed.
9. BIBLIOGRAPHIC.
35