States And Transitions
Purpose
This page defines the stable listing workflow and visibility states.
Core State Model
A listing has two separate dimensions:
- workflow
- visibility
These must not be collapsed into one field.
Workflow States
The target workflow states are:
draftin_reviewactivesoldarchived
draft
Meaning:
- work in progress
- incomplete or not ready for external viewing
in_review
Meaning:
- seller submitted
- waiting for moderation or internal review
active
Meaning:
- publicly marketable
- considered live inventory
sold
Meaning:
- transaction completed or listing closed as sold
archived
Meaning:
- no longer active inventory
- retained for history, reporting, and controlled restore flows
Visibility States
The stable visibility states are:
privateunlistedpublic
private
Meaning:
- not available through public browse
- intended for owner or authorized team use
unlisted
Meaning:
- reduced discovery
- not part of normal public browse
- not a security boundary
public
Meaning:
- available to public marketplace users
- eligible for browse and detail exposure
Locked Defaults
- new listings start as
draft + private - seller activation normally moves the listing to
active + public unlistedis manual, not defaultsoldstays public unless policy changes later
Transition Direction
The important durable transitions are:
- create ->
draft + private - submit ->
in_review - approve and activate ->
active + public - close as sold ->
sold - remove from market ->
archived
The server must own readiness and transition validation.