Skip to content

Exchange Lifecycle

Models the lifecycle of a Product Exchange — the process by which a customer returns a purchased item and receives a replacement item of equal or different value. An exchange differs from a return in that a replacement product is provided rather than a monetary refund.

Object: exchange · States: 7 · Transitions: 8


State Diagram

flowchart LR

    %% ── classDef palette ─────────────────────────────────────
    classDef stInit  fill:#0d9488,stroke:#0f766e,color:#fff,font-weight:bold
    classDef stNorm  fill:#3b82f6,stroke:#2563eb,color:#fff
    classDef stOk    fill:#16a34a,stroke:#15803d,color:#fff,font-weight:bold
    classDef stFail  fill:#dc2626,stroke:#b91c1c,color:#fff,font-weight:bold
    classDef stHold  fill:#d97706,stroke:#b45309,color:#fff

    %% ── nodes ───────────────────────────────────────────────
    requested(["Requested"])
    validated["Validated"]
    in_progress["In Progress"]
    completed[["Completed"]]
    refused[["Refused"]]
    cancelled[["Cancelled"]]
    pending_balance["Pending Balance"]

    %% ── transitions ─────────────────────────────────
    requested -->|"exchange-validated"| validated
    requested -->|"exchange-refused"| refused
    validated -->|"exchange-started"| in_progress
    validated -->|"exchange-balance-required"| pending_balance
    pending_balance -->|"exchange-balance-settled"| in_progress
    in_progress -->|"exchange-completed"| completed
    validated -->|"exchange-cancelled"| cancelled
    pending_balance -->|"exchange-cancelled"| cancelled

    %% ── class assignments ───────────────────────────
    class requested stInit
    class validated,in_progress,pending_balance stNorm
    class completed,refused stOk
    class cancelled stFail

States

State Label Description Initial Terminal
requested Requested Customer has initiated an exchange request; eligibility not yet verified.
validated Validated Exchange eligibility confirmed — item within policy window, replacement available.
in-progress In Progress Original item received or in transit; replacement being prepared or dispatched.
completed Completed Replacement item delivered to customer; original item received and processed.
refused Refused Exchange denied — outside policy window, item damaged by customer, or fraud detected.
cancelled Cancelled Customer cancelled exchange request before replacement dispatched.
pending-balance Pending Balance Value difference between original and replacement item pending payment or credit.

Transitions

From To Trigger Guards
requested validated exchange-validated Item within exchange policy window; Original item in acceptable condition; Replacement item available
requested refused exchange-refused Item outside policy window or damaged beyond policy tolerance
validated in-progress exchange-started Replacement item reserved or dispatched; Return label issued or item received in-store
validated pending-balance exchange-balance-required Replacement item value differs from original; Customer must pay or receive credit for difference
pending-balance in-progress exchange-balance-settled Payment captured or store credit issued
in-progress completed exchange-completed Replacement item confirmed delivered; Original item received and quality-checked
validated cancelled exchange-cancelled Customer request before replacement dispatched
pending-balance cancelled exchange-cancelled Customer withdrew before settling balance