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.