Hotel Management System
Hotel Management System
Hotel Management System
VIDYALAYA NO. 2
ARMY VADODARA
COMPUTER SCIENCE
PROJECT 2024-25
TOPIC: HOTEL
MANAGEMENT SYSTEM
BY:
KETAN PANDEY
ANAMIKA YADAV
CERTIFICATE
This is to certify that students Ketan
pandey,Anamika yadav of class XII A of PM SHRI
KENDRIYA VIDYALAYA No.2 ARMY
VADODARA have completed the project on
hotel management system under guidance of
Mr. Ashish Kumar Chauradia and Mrs. Rita
Indrajeet Singh, principal during the academic
year 2024-25 for AISSC Computer Science
Practical Examination 2024-25.
External Examiner
Internal Examiner
Principal
Mrs. Rita Indrajeet Singh
ACKNOWLEDGEMEN
T
We would like to express our special thanks to
our school ‘PM SHRI KENDRIYA VIDYALAYA
NO.2 ARMY VADODARA’, principal Mrs. ‘RITA
INDRAJEET SINGH’, to the management team
of our school who gave us the opportunity to do
this project on the topic ‘HOTEL MANAGEMENT
SYSTEM’, which also helped us in doing a lot of
research and we leant about so many new things.
Secondly, we would also like to thank our parents
and friends who helped us a lot in finishing this
project within the limited time.
KETAN PANDEY
ANAMIKA YADAV
XII-A
INTRODUCTION
AND OBJECTIVES
The purpose of the software project is to
develop the Management Information System
(MIS) and to automate the record keeping of
customers, deposit , withdraw and other
transactions with a view to enhance the
decision making of the functionaries.
A MIS mainly consists of a computerized
database, a collection of inter-related tables
for a particular subject or purpose like
reference of acc_id in all tables , capable to
produce different reports relevant to the
user. An application program is tied with the
database for easy access and interface to the
database. Using Application program(Python)
or front-end, we can store, retrieve and
manage all information in proper way.
This software, being simple in design and
working, does not require much of training to
users, and can be used as a powerful tool for
automating a HOTEL MANAGEMENT SYSTEM.
During coding and design of the software
Project, Python IDLE, as a powerful front-end
tool is used for getting Graphical User
Interface (GUI) based integrated platform and
coding simplicity. As a back-end a powerful,
open source RDBMS, MySQL is used as per
requirement of the CBSE curriculum of
Computer Science Course(083).
SOFTWARE
DEVELOPMENT LIFE
CYCLE
The system development life cycle is a project
management technique that divides complex
projects into a smaller, more easily managed
segments or phases. Segmenting projects allow
managers to verify the successful completion of
project phases before allocating resources to
subsequent phases. Software development
projects typically include planning, creating,
developing, testing and maintenance. However,
the phases may be divided differently depending
on the organization.
2. FEASIBILITY STUDY:
This feasibility study examines the viability of
developing an hotel management system,
focusing on three major perspectives:
technical, economic, and operational study
feasibility.
Technical Feasibility:
In technically system should be assessed
organizations ability is possible to develop
proposed system. Employees performance to the
system should be consider. technically
understanding the possible target hardware,
software and operating environments are used.
Economic Feasibility:
It studies whether proposed system will be
feasible financially. in addition, it studies cost
of hardware required to function in system,
operating system needed.
Economic Feasibility:
Its purpose is to gain an understanding of
degree to which proposed system will likely
solve the organization problems and how much
advantage the project will generate.
Operationally this project will w not affect
dismissal of any kind of hotel staff. This can
increase efficiency and speed of operations if
the employees manage smooth going of
software and efficiently used.
SYSTEM ANALYSIS:
Filtering of information refers to the process of
going through collected data to extract
relevant and useful data. This includes
identifying and focusing on information that is
narrowed down to the objective of the analysis
disregarding irrelevant and unnecessary data.
The aim of filtering data is to make decision-
making less complex and difficult by making it
more accurate and easy to call.
3. DESIGN:
5.1 Database Design:
An important aspect of system design is the
design of data storage structure. To begin with a
logical model of data structure is developed first.
A database is a container object which contains
tables, queries, reports and data validation
policies enforcement rules or contraints etc. A
logical data often represented as a records are
kept in different tables after reducing anomalies
and redundancies. The goodness of data base
design lies in the table structure and its
relationship.
This software project maintains a database
named class12 which contains the following
tables:
Table Design:
The database of HOTEL MANAGEMENT SYSTEM
contains 4 tables in database Library. The tables
are normalized to minimize the redundancies of
data and enforcing the validation rules of the
organization. Most of the tables are designed to
store master records.
import os
import platform
import mysql.connector
import pandas as pd
import datetime
global z
mydb = mysql.connector.connect(user='root',
password='h', host='localhost', database='hotel')
mycursor=mydb.cursor()
def registercust():
L=[]
name=input("ENTER NAME:")
L.append(name)
addr=input("ENTER ADDRESS:")
L.append(addr)
indate=input("ENTER CHECK IN DATE:")
L.append(indate)
outdate=input("ENTER CHECK OUT DATE:")
L.append(outdate)
cust=(L)
sql="insert into
custdata(name,addr,indate,outdate)values(%s,
%s,%s,%s)"
mycursor.execute(sql,cust)
mydb.commit()
def roomtypeview():
print("Do YOY WANT TO SEE ROOM TYPE
AVAILABLE : ENTER 1 FOR YES :")
ch=int(input("ENTER YOUR CHOICE:"))
if ch==1:
sql="select * from roomtype"
mycursor.execute(sql)
rows=mycursor.fetchall()
for x in rows:
print(x)
def roomrent():
print ("WE HAVE THE FOLLOWING ROOMS FOR
YOU:-")
print ("1. TYPE A---->RS 1000 PN\-")
print ("2. TYPE B---->RS 2000 PN\-")
print ("3. TYPE C---->RS 3000 PN\-")
print ("4. TYPE D---->RS 4000 PN\-")
x=int(input("ENTER YOUR CHOICE PLEASE->"))
n=int(input("FOR HOW MANY NIGHTS DID YOU
STAY:"))
if(x==1):
print ("YOU HAVE OPTED ROOM TYPE A")
s=1000*n
elif (x==2):
print ("YOU HAVE OPTED ROOM TYPE B")
s=2000*n
elif (x==3):
print ("YOU HAVE OPTED ROOM TYPE C")
s=3000*n
elif (x==4):
print ("YOU HAVE OPTED ROOM TYPE D")
s=4000*n
else:
print ("PLEASE CHOOSE A ROOM")
print ("your room rent is =",s,"\n")
def restaurentmenuview():
print("DO YOY WANT TO SEE MEBU AVAILABLE :
ENTER 1 FOR YES :")
ch=int(input("ENTER YOUR CHOICE:"))
if ch==1:
sql="select * from restaurent"
mycursor.execute(sql)
rows=mycursor.fetchall()
for x in rows:
print(x)
def orderitem():
global s
print("DO YOY WANT TO SEE MEBU AVAILABLE :
ENTER 1 FOR YES :")
ch=int(input("ENTER YOUR CHOICE:"))
if ch==1:
sql="select * from restaurent"
mycursor.execute(sql)
rows=mycursor.fetchall()
for x in rows:
print(x)
print("DO YOU WANT TO PURCHASE FROM ABOVE
LIST:ENTER YOUR CHOICE:")
d=int(input("ENTER YOUR CHOICE:"))
if(d==1):
print("YOU HAVE ORDERED TEA")
a=int(input("ENTER QUANTITY"))
s=10*a
print("YOUR AMOUNT FOR TEA IS :",s,"\n")
elif (d==2):
print("YOU HAVE ORDERED COFFEE")
a=int(input("ENTER QUANTITY"))
s=10*a
print("YOUR AMOUNT FOR COFFEE IS :",s,"\n")
elif(d==3):
print("YOU HAVE ORDERED COLDDRINK")
a=int(input("ENTER QUANTITY"))
s=20*a
print("YOUR AMOUNT FOR COLDDRINK IS :",s,"\
n")
elif(d==4):
print("YOU HAVE ORDERED SAMOSA")
a=int(input("ENTER QUANTITY"))
s=10*a
print("your amount fopr samosa is :",s,"\n")
elif(d==5):
print("you have ordered sandwich")
a=int(input("enter quantity"))
s=50*a
print("your amount fopr sandwich is :",s,"\n")
elif(d==6):
print("you have ordered dhokla")
a=int(input("enter quantity"))
s=30*a
print("your amount for dhokla is :",s,"\n")
elif(d==7):
print("YOU HAVE ORDERED KACHORI")
a=int(input("ENTER QUANTITY"))
s=10*a
print("YOUR AMOUNT FOR KACHORI is :",s,"\n")
elif(d==8):
print("YOU HAVE ORDERED MILK")
a=int(input("ENTER QUANTITY"))
s=20*a
print("YOUR AMOUNT FOR MILK IS :",s,"\n")
elif(d==9):
print("you have ordered noodles")
a=int(input("ENTER QUANTITY"))
s=50*a
print("YOUR AMOUNT FOR NOODLES IS :",s,"\n")
elif(d==10):
print("YOU HAVE ORDERED PASTA")
a=int(input("ENTER QUANTITY"))
s=50*a
print("YOUR AMOUNT FOR PASTA IS :",s,"\n")
else:
print("PLEASE ENTER YOUR CHOICE FROM THE
MENU")
def laundarybill():
global z
print("Do yoy want to see rate for laundary :
Enter 1 for yes :")
ch=int(input("enter your choice:"))
if ch==1:
sql="select * from laundary"
mycursor.execute(sql)
rows=mycursor.fetchall()
for x in rows:
print(x)
y=int(input("ENTER YOUR NUMBER OF CLOTHES-
>"))
z=y*10
print("YOUR LAUNDARY BILL:",z,"\n")
return z
def lb():
print(z)
def res():
print(s)
def viewbill():
a=input("ENTER CUSTOMER NAME:")
print("CUSTOMER NAME :",a,"\n")
print("LAUNDAREY BILL:")
print(lb)
print("RESTAURENT BILL:")
print(res)
def Menuset():
print("ENTER 1: TO ENTER CUSTOMER DATA")
print("ENTER 2 : TO VIEW ROOMTYPE")
print("ENTER 3 : FOR CALCULATING ROOM BILL")
print("ENTER 4 : FOR VIEWING RESTAURENT
MENU")
print("ENTER 5 : FOR RESTAURENT BILL")
print("ENTER 6 :FOR LAUNDARY BILL")
print("ENTER 7 : FOR COMPLETE BILL")
print("ENTER 8 : FOR EXIT:")
try:
userinput=int(input("PLEASE SELECT AN ABOVE
OPTION:"))
except ValueError:
exit("\n HI THATS NOT A NUMBER")
userinput=int(input("ENTER YOUR CHOICE"))
if(userinput==1):
registercust()
elif(userinput==2):
roomtypeview()
elif(userinput==3):
roomrent()
elif(userinput==4):
restaurentmenuview()
elif(userinput==5):
orderitem()
elif(userinput==6):
laundarybill()
elif(userinput==7):
viewbill()
elif(userinput==8):
quit()
else:
print("ENTER CORRECT CHOICE")
Menuset()
def runagain():
runagn=input("\n WANT TO RUN AGAIN y/n:")
while(runagn.lower()=='y'):
if(platform.system()=="windows"):
print(os.system('cls'))
else:
print(os.system('clear'))
Menuset()
runagn=input("\n WANT TO RUN AGAIN Y/N:")
runagain()
OUTPUT:
1 enter customer data
2 view roomtype
3 calculating room bill
4 menu for resturant
5 resturant bill
6 laundry bill
DEBUGGING AND
IMPLEMENTATION
For debugging, some changes were made to the
original code so that it can run on all types of
devices without any issues. Also a comment was
added in the Python program as an indication for
the users where to make changes in the original
program before running in their respective
devices.
PRE IMPLEMENTATION:
Before implementation of hotel management
system managing all the tasks was quite difficult
as everything was manual. Chances of errors
were quite high and there was wastage of
precious resources. Paper was wasted for bill
POST IMPLEMENTATION:
After the implementation of hotel management
system, the ease in handling large amounts of
data is one of the key features. The accuracy in
storage of data related to the products, reduced
redundancy, and the ability to check the contents
present in the database anytime is also pleasing.
MAINTAINENCE
AND LIMITATIONS