Sayyarat Documentation

Public Docs

Client-safe integration guidance for API usage, auth, listing lifecycle, media, and search.

Public surface

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:

  • draft
  • in_review
  • active
  • sold
  • archived

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:

  • private
  • unlisted
  • public

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
  • unlisted is manual, not default
  • sold stays 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.