Skip to content

Appointment Lifecycle

Overview

Appointments progress through a well-defined lifecycle.

Each state represents a specific stage in the consultation journey.


Lifecycle Diagram

stateDiagram-v2

    [*] --> Pending

    Pending --> Confirmed

    Pending --> Cancelled

    Confirmed --> Rescheduled

    Rescheduled --> Confirmed

    Confirmed --> Completed

    Confirmed --> Cancelled

    Completed --> [*]

    Cancelled --> [*]
Hold "Alt" / "Option" to enable pan & zoom

Pending

Appointment request has been created but not finalized.


Confirmed

The appointment slot has been reserved.

Patients and providers may prepare for consultation.


Rescheduled

The appointment has been moved to another slot.


Completed

The consultation has concluded successfully.


Cancelled

The appointment is no longer active.

Availability is returned to the scheduling system.


Lifecycle Events

flowchart LR

    CREATED["appointment.created"]

    CONFIRMED["appointment.confirmed"]

    RESCHEDULED["appointment.rescheduled"]

    CANCELLED["appointment.cancelled"]

    COMPLETED["appointment.completed"]
Hold "Alt" / "Option" to enable pan & zoom

These events are published through Kafka using the Transactional Outbox pattern.