0% found this document useful (0 votes)
6 views22 pages

Final Ip Proj

The document presents a project report on a Hotel Management System developed by Anwesha Murmu and Pranjali Dufare as part of their XII class curriculum. It includes sections on the project's introduction, objectives, system implementation, design, and source code, highlighting the software's functionalities such as room booking, food ordering, and spa services. The project aims to automate hotel operations and enhance user experience through a user-friendly interface.

Uploaded by

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

Final Ip Proj

The document presents a project report on a Hotel Management System developed by Anwesha Murmu and Pranjali Dufare as part of their XII class curriculum. It includes sections on the project's introduction, objectives, system implementation, design, and source code, highlighting the software's functionalities such as room booking, food ordering, and spa services. The project aims to automate hotel operations and enhance user experience through a user-friendly interface.

Uploaded by

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

B.S.

P Senior Secondary School


Sec – 10, BHILAI

Session 2024 - 25
A Project Report on

HOTEL MANAGEMENT SYSTEM


SUBMITTED BY
Anwesha Murmu ( )
&
Pranjali Dufare ( )

Under the Guidance of:

NITU PANDEY MAM


CERTIFICATE

This is to certify that the Project / Dissertation entitled

HOTEL MANAGEMENT SYSTEM is a bonafide

work done by (ANWESHA MURMU with Board Roll

No.) of class XII Session 2024 -25 in partial fulfilment 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.

Signature of Internal Signature of External

Signature of Principal
ACKNOWLEDGEMENT

W e
undertook this Project work

MANAGEMENT SYSTEM ], as the part of our XII-


[HOTEL

INFORMATICS PRACTICES (065) . We had tried to apply our 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.

We would like to extend our sincere thanks and gratitude to our


teacher NITU PANDEY MAM We are very much thankful to our
Principal Sumita Sarkar Madam for giving valuable time and moral
support to develop this software.

We would like to take the opportunity to extend our sincere thanks and
gratitude to our parents for being a source of inspiration and providing
time and freedom to develop this software project.

We also feel indebted to our friends for the valuable suggestions during
the project work.

Board Roll No …………………….


Class XII
CONTENTS

1. Introduction

2. Objective & Scope of the Project

3. Problem Definition & Analysis

4. System Implementation

1) The Hardware used

2) The Softwares used

5. System Design & Development

1) Database Design:

2) I/O Forms Design & Event Coding:

6. Biblography
INTRODUCTION

This software project is developed to automate the functionalities of a User Friendly

HOTEL MANAGEMENT SYSTEM. The purpose of the software project is to develop a

program which provides a friendly interface for the user to interact to a “HOTEL

MANAGEMENT SYSTEM” so that they get to experience Booking a Room and Indulge

themselves in other playfull activities such as spa, gaming etc. This program mainly

brings forth the usage of GUI programming in the daily usage over the network.
System Implementation

The Hardware used:

While developing the system, the used hardware are:


PC with Pentium Dual Core processor having 2.00 GB RAM, SVGA and other required
devices.

The Softwares used:

1.) SPYDER
2.) EXCEL
3.) NOTEPAD
BIBLIOGRAPHY

In order to work on this project titled –HOTEL MANAGEMENT SYSTEM , the following
books and literature are refered by me during the various phases of development of the project.

(1) https://www.python.org/downloads/
(2) INFORMATICS PRACTICES for class XII -by Sumita Arora
SOURCE CODE
import pandas as pd

print("WELCOME TO ROSEWOOD HOTELS AND RESORTS")


print("~~~~~~")

# Load the CSV files to get the data


rooms = pd.read_csv("C:\\Users\\Admin\\Downloads\\rooms (1).csv") # Room details (room
number, room type, price per night, availability)
food_menu = pd.read_csv("C:\\Users\\Admin\\Downloads\\food_menu (1).csv") # Food menu
(food name, price)
spa_services = pd.read_csv("C:\\Users\\Admin\\Downloads\\spa_services.csv") # Spa services
(service name, price)
gaming_club = pd.read_csv("C:\\Users\\Admin\\Downloads\\gaming_club.csv") # Gaming
options (game name, price per hour)

# DataFrame to track customer bookings, food orders, and other services


customer_data = pd.read_csv("C:\\Users\\Admin\\Downloads\\customer_data.csv") # Customer
booking details
orders = pd.DataFrame(columns=['Room Number', 'Food Item', 'Price']) # For storing food
orders
spa_bookings = pd.DataFrame(columns=['Room Number', 'Service', 'Price']) # For storing spa
services
gaming_bookings = pd.DataFrame(columns=['Room Number', 'Game', 'Price']) # For storing
gaming bookings

# Ensure customer data contains 'Active' status column for auto-billing tracking
if 'Active' not in customer_data.columns:
customer_data['Active'] = False

def auto_billing():
global customer_data, rooms
today = pd.Timestamp.now().strftime('%Y-%m-%d') # Get today's date in YYYY-MM-DD
format
# Filter guests who are checking out today
check_out_today = customer_data[
(customer_data['Check-Out Date'] == today) & (customer_data['Active'] == True)
]

for _, guest in check_out_today.iterrows():


room_number = guest['Room Number']
guest_name = guest['Guest Name']
total_amount = calculate_total_bill(room_number)

# Print and process the auto-bill


print(f"\nAuto-billing for Room {room_number}:")
print(f"Guest Name: {guest_name}")
print(f"Total Amount: ${total_amount}")
print("Payment has been processed automatically. Thank you!")

# Mark room as available again


rooms.loc[rooms['Room Number'] == room_number, 'Availability'] = True

# Mark customer entry as inactive


customer_data.loc[(customer_data['Room Number'] == room_number) &
(customer_data['Active'] == True), 'Active'] = False

# 1. Check Room Availability


def check_availability(room_type):
available_rooms = rooms[(rooms['Room Type'] == room_type) & (rooms['Availability'] ==
True)]
return available_rooms

# 2. Book Room
def book_room(room_number, guest_name, room_type, check_in_date, check_out_date):
global customer_data
available_room = rooms[(rooms['Room Number'] == room_number) & (rooms['Availability']
== True)]

if not available_room.empty:
rooms.loc[rooms['Room Number'] == room_number, 'Availability'] = False # Mark room
as booked
new_booking = pd.DataFrame([{
'Guest Name': guest_name,
'Room Number': room_number,
'Room Type': room_type,
'Check-In Date': check_in_date,
'Check-Out Date': check_out_date,
'Active': True
}])
customer_data = pd.concat([customer_data, new_booking], ignore_index=True)
print(f"Room {room_number} booked successfully for {guest_name}.")
return available_room['Price per Night'].values[0]
else:
print(f"Sorry, Room {room_number} is not available.")
return 0

# 3. Order Food
def order_food(room_number, food_item):
if food_item in food_menu['Item'].values:
food_price = food_menu.loc[food_menu['Item'] == food_item, 'Price'].values[0]
new_order = pd.DataFrame([{
'Room Number': room_number,
'Food Item': food_item,
'Price': food_price
}])
global orders
orders = pd.concat([orders, new_order], ignore_index=True)
print(f"Food order for room {room_number}: {food_item} has been placed.")
return food_price
else:
print(f"Food item '{food_item}' not found in menu.")
return 0

# 4. Book Spa Service


def book_spa_service(room_number, service):
if service in spa_services['Service'].values:
spa_price = spa_services.loc[spa_services['Service'] == service, 'Price'].values[0]
new_booking = pd.DataFrame([{
'Room Number': room_number,
'Service': service,
'Price': spa_price
}])
global spa_bookings
spa_bookings = pd.concat([spa_bookings, new_booking], ignore_index=True)
print(f"Spa service '{service}' booked for room {room_number}.")
return spa_price
else:
print(f"Spa service '{service}' not found.")
return 0

# 5. Book Gaming Session


def book_gaming_club(room_number, game):
if game in gaming_club['Game'].values:
game_price = gaming_club.loc[gaming_club['Game'] == game, 'Price per Hour'].values[0]
new_booking = pd.DataFrame([{
'Room Number': room_number,
'Game': game,
'Price': game_price
}])
global gaming_bookings
gaming_bookings = pd.concat([gaming_bookings, new_booking], ignore_index=True)
print(f"Gaming session '{game}' booked for room {room_number}.")
return game_price
else:
print(f"Game '{game}' not found.")
return 0

# 6. Calculate Total Bill (with Days Stayed)


def calculate_total_bill(room_number):
guest_details = customer_data[(customer_data['Room Number'] == room_number) &
(customer_data['Active'] == True)]
if guest_details.empty:
return 0 # No active guests for the room

# Calculate number of days stayed


check_in_date = pd.to_datetime(guest_details['Check-In Date'].values[0])
check_out_date = pd.to_datetime(guest_details['Check-Out Date'].values[0])
days_stayed = (check_out_date - check_in_date).days

# Get room price


room_price_per_night = rooms.loc[rooms['Room Number'] == room_number, 'Price per
Night'].values[0]
room_cost = room_price_per_night * days_stayed

# Get food orders for this room


food_cost = orders[orders['Room Number'] == room_number]['Price'].sum()

# Get spa bookings for this room


spa_cost = spa_bookings[spa_bookings['Room Number'] == room_number]['Price'].sum()

# Get gaming session bookings for this room


gaming_cost = gaming_bookings[gaming_bookings['Room Number'] ==
room_number]['Price'].sum()

# Calculate total cost


total_cost = room_cost + food_cost + spa_cost + gaming_cost
return total_cost

# 7. Auto-Billing Function
def auto_billing():
global customer_data, rooms
today = pd.Timestamp.now().strftime('%Y-%m-%d') # Get today's date in YYYY-MM-DD
format

# Filter guests who are checking out today


check_out_today = customer_data[
(customer_data['Check-Out Date'] == today) & (customer_data['Active'] == True)
]
for _, guest in check_out_today.iterrows():
room_number = guest['Room Number']
guest_name = guest['Guest Name']
total_amount = calculate_total_bill(room_number)

# Print and process the auto-bill


print(f"\nAuto-billing for Room {room_number}:")
print(f"Guest Name: {guest_name}")
print(f"Total Amount: ${total_amount:.2f}")
print("Payment has been processed automatically. Thank you!")

# Mark room as available again


rooms.loc[rooms['Room Number'] == room_number, 'Availability'] = True

# Mark customer entry as inactive


customer_data.loc[(customer_data['Room Number'] == room_number) &
(customer_data['Active'] == True), 'Active'] = False

# 8. Make Payment
def make_payment(room_number, payment_method):
total_amount = calculate_total_bill(room_number)
print(f"Total bill for room {room_number} is: ${total_amount}")
print(f"Payment method selected: {payment_method}")
print(f"Payment of ${total_amount} completed successfully!")

# Menu-driven Program
def hotel_management_system():
while True:
print("\nMENU:")
print("1. Check Room Availability")
print("2. Book a Room")
print("3. Order Food")
print("4. Book Spa Service")
print("5. Book Gaming Club")
print("6. Calculate Total Bill")
print("7. Auto Billing")
print("0. Exit")

choice = int(input("Enter your choice: "))

if choice == 1:
room_type = input("Enter room type (Single, Double, Suite, Deluxe): ")
available_rooms = check_availability(room_type)
print("Available Rooms:\n", available_rooms[['Room Number', 'Room Type']])

elif choice == 2:
room_number = int(input("Enter room number: "))
guest_name = input("Enter guest name: ")
room_type = input("Enter room type (Single, Double, Suite, Deluxe): ")
check_in_date = input("Enter check-in date (YYYY-MM-DD): ")
check_out_date = input("Enter check-out date (YYYY-MM-DD): ")
price = book_room(room_number, guest_name, room_type, check_in_date,
check_out_date)
print(f"Total Room Price Per Night: ${price}")

elif choice == 3:
room_number = int(input("Enter room number: "))
food_item = input("Enter food item to order: ")
food_price = order_food(room_number, food_item)
print(f"Food Price: ${food_price}")

elif choice == 4:
room_number = int(input("Enter room number: "))
service = input("Enter spa service to book (Massage, Facial, Manicure, Pedicure): ")
spa_price = book_spa_service(room_number, service)
print(f"Spa Service Price: ${spa_price}")

elif choice == 5:
room_number = int(input("Enter room number: "))
game = input("Enter gaming option to book: ")
game_price = book_gaming_club(room_number, game)
print(f"Gaming Session Price: ${game_price}")

elif choice == 6:
room_number = int(input("Enter room number to calculate bill: "))
total_bill = calculate_total_bill(room_number)
print(f"Total bill for room {room_number}: ${total_bill}")

elif choice == 7:
room_number = int(input("Enter room number: "))
payment_method = input("Enter payment method (Credit Card, Cash, Debit Card,
Online Payment): ")
make_payment(room_number, payment_method)
auto_billing()

elif choice == 0:
print("Thank you for choosing Rosewood Hotels and Resorts. Have a great day!")
break

else:
print("Invalid choice! Please try again.")

# Run the hotel management system


hotel_management_system()

# Save updated data to CSV after the program ends


rooms.to_csv("C:\\Users\\Admin\\Downloads\\rooms (1).csv", index=False)
customer_data.to_csv("C:\\Users\\Admin\\Downloads\\customer_data.csv", index=False)
orders.to_csv("C:\\Users\\Admin\\Downloads\\food_orders (1).csv", index=False)
spa_bookings.to_csv("C:\\Users\\Admin\\Downloads\\spa_bookings.csv", index=False)
gaming_bookings.to_csv("C:\\Users\\Admin\\Downloads\\gaming_bookings.csv", index=False)
OUTPUT

Choice 1

Choice 2
Choice 3

Choice 4
Choice 5

Choice 6
Choice 7

Choice 0
Updation in Excel Sheets
Customer_data.csv

Food_orders.csv

Spa_booking.csv
Gaming_booking.csv

Used CSV files –


Rooms.csv

Food_menu.csv
Spa_services.csv

Gaming_club.csv

You might also like