Skip to content

Return Lifecycle

Models the lifecycle of a retail Return request from customer initiation through physical receipt, quality assessment, and financial resolution. Applies to all return channels: in-store, courier collection, and drop-off.

Object: return · States: 8 · Transitions: 9


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"])
    approved["Approved"]
    in_transit["In Transit"]
    received["Received"]
    inspected["Inspected"]
    refunded[["Refunded"]]
    exchanged[["Exchanged"]]
    rejected[["Rejected"]]

    %% ── transitions ─────────────────────────────────
    requested -->|"return-approved"| approved
    requested -->|"return-rejected"| rejected
    approved -->|"return-dispatched"| in_transit
    approved -->|"return-received"| received
    in_transit -->|"return-received"| received
    received -->|"return-inspected"| inspected
    inspected -->|"return-refunded"| refunded
    inspected -->|"return-exchanged"| exchanged
    inspected -->|"return-rejected"| rejected

    %% ── class assignments ───────────────────────────
    class requested stInit
    class approved,in_transit,received,inspected stNorm
    class refunded,exchanged stOk
    class rejected stFail

States

State Label Description Initial Terminal
requested Requested Customer has initiated the return. Eligibility not yet confirmed.
approved Approved Return authorised. Return Merchandise Authorisation (RMA) issued.
in-transit In Transit Items are on their way back to the retailer or collection point.
received Received Items physically received and pending quality inspection.
inspected Inspected Items assessed. Decision pending: refund, exchange, or rejection.
refunded Refunded Refund issued to original payment method or store credit. Return closed.
exchanged Exchanged Replacement item dispatched. Return closed.
rejected Rejected Return denied (outside window, damaged by misuse, etc.). Items returned to customer.

Transitions

From To Trigger Guards
requested approved return-approved Return window is open; Item is eligible (not excluded category); Original order found and verified
requested rejected return-rejected Return window expired OR item ineligible
approved in-transit return-dispatched Return label issued or in-store drop-off confirmed
approved received return-received In-store return channel; Items handed to store associate
in-transit received return-received Carrier scan confirms delivery to warehouse or store
received inspected return-inspected Quality check completed by associate or automated system
inspected refunded return-refunded Items accepted as per policy; Refund amount calculated
inspected exchanged return-exchanged Replacement item available; Customer accepts exchange
inspected rejected return-rejected Items not in acceptable condition; Damage attributable to customer misuse