PM Shri Kendriya Vidyalaya
Pokhariput,Bhubaneswar No-6
A Project Report
on
Hotel Management
For
AISSCE 2024 Examination
[As a part of the Computer Science Course (083)]
SUBMITTED BY
…GOURAV SWAIN…
[CBSE Roll No…………………]
Under the Guidance of:
Mrs. Kumari Usha, PGT(COMP SC)
1|Page
CERTIFICATE
This is to certify that the Project / Dissertation
entitled Hotel Management System is a
bonafide work done by Gourav Swain of class XII
‘Science ’ Session 2024-25 in partial fulfillment of
CBSE’s AISSCE Examination 2025 and has been
carried out under my direct supervision and
guidance. This report or a similar report on the
topic has not been submitted for any other
examination and does not form a part of any
other course undergone by the candidate.
2|Page
Signature of External examiner
Signature of principal
3|Page
ACKNOWLEDGEMENT
I
undertook this Project work, as the part of my XII-
Computer Science course. I had tried to apply my best
of knowledge and experience, gained during the study
and class work experience. However, developing software
system is generally a quite complex and time-consuming
process. It requires a systematic study, insight vision and
professional approach during the design and development.
Moreover, the developer always feels the need, the help
and good wishes of the people near you, who have
considerable experience and idea.
I would like to extend my sincere thanks and gratitude to
my teacher Mrs. Kumari Usha. I am very much thankful to
our Principal Mr. Anant Narayan Meher for giving
valuable time and moral support to develop this software.
…………………………………….
Class XII
4|Page
C O N T E N T S
1. Introduction----------------------------------------------5
2. System Implementation---------------------------5
a. The Hardware used:-----------------------------------5
b. The Softwares used:-----------------------------------5
3. System Design & Development----------------6
3.1 Database Design:-------------------------------------6
3.2 Menu Design:------------------------------------------8
3.3 Program Code:-----------------------------------------8
4. References - -Error! Bookmark not defined.
5|Page
1. Introduction
This project is design for Hotel Management. The Main Menu consist
of Eight sub menu i.e.
enter 1: To enter customer data
enter 2 : To view roomtype
enter 3 : for calculating room bill
enter 4 : for viewing restaurent menu
enter 5 : for restaurent bill
enter 6 : for laundary bill
enter 7 : for complete bill
enter 8 : for exit:
. Each choice have its own action. By selecting the last choice i.e. 8,
user can exit from the system.
2. System Implementation
5.1 The Hardware used:
While developing the system, the used hardware are:
PC with 11th Gen Intel(R) Core(TM) i3-1115G4 @
3.00GHz 3.00 GHz 8.00 GB RAM and other required
devices.
5.2 The Softwares used:
Microsoft Windows 11 as Operating System.
Python (Anaconda-3.5) as Front-end Development
environment.
MySQL as Back-end Sever with Database for Testing.
MS-Word for documentation.
6|Page
3. System Design & Development
3.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 constraints 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.
create database hotel;
use hotel;
This software project maintains a database named hotel which contains the following tables.
3.2 – Table Design
create database hotel;
-- use hotel;
create table custdata(custname varchar(20), addr varchar(30), indate varchar(10), outdate varchar(10));
create table roomtype (sno varchar(5), roomtype varchar(10), rent integer);
insert into roomtype values ('1', 'type A', 1000);
insert into roomtype values ('2', 'type B', 2000);
insert into roomtype values ('3', 'type C', 3000);
insert into roomtype values ('4', 'type D', 4000);
create table restaurent (sno integer, itemname varchar(10), rate integer);
insert into restaurent values(1, 'tea', 10);
insert into restaurent values(2, 'coffee', 10);
insert into restaurent values(3, 'colddrink', 20);
insert into restaurent values(4, 'samosa', 10);
insert into restaurent values(5, 'sandwich', 50);
insert into restaurent values(6, 'Dhokla', 30);
insert into restaurent values(7, 'kachori', 10);
insert into restaurent values(8, 'milk', 20);
insert into restaurent values(9, 'noodles', 50);
insert into restaurent values(10, 'pasta', 50);
create table laundary(sno integer, itemname varchar(10), rate integer);
insert into laundary values(1, 'pant', 10);
insert into laundary values(2, 'shirt', 10);
insert into laundary values(3, 'suit', 10);
insert into laundary values(4, 'sari', 10);
7|Page
3.3 MENU DESIGN
OUTPUT;;;;;;;;;
enter 1: To enter customer data
enter 2 : To view roomtype
enter 3 : for calculating room bill
enter 4 : for viewing restaurent menu
enter 5 : for restaurent bill
enter 6 :for laundary bill
enter 7 : for complete bill
enter 8 : for exit
Depending on above it will display the submenu as follows:
For 1: It will ask for input details of customer
For 2: Sub menu
We have the following rooms for you:-
1. type A---->rs 1000 PN\-
2. type B---->rs 2000 PN\-
3. type C---->rs 3000 PN\-
4. type D---->rs 4000 PN\-
For 3: It will display the details for calculating room bill
For 4 : It will display the items available in Hotel
For 5: It will display the details for calculating restaurant bill
For 6: It will display the details for calculating laundry bill
For 7: It will display the details for calculating complete bill of a customer
For 8: Exit from the Menu
3.4-PYTHON PROGRAM CODE
import os
import platform
import mysql.connector
class HotelManagementSystem:
8|Page
def __init__(self):
self.mydb = mysql.connector.connect(
user='root', password='akhil2005', host='localhost', database='akhil')
self.mycursor = self.mydb.cursor()
self.restaurant_bill = 0
self.laundry_bill = 0
def register_customer(self):
try:
name = input("Enter name: ")
address = input("Enter address: ")
check_in_date = input("Enter check-in date (YYYY-MM-DD): ")
check_out_date = input("Enter check-out date (YYYY-MM-DD): ")
sql = "INSERT INTO custdata(custname, addr, indate, outdate) VALUES (%s, %s, %s, %s)"
self.mycursor.execute(sql, (name, address, check_in_date, check_out_date))
self.mydb.commit()
print("Customer registered successfully!")
except Exception as e:
print(f"Error: {e}")
def view_room_types(self):
try:
print("Available room types:")
self.mycursor.execute("SELECT * FROM roomtype")
rows = self.mycursor.fetchall()
for row in rows:
print(row)
except Exception as e:
9|Page
print(f"Error: {e}")
def calculate_room_rent(self):
print("We have the following rooms for you:")
print("1. Type A -> Rs 1000 per night")
print("2. Type B -> Rs 2000 per night")
print("3. Type C -> Rs 3000 per night")
print("4. Type D -> Rs 4000 per night")
try:
choice = int(input("Enter your choice: "))
nights = int(input("For how many nights did you stay: "))
rates = {1: 1000, 2: 2000, 3: 3000, 4: 4000}
if choice in rates:
rent = rates[choice] * nights
print(f"Your total room rent is Rs {rent}\n")
return rent
else:
print("Invalid room choice. Try again.")
return 0
except ValueError:
print("Invalid input. Please enter numbers only.")
return 0
def view_restaurant_menu(self):
try:
10 | P a g e
print("Restaurant menu:")
self.mycursor.execute("SELECT * FROM restaurent")
rows = self.mycursor.fetchall()
for row in rows:
print(row)
except Exception as e:
print(f"Error: {e}")
def order_item(self):
self.view_restaurant_menu()
menu = {
1: ("Tea", 10), 2: ("Coffee", 10), 3: ("Colddrink", 20),
4: ("Samosa", 10), 5: ("Sandwich", 50), 6: ("Dhokla", 30),
7: ("Kachori", 10), 8: ("Milk", 20), 9: ("Noodles", 50),
10: ("Pasta", 50)
try:
choice = int(input("Enter your choice from the menu: "))
if choice in menu:
quantity = int(input(f"Enter quantity for {menu[choice][0]}: "))
cost = menu[choice][1] * quantity
self.restaurant_bill += cost
print(f"Your amount for {menu[choice][0]} is Rs {cost}\n")
else:
print("Invalid choice. Please try again.")
except ValueError:
print("Invalid input. Please enter numbers only.")
11 | P a g e
def calculate_laundry_bill(self):
try:
clothes = int(input("Enter the number of clothes for laundry: "))
self.laundry_bill = clothes * 10
print(f"Your laundry bill is Rs {self.laundry_bill}\n")
except ValueError:
print("Invalid input. Please enter a number.")
def generate_bill(self):
customer_name = input("Enter customer name: ")
print("\n--- Final Bill ---")
print(f"Customer Name: {customer_name}")
print(f"Restaurant Bill: Rs {self.restaurant_bill}")
print(f"Laundry Bill: Rs {self.laundry_bill}")
# Room rent can be included by calling calculate_room_rent() before this step
print("Thank you for staying with us!\n")
def menu(self):
while True:
print("\n--- Hotel Management System ---")
print("1. Register Customer")
print("2. View Room Types")
print("3. Calculate Room Rent")
print("4. View Restaurant Menu")
print("5. Order from Restaurant")
print("6. Calculate Laundry Bill")
print("7. Generate Final Bill")
12 | P a g e
print("8. Exit")
try:
choice = int(input("Enter your choice: "))
if choice == 1:
self.register_customer()
elif choice == 2:
self.view_room_types()
elif choice == 3:
self.calculate_room_rent()
elif choice == 4:
self.view_restaurant_menu()
elif choice == 5:
self.order_item()
elif choice == 6:
self.calculate_laundry_bill()
elif choice == 7:
self.generate_bill()
elif choice == 8:
print("Exiting the system. Goodbye!")
break
else:
print("Invalid choice. Please try again.")
except ValueError:
print("Invalid input. Please enter a number.")
if __name__ == "__main__":
13 | P a g e
system = HotelManagementSystem()
system.menu()
4. References
In order to work on this project titled –Hotel Management System, the
following books and literature are referred by me during the various
phases of development of the project.
(1)MySQL, Black Book
-by Steven Holzner
(2) Understanding SQL
– Gruber
(3) http://www.mysql.org/
(4) Computer Science for class XII
-by Sumita Arora
(5) Various Websites of Discussion Forum and software development
activities.
14 | P a g e