Catalogue Lifecycle¶
Models the lifecycle of a Catalogue (product assortment) from initial creation through editorial review, publishing to one or more channels, and eventual archival or retirement. Controls when and where a product assortment is visible and purchasable.
Object: catalogue ·
States: 7 ·
Transitions: 10
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"])
in_review["In Review"]
approved["Approved"]
published["Published"]
partially_published["Partially Published"]
archived[["Archived"]]
retired[["Retired"]]
%% ── transitions ─────────────────────────────────
draft -->|"catalogue-submitted"| in_review
in_review -->|"catalogue-approved"| approved
in_review -->|"catalogue-rejected"| draft
approved -->|"catalogue-published"| published
approved -->|"catalogue-published"| partially_published
partially_published -->|"catalogue-published"| published
published -->|"catalogue-unpublished"| draft
published -->|"catalogue-archived"| archived
draft -->|"catalogue-archived"| archived
archived -->|"catalogue-retired"| retired
%% ── class assignments ───────────────────────────
class draft stInit
class in_review,approved,published,partially_published stNorm
class archived,retired stOk
States¶
| State | Label | Description | Initial | Terminal |
|---|---|---|---|---|
draft |
Draft | Catalogue created and under editorial construction. Not visible to customers. | ✓ | |
in-review |
In Review | Catalogue submitted for editorial and commercial approval. | ||
approved |
Approved | Catalogue approved and scheduled for publication. | ||
published |
Published | Catalogue live on one or more channels. Visible and orderable by customers. | ||
partially-published |
Partially Published | Catalogue live on some but not all target channels. | ||
archived |
Archived | Catalogue removed from all channels. Preserved for historical reference. | ✓ | |
retired |
Retired | Catalogue permanently decommissioned. No longer referenced. | ✓ |
Transitions¶
| From | To | Trigger | Guards |
|---|---|---|---|
draft |
in-review |
catalogue-submitted |
At least one product assigned; Channel scope defined; Pricing context (price-list) assigned |
in-review |
approved |
catalogue-approved |
Editorial review complete; All mandatory fields present |
in-review |
draft |
catalogue-rejected |
Rejection reason recorded |
approved |
published |
catalogue-published |
Publication date reached or immediate publish requested; All target channels active |
approved |
partially-published |
catalogue-published |
At least one target channel unavailable |
partially-published |
published |
catalogue-published |
Remaining target channels now active |
published |
draft |
catalogue-unpublished |
Authorised editorial action |
published |
archived |
catalogue-archived |
Season or campaign ended; Replacement catalogue published |
draft |
archived |
catalogue-archived |
Abandoned draft — no further use |
archived |
retired |
catalogue-retired |
Retention period elapsed; No active references |