Design a Doctor Appointment Booking System for Sudden Demand

Read the full interview experience this question came from →

Quick Overview

Design a doctor appointment system with searchable availability, atomic booking, cancellation, and protection against double booking. The follow-up examines a vaccine-demand spike through waiting-room admission, fairness, throttling, hot-slot partitioning, caching, autoscaling, load shedding, and reconciliation.

Design a Doctor Appointment Booking System for Sudden Demand

Company: Garner Health

Role: Software Engineer

Category: System Design

Difficulty: medium

Interview Round: Technical Screen

# Design a Doctor Appointment Booking System for Sudden Demand Design a system where patients search for doctors, view available time slots, book appointments, and cancel bookings. Doctors or authorized staff manage schedules and blocked time. The system must prevent two patients from booking the same slot. As a follow-up, a new vaccine becomes available and demand for a limited set of appointments rises sharply in a short period. ### Clarifying Questions to Ask - Are appointments fixed slots, arbitrary time ranges, recurring schedules, or a combination? - Can a visit require multiple resources such as a clinician, room, and equipment? - Is availability allowed to be slightly stale, and what confirmation guarantee does booking provide? - Are waitlists, rescheduling, eligibility, reminders, and payment in scope? - What traffic increase and geographic distribution should the vaccine launch assume? ### What a Strong Answer Covers - Patient, clinician, location, schedule rule, slot, hold or booking, and cancellation entities. - Search and availability read paths plus an authoritative booking write path. - Unique constraints or conditional writes, idempotency, transactions, and cancellation races. - Cache invalidation, read replicas, partitioning, queues, throttling, admission control, and autoscaling. - A plan for hot vaccine slots that preserves fairness and does not oversell capacity. - Monitoring, failure recovery, and explicit consistency semantics. ### Follow-up Questions 1. How do you stop a stale cached availability result from causing a double booking? 2. How would you implement a fair waiting room for a small number of vaccine appointments? 3. What happens if a cancellation and a booking request race for the same slot? 4. How would you support an appointment requiring both a doctor and a room?

Overview: Design a doctor appointment system with searchable availability, atomic booking, cancellation, and protection against double booking. The follow-up examines a vaccine-demand spike through waiting-room admission, fairness, throttling, hot-slot partitioning, caching, autoscaling, load shedding, and reconciliation.

Read the full Garner Health Software Engineer interview experience this question came from

|Home/System Design/Garner Health
Garner Health logo
Garner Health
Apr 9, 2026
mediumSoftware EngineerTechnical ScreenSystem Design
1
0

Design a Doctor Appointment Booking System for Sudden Demand

Design a system where patients search for doctors, view available time slots, book appointments, and cancel bookings. Doctors or authorized staff manage schedules and blocked time.

The system must prevent two patients from booking the same slot. As a follow-up, a new vaccine becomes available and demand for a limited set of appointments rises sharply in a short period.

Clarifying Questions to Ask Guidance

  • Are appointments fixed slots, arbitrary time ranges, recurring schedules, or a combination?
  • Can a visit require multiple resources such as a clinician, room, and equipment?
  • Is availability allowed to be slightly stale, and what confirmation guarantee does booking provide?
  • Are waitlists, rescheduling, eligibility, reminders, and payment in scope?
  • What traffic increase and geographic distribution should the vaccine launch assume?

What a Strong Answer Covers Guidance

  • Patient, clinician, location, schedule rule, slot, hold or booking, and cancellation entities.
  • Search and availability read paths plus an authoritative booking write path.
  • Unique constraints or conditional writes, idempotency, transactions, and cancellation races.
  • Cache invalidation, read replicas, partitioning, queues, throttling, admission control, and autoscaling.
  • A plan for hot vaccine slots that preserves fairness and does not oversell capacity.
  • Monitoring, failure recovery, and explicit consistency semantics.

Follow-up Questions Guidance

  1. How do you stop a stale cached availability result from causing a double booking?
  2. How would you implement a fair waiting room for a small number of vaccine appointments?
  3. What happens if a cancellation and a booking request race for the same slot?
  4. How would you support an appointment requiring both a doctor and a room?

Submit Your Answer to Earn 20XP

Sign in to leave a comment

Loading comments...