Skip to content

Appointment Blocking

Overview

Appointment Blocking prevents double-booking of provider availability.

When an appointment is confirmed, the corresponding time range becomes unavailable.


Blocking Workflow

sequenceDiagram

    participant Patient

    participant AppointmentService

    participant ScheduleService

    Patient->>AppointmentService: Book Appointment

    AppointmentService->>ScheduleService: Block Slot

    ScheduleService-->>AppointmentService: Slot Reserved
Hold "Alt" / "Option" to enable pan & zoom

Blocking Model

flowchart LR

    SLOT["Available Slot"]

    APPT["Appointment"]

    BLOCK["Blocked Slot"]

    SLOT --> APPT

    APPT --> BLOCK
Hold "Alt" / "Option" to enable pan & zoom

Availability Impact

flowchart LR

    AVAILABILITY["Availability"]

    APPOINTMENT["Confirmed Appointment"]

    EFFECTIVE["Effective Availability"]

    AVAILABILITY --> EFFECTIVE

    APPOINTMENT --> EFFECTIVE
Hold "Alt" / "Option" to enable pan & zoom

Example

Availability:
09:00 - 17:00

Appointment:
10:00 - 10:30

Effective Availability:
09:00 - 10:00
10:30 - 17:00

Design Principles

  • Prevent double-booking.
  • Support appointment cancellation.
  • Support appointment rescheduling.
  • Recalculate availability after state changes.