Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from PremiumCustomer import PremiumCustomer
- from StandardCustomer import StandardCustomer
- from reservation import Reservation
- print("Welcome to Lemon Tree Hotel Reservation System")
- # List to store all reservations
- Reservation_list = []
- # Function to enter a new reservation
- def enter_reservation():
- first_name = input("Enter the first name: ")
- last_name = input("Enter the last name: ")
- mobile_number = input("Enter the mobile number: ")
- email = input("Enter the email: ")
- age = int(input("Enter the age: "))
- address = input("Enter the address: ")
- profile = input("Enter the profile type S = Standard or P = Premium: ")
- purpose = input("Enter purpose (Leisure or Business): ")
- room_type = input("Enter room type (Single or Double): ")
- num_rooms = int(input("Enter the number of rooms needed: "))
- checkin = input("Enter the check-in date (DD-MM-YYYY): ")
- checkout = input("Enter the check-out date (DD-MM-YYYY): ")
- status = "Active"
- if profile == "S":
- customer = StandardCustomer(first_name, last_name, mobile_number, email, address, age, "Standard")
- elif profile == "P":
- customer = PremiumCustomer(first_name, last_name, mobile_number, email, address, age, "Premium")
- else:
- customer = None
- # Create a Reservation object and link it to the customer
- reservation = Reservation(checkin, checkout, room_type, num_rooms, purpose, customer)
- reservation.set_status(status)
- # Add the reservation to the Reservation list
- Reservation_list.append(reservation)
- print("Reservation successfully added!\n")
- # Function to print all reservations
- def print_all_reservations():
- if not Reservation_list:
- print("No reservations found.")
- else:
- for idx, reservation in enumerate(Reservation_list, start=1):
- print(f"\nReservation {idx}:")
- print(f"Customer: {reservation.get_customer().get_first_name()} {reservation.get_customer().get_last_name()}")
- print(f"Check-in Date: {reservation.get_checkin_date()}")
- print(f"Check-out Date: {reservation.get_checkout_date()}")
- print(f"Room Type: {reservation.get_room_type()}")
- print(f"Number of Rooms: {reservation.get_num_rooms()}")
- print(f"Purpose: {reservation.get_purpose()}")
- print(f"Status: {reservation.get_status()}")
- # Function to cancel a reservation
- def cancel_reservation():
- if not Reservation_list:
- print("No reservations available to cancel.")
- else:
- print_all_reservations()
- try:
- reservation_number = int(input("\nEnter the reservation number you want to cancel: "))
- if 1 <= reservation_number <= len(Reservation_list):
- # Set the status of the selected reservation to "Cancelled"
- Reservation_list[reservation_number - 1].set_status("Cancelled")
- print(f"Reservation {reservation_number} has been successfully cancelled.")
- else:
- print("Invalid reservation number. Please try again.")
- except ValueError:
- print("Invalid input. Please enter a valid reservation number.")
- # Menu-driven program
- while True:
- print("\nOptions:")
- print("1. Enter Reservation")
- print("2. Print All Reservations")
- print("3. Cancel a Reservation")
- print("4. Exit")
- try:
- option = int(input("Choose an option: "))
- if option == 1:
- enter_reservation()
- elif option == 2:
- print_all_reservations()
- elif option == 3:
- cancel_reservation()
- elif option == 4:
- print("Exiting the system. Thank you!")
- break
- else:
- print("Invalid option. Please choose a valid option.")
- except ValueError:
- print("Invalid input. Please enter a valid number.")
Advertisement