Meeting Room Scheduler
Book rooms for time slots without conflicts and suggest available rooms.
Medium40 minInterval overlapLockingCalendar
Design a meeting room booking system for an office: find free rooms for a time slot, book without conflicts, and handle recurring meetings and cancellations. The core is interval-overlap logic and making "check availability then book" atomic.
Requirements
Functional
- Rooms have a name, capacity, floor, and amenities (projector, VC).
- Users search for rooms available in a time slot with minimum capacity and amenities.
- Book a room for a slot; reject if it overlaps an existing booking.
- Cancel a booking; organiser-only.
- Recurring meetings (daily/weekly) with a series ID; cancel one occurrence or the whole series.
- Invitees receive notifications; organiser can add/remove invitees.
Non-functional
- No double booking under concurrent requests.
- Availability search fast for ~500 rooms and a few weeks of bookings.
- Times stored in UTC; displayed in the user's timezone.
Try it first
Set a timer, sketch your own design on paper, then compare it with the reference walkthrough.
40:00
Defend it out loud
The AI interviewer will probe your design for Meeting Room Scheduler and score it.