code+screenshot+advantage+limitation
code+screenshot+advantage+limitation
3. Advantages.
4. Limitations.
6. Python Coding.
7. Output Screen
8. References.
Introduction of the Project
1. Code Academy
2. tutorialsPoint.com
3. PythonChallenge.com
5. LearnPython.org
Source Code in Python
class HotelManagement: def init (self):
self.customers = {} # Dictionary to store customer details (room_number -> customer_info)
self.food_menu = {
'Soup': 50,
'Burger': 100,
'Pizza': 200,
'Noodles': 80,
'Meal': 250,
self.room_types = {
'Standard': 2000,
'Deluxe': 3000,
'Suite': 5000,
'Classic': 6000
def book_room(self):
print("\nBooking a Room...")
try:
return
if self.rooms[room_number] != 'Available':
return
print("\n--- Room Types ---")
try:
return
selected_room_type = list(self.room_types.keys())[room_choice - 1]
room_price = self.room_types[selected_room_type]
except ValueError:
return
try:
return
except ValueError:
try:
if booking_days <= 0:
return
except ValueError:
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}!")
except ValueError:
def modify_customer(self):
print("\nModifying Customer Details...")
try:
return
if name:
self.customers[room_number]['name'] = name
if age:
self.customers[room_number]['age'] = age
if phone:
self.customers[room_number]['phone'] = phone
except ValueError:
def search_customer(self):
found = False
if details['name'].lower() == name.lower():
found = True
if not found:
def list_all_customers(self):
if not self.customers:
return
def book_party(self):
print("\nBooking a Party...")
print(f"{idx}. {venue}")
try:
return
selected_venue = venue_options[venue_choice - 1]
except ValueError:
return
try:
if num_people <= 0:
except ValueError:
return
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
continue
try:
if quantity <= 0:
continue
selected_items.append((food_item, quantity))
except ValueError:
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
})
else:
def order_food(self):
print("\nOrdering Food...")
try:
return
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
continue
try:
except ValueError:
if total_cost > 0:
self.customers[room_number]['bill'] += total_cost
else:
except ValueError:
def display_party_bookings(self):
if not self.party_bookings:
return
def pay_bill(self):
print("\nPaying Bill...")
try:
return
print("Payment amount exceeds the total bill. Please enter a valid amount.")
return
print(f"{idx}. {mode}")
while True:
try:
else:
payment_mode = payment_modes[choice - 1]
break
except ValueError:
self.customers[room_number]['bill'] -= amount
except ValueError:
print("Invalid input! Please enter a valid number.")
def checkout_customer(self):
try:
return
del self.customers[room_number]
self.rooms[room_number] = 'Available'
except ValueError:
def delete_customer(self):
print("\nDeleting Customer...")
try:
return
del self.customers[room_number]
self.rooms[room_number] = 'Available'
except ValueError:
def menu(self):
while True:
print("\n=== Hotel Management System ===")
print("11. Exit")
try:
choice = int(input("Enter your choice: "))
except ValueError:
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()
self.delete_customer()
break
else:
hotel = HotelManagement()
hotel.menu()
Screenshot
• Main menu
• Booking of Room
• Modify Existing Customer
• Search Customer
• Pay Bill
• Check Out Customer
• Exit
ADVANTAGES
Smoother Operations
- Automates tasks, reducing manual labor and minimizing errors
Happy Customers
- Easy booking and check-in processes reduce wait times
- 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
- Optimize room bookings, party bookings, and food orders to maximize revenue
- Gain a competitive edge that sets your hotel apart from the rest
LIMITATIONS
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