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.")
Comments
0 B
|👍
/👎