Here’s an example of a State Diagram for a reservation system object. This illustrates the states that a reservation can move through and the transitions triggered by events or actions.
stateDiagram-v2
state "Pending" as Pending
state "Confirmed" as Confirmed
state "Cancelled" as Cancelled
state "Completed" as Completed
%% State Transitions
Pending --> Confirmed: Payment Received
Pending --> Cancelled: Customer Cancels
Confirmed --> Cancelled: Customer Cancels
Confirmed --> Completed: Reservation Period Ends
Cancelled --> Pending: Reopen Request
Explanation of States and Transitions:
States:
- Pending: The reservation is created but waiting for confirmation (e.g., payment).
- Confirmed: The reservation is confirmed and secured.
- Cancelled: The reservation is canceled by the customer or due to non-payment.
- Completed: The reservation period has ended successfully.
Transitions:
- From Pending to Confirmed: Triggered when the customer completes payment.
- From Pending to Cancelled: Occurs if the customer cancels before confirmation.
- From Confirmed to Cancelled: Happens if the customer decides to cancel after confirmation.
- From Confirmed to Completed: Represents the natural progression after the reservation period ends.
- From Cancelled to Pending: Optionally triggered if the customer requests reopening the reservation.