0% found this document useful (0 votes)
3 views40 pages

Project

The project aims to develop a comprehensive Hotel Management System using Python, focusing on automating core hotel operations like room booking and staff management. It will utilize Object-Oriented Programming principles and integrate a secure database for guest information, while also providing a user-friendly interface and enhancing operational efficiency. The system is designed to address existing challenges in hotel management by automating tasks, centralizing data, and improving data security.

Uploaded by

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

Project

The project aims to develop a comprehensive Hotel Management System using Python, focusing on automating core hotel operations like room booking and staff management. It will utilize Object-Oriented Programming principles and integrate a secure database for guest information, while also providing a user-friendly interface and enhancing operational efficiency. The system is designed to address existing challenges in hotel management by automating tasks, centralizing data, and improving data security.

Uploaded by

malabarixo
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 40

OBJECTIVES OF THE PROJECT

To Develop a Hotel Management System Using Python


The primary objective of this project is to create a
comprehensive hotel management system using Python
programming language. This system will handle core hotel
operations such as room booking, sales and show staff details
within an easy-to-use software application.
To Understand Python's Role in Real-World
Applications
This project aims to demonstrate how Python can be used to
solve real-world problems in the hospitality industry. By
utilizing Python, we can build efficient and scalable software
solutions that improve the operational management of hotels.
To Learn About Object-Oriented Programming (OOP)
Python's Object-Oriented Programming (OOP) principles—
such as classes, objects, inheritance, and polymorphism—are
used in this project to structure and manage hotel-related data.
This will help in creating reusable and maintainable code for
the hotel management system.
To Implement a Database for Storing Guest Information
One of the key objectives is to design and implement a
database using Python’s integration with databases like
SQLite or MySQL. This will allow for the secure storage and
management of guest details, reservations, room availability,
and billing record
To Develop a User-Friendly Interface
The project aims to create an intuitive, user-friendly interface
using Python libraries such as Tkinter or PyQt. The goal is to
ensure that both hotel staff and customers can easily interact
1|Page
with the system for tasks such as making reservations or
checking out.
To Automate Hotel Management Tasks
Another objective is to automate routine hotel management
tasks such as tracking room availability, updating guest
information, generating bills, and producing reports. Python’s
built-in functions and libraries will help automate these
processes, improving efficiency and reducing manual errors.
To Improve Data Security and Integrity
The project will incorporate basic security features, such as
user authentication and data encryption, to ensure that
sensitive guest information is protected. Python’s libraries like
matplotlib and pandas will be used to maintain data integrity
and confidentiality.
To Enhance Problem-Solving Skills and Software
Development Knowledge
The ultimate goal of this project is to enhance problem-
solving abilities and to improve programming and software
development skills. By working on the Hotel Management
System, the project will help develop a deeper understanding
of Python and software engineering concepts.

2|Page
INTRODUCTION
The Hotel Management System (HMS) aims to
automate key hotel operations, focusing on guest
bookings and staff management. Using the Python
programming language, this system will help streamline
tasks such as room reservations and staff record
management.
Python is ideal for this project due to its simplicity and
powerful libraries, which enable efficient data handling
and automation. The system will store guest and staff
data in a secure database, using Python’s support for
SQLite, and manage tasks through an easy-to-use
interface created with Tkinter.
The project utilizes Object-Oriented Programming
(OOP) principles to ensure the system is modular,
maintainable, and scalable. By automating routine
tasks, the system will improve efficiency, reduce errors,
and enhance the overall hotel management process.
In conclusion, this Python-based Hotel Management
System will offer an effective solution for managing
bookings and staff details, ultimately improving
operational efficiency and service delivery.

SYSTEM ANALYSIS
3|Page
Existing System

In the current system, hotel management tasks such as guest bookings


and staff scheduling are often handled manually or through outdated
software. This leads to several challenges:

1. Manual Processes: Many tasks are prone to human error and


inefficiency.
2. Data Duplication: Information may be stored in multiple
places, causing inconsistencies.
3. Limited Accessibility: Data access is often slow and restricted
to specific locations.
4. Time-Consuming Reports: Generating reports is manual and
labour-intensive.
5. Lack of Integration: Systems are often not integrated, causing
inefficiencies.

Proposed System

The Proposed Hotel Management System (built using Python) will


address these issues by introducing automation and centralization:

1. Automation: Tasks like bookings, check-ins, and billing will be


automated, reducing errors and saving time.
2. Centralized Data: All guest and staff information will be stored
securely in a single database, ensuring consistency and easy
access.
3. Real-Time Data: Staff can access up-to-date information on
room availability and bookings, improving decision-making.
4. Automated Reporting: Reports for billing, occupancy, and
staff management will be generated automatically.

5. User-Friendly Interface: The system will have an intuitive


interface, making it easy for staff to operate with minimal
training.
6. Scalability: The system’s modular design ensures it can be
easily upgraded and expanded in the future.

4|Page
FEASIBILITY Study
5|Page
A feasibility study evaluates the viability of a project in terms
of its cost, technical requirements, and operational impact. For
the Hotel Management System (HMS), this study assesses
whether the system can be developed within budget, if the
technology is suitable for implementation, and how easily it
can be integrated into the hotel’s daily operations.

1. Economic Feasibility
The Hotel Management System is economically feasible
because it uses Python, an open-source language, reducing
development costs. The system will automate tasks like
bookings and billing, reducing the need for manual labor and
minimizing errors. This will lead to significant cost savings in
time and staff resources. The system will also improve
operational efficiency, which will result in better customer
service and higher revenue, ensuring a strong return on
investment (ROI).

2. Technical Feasibility
Technically, the system is feasible as it will be developed
using Python, a versatile and widely used language. Python’s
extensive libraries, like Tkinter for the interface and SQLite
for database management, are well-suited for the project’s

requirements. The system will be cross-platform, making it


compatible with different operating systems. Additionally, the

6|Page
modular design allows for easy scalability and future
enhancements.

3. Operational Feasibility
The system will be easy to use with an intuitive interface,
reducing training time for hotel staff. It will automate
repetitive tasks like bookings and adding new staff details,
improving overall operational efficiency. The system can be
implemented quickly, and regular maintenance will be
straightforward due to Python's strong community support.
Staff will likely accept the system as it reduces manual work
and improves workflow.

7|Page
SYSTEM DESIGN
 PYTHON FILE – PROJECT HOTEL 2024-25.py

STAFF DETAILS
 DIRECTORS.csv

 MANAGERS.csv

 CHEF.csv

8|Page
 GROUNDSTAFF.csv

BOOKING DETAILS
 BOOKED FOR LAST 7 DAYS.csv

9|Page
 LAST 7 DAYS GRAPH.csv

 LAST 3SEASON SALES.csv


10 | P a g e
 PREBOOKING 7 DAYS.csv

 NEXT 7 DAYS GRAPH.csv


11 | P a g e
ROOM DETAILS
 ROOMS.csv

12 | P a g e
SOURCE CODE
print("____________________________________________________")
print(" ","<"*3,"__"*5,"MARRIOT HOTEL","__"*5,">"*3)
print("__"*5,"1st choice for your holidays","__"*5)
print("____________________________________________________")
print("/"*52)
print("\n")
print("/"*52)
import pandas as pd
import matplotlib.pyplot as plt
ce=pd.DataFrame()
df=pd.DataFrame()
oo=pd.DataFrame()
jk=pd.DataFrame()
d=pd.DataFrame()
q=pd.DataFrame()
o=pd.DataFrame()
op=pd.DataFrame()
qr=pd.DataFrame()
ui=pd.DataFrame()
qs=pd.DataFrame()
y=pd.DataFrame()
l=pd.DataFrame()
kk=pd.DataFrame()
l=[]
d1=[]
13 | P a g e
r1=[]
r2=[]
d2=[]
print("~"*20,"*"*5,"~"*23)
pw=int(input("Enter pw="))
if pw ==5005:
print("Welcome admin")
else:
print("Unauthorized user")
print("~"*20,"*"*5,"~"*23)
print("\n")
while True:
print("~"*20,"*"*5,"~"*23)
print("HOTEL DETAILS")
print("____________________")
print("|1. Staff details")
print("|2. Booking details")
print("|3. Room Details")
print("|4. Exit")
print("|___________________|")
print("~"*20,"*"*5,"~"*23)
print("\n")
ch=int(input("Enter your choice="))
print("\n")
if ch==1:
print("~"*20,"*"*5,"~"*23)
print("STAFF")

14 | P a g e
print("__________________")
print("|1. Directors")
print("|2. Managers")
print("|3. Chef")
print("|4. Ground Staff")
print("|5. Exit")
print("__________________")
print("~"*20,"*"*5,"~"*23)
print("\n")
while True:
cho=int(input("Enter your choice="))
print("\n")
print("~"*20,"*"*5,"~"*23)
print("STAFF DETAILS")
print("~"*20,"*"*5,"~"*23)
if cho==1:
print("DIRECTORS")
print("__________________")
print("|1.Adding details")
print("|2.Viewing details")
print("|3.Exit")
print("__________________")
c=int(input("Enter your choice:"))
if c==1:
Name=input("Enter name=")
Ph_no=int(input("Enter phone no.="))
Email_ID=input("Enter email id=")

15 | P a g e
Employee_ID=int(input("Enter employee id="))
DOB=input("Enter dob=")
l.append([Name, Ph_no, Email_ID, Employee_ID, DOB])
ce=pd.DataFrame(l)
ce.to_csv(r"C:\Users\Junior lab 5\Desktop\HOTEL MANAGEMENT
PROJECT\DIRECTORS NEW.csv")
for (col,records) in ce.iterrows():
print(records)
print("~"*20,"*"*5,"~"*23)
print("Successfully added")
elif c==2:
ce=pd.read_csv(r"C:\Users\Junior lab 5\Desktop\HOTEL MANAGEMENT
PROJECT\DIRECTORS.csv")
for (col,records) in ce.iterrows():
print(records)
print("~"*20,"*"*5,"~"*23)
elif c==3:
break
else:
print("Invalid choice.")
elifcho==2:
print("MANAGERS")
print("__________________")
print("|1.Adding details")
print("|2.Viewing details")
print("|3. Exit")
print("__________________")
c=int(input("Enter your choice:"))

16 | P a g e
if c==1:
Name=input("Enter name=")
Designation=input("Enter new designation=")
Employee_ID=int(input("Enter employee id="))
Email_ID=input("Enter email id=")
DOB=input("Enter dob=")
salary=input("Enter salary=")
l.append([Name, Designation, Employee_ID, Email_ID, DOB, salary])
ce=pd.DataFrame(l)
ce.to_csv(r"C:\Users\Junior lab 5\Desktop\HOTEL MANAGEMENT
PROJECT\MANAGERS NEW.csv")
for (col,records) in ce.iterrows():
print(records)
print("~"*20,"*"*5,"~"*23)
print("Successfully added")
elif c==2:
df=pd.read_csv(r"C:\Users\Junior lab 5\Desktop\HOTEL MANAGEMENT
PROJECT\MANAGERS.csv")
for (col,records) in df.iterrows():
print(records)
print("~"*20,"*"*5,"~"*23)
elif c==3:
break
else:
print("Invaild choice")
elifcho==3:
print("CHEF")
print("__________________")

17 | P a g e
print("|1.Adding details")
print("|2.Viewing details")
print("|3. Exit")
print("__________________")
c=int(input("Enter your choice:"))
if c==1:
Name=input("Enter name=")
Designation=input("Enter new designation=")
Employee_ID=int(input("Enter employee id="))
Email_ID=input("Enter email id=")
DOB=input("Enter dob=")
salary=int(input("Enter salary="))
l.append([Name, Designation, Employee_ID, Email_ID, DOB, salary])
ce=pd.DataFrame(l)
ce.to_csv(r"C:\Users\Junior lab 5\Desktop\HOTEL MANAGEMENT
PROJECT\CHEF NEW.csv")
for (col,records) in ce.iterrows():
print(records)
print("~"*20,"*"*5,"~"*23)
print("Successfully added")
elif c==2:
df=pd.read_csv(r"C:\Users\Junior lab 5\Desktop\HOTEL MANAGEMENT
PROJECT\CHEF.csv")
for (col,records) in df.iterrows():
print(records)
print("~"*20,"*"*5,"~"*23)
elif c==3:
break

18 | P a g e
else:
print("Invaild choice")
elifcho==4:
print("GROUND STAFF")
print("__________________")
print("|1.Adding details")
print("|2.Viewing details")
print("|3. Exit")
print("__________________")
c=int(input("Enter your choice:"))
if c==1:
Name=input("Enter name=")
Designation=input("Enter new designation=")
Employee_ID=int(input("Enter employee id="))
Email_ID=input("Enter email id=")
DOB=input("Enter dob=")
salary=int(input("Enter salary="))
l.append([Name, Designation, Employee_ID, Email_ID, DOB, salary])
ce=pd.DataFrame(l)
ce.to_csv(r"C:\Users\Junior lab 5\Desktop\HOTEL MANAGEMENT
PROJECT\GROUND STAFF NEW.csv")
for (col,records) in ce.iterrows():
print(records)
print("~"*20,"*"*5,"~"*23)
print("Successfully added")
elif c==2:
jk=pd.read_csv(r"C:\Users\Junior lab 5\Desktop\HOTEL MANAGEMENT
PROJECT\GROUND STAFF.csv")

19 | P a g e
for (col,records) in jk.iterrows():
print(records)
print("~"*20,"*"*5,"~"*23)
elif c==3:
break
else:
print("Invalid choice=")
elifcho==5:
break
else:
print("Invalid choice")
print("~"*20,"*"*5,"~"*23)
print("\n")
elifch==2:
while True:
print("~"*20,"*"*5,"~"*23)
print("SALES RECORD")
print("___________________________________________")
print("|1. SALES LAST 7 DAYS")
print("|2. SALES LAST 3 SEASON SALES")
print("|3. PREBOOKING FOR NEXT 7 DAYS")
print("|4. Exit")
print("___________________________________________")
print("~"*20,"*"*5,"~"*23)
print("\n")
m=int(input("Enter your choice="))
print("\n")

20 | P a g e
print("~"*20,"*"*5,"~"*23)
if m==1:
st=input("Do you want to find a particular day's sale? (y/n)")
print("\n")
print("~"*20,"*"*5,"~"*23)
if st=='y':
q=pd.read_csv(r"C:\Users\Junior lab 5\Desktop\HOTEL
MANAGEMENT PROJECT\BOOKED FOR LAST 7 DAYS.csv")
date=input("Enter date=")
for (col,records) in q.iterrows():
if records['Date']==date:
print(records)
print("~"*20,"*"*5,"~"*23)
print("\n")
else:
q=pd.read_csv(r"C:\Users\Junior lab 5\Desktop\HOTEL
MANAGEMENT PROJECT\BOOKED FOR LAST 7 DAYS.csv")
for (col,records) in q.iterrows():
print(records)
print("~"*20,"*"*5,"~"*23)
u=input("Do you want to view sales of different rooms? (y/n)")
print("\n")
if u=='y':
print("~"*20,"*"*5,"~"*23)
q=pd.read_csv(r"C:\Users\Junior lab 5\Desktop\HOTEL
MANAGEMENT PROJECT\LAST 7 DAYS GRAPH.csv")
x=input("Do you want to view in bar chart or line chart? (B\\L)")
if x in "Ll":

21 | P a g e
q.plot(x="Date")
plt.xlabel("Date")
plt.ylabel("Sale of Rooms")
plt.title("LAST 7 DAYS GRAPH")
plt.show()
elif x in "Bb":
q.plot(kind="bar", x="Date", stacked='True')
plt.xlabel("Date")
plt.title("LAST 7 DAYS SALE GRAPH")
plt.ylabel("Sale of Rooms")
plt.show()
else:
print("Invalid choice")
print("~"*20,"*"*5,"~"*23)
else:
print("OK")
print("~"*20,"*"*5,"~"*23)
print("\n")
elif m==2:
o=pd.read_csv(r"C:\Users\Junior lab 5\Desktop\HOTEL
MANAGEMENT PROJECT\LAST 3 SEASON SALES.csv")
for (col,records) in o.iterrows():
print(records)
print("~"*20,"*"*5,"~"*23)
x=input("Do you want to view in bar chart or line chart? (B\\L)")
if x in "Ll":
o.plot(x="Seasons")
plt.title("LAST 3 SEASONS SALES")

22 | P a g e
plt.ylabel("Sale of Rooms")
plt.show()
elif x in "Bb":
o.plot(kind="bar", x="Seasons", stacked='True')
plt.title("LAST 3 SEASONS SALES")
plt.ylabel("Sale of Rooms")
plt.show()
else:
print("Invalid choice")
print("~"*20,"*"*5,"~"*23)
print("\n")
elif m==3:
z=input("Do you want to find out a particular day's sale? (y/n)")
print("~"*20,"*"*5,"~"*23)
if z=='y':
op=pd.read_csv(r"C:\Users\Junior lab 5\Desktop\HOTEL
MANAGEMENT PROJECT\PREBOOKING 7 DAYS.csv")
date=input("Enter date=")
print("\n")
print("~"*20,"*"*5,"~"*23)
for (col,records) in op.iterrows():
if records['Date']==date:
print(records)
print("~"*20,"*"*5,"~"*23)
else:
op=pd.read_csv(r"C:\Users\Junior lab 5\Desktop\HOTEL
MANAGEMENT PROJECT\PREBOOKING 7 DAYS.csv")
for (col,records) in op.iterrows():

23 | P a g e
print(records)
print("~"*20,"*"*5,"~"*23)
print("\n")
u=input("Do you want to view sales of different rooms? (y/n)")
if u=='y':
print("~"*20,"*"*5,"~"*23)
op=pd.read_csv(r"C:\Users\Junior lab 5\Desktop\HOTEL
MANAGEMENT PROJECT\NEXT 7 DAYS GRAPH.csv")
x=input("Do you want to view in bar chart or line chart? (B\\L)")
if x in "Ll":
op.plot(x="Date")
plt.title("PREBOOKINGS FOR 7 DAYS")
plt.ylabel("Sales of Rooms")
plt.show()
elif x in "Bb":
op.plot(kind="bar", x="Date", stacked='True')
plt.title("PREBOOKING FOR 7 DAYS")
plt.ylabel("Sales of Rooms")
plt.show()
else:
print("Invalid choice")
print("~"*20,"*"*5,"~"*23)
elif u=='n':
print("OK")
print("~"*20,"*"*5,"~"*23)
print("\n")
else:
print("Invalid choice")

24 | P a g e
print("~"*20,"*"*5,"~"*23)
elif m==4:
break
else:
print("Invalid choice")
print("~"*20,"*"*5,"~"*23)
elifch==3:
print("5 types of room with description")
kk=pd.read_csv(r"C:\Users\Junior lab 5\Desktop\HOTEL MANAGEMENT
PROJECT\ROOMS.csv")
for (col,records) in kk.iterrows():
print(records)
print("~"*20,"*"*5,"~"*23)
elifch==4:
print("Thank you!")
break
else:
print("Invalid choice")
print("~"*20,"*"*5,"~"*23)

25 | P a g e
SCREEN
OUTPUT

26 | P a g e
 DIRECTORS NEW.csv

27 | P a g e
28 | P a g e
29 | P a g e
30 | P a g e
31 | P a g e
32 | P a g e
33 | P a g e
34 | P a g e
35 | P a g e
36 | P a g e
37 | P a g e
38 | P a g e
Conclusion
The development of the Hotel Management System (HMS) using
Python has been a highly rewarding and insightful project. Through
this system, we have successfully automated key hotel operations
such as room bookings, guest check-ins/check-outs, billing, and staff
management. The integration of Python’s powerful libraries, such as
Tkinter for the user interface and SQLite for database management,
has allowed us to create a robust, efficient, and user-friendly solution.

By adopting Object-Oriented Programming (OOP) principles, we


ensured that the system is modular, maintainable, and scalable, which
will allow for future enhancements as the needs of the hotel evolve.
The inclusion of automated reporting and real-time data access has
significantly improved operational efficiency, reduced manual errors,
and streamlined hotel management processes.

The system’s feasibility study confirmed its economic viability,


technical feasibility, and operational effectiveness. The automation of
routine tasks has reduced the reliance on manual labor, saving both
time and costs. Additionally, the user-friendly interface ensures that
hotel staff can easily navigate and utilize the system with minimal
training.

In conclusion, this project has not only provided a practical solution


for hotel management but also enhanced our understanding of
software development, database management, and the real-world
application of Python programming. It stands as a testament to the
potential of technology in transforming the hospitality industry,
making hotel management more efficient, secure, and streamlined.

39 | P a g e
BIBILIOGRAPHY
 Informatics Practices with Python:
Preeti Arora
 Informatics Practices Python:
Sumitha Arora

40 | P a g e

You might also like