Design Meeting Room Booking

Medium45 min
1 / 30
understanding6 min read

Problem Statement & Workplace Booking Context

Meeting Room Booking — Problem Statement & Workplace Booking Context

Problem Statement & Workplace Booking Context

Enterprise meeting room booking sits between personal calendar scheduling and physical workplace operations. Employees need trustworthy availability on floor maps, instant confirmation when grabbing a room for the next thirty minutes, and policies that auto-release ghost reservations when nobody checks in. Robin, Envoy, and Google Workspace resource calendars all solve variants of this problem—the interview tests whether you can prevent double-booking under concurrent clicks while keeping door panels fresh within seconds.

Design anchors (sec-001)

  • room resource: tie to measurable SLO or invariant for room booking.
  • occupancy truth: tie to measurable SLO or invariant for room booking.
  • Robin-style panel: tie to measurable SLO or invariant for room booking.
  • building floor plan: tie to measurable SLO or invariant for room booking.

Deep dive

Concurrent bookings on the same room_id must fail fast with HTTP 409—never rely on read-then-write without exclusion constraints. Door panels consume compact deltas; if the outbox relay stalls, show a stale ribbon rather than guessing FREE. Calendar sync mirrors resource mailboxes; personal attendee invites are best-effort after local commit succeeds.

Operational note

Track booking_commit_latency p99, auto_release_total, and panel_staleness_seconds. Page when overlap constraint violations appear in logs—signals an application path bypassing the transaction template.

javaOne Dark Pro
1public enum ReservationStatus { HELD, CONFIRMED, RELEASED, CANCELLED }
pythonOne Dark Pro
1from datetime import datetime, timezone
2
3def to_utc(dt: datetime) -> datetime:
4 return dt.astimezone(timezone.utc)
typescriptOne Dark Pro
1export interface BookRequest {
2 roomId: string;
3 startUtc: string;
4 endUtc: string;
5 idempotencyKey: string;
6}

Why interviewers care

Meeting Room Booking interviews reward crisp scope, explicit trade-offs, and failure stories—not generic microservice diagrams.

Interview checkpoint

Name one failure story for Problem Statement & Workplace Booking Context that proves you understand real outages, not happy-path diagrams.

Key Highlights

  • room resource: room-booking interview anchor
  • occupancy truth: room-booking interview anchor
  • Robin-style panel: room-booking interview anchor
  • building floor plan: room-booking interview anchor
Pro tip
Lead with room resource before naming cloud services.
Interviewer loves
Quantify read:write skew and cite zero double-book SLO with enforcement mechanism.

Section Rescue Kit

Buzzwords to use:

Exclusion ConstraintHold-Release Sweep

Safe statements:

  • "If Problem Statement & Workplace Booking Context gets pushback, I restate invariants: UTC storage, room-level overlap safety, and outbox-driven panels."
  • "I can pivot to calendar sync edge cases while keeping room resource in scope."
Design Meeting Room Booking - System Design | WinJob | WinJob