Design: Booking Conflict Resolution System
Design focuses on booking conflict detection and resolution logic, API design, and data model. User interface and payment integration are out of scope.
Functional Requirements
FR1: Allow users to create bookings for resources (e.g., rooms, equipment) with start and end times
FR2: Prevent overlapping bookings for the same resource
FR3: Support concurrent booking requests without conflicts
FR4: Provide immediate feedback if a booking conflicts with existing bookings
FR5: Allow users to view existing bookings for a resource
FR6: Support cancellation and modification of bookings
Non-Functional Requirements
NFR1: Handle up to 1000 concurrent booking requests
NFR2: API response time p99 under 200ms for booking creation
NFR3: System availability 99.9% uptime
NFR4: Data consistency to prevent double bookings