0% found this document useful (0 votes)
24 views32 pages

code+screenshot+advantage+limitation

Uploaded by

rajendras30772
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)
24 views32 pages

code+screenshot+advantage+limitation

Uploaded by

rajendras30772
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/ 32

S.

R GLOBAL SCHOOL LUCKNOW

COMPUTER SCIENCE (083)


PROJECT FILE
ON
( HOTEL MANAGEMENT )
2024-2025
SUBMITTED TO: SUBMITTED BY:
MOHAMMAD BILAL AHMAD Gaurav Yadav
ASST TEACHER Hansraj Sonwani
(PGT- Computer Science) Harsh Vardhan Singh
12-A1
CERTIFICATE

This is to certify that Gaurav Yadav of class 12 – A1 from


S.R Global School, Lucknow has successfully completed his
computer Science Project File (Hotel Management) based on
python and Mysql programming under the guidance of Mr
.Mohammad Bilal Ahmad for the academic session 2024- 2025. He
has taken proper care and show utmost sincerity in the completion
of this project file . I certify that this project file is up to my
expectation and as per the guidelines issued by C.B.S.E

Mr. Mohammad Bilal Ahmad


Internal examiner External examiner
S R Global School
Lucknow

Mr. C.K Ojha


( Principal )
S.R Global School School Stamp
Lucknow
ACKNOWLEDGEMENT
I would like to express a deep sense of thanks and gratitude to my
Computer Teacher Mr. Mohammad Bilal Ahmad , he always evinced
keen interest in my work. His constructive advice and constant
motivation have been responsible for the successful completion of
this project file and I am also thankful to my Principal Mr. C. K Ojha
sir who gave me the golden opportunity to do this wonderful project
based on programming concept (Python language) which also
helped me in doing a lot of research and I came to know about so
many new things and I am really thankful to them and I am also
thankful to my parents and friends who helped me for completing
this Python Project file with in the limited time frame.

Student Name ~Gaurav Yadav


Board Roll No ~
Contents

1. Introduction of the Project.

2. System Requirements of the Project.

3. Advantages.

4. Limitations.

5. Sample Application Screenshots.

6. Python Coding.

7. Output Screen

8. References.
Introduction of the Project

We the students of CLASS XII A1 of S R GLOBAL SCHOOL have


been assigned the work of HOTEL MANAGEMENT .
To perform this task the students were divided into the group of
three students named as GAURAV YADAV, HANSRAJ SONWANI,
HARSH VARDHAN SINGH has been assigned the work of coding
and programming Hansraj and Harsh Vardhan I have been assigned
the work of analyzing the overall mistakes and have done the
conclusion work.
The project starts with –
1 - BOOK ROOM
2 -MODIFY EXISTING CUSTOMER
3 - SEARCH A CUSTOMER
4 - LIST OF ALL CUSTOMERS
5 - BOOK A PARTY
6 -Order Food
7 - DISPLAY PARTY BOOKINGS
8 -PAY BILL
9 - CHECK-OUT CUSTOMERS
10- DELETE EXISTING CUSTOMER
11- EXIT
We are so glad that this work have been assigned to us, yet we
haven’t done this work before BILAL SIR our
subject teacher have also helped us a lot to complete this project.
We feel so blessed that we have learnt all this work with the help
of our sir , we are also thankful to our respected principal CK OJHA
SIR for providing us various facilities to complete this project.
As we are the students of CLASS XII A1 and we haven’t done this
type of project before, we have performed all that which we have
learnt from our CBSE PROGRAMMING .Hence, we know that this
programming would be further done on a big platform. Since we
have started this programming from SEPTEMBER month ,we
believe that this programming would further help us a lot in our
future .We are also thankful to our groupmates for cooperating with
each other while performing this task we have also polished the
skills of group activity. PROCESS FIRSTLY, we have done the
planning in a paper work regarding what have to do on the assigned
project HOTEL MANAGEMENT .
SECONDLY, we discussed our planning with our subject teacher
and then he provided us the right path to perform the work. NEXT,
we started our project on foot paths of our subject teacher. THEN,
we started our coding, coding took around 2 and half months for
completion.
NEXT, we analyzed the mistakes done and then we corrected them.
THEN, we prepared the project format as shown above. THANKS TO
ALL OF WORTHY TEACHERS AND PRINCIPAL AND MY DEAR
GROUP MATES ALSO A GREAT THANKS TO S R GLOBAL SCHOOL
FOR PROVIDING US THIS GOLDEN OPPORTUNITY …..
System Requirements of the Project

Recommended System Requirements

Processors: Intel® Core™ i3 processor 4300M at 2.60


GHz.
Disk space: 2 to 4 GB.
Operating systems: Windows® 11, MACOS, and
UBUNTU.
Python Version: 3.11.2 .
Minimum System Requirements
Processors: Intel Atom® processor or Intel® Core™ i3
processor.
Disk space: 1 GB.
Operating systems: Windows 7 or later, MACOS, and
UBUNTU.
Python Version: 3.11.2
References

1. Code Academy

2. tutorialsPoint.com

3. PythonChallenge.com

4. Google’s Python Class

5. LearnPython.org
Source Code in Python
class HotelManagement: def init (self):
self.customers = {} # Dictionary to store customer details (room_number -> customer_info)

self.party_bookings = [] # List to store party booking details

self.total_rooms = 20 # Total rooms in the hotel

self.rooms = ['Available'] * self.total_rooms

self.food_menu = {

'Soup': 50,

'Burger': 100,

'Pizza': 200,

'Noodles': 80,

'Meal': 250,

'Special Meal': 300

self.room_types = {

'Standard': 2000,

'Deluxe': 3000,

'Suite': 5000,

'Classic': 6000

def book_room(self):

print("\nBooking a Room...")

try:

room_number = int(input("Enter room number to book (1-20): ")) - 1

if room_number < 0 or room_number >= self.total_rooms:

print("Invalid room number! Please enter a number between 1 and 20.")

return

if self.rooms[room_number] != 'Available':

print("Room is already booked!")

return
print("\n--- Room Types ---")

for idx, (room_type, price) in enumerate(self.room_types.items(), 1):

print(f"{idx}. {room_type} - Rs. {price} per day")

try:

room_choice = int(input("Select room type (1-4): "))

if room_choice < 1 or room_choice > 4:

print("Invalid choice! Please select a valid room type.")

return

selected_room_type = list(self.room_types.keys())[room_choice - 1]

room_price = self.room_types[selected_room_type]

except ValueError:

print("Invalid input! Please enter a number between 1 and 4.")

return

name = input("Enter customer name: ").strip()

age = input("Enter customer age: ").strip()

phone = input("Enter customer phone: ").strip()

dob = input("Enter customer date of birth (DD/MM/YYYY): ").strip()

print("\n--- Identification Options ---")

print("1. Aadhar Card\n2. PAN Card\n3. Voter ID")

try:

id_choice = int(input("Select ID type (1-3): "))

if id_choice < 1 or id_choice > 3:

print("Invalid choice! Please select a valid option.")

return

id_type = ["Aadhar Card", "PAN Card", "Voter ID"][id_choice - 1]

id_number = input(f"Enter {id_type} number: ").strip()

except ValueError:

print("Invalid input! Please enter a number between 1 and 3.")


return

try:

booking_days = int(input("Enter the number of days for booking: "))

if booking_days <= 0:

print("Booking days must be greater than 0.")

return

total_room_cost = room_price * booking_days

except ValueError:

print("Invalid input! Please enter a valid number of days.")

return

self.rooms[room_number] = 'Booked'

self.customers[room_number] = {

'name': name,

'age': age,

'phone': phone,

'dob': dob,

'id_type': id_type,

'id_number': id_number,

'room_type': selected_room_type,

'booking_days': booking_days,

'bill': total_room_cost

}
print(f"Room {room_number + 1} ({selected_room_type}) booked successfully for {name}!")

print(f"Total cost for {booking_days} days: Rs. {total_room_cost}")

except ValueError:

print("Invalid input! Please enter a valid room number.")

def modify_customer(self):
print("\nModifying Customer Details...")

try:

room_number = int(input("Enter room number to modify details (1-20): ")) - 1

if room_number not in self.customers:

print("No customer found in this room!")

return

print("Current Details:", self.customers[room_number])

name = input("Enter new name (leave blank to keep current): ").strip()

age = input("Enter new age (leave blank to keep current): ").strip()

phone = input("Enter new phone (leave blank to keep current): ").strip()

if name:

self.customers[room_number]['name'] = name

if age:

self.customers[room_number]['age'] = age

if phone:

self.customers[room_number]['phone'] = phone

print("Customer details updated successfully!")

except ValueError:

print("Invalid input! Please enter a valid room number.")

def search_customer(self):

print("\nSearching for a Customer...")

name = input("Enter customer name to search: ").strip()

found = False

for room, details in self.customers.items():

if details['name'].lower() == name.lower():

print(f"Customer found in room {room + 1}: {details}")

found = True
if not found:

print("No customer found with this name!")

def list_all_customers(self):

print("\nListing All Customers...")

if not self.customers:

print("No customers in the hotel!")

return

for room, details in self.customers.items():

print(f"Room {room + 1}: {details}")

def book_party(self):

print("\nBooking a Party...")

venue_options = ['Jupiter Hall', 'Bar']

print("\n--- Venue Options ---")

for idx, venue in enumerate(venue_options, 1):

print(f"{idx}. {venue}")

try:

venue_choice = int(input("Select a venue (1 for Jupiter Hall, 2 for Bar): "))

if venue_choice not in [1, 2]:

print("Invalid choice! Please select 1 or 2.")

return

selected_venue = venue_options[venue_choice - 1]

except ValueError:

print("Invalid input! Please enter 1 or 2.")

return

try:

num_people = int(input("Enter the number of people attending the party: "))

if num_people <= 0:

print("Number of people must be greater than 0.")


return

except ValueError:

print("Invalid input! Please enter a valid number.")

return

print("\n--- Food Menu ---")

for item, price in self.food_menu.items():

print(f"{item}: Rs. {price}")

total_food_cost = 0

selected_items = []

while True:

food_item = input("\nEnter a food item to include in the party (or type 'done' to finish):
").title()
if food_item == 'Done':

break

if food_item not in self.food_menu:

print("Invalid item! Please choose from the menu.")

continue

try:

quantity = int(input(f"Enter the quantity of {food_item}: "))

if quantity <= 0:

print("Quantity must be greater than 0.")

continue

total_food_cost += self.food_menu[food_item] * quantity

selected_items.append((food_item, quantity))

print(f"Added {quantity} x {food_item}. Total cost so far: Rs. {total_food_cost}")

except ValueError:

print("Invalid input! Please enter a valid quantity.")

if selected_items:
total_cost = total_food_cost * num_people

self.party_bookings.append({

'venue': selected_venue,

'num_people': num_people,

'food_items': selected_items,

'total_cost': total_cost

})

print(f"\nParty booked successfully at {selected_venue}!")

print(f"Number of people: {num_people}")

print(f"Food items: {selected_items}")

print(f"Total cost: Rs. {total_cost}")

else:

print("No food items selected. Party booking not completed.")

def order_food(self):

print("\nOrdering Food...")

try:

room_number = int(input("Enter room number to order food (1-20): ")) - 1

if room_number not in self.customers:

print("No customer found in this room!")

return

print("\n--- Food Menu ---")

for item, price in self.food_menu.items():

print(f"{item}: Rs. {price}")

total_cost = 0

while True:
food_item = input("\nEnter the food item to order (or type 'done' to finish): ").title()

if food_item == 'Done':

break

if food_item not in self.food_menu:


print("Invalid item! Please choose from the menu.")

continue

try:

quantity = int(input(f"Enter quantity for {food_item}: "))

total_cost += self.food_menu[food_item] * quantity

print(f"Added {quantity} x {food_item} to the order. Total so far: Rs. {total_cost}")

except ValueError:

print("Invalid input! Please enter a valid quantity.")

if total_cost > 0:

self.customers[room_number]['bill'] += total_cost

print(f"\nOrder placed successfully! Rs. {total_cost} added to the bill.")

print(f"Total bill for Room {room_number + 1}: Rs. {self.customers[room_number]['bill']}")

else:

print("No items were ordered.")

except ValueError:

print("Invalid input! Please enter a valid room number.")

def display_party_bookings(self):

print("\nDisplaying All Party Bookings...")

if not self.party_bookings:

print("No party bookings yet!")

return

for i, party in enumerate(self.party_bookings, 1):

print(f"Party {i}: {party}")

def pay_bill(self):

print("\nPaying Bill...")

try:

room_number = int(input("Enter room number to pay bill (1-20): ")) - 1

if room_number not in self.customers:


print("No customer found in this room!")

return

print(f"Current bill: Rs. {self.customers[room_number]['bill']}")

amount = int(input("Enter amount to pay: "))

if amount > self.customers[room_number]['bill']:

print("Payment amount exceeds the total bill. Please enter a valid amount.")

return

print("\nSelect Payment Mode:")

payment_modes = ["Cash", "Online", "Card", "Cheque"]

for idx, mode in enumerate(payment_modes, 1):

print(f"{idx}. {mode}")

while True:

try:

choice = int(input("Enter your choice (1-4): "))

if choice < 1 or choice > 4:

print("Invalid choice! Please select a valid option.")

else:

payment_mode = payment_modes[choice - 1]

break

except ValueError:

print("Invalid input! Please enter a number between 1 and 4.")

self.customers[room_number]['bill'] -= amount

print(f"Payment of Rs. {amount} via {payment_mode} successful.")

print(f"Remaining bill for Room {room_number + 1}: Rs.


{self.customers[room_number]['bill']}")

except ValueError:
print("Invalid input! Please enter a valid number.")

def checkout_customer(self):

print("\nChecking Out Customer...")

try:

room_number = int(input("Enter room number for checkout (1-20): ")) - 1

if room_number not in self.customers:

print("No customer found in this room!")

return

print(f"Customer {self.customers[room_number]['name']} checked out. Total bill: Rs.


{self.customers[room_number]['bill']}")

del self.customers[room_number]

self.rooms[room_number] = 'Available'

except ValueError:

print("Invalid input! Please enter a valid room number.")

def delete_customer(self):

print("\nDeleting Customer...")

try:

room_number = int(input("Enter room number to delete customer (1-20): ")) - 1

if room_number not in self.customers:

print("No customer found in this room!")

return

del self.customers[room_number]

self.rooms[room_number] = 'Available'

print(f"Customer from room {room_number + 1} deleted successfully!")

except ValueError:

print("Invalid input! Please enter a valid room number.")

def menu(self):

while True:
print("\n=== Hotel Management System ===")

print("1. Book Room")

print("2. Modify Existing Customer")

print("3. Search Customer")

print("4. List All Customers")

print("5. Book a Party")

print("6. Order Food")

print("7. Display Party Bookings")

print("8. Pay Bill")

print("9. Check Out Customer")

print("10. Delete Existing Customer")

print("11. Exit")

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

except ValueError:

print("Invalid input! Please enter a number.")

continue

if choice == 1:

self.book_room()

elif choice == 2:

self.modify_customer()

elif choice == 3:

self.search_customer()

elif choice == 4:

self.list_all_customers()

elif choice == 5:

self.book_party()

elif choice == 6:

self.order_food()

elif choice == 7:
self.display_party_bookings()

elif choice == 8:

self.pay_bill()

elif choice == 9:

self.checkout_customer()

elif choice == 10:

self.delete_customer()

elif choice == 11:

print("Exiting the system. Goodbye!")

break

else:

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

if name == " main ":

hotel = HotelManagement()

hotel.menu()
Screenshot
• Main menu

• Booking of Room
• Modify Existing Customer
• Search Customer

• List All Customer


• Book a Party
• Order Food
• Display Party Booking

• Pay Bill
• Check Out Customer

• Delete Existing Customer

• Exit
ADVANTAGES

Smoother Operations
- Automates tasks, reducing manual labor and minimizing errors

- Faster operations mean quicker booking, check-in, and other tasks

- Staff can focus on more important tasks, boosting productivity

Happy Customers
- Easy booking and check-in processes reduce wait times

- Quick access to customer info enables personalized service

- Efficient food ordering and delivery make for a better guest experience

Informed Decision-Making
- Real-time data on room availability, bookings, and sales

- Analyze customer behavior, preferences, and sales trends to make data-driven decisions

- Improve hotel operations and services with actionable insights

Cost Savings and Revenue Growth


- Reduce administrative costs by minimizing manual labor and paperwork

- Optimize room bookings, party bookings, and food orders to maximize revenue

- Improve inventory management to reduce waste and costs

Security and Reliability


- Secure data storage protects customer info and hotel data

- Reliable operations ensure smooth sailing even during peak periods

- Easy backup and recovery in case of system failures

Stay Ahead of the Competition


- Demonstrate a commitment to modernizing hotel operations

- Enhance customer satisfaction, leading to loyalty and positive reviews

- Gain a competitive edge that sets your hotel apart from the rest
LIMITATIONS

1. Technical Issues: The system may be prone to technical issues, such as


software glitches or hardware failures, which can disrupt hotel operations.

2. Training and Support: Hotel staff may require extensive training to


effectively use the system, which can be time-consuming and costly. Ongoing
support and maintenance may also be necessary.

3. Data Security Risks: The system may be vulnerable to data security risks,
such as hacking or data breaches, which can compromise sensitive customer
information and hotel data.
Output Screen

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy