Meeting room booking for a company office

DesignEasy25 min

Your task

Your company's office has 600 people and 40 meeting rooms. People book rooms in a shared spreadsheet today, and two teams often turn up for the same room. You are building a booking tool to replace it.

A booking names a room, a start time and an end time, in 15-minute steps. Meetings last from 15 minutes to 8 hours and can be booked up to 60 days ahead. The office makes about 400 bookings a day, and many people book at 9:55 for a meeting at 10:00. A tablet outside each room lets people check in. If nobody checks in within 10 minutes of the start, the booking is cancelled and the room is free again.

Two bookings for one room must never overlap. What do you store, and what does a booking request do so that two people booking at the same moment cannot both win?

It covers

  • Overlap checks
  • Exclusion constraints
  • No shows