Product Lifecycle¶
Models the lifecycle of a Product from creation and enrichment through publication, active selling, and eventual discontinuation or archival. Covers all product types: physical, digital, bundle, and configurable. Applies to both catalogue management and channel publishing.
Object: product ·
States: 7 ·
Transitions: 11
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 ───────────────────────────────────────────────
draft(["Draft"])
enrichment["In Enrichment"]
review["Under Review"]
active["Active"]
suspended>"Suspended"]
discontinued["Discontinued"]
archived[["Archived"]]
%% ── transitions ─────────────────────────────────
draft -->|"product-created"| enrichment
enrichment -->|"product-updated"| review
review -->|"product-activated"| active
review -->|"product-updated"| enrichment
draft -->|"product-activated"| active
active -->|"product-deactivated"| suspended
suspended -->|"product-activated"| active
active -->|"product-deactivated"| discontinued
suspended -->|"product-deactivated"| discontinued
discontinued -->|"catalogue-archived"| archived
active -->|"product-updated"| active
%% ── class assignments ───────────────────────────
class draft stInit
class enrichment,review,active,discontinued stNorm
class suspended stHold
class archived stOk
States¶
| State | Label | Description | Initial | Terminal |
|---|---|---|---|---|
draft |
Draft | Product record created. Enrichment in progress (images, descriptions, attributes). Not visible to customers. | ✓ | |
enrichment |
In Enrichment | Product data being completed by merchandising team (content, media, pricing, categorisation). | ||
review |
Under Review | Product pending approval before publication (compliance, legal, brand check). | ||
active |
Active | Product published to one or more channels. Visible and purchasable by customers. | ||
suspended |
Suspended | Product temporarily hidden from all channels (safety recall, pricing error, stock issue). Not purchasable. | ||
discontinued |
Discontinued | Product no longer sold. Existing stock can be sold down but no replenishment. Visible for search history. | ||
archived |
Archived | Product fully retired. No longer visible or purchasable. Record retained for audit and history. | ✓ |
Transitions¶
| From | To | Trigger | Guards |
|---|---|---|---|
draft |
enrichment |
product-created |
Product record saved with minimum required fields (SKU, name, category) |
enrichment |
review |
product-updated |
All mandatory enrichment fields complete; Images uploaded; Pricing set |
review |
active |
product-activated |
Compliance and brand check passed; At least one channel assigned |
review |
enrichment |
product-updated |
Reviewer requests corrections |
draft |
active |
product-activated |
Fast-track publish (no review required by policy) |
active |
suspended |
product-deactivated |
Safety issue, pricing error, or stock problem detected |
suspended |
active |
product-activated |
Issue resolved |
active |
discontinued |
product-deactivated |
Commercial decision to end product line; No active promotions referencing product |
suspended |
discontinued |
product-deactivated |
Product will not return to market |
discontinued |
archived |
catalogue-archived |
Sellable stock depleted; Retention period elapsed |
active |
active |
product-updated |
Minor update (description, image) not requiring re-review |