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

Complete & continue

Defend it out loud

The AI interviewer will probe your design for Meeting Room Scheduler and score it.

Mock interview