You are on page 1of 54

CONTENTS

CHAPTER
TITLE OF THE CONTENT PAGE NO.
NO.

ABSTRACT 1
INTRODUCTION

1.1 ORGANIZATION PROFILE


1 10
SYSTEM SPECIFICATION
HARDWARE CONFIGURATION
SOFTWARE SPECIFICATION
SYSTEM STUDY
2.1EXISTING SYSTEM
2.1.1 DESCRIPTION
2 2.1.2 DRAWBACKS 24
2.2PROPOSED SYSTEM
2.1.1DESCRIPTION
2.2.2FEATURES
SOFTWARE DESIGN AND DEVELOPMENT

FILE DESIGN
INPUT DESIGN
3 28
OUTPUT DESIGN
CODE DESIGN
DATABASE DESIGN
DISCRIPTION OF MODULES
SYSTEM IMPLEMENTATION

DATA FLOW DIAGRAM


4 TABLE STRUCTURE 49
SAMPLE CODING
SAMPLE INPUT
SAMPLE OUTPUT
5 CONCLUSION 53

6 FUTURE ENHANCEMENT 55
REFERENCE
7 BOOKS 57
BIBLOGRAPHY
8 SOURCE CODE 59

9 SCREEN LAYOUTS 63
ABSTRACT
ABSTRACT

The Project hotel management system is a python based application

that allows the hotel manager to handle all hotel activities online. Interactive and

the ability to manage various hotel bookings and rooms make this system very

flexible and convenient. This application gives him the power and flexibility to

manage the entire system from a single online system. Hotel management project

provides room booking, staff management and other necessary hotel management

features. The system allows the manager to post available rooms in the system.

Customers can view and book room online. Admin has the powerof either

approving or disapproving the customer's booking request. The hotel activities.

Other hotel services can also be viewed by the customers and can book them too.

The system is hence useful for both customer and manager to portably manage.
CHAPTER I

INTRODUCTION
INTRODUCTION

Hotel Management System is a system that provides us to reserving rooms,


checking whether the rooms are vacant are or not etc by using online browsing. This
system is very useful to all especially for business people. For Business people they
don’t have sufficient time for these then they can use these type of online Hotel
Management Systems. By this project we will reduce the faults in bills of their
expenditure and decrease time of delay to give the bills to the customers. We can
also save the bills of the customer. By this project we can also include all the taxes
on the bills according to their expenditures. It has a scope to reduce the errors in
making the bills. Computerized bill can be printed within fraction of seconds. Online
ordering of Booking is possible by using this software. This Project is based on
python. If anyone wants to book the room for few days then they can specify the
specific number by seeing the types of rooms we have. The bill of this online
booking is based on the type of room they can select is displayed. HOTEL
MANAGEMENT SYSTEM is a hotel reservation site script where site users will be
able to search rooms availability with an online booking reservations system. Site
users can also browse hotels, view room inventory, check availability, and book
reservations in real-time. Site users enter check in date and check out date then
search for availability and rates. After choosing the right room in the wanted hotel all
booking and reservation process is done .
1.1 ORGANIZATION PROFILE

IT and IT-Enabled Solution Provider


for Corporates and Service Sectors

In our industrial orchestration of technologies, tools, processes and methods,


we strive to be on level with our professional philosophy of “customer-friendly
investments”.

 Developing complete feature rich and scalable ERP solutions as per


need requirement.
 Innovative products and excellent support that meet or
exceed Client's expectations.

 Timely delivery.

 Products at affordable price.

 Unassailable support

address
1.1 OVERVIEW OF PYTHON

Python is a high-level, interpreted, interactive and object- oriented scripting


language. Python is designed to be highly readable. It uses English keywords
frequently where as other languages use punctuation, and it has fewer syntactical
constructions than other languages. Python is a must for students and working
professionals to become a great Software Engineer especially when are working in
Web Development Domain. It will list down some of the key advantages of learn
Python each revision of the python language adds useful new features to keep pace
with modern software development practices. Asynchronous operations and
croutons, for instance, are now standard parts of the language, making it easier to
writepython apps that perform concurrent processing.

PYTHON IS INTERPRETED

Python is processed at runtime by the interpreter. You do not need to compile


your program before executing it. This is similar to PERL and PHP Python
programming language was considered a gap-filler, a way to write scripts that
“automate the boring stuff” (as one popular book on learning Python put it) or to
rapidly prototype applications that will be implemented in other languages However,
over the past few years, Python has emerged as a first-class citizen in modern
software development, infrastructure management, and data analysis.

PYTHON IS INTERACTIVE

Actually sit at a Python prompt and interact with the interpreter directly to write your
programs. The number of features in the language itself is modest, requiring
relatively little investment of time or effort to produce your first programs. The
Python syntax is designed to be readable and straightforward. This simplicity makes
Python an ideal teaching language, and it lets newcomers pick it up quickly. As a
result, developers spend more time thinking about the problem they’re trying to
solve and less time thinking about language complexities or peering code left by
others.
PYTHON IS OBJECT-ORIENTED

Python supports Object-Oriented style or technique of programming that


encapsulates code within objects. Python is both popular and widely used, as the
high rankings in surveys like the index and the large number of Python attests.
Python runs on every major operating system and platform, and most minor ones
too. Many major libraries and API-powered services have Python bindings or
wrappers, letting Python interface freely with those services or directly.

PYTHON IS A BEGINNER'S LANGUAGE

Python is a great language for the beginner-level programmers and supports


the development of a wide range of applications from simple text processing to
WWW browsers to games. Even though scripting and automation cover a large
chunk of Python’s use cases (more on that later), Python is also used to build pro
fissional quality software both as standalone applications and as web services.
Python may not be the fastest language, but what it lacks in speed, it makes up for in
versatility.

CHARACTERISTICS OF PYTHON
Following are important characteristics of Python programming the vast
majority of the libraries used for data science or machine learning have Python inter-
faces, the language the most popular high-level command interface to for machine
learning libraries and other numerical algorithms.
 It supports functional and structured programming methods as well
as OOP.
 It can be used as a scripting language or can be compiled to byte-

code for building large applications.

 It provides very high-level dynamic data types and supports


dynamic type checking.

 It supports automatic garbage collection.


 It can be easily integrated with C, C++, COM, ActiveX, CORBA,
and Java.
PYTHON FEATURES
Python provides lots of features that are listed below. In Python, everything in the
language is an object, including Python modules and libraries themselves. This lets
Python work as a highly efficient code generator, making it possible to write
applications that manipulate their own functions and have the kind of extra ability
that would be difficult or impossible to pull off in other languages.

EASY TO LEARN AND USE


Python is easy to learn and use. It is developer-friendly and high level
programming language. Python is often described as a “glue language,” meaning it
can let disparate code (typically libraries with C language interfaces) interoperate.
Its use in data science and machine learning is in this vein, but that’s just on
incarnation of the general idea. If you have applications or program domains that
you would like to hitch up, but cannot talk to each other directly, you can use
Python to connect them. In turn, this reduces the cost of program maintenance and
development because it allows teams to work collaboratively without significant
languageand experience barriers.

EXPRESSIVE LANGUAGE

Python language is more expressive means that it is more understandable


and readable. Python provides many syntactical elements to concisely express many
common program flows. Consider a sample program for reading lines from a text
file into a list object, stripping each line of its terminating newline character along
the way it is extremely attractive in the field of Rapid Application Development
because it offers dynamic typing and dynamic binding options. Python is relatively
simple, so it’s easy to learn since it requires a unique syntax that focuses on
readability. Developers can read and translate Python code much easier than other
languages.
INTERPRETED LANGUAGE
Python is an interpreted language i.e. interpreter executes the code line by
line at a time. This makes debugging easy and thus suitable for beginners. The
success of Python rests on a rich ecosystem of first- and third -party software.
Python benefits from both a strong standard library and a generous assortment of
easily obtained and readily used libraries from third-party developers. Python has
been enriched by decades of expansion and contribution. Python’s standard library
providesmodules for common programming tasks math, string handling, file and
directory access, networking, asynchronous operations, threading, multiprocessor
management, and so on. But it also includes modules that manage common, high
level programming tasks needed by modern applications: reading and writing
structured fileformats.

CROSS-PLATFORM LANGUAGE

Python can run equally on different platforms such as Windows, Linux, Unix
and Macintosh etc. So can say that python is a portable language. An\important
aspect of python is its dynamism. Everything in the language, including functions
and modules themselves, are handled as objects. This comesat the expense of speed
(more on that later), but makes it far easier to write high-level code. Developers can
perform complex object manipulations with only a few instructions, and even treat
parts of an application as abstractions that can be altered if needed. Python’s use of
significant whitespace has been cited as both one of python’s best and worst
attributes. The indentation on the second line below isn’t just for readability; it is
part of python’s syntax. Python interpreters will reject programs that don’t use
proper indentation to indicate control flow.

OBJECT-ORIENTED LANGUAGE

Python supports object oriented language and concepts of classes and objects
come into existence. Additionally, Python supports the use of modules and
packages, which mean that programs can be designed in a modular style and code,
can be reused across a variety of projects. Once you’ve developed a module or
package you need, it can be scaled for use in other projects, and it’s easy to import or
exportthese modules.
Extensible

It implies that other languages such as C/C++ can be used to compile the
code and thus it can be used further in our python code. Create both command- line
and cross- platform GUI applications with Python and deploy them as self-
contained executable. Python doesn’t have the native ability to generate a
standalone binary from a script, but third-party packages. The most basic use case
for Python is as a scripting and automation language. Python isn’t just a
replacement for shell scripts or batch files; it is also used to automate interactions
with web browsers or application GUIs or to do system provisioning and
configuration in tools such as salt.

LARGE STANDARD LIBRARY

Python has a large and broad library and provides rich set of module and
functions for rapid application development. One of the most promising benefits of
python are that both the standard library and the interpreter are available free of
charge, in both binary and source form. There is no exclusivity either, as python and
all the necessary tools are available on all major platforms. Therefore, it is an
enticing option for developers who don’t want to worry about paying high
development cost

GUI PROGRAMMING SUPPORT

Graphical user interfaces can be developed using python. But scripting and
automation represent only the tip of the iceberg with python. It is no longer back
room utility language, but a major force in web application creation and systems
management, and a key driver of the explosion in big data analytics and machine
intelligence.

INTEGRATED

It can be easily integrated with languages like C, C++, and JAVA etc. It is
an Interpreted, object-oriented, and a high-level programming language. Python is
called an interpreted language as its source code is compiled to byte code which is
then interpreted. Python usually compiles Python code to byte code before
interpreting it. It supports dynamic typing and dynamic binding. In languages like
Java, C and C++ cannot initialize a string value to into variable and in such cases,
the program will not compile. Python does not know the type of the variable until
the code is executed. Python has an easy syntax which enhances readability and
reduces the cost of code maintenance. The code looks elegant and simple.

PYTHON APPLICATIONS

Python is known for its general purpose nature that makes it applicable in
almost each domain of software development. Python as a whole can be used in any
sphere of development. Python is a general-purpose programming language, which
is another way to say that it can be used for nearly everything. Most importantly, it
is an interpreted language, which means that the written code is not actually trans
lasted to a computer- readable format at runtime. Whereas, most programming
languages do this conversion before the program is even run. This type of language
is also referred to as a “scripting language” because it was initially meant to be used
for trivial projects.

Desktop GUI Applications

Python provides Tk GUI library to develop user interface in python based


application. Some other useful toolkits Widgets, Key, pit that is useable on several
platforms. The Key is popular for writing multi touch applications. A large majority
of web applications and platforms rely on Python, including Google’s search engine,
YouTube, and the web-oriented transaction system of them. You know the language
must be pretty serious when it’s powering a stock exchange.

Scientific and Numeric

Python is popular and widely used in scientific and numeric computing


.Some useful library and package are Spicy, Pandas, I Python etc. Spicy is group of
pack-ages of engineering, science and mathematics.
Business Applications

Python is used to build Business applications like ERP and e-commerce


systems.

Console Based Application

Can use Python to develop console based applications. For example IPython.

Audio or Video based Applications

Python is awesome to perform multiple tasks and can be used to


development is applications. Some of real applications are: Tim Player, play etc.

3D CAD Applications

To create CAD application Fandango is a real application which provides


full features of CAD.

Enterprise Applications

Python can be used to create applications which can be used within an


Enterprise or an Organization. Some real time applications are: ERP, TRYTON,
PICALO etc.

Applications for Images

Using Python several application can be developed for image.

Applications developed are: V Python, Gogh, img Seek etc.

It supports automatic garbage collection.

It can be easily integrated with C, C++, COM, ActiveX, CORBA, and Java.
SYSTEM CONFIGURATION
SYSTEM CONFIGURATION
Hardware Requirements

Processor : AMD pro A4-3350B

RAM : 4GB

Hard disk capacity : 500GB

Software Requirements

> Operating System : Windows 10 pro

> Front-end : PYTHON(IDLE SHELL 3.10.5)

> Platform : VS Code

> Back end : Tkinter


SOFTWARE DESCRIPTION
SOFTWARE DESCRIPTION
Overview of Frontend Terminal

Under Linux there are GUIs (graphical user interfaces), where you can point
and click and drag, and hopefully get work done without first reading lots of
documentation. The traditional Unix environment is a CLI (command line interface),
where you type commands to tell the computer what to do. That is faster and more
powerful, but requires finding out what the commands are.

PYTHON INTERPRETER

The Python interpreter is usually installed as /user/local/bin/python3.8 on


those machines where it is available; putting /user/local/bin in your Unix shell’s
search path makes it possible to start it by typing the command: python

On Windows machines where you have installed Python from the Microsoft
Store, the python3.8 command will be available. If you have the py.exe launcher
installed, you can use the python command. See Excursus: Setting and variables for
other ways to launch Python.

The interpreter’s line-editing features include interactive editing, history code


completion on systems that support the GNU Read line library. Perhaps the quickest
check to see whether command line editing is supported is typing Control-P to the
first Python prompt you get. If you have command line editing; see Appendix
Interactive Input Editing and History Substitution for an introduction to the keys. If
nothing appears to happen, or if ^P is echoed, command line editing isn’t
available you’ll only be able to use backspace to remove characters from the
current line.
CHAPTER II

SYSTEM STUDY
2.1 EXISTING SYSTEM

The website involves maintaining various operations of the hotel room


Booking or reservations of the rooms, Cancellation of the rooms, Cash billing, Room
service, Restaurant service, Restaurant billing, Total billing, Travels arrangement etc.
The existing system is a manual one and there is lot of issues like error data, slow
process, lack of security etc. Finding out the final payment amount completely relies
on the hotel manager and if he is during check out and is prone to errors.

DRAWBACKS

 The Hotel Management system has brought benefits to enhance the operation
of hotel and reduce the cost hotel
 However it can still occur with several disadvantages by aplying HMS
 The weaknesses of HMS not only affect thread the customer

PROPOSED SYSTEM

• To enable automated data entry methods

• Ensure efficient and reliable communication the hotel

• Avoid data entry errors by use of input masks .

• Enforce security measures to avoid unauthorized


accessto guest records.

2.2.2 FEATURES

 Intuitive & easy-to-use interface: A user-friendly interface is the most


important factor when choosing mission-critical software for a hotel.
If your hotel software is complex and confusing, more mistakes will be
made, costing you more money. Common tasks should not take lots of time and
steps, as this slows down your team and limits your ability to grow quickly –
hence the need for a powerful hotel management software system.
 Mobile & tablet optimised: When your manager, housekeeping team,
and other staff members need to check details on a booking quickly they
shouldn’t have to rush back to the office. Any system you use must not
only be accessible by, but also optimized for use on mobile phones and
tablets. Better yet, your owner should be able to check performance
while on holiday.

 Clear visibility of the grid: Adding special events that are happening in
the region, highlighting returning guests, and identifying guests who are
yet to pay their bill are all features your grid should enable by default.
Your grid should allow you to quickly & easily see key information
about your guests.

 Guest profiles: Are you working on building guest loyalty? Guest


profiles store your guests’ contact information, stay history, and even
preferences, so that you can deliver a more personalized experience
during their next stay. Better yet, a guest profile with stored CC’s of your
guest will make it even easier for returning guests.

 Email automation: You can communicate with guests and reduce


manual work for your staff by deploying personalized, customized , and
automated emails. Using your own templates, automated email
functionality allows you to build a communication journey from the
initial booking to targeted offers for repeat guests.

 Reservation management: Perhaps the absolute most essential PMS


feature is reservations management and front office features. By housing
all of your reservations digital, hoteliers can make a paper reservation
book a thing of the past. Within reservations management, you should be
able to set rates, control availability, offer promotions, and visualize
reservations on a calendar.

 Room management: The room management module of a PMS is like


your virtual front desk. This functionality lets front desk agents check
guests in and out, and cancel or extend reservations with just a few
simple clicks.
 Invoicing: When most guests check out, they want a copy of their bill,
so, your PMS should be able to easily export guests’ folios that contain
all charges from their stay. Similarly, you’ll want solid, straightforward
financial reporting that helps you recon cile revenue and expenses from
room revenue, outlets, vendors, and more.

 Payment processing: Gone are the days when guests paid with cash or
cherub, so you’ll want a PMS with a payment processor integration that
allows you to effortlessly charge guests’ credit cards and have secure
access to major payment gateways.

 Business intelligence & reporting: How do you know if your hotel is


doing well if you can’t measure your performance? A PMS with robust
reporting features will give you insight into your revenue, ADR, Rev
PAR, and a slew of other metrics so that you can find opportunities for
growth – and track your progress toward your goals.

 Rate Management: Do you want to offer a non-refundable rate or


value-added packages? If so, you’ll want rate management functionality
that allows for multiple, customizable rate plans.
CHAPTER III

SYSTEM DESIGN AND DEVELOENT


SYSTEM DESIGN AND DEVELOPMENT

3.1 FILE DESIGN

3.2 INPUT DESIGN


3.3 OUTPUT DESIGN
3.4. CODE DESIGN
DISCRIPTION OF MODULE
DISCRIPTION OF MODULE
HOTEL MANAGEMENT SYSTEM

Room bookings

The system checks room availability and status, shows free rooms across
different channels and the website booking engine. This function monitors double
bookings and allows group reservations. Then it schedules bookings and displays
information about current and upcomingbookings on a dashboard.

Management of room inventory and allocation

That prevents over bookings and duplication of bookings. In some software,


function is part of a channel management module.

Reservation Emails.
The system sends confirmations to guests after they complete booking. In
some PMS this function is a part of the front-desk operations module.

Activities booking.

Some software allows guests to book not only accommodation but also
activities with this system.

Room Management

One of the capabilities that this module provides is room management.


Using a front-desk module, the front-office manager can access room status and up-
to -date information about all reservations, both current and upcoming. With the
help of this module room status should be updated quickly. The front-desk module
allocates rooms automatically and facilitates a room change. This module includes
management of electronic key cards, pro- cessing payments and issuing receipts to
guests. The front-office module also allows users to perform night and shift audits.

Reports and Analytics


To monitor current processes and understand business performance, rely on
analytics. A PMS can serve as a business intelligence tool, collecting relevant data
and providing hotels with various types of automated reports.
Back-office Management

This PMS module facilitates management of a hotel team, back-office


operations, and administrative hotel operations. Functions of a back-office
management module may include:

 Event management (conference and reception organization) and catiring

 Spa and gym management

 Staff management (human resources management in back and front office:


shift management, staff invoicing)

 Consumption costs and hotel spending analysis

 Inventory analysis

 Sales and management of promotional campaigns

 Reviews management
DATA FLOW DIAGRAM
4.1 DATA FLOW DIAGRAM
SAMPLE CODING
2 SAMPLE CODING

import sqlite3
from tkinter import *
from tkinter import messagebox
import random
6import main

room_number_taken = []
class CheckIN:
def init (self, root):
self.root = root
pad = 3
root.mainloop
4.4 SAMPLE INPUT
4.5 SAMPLE OUTPUT
CHAPTER IV

SYSTEM IMPLEMETATION
4.1 DATA FLOW DIAGRAM INTRODUCTION

DFD is the abbreviation for Data Flow Diagram. The flow of data of a
system or a process is represented by DFD. It also gives insight into the inputs and
outputs of each entity and the process itself. DFD does not have control flowand no
loops or decision rules are present. Specific operations depending on thetype of data
can be explained by a flowchart. Data Flow Diagram can be represented in several
ways. The DFD belongs to structured-analysis modeling tools. Data Flow diagrams
are very popular because they help us to visualize the majorsteps and data involved
in software-system processes.
The Data Flow Diagramhas 4 components:

Process
Input to output transformation in a system takes place because of process
function. The symbols of a process are rectangular with rounded corners, oval,
rectangle or a circle. The process is named a short sentence, in one word or a phrase
to express its essence.

Dataflow
Data flow describes the information transferring between different partsof the
systems. The arrow symbol is the symbol of data flow. A relatable name should be
given to the flow to determine the information which is being moved.Data flow also
represents material along with information that is being moved. Material shifts are
modeled in systems that are not merely informative. A given flow should only
transfer a single type of information. The direction of flow is represented by the
arrow which can also be bidirectional.

Warehouse
The data is stored in the warehouse for later use. Two horizontal lines
represent the symbol of the store. The warehouse is simply not restricted to being a
data file rather it can be anything like a folder with documents, an optical disc, a
filing cabinet. The data warehouse can be viewed independent ofits implementation.
When the data flow from the warehouse it is considered as data reading and when
data flows to the warehouse it is called data entry or data updation.
Terminator

The Terminator is an external entity that stands outside of the system and
com- municates with the system. It can be, for example, organizations like banks,
groups of people like customers or different departments of the same organiza- tion,
which is not a part of the model system and is an external entity. Modeled systems
also communicate with terminator.

Rules for creating DFD

 The name of the entity should be easy and understandable without any extra
assistance (like comments).
 The processes should be numbered or put in ordered list to be referred
easy.
 The DFD should maintain consistency across all the DFD levels.
 A single DFD can have maximum processes upto 9
and minimum 3
processes.

LEVELS OF DFD

DFD uses hierarchy to maintain transparency thus multilevel DFD’s can becreate
Levels of DFD are as follows:
• 0-level DFD
• 1-level DFD:
• 2-level DFD:
Advantages of DFD

 It helps us to understand the functioning and the limits of a system.


 It is a graphical representation which is very easy to understand as it
helps visualize contents.
 Data Flow Diagram represent detailed and well explained diagram ofsystem
components.
 It is used as the part of system documentation file.
 Data Flow Diagrams can be understood by both technical and nontechnical
person because they are very easy to understand.
DISADVANTAGES of DFD

• At times DFD can confuse the programmers regarding the system.


• Data Flow Diagram takes long time to be generated, and many times due
to this reasons analysts are denied permission to it.
CHAPTER – V
CONCLUSION
CONCLUSION

The project has been appreciated by all the users in the organization .it is
easy to user, since it uses the GUI provided in the user friendly screens are provided.
The usage of software increases the efficiency, decreases the effort. It has been
efficiently employed as asite Management mechanism. It has been thoroughly tested
and implemented.
CHAPTER VI

FUTURE ENHA NCEMENT


FUTURE ENHANCEMENT

• As the system is scalable, more modules can be added as andwhen required.


• The database that is used in the system can be connected to theany
online examination system.
• It can be browser independent so that the site can be opened ina any browser.
CHAPTER VII

REFERENCE
REFERENCES

BOOKS:

Management secrets - Warren Buffett

100 tips for hoteliers - Peter Venison

Without reservations - Bill Marriott

Heart of hospitality- Micah Solomon

How to run an Environmental management for hotels- David Kirk

Four seasons - Isadora Sharp


The Adapters- Sean worker
Hotel operations management- David Hayes

WEBSITE:
https://www.geeksforgee

https://www.python.com

https://w3school.com

https://www.ython.org
SOURCE CODE
SOURCE CODE
SCREEN LAYOUTS
SCREEN LAYOUTS

You might also like