KK pr-1
KK pr-1
KK pr-1
2023-24
Topic : Hotel Management System
Guided By : Mr. SAROJ KANTA MISRA
Submitted By : KAUSTAV KUMAR (XII -‘A’)
Roll No. :
CERTIFICATE
This is to certify that Kaustav Kumar of
class: XII A of PM SHRI KENDRIYA
VIDYALAYA BERHAMPUR has done his
project on HOTEL MANAGEMENT
SYSTEM under my supervision. He has
taken interest and has shown at most
sincerity in completion of this project.
I certify this project up to my expectation &
as per guidelines issued by CBSE, NEW
DELHI.
Principal
ACKNOWLEDGMEN
T
It is with pleasure that I acknowledge my sincere
gratitude to our teacher, MR. S.K. MISRA who
taught and undertook the responsibility of
teaching the subject computer science. I have
been greatly benefited from his classes. I am
especially indebted to our Principal
MR.SHIVAPRIYA DASH who has always been a
source of encouragement and support and
without whose inspiration this project would not
have been a successful I would like to place on
record heartfelt thanks to him.
Finally, I would like to express my sincere
appreciation for all the other students for my
batch their friendship & the fine time that we all
shared together.
SOFTWARE
1. PYTHON (latest version)
2. MYSQL
3. PYTHON-MYSQL CONNECTOR
Contents
Sl.
No. Topics
1 About hotel
2 Introduction
3 Python Codes
4 Mysql Database
5 Output
6 References
HOTEL
A hotel is a commercial establishment that provides lodging,
accommodation, and other services to travelers or tourists.
Hotels typically offer a range of rooms or suites with varying
levels of amenities and services. These establishments can
vary widely in size and style, from small boutique hotels to
large luxury resorts.
Key features of hotels include:
1. Accommodation: Hotels provide rooms or suites for guests to
stay overnight or for an extended period.
2. Services: In addition to lodging, hotels often offer various
services such as room service, housekeeping, concierge, and
facilities like restaurants, gyms, swimming pools, conference
rooms, and more.
3. Classification: Hotels are often classified based on factors
like their size, amenities, and overall quality. Common
classifications include budget/economy hotels, mid-range
hotels, and luxury hotels.
4. Booking: Guests typically make reservations to secure their
accommodations in advance. This can be done through various
means, including online booking platforms, travel agencies, or
directly with the hotel.
5. Hospitality Industry: Hotels are an integral part of the
hospitality industry, which encompasses businesses that
provide services to travelers and customers seeking leisure
and comfort.
Overall, hotels play a crucial role in the travel and tourism
industry, offering a temporary home away from home for
individuals and groups seeking accommodation during their
travels.
INTRODUCTION
The Hotel Management System (HMS) is a comprehensive
software solution designed to streamline and optimize the
operations of hotels and hospitality establishments. This
integrated system combines various modules to efficiently
manage different aspects of hotel functions, from
reservation and guest services to billing and inventory
management.
a=mysql.connector.connect(host="localhost",user="root",
password="admin",database="hotel_sunset")
y=a.cursor()
q="select * from employees"
y.execute(q)
r = y.fetchall()
columns = [i[0] for i in y.description]
print(tabulate(r, headers=columns,
tablefmt="fancy_grid"))
y=a.cursor()
x="select * from booking"
y.execute(x)
r = y.fetchall()
columns = [i[0] for i in y.description]
print(tabulate(r, headers=columns,
tablefmt="fancy_grid"))
a.commit()
else:
print("INVALID INPUT")
break
#to show all rooms
def show_rooms():
a=mysql.connector.connect(host="localhost",user="root",
password="admin",database="hotel_sunset")
y=a.cursor()
y.execute("select room_type,prices,count(*) from rooms
group by room_type,prices;")
r = y.fetchall()
columns = [i[0] for i in y.description]
print(tabulate(r, headers=columns,
tablefmt="fancy_grid"))
a=mysql.connector.connect(host="localhost",user="root",
password="admin",database="hotel_sunset")
y=a.cursor()
bk="Booked"
x="select * from rooms where Status ='{}'".format(bk)
y.execute(x)
r = y.fetchall()
columns = [i[0] for i in y.description]
print(tabulate(r, headers=columns,
tablefmt="fancy_grid"))
r = y.fetchall()
columns = [i[0] for i in y.description]
print(tabulate(r, headers=columns,
tablefmt="fancy_grid"))
#to show all feedback
def fedback():
a=mysql.connector.connect(host="localhost",user="root",
password="admin",database="hotel_sunset")
y=a.cursor()
x="select * from fdback"
y.execute(x)
x = y.fetchall()
columns = [i[0] for i in y.description]
print(tabulate(x, headers=columns,
tablefmt="fancy_grid"))
#restaurant
def restaurant():
#VIEW MENU
def menu():
a=mysql.connector.connect(host="localhost",user="root",
password="admin",database="hotel_sunset")
y=a.cursor()
b="select * from menu".format()
y.execute(b)
menu=y.fetchall()
columns = [i[0] for i in y.description]
print(tabulate(menu, headers=columns,
tablefmt="fancy_grid"))
if len(menu)>0:
print("Available")
a.commit()
yn=int(input("Do uou want to order an item ?type(1
for yes/2 for back to main page):"))
if yn ==1:
b_order()
elif yn==2:
print("THANK YOU")
print("YOU HAVE BEEN REDIRECTED TO
MAIN PAGE")
customer_slot()
#BOOKING ORDER
def b_order():
a=mysql.connector.connect(host="localhost",user="root",
password="admin",database="hotel_sunset")
y=a.cursor()
Id=int(input("ENTER DISH NO.: "))
Quantity=int(input("ENTER QUANTITY: "))
Name=input("ENTER YOUR NAME: ")
Mobile_No=int(input("Enter mobilr no."))
Address=input("Enter Address:")
f=("select * from menu where
Dish_ID={}").format(Id)
y.execute(f)
x=y.fetchall()
itn=x[0][1]
ip=x[0][3]
tp=ip*Quantity
ins="insert into
orders(ID,Name,Quantity,Item_Price,Total_Price,Mobile_
No,Adress)values({},'{}',{},{},{},
{},'{}')".format(Id,itn,Quantity,ip,tp,Mobile_No,Address)
y.execute(ins)
print("THANKS FOR THE ORDER","\n\n","YOUR
ORDER HAS BEEN ORDERED SUCCESSFULLY","\n\
n")
print("YOU HAVE BEEN REDIRECTED TO THE
MAIN PAGE")
a.commit()
#VIEW ORDER
def vorders():
a=mysql.connector.connect(host="localhost",user="root",
password="admin",database="hotel_sunset")
y=a.cursor()
m=int(input("Enter your number :"))
n="select * from orders where Mobile_No={}
".format(m)
print("\n","YOUR RECENT ORDERS","\n")
y.execute(n)
o=y.fetchall()
columns = [i[0] for i in y.description]
print(tabulate(o, headers=columns,
tablefmt="fancy_grid"))
for i in o:
p="select * from menu,orders where Mobile_No={}
and menu.Dish_ID=orders.ID".format(m)
y.execute(p)
q=y.fetchall()
a.commit()
#cancel order
def corder():
a=mysql.connector.connect(host="localhost",user="root",
password="admin",database="hotel_sunset")
y=a.cursor()
x=int(input("enter your number:"))
s="delete from orders where
Mobile_No={}".format(x)
y.execute(s)
print("\n\n","YOUR ORDER HAS BEEN
CANCELLED")
print("YOU HAVE BEEN REDIRECTED TO THE
MAIN PAGE","\n\n")
a.commit()
#feedback
def fdback():
a=mysql.connector.connect(host="localhost",user="root",
password="admin",database="hotel_sunset")
y=a.cursor()
fdn=input("Enter your name:")
print("Write something about us...")
fdi=input()
x="insert into fdback values('{}','{}')".format(fdn,fdi)
y.execute(x)
print("\n\n")
print("THANKYOU FOR YOUR FEEDBACK")
print("\n")
print("YOU HAVE BEEN REDIRECTED TO THE
MAIN PAGE")
a.commit()
#welcome
def start1():
while True:
print("\n")
print("1. VIEW MENU")
print("2. VIEW YOUR ORDERS")
print("3. CANCEL ORDER")
print("4. FEEDBACK")
print("5. EXIT")
ch1=int(input(" enter your choice:"))
if ch1==1:
menu()
elif ch1==2:
vorders()
elif ch1==3:
corder( )
elif ch1==4:
fdback()
elif ch1==5:
break
else:
print("\n","INVALID CHOICE"," \n" ,"TRY
AGAIN."," \n")
start1()
y = a.cursor()
b_id = booking_id()
# Fetch available rooms
c = "SELECT * FROM rooms WHERE Status =
'Available' and room_no={}".format(ro_no)
y.execute(c)
d = y.fetchall()
if not d:
print("No available rooms.")
return None
e = d[0]
# Update room status to 'booked'
update_query = "UPDATE rooms SET Status =
'Booked' WHERE room_no = {}".format(ro_no)
y.execute(update_query)
# Insert booking record
ins = "INSERT INTO booking (Booking_ID,
Room_Type, Guest_Name, Phone_number,
Room_Number, Check_In_Date, Check_Out_Date,
Total_Days, Price)VALUES ({}, '{}', '{}', {}, {}, '{}', '{}', {},
'{}')".format(b_id, e[1], guest_name, ph_no, ro_no,
check_in_date, check_out_date, td1, pr)
y.execute(ins)
print("Room booked successfully! Room Number: ",
ro_no)
return b_id
except:
print("Error")
finally:
a.commit()
except :
print("Error")
Booking_ID = {}".format(booking_id)
y.execute(q)
print("\nBooking History for Booking_ID {}:
".format(booking_id))
x = y.fetchall()
columns = [i[0] for i in y.description]
print(tabulate(x, headers=columns,
tablefmt="fancy_grid"))
except :
print("Error")
#user choice
def bookings():
try:
a = mysql.connector.connect(host="localhost",
user="root", password="admin",
database="hotel_sunset")
y = a.cursor()
z="select * from book_rooms"
y.execute(z)
x = y.fetchall()
columns = [i[0] for i in y.description]
print(tabulate(x, headers=columns,
tablefmt="fancy_grid"))
roomchoice = int(input("Enter Your Option : "))
if roomchoice == 1:
book_delux_room()
elif roomchoice == 2:
book_double_room()
elif roomchoice == 3:
book_king_room()
elif roomchoice == 4:
book_balcony_room()
elif roomchoice == 5:
book_cavana()
else:
print("Sorry, May Be You Are Giving Me Wrong
Input, Please Try Again !!! ")
except:
print("Error")
finally:
y.close()
a.close()
#gaming section
def gaming():
print("1. Table Tennis -----> 15000 Rs./HR")
print("2. Bowling -----> 10000 Rs./HR")
print("3. Snooker -----> 25000Rs./HR")
print("4. VR World Gaming -----> 40000 Rs./HR")
print("5. Video Games -----> 35000 Rs./HR")
print("6. Swimming Pool Games -----> 50000
Rs./HR")
print("7. Exit")
game=int(input("Enter What Game You Want To Play :
"))
hour=int(input("Enter No Of Hours You Want To Play :
"))
if game==1:
print("YOU HAVE SELECTED TO PLAY : Table
Tennis")
gamingbill = hour * 15000
price=print("Total price = ",gamingbill,"Rs.")
elif game==2:
print("YOU HAVE SELECTED TO PLAY :
Bowling")
gamingbill = hour * 10000
price=print("Total price = ",gamingbill,"Rs.")
elif game==3:
print("YOU HAVE SELECTED TO PLAY :
Snooker")
gamingbill = hour * 25000
price=print("Total price = ",gamingbill,"Rs.")
elif game==4:
print("YOU HAVE SELECTED TO PLAY : VR
World Gaming")
gamingbill = hour * 40000
price=print("Total price = ",gamingbill,"Rs.")
elif game==5:
print("YOU HAVE SELECTED TO PLAY :Video
Games")
gamingbill = hour * 35000
price=print("Total price = ",gamingbill,"Rs.")
a=mysql.connector.connect(host="localhost",user="root",
password="admin",database="hotel_sunset")
y=a.cursor()
fdn=input("Enter your name:")
print("Write something about us...")
fdi=input()
x="insert into fdback values('{}','{}')".format(fdn,fdi)
y.execute(x)
print("\n\n")
print("THANKYOU FOR YOUR FEEDBACK")
print("\n")
print("YOU HAVE BEEN REDIRECTED TO THE
MAIN PAGE")
a.commit()
#for admin
def admin_slot():
while True:
print("*********WELCOME ADMIN*********")
print("1.Employees Details")
print("2.Coustomer Details")
print("3.Room Details")
print("4.Feedback")
print("5.Restaurant Details")
print("6.Exit")
a=int(input("enter your choice"))
if a==1:
emp_details()
elif a==2:
customdet()
elif a==3:
room_details()
elif a==4:
fedback()
elif a==5:
restaurant_details()
elif a==6:
break
else:
print("\n\n","INVALID CHOICE","\n","TRY
AGAIN")
#for customer
def customer_slot():
while True:
print("*************NAMASTE*************")
print("1.RESTAURANT")
print("2.BOOK ROOMS")
print("3.GAMING")
print("4.FEEDBACK")
print("5.EXIT")
a=int(input("enter your choice"))
if a==1:
restaurant()
elif a==2:
bookings()
elif a==3:
gaming()
elif a==4:
feedback()
elif a==5:
break
else:
print("\n\n","INVALID CHOICE")
#first interface
while True:
print("*********WELCOME TO HOTEL
SUNSET*********")
print("1.admin")
print("2.customer")
print("3.exit")
a=int(input("who are you"))
if a==1:
def admin_login(a, username, password):
a=mysql.connector.connect(host="localhost",user="root",
password="admin",database="hotel_sunset")
y=a.cursor()
try:
2. Employees:
3. Feedback:
4. Menu:
5. Orders:
6. Rooms:
7. Room Details:
8. Users:
OUTPUT
S
First interface with admin login:
Customer login:
View order:
Canceling an order:
Feedback of restaurant:
Book a room:
Gaming: