You are on page 1of 4

CS PROJECT

import csv

class Hotel:

def __init__(self):

self.rooms = {}

self.load_rooms()

def load_rooms(self):

try:

with open('rooms.csv', 'r') as file:

rooms = csv.reader(file)

for room in rooms:

self.rooms[int(room[0])] = room[1:]

except FileNotFoundError:

pass

def save_rooms(self):

with open('rooms.csv', 'w') as file:

writer = csv.writer(file)

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

writer.writerow([room] + details)

def create_room(self, room_number, room_price):

if room_number in self.rooms:

print("Room already exists!")


else:

self.rooms[room_number] = [room_price, '', '', '', '', '']

print("Room created successfully!")

def book_room(self, room_number, name, contact, email, check_in, check_out):

if room_number not in self.rooms:

print("Room does not exist!")

elif self.rooms[room_number][1] != '':

print("Room already booked!")

else:

self.rooms[room_number] = [self.rooms[room_number][0], name, contact, email, check_in,


check_out]

print("Room booked successfully!")

def calculate_bill(self, room_number):

if room_number not in self.rooms:

print("Room does not exist!")

elif self.rooms[room_number][1] == '':

print("Room not booked!")

else:

check_in = self.rooms[room_number][4].split('/')

check_out = self.rooms[room_number][5].split('/')

stay_days = int(check_out[0]) - int(check_in[0])

bill = stay_days * float(self.rooms[room_number][0])

print(f"Total bill for room {room_number}: {bill}")

def display_vacant_rooms(self):

print("Vacant Rooms:")

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


if details[1] == '':

print(f"Room number: {room}, Price: {details[0]}")

def main():

hotel = Hotel()

while True:

print("\n=======================================")

print(" Welcome to Ray Hotels Inc.")

print("=======================================")

print("1. Create room")

print("2. Book room")

print("3. Calculate bill")

print("4. Display Vacant Rooms")

print("5. Exit")

print("=======================================")

option = int(input("Enter option: "))

if option == 1:

room_number = int(input("Enter room number: "))

room_price = input("Enter room price: ")

hotel.create_room(room_number, room_price)

elif option == 2:

room_number = int(input("Enter room number: "))

name = input("Enter your name: ")

contact = input("Enter your contact number: ")

email = input("Enter your email: ")

check_in = input("Enter check-in date (DD/MM/YYYY): ")

check_out = input("Enter check-out date (DD/MM/YYYY): ")

hotel.book_room(room_number, name, contact, email, check_in, check_out)

elif option == 3:
room_number = int(input("Enter room number: "))

hotel.calculate_bill(room_number)

elif option == 4:

hotel.display_vacant_rooms()

elif option == 5:

hotel.save_rooms()

break

else:

print("Invalid option!")

if __name__ == "__main__":

main()

You might also like