Design: Hotel Booking System
Design focuses on core classes and their relationships for hotel, room, and booking management. Payment processing, user authentication, and UI are out of scope.
Functional Requirements
FR1: Allow creation and management of hotels with multiple rooms
FR2: Support room types and availability tracking
FR3: Enable customers to book rooms for specific dates
FR4: Prevent double booking of the same room for overlapping dates
FR5: Allow cancellation and modification of bookings
Non-Functional Requirements
NFR1: Support up to 10,000 hotels and 100,000 rooms
NFR2: Booking operations should respond within 200ms
NFR3: System availability target is 99.9%
NFR4: Data consistency is important for booking operations