0% found this document useful (0 votes)
18 views35 pages

Project File CS (Hotel Management)

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)
18 views35 pages

Project File CS (Hotel Management)

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/ 35

Pt.

Deen Dayal Upadhyaya Sanatan Dharm Vi

Project File
Computer Science(083)
Session-: 2024-25

HOTEL management
Submitted By-: Mayank Dev

Class-: 12th A

Class Roll Number-: 18

Submitted To-: Mr. Amit


Gupta
Boards Roll Number-:
Signature

CERTIFICATE
This is to certify that Mayank Dev of Class: XII(A) of
Pt.Deen Dayal Upadhyaya Sanatan Dharm
Vidyalaya, Nawabganj, Kanpur has done his
project on Hotel Management under my
supervision during session 2024-25. 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.

Internal Examiner External Examiner

Principal
ACKNOWLEDGEMENT
It is with pleasure that I acknowledge my sincere
gratitude to our teacher, MR. Amit Gupta who
taught and undertook the responsibility of teaching
the subject Computer Science during Session 2024-
25. I have been greatly benefited from his classes. I
am especially indebted to our Principal MR. Rakesh
Ram Tripathi 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.
HARDWARE AND SOFTWARES
REQUIRED
HARDWARES
1- Desktop Computer / Laptop
2- Mobile Phone

SOFTWARES
1- Python (Latest Version)
2- MySQL
TABLE OF CONTENTS
S.N TOPIC PAGE
o No.
1. Certificate 1
2. Acknowledge 2
3. Hardware and Software Required 3
4. Table of Content 4
5. Introduction 5
6. Python Source Code
7. MySQL Database
8. Outputs
9. Bibliography

HOTEL MANAGEMENT
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


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. The
reservation module of the HMS enables seamless booking
processes, allowing guests to make reservations online or
through the front desk. It maintains a centralized database of
room availability, ensuring accurate and up-to date information.
The system also facilitates quick check-ins and check-outs,
enhancing the overall guest experience. Efficient guest services
In conclusion, the Hotel Management System is an
indispensable tool for modern hotels, enhancing operational
efficiency, improving guest satisfaction, and ultimately
contributing to the success of hospitality businesses.
Key features of a Hotel Management System typically
include: 1.Reservation Management: Allows the hotel staff
to efficiently handle room bookings, cancellations, and
modifications. It helps in managing room availability, rates, and
guest preferences.
2.Front Desk Operations: Enables the front desk staff to
check-in/check-out guests, generate room keys, and manage
guest information. It may also include features like guest folio
creation and invoice generation.
3.Billing and Invoicing: Handles the financial aspects of
guest stays, including room charges, additional services, and
9.Security and Access Control: Ensures the security of guest
data and property by implementing access controls and
monitoring systems. It may include features like key card
access and surveillance.
10. Channel Management: Manages the distribution of room
inventory across various online booking channels to optimize
occupancy rates and maximize revenue.
11. Implementing a Hotel Management System not only
enhances operational efficiency but also contributes to a better
overall guest experience. The system can be tailored to meet
the specific needs of different types and sizes of hospitality
establishments, including hotels, resorts, motels, and bed-and-
breakfasts.
PYTHON
SOURCE
CODE

import mysql.connector
from tabulate import tabulate
import random
a=mysql.connector.connect(host="localhost",user="root",password="ad
min",database="hotel_sunset")
y=a.cursor()

#all details for admin


#to show employee details
def emp_details():
a=mysql.connector.connect(host="localhost",user="root",password
="admin",database="hotel_sunset")
y=a.cursor()
q="select * from employees"
elif ch==2:
room_vacant()
elif ch==3:
rooms_booked()
else:
print("INVALID INPUT")
break

#to show all rooms


def showrooms():
a=mysql.connector.connect(host="localhost",user="root",password="ad
min",database="hotel_sunset")
y=a.cursor()
y.execute("select room_type,prices,count(*) from rooms group by
room_type,prices;")
#to show restaurant details
def restaurant_details():
a=mysql.connector.connect(host="localhost",user="root",password="adm
in",database="hotel_sunset")
y=a.cursor()
z="select*from orders"
y.execute(z)
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="adm
in",database="hotel_sunset")
y=a.cursor()
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="admi
n",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]
y.execute(p)
q=y.fetchall()
a.commit()

#cancel order
def corder():
a=mysql.connector.connect(host="localhost",user="root",password="a
dmin",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="ad
min",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()

#booking rooms section


# Create the table if not exists
create_table = "CREATE TABLE IF NOT EXISTS booking (Booking_ID int(10)
PRIMARY KEY,Room_Type varchar(20) not null,Guest_Name
VARCHAR(255),Phone_number varchar(15) not null, Room_Number int(5)
not null, Check_In_Date DATE, Check_Out_Date DATE)"
y.execute(create_table)
def booking_id():
return random.randint(10000, 99999)

#to book room


def book_room(guest_name, ph_no,ro_no, check_in_date, check_out_date,
td1, pr):
try:
a = mysql.connector.connect(host="localhost", user="root",
password= "admin", database="hotel_sunset")
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()
#to book delux room
def book_delux_room():
a = mysql.connector.connect(host="localhost", user="root",
password="admin", database="hotel_sunset")
y = a.cursor()
try:
z=random.randint(101, 111)
ro_no = z
g_name = input("Enter guest name: ")
ph_no = input("Enter your phone number: ")
in_date = input("Enter check-in date (YYYY-MM-DD): ")
out_date = input("Enter check-out date (YYYY-MM-DD):")
total_days_query = "SELECT DATEDIFF('{}', '{}')".format(out_date,
in_date)
y.execute(total_days_query)
td1 = y.fetchone()[0]
pr = 15000 * td1
booking_id = book_room(g_name, ph_no,ro_no, in_date, out_date,
td1, pr)
# Display booking history for the specific Booking_ID
if booking_id is not None:
q = "SELECT * FROM booking WHERE 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 -----> 50000Rs./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.")
elif game ==6:
print("YOU HAVE SELECTED TO PLAY : Swimming Pool Games")
gamingbill = hour *50000
price=print("Total price = ",gamingbill,"Rs.")
else:
print("Sorry ,May Be You Are Giving Me Wrong Input, Please Try
Again !!! ")
#feedback to be asked by user
def feedback():
a=mysql.connector.connect(host="localhost",user="root",password="ad
min",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="ad
min",database="hotel_sunset")
y=a.cursor()
try:
# Check if the provided username and password match an admin
record
query = "SELECT * FROM users WHERE username = %s AND password
= %s" y.execute(query, (username, password))
admin_result = y.fetchone()
if admin_result:
print("Login successful. Welcome, Admin!")
else:
print("Invalid username or password. Please try again.")
except Exception as e:
print(f"Error: {e}")
a.close()
admin_username = input("Enter Admin Username: ")
admin_password = input("Enter Admin Password: ")
admin_login(a, admin_username, admin_password)
admin_slot()
elif a==2:
customer_slot()
elif a==3:
break

MySQL
DATABASE
 All Tables Used-:

 Describing all Tables


1-Booking-:

2-Employees-:
3-Feedback-:

4-Menu-:

5-Orders-:
\
6-Rooms-:

7-Room Details-:

8-Users-:
OUTPUTS

 First Interface with Admin Login-:


 Customer Login-:

 From Restaurant view menu-:


 Order an Item-:

 View Order-:

 Canceling an Order-:
 Feedback of Restaurant-:

 Book a Room-:
 Gaming-:

 Feedback of Hotel-:

 Viewing Employee Details-:


 Viewing Customer Details-:

 Viewing Room Details-:


 Showing Vacant Rooms-:
 Showing Booked Rooms-:

 Viewing Feedbacks from both Hotel and


Restaurant-:

 Viewing Restaurant Details-:


BIBLIOGRAPHY

 Class 12 Sumita Arora Book


 Class 11 Sumita Arora Book
 Chat GPT
 Wikipedia
 www.kvcoders.in
THANK YOU

You might also like