Project Question: Hotel Booking System
☰Fullscreen
Table of Content:
Objective:
Design and implement a hotel booking system that calculates the total bill for customers based on their membership type, room type, and the duration of their stay. The system should provide discounts based on the membership type and room type selected by the customer.
Requirements:
-
User Inputs:
- Customer Name
- Membership Code (1 for Gold, 2 for Diamond, 3 for Platinum)
- Room Type ("Deluxe" or "Super Deluxe")
- Number of Rooms
- Number of Days
-
Membership Discounts:
- Gold Membership: Deluxe Room @5%, Super Deluxe @10%
- Diamond Membership: Deluxe Room @15%, Super Deluxe @20%
- Platinum Membership: Deluxe Room @25%, Super Deluxe @30%
-
Room Tariffs:
- Deluxe Room: Rs. 2500 per day
- Super Deluxe Room: Rs. 4200 per day
-
Calculations:
- Calculate the total bill amount based on the room type, number of rooms, and number of days.
- Apply the appropriate discount based on the membership type and room type.
- Calculate the net payable amount after applying the discount.
-
Output:
- Display a welcome message.
- Display the customer name and membership details.
- Display the chosen room type and the corresponding discount rates.
- Display the detailed tariff including:
- Tariff per day
- Number of rooms
- Number of days
- Total bill amount
- Seasonal discount
- Net payable amount
Welcome to Hotel Dream Land Customer Name: Rumman Ansari Membership Code: 2 Dear Rumman Ansari, you opted for a Diamond Membership. Here are the Diamond membership Seasonal Discount rates: Deluxe Room @15% Super Deluxe @20% You have chosen Deluxe Rooms. Tariff Detail Tariff Per Day: 2500 Number of Rooms: 2 Number of Days: 5 Bill Amount: Rs.25000 Seasonal Discount: Rs.3750 Net Payable Amount: Rs.21250
Additional Features (Optional):
-
Input Validation:
- Validate the membership code to ensure it is within the correct range (1, 2, or 3).
- Validate the room type to ensure it is either "Deluxe" or "Super Deluxe".
- Ensure the number of rooms and number of days are positive integers.
-
Exception Handling:
- Handle cases where the inputs are incorrect or invalid and prompt the user to enter the correct information.
-
Graphical User Interface (GUI):
- Implement a simple GUI for the hotel booking system to make it user-friendly.
-
Database Integration:
- Store the customer details and booking information in a database for record-keeping and future reference.
Submission Guidelines:
- Submit the source code of the program.
- Provide documentation explaining the design and implementation of the system.
- Include sample input and output screenshots or console logs.
- If any additional features are implemented, explain them in the documentation.
This project will help you understand the fundamentals of object-oriented programming, input validation, and basic arithmetic operations in Java.