Seller Profile
Each seller account holds the following core fields:| Field | Description |
|---|---|
name | Display name shown to customers on the storefront (unique) |
handle | URL-friendly identifier for the seller (unique) |
email | Primary contact email for the seller account (unique) |
description | Free-text seller description, typically shown on the seller’s storefront page |
logo | Seller logo or avatar |
banner | Banner image for the seller’s storefront page |
website_url | Seller’s external website |
currency_code | The single currency in which this seller operates |
is_premium | Operator-designated premium seller flag (see below) |
status_reason | Optional explanation for the current status (e.g. reason for suspension) |
external_id | Identifier in an external system (unique, optional) |
metadata | Arbitrary JSON metadata |
Single Currency Per Account
Every seller account is locked to one currency. Prices, payouts, and subscription billing all use this currency. This constraint keeps financial reporting simple and eliminates exchange-rate ambiguity in payouts. If a seller needs to trade in multiple currencies, the recommended pattern is to create separate seller accounts — one per currency. Each account operates independently with its own products, orders, and payouts.Professional Sellers
A seller can optionally have associated professional details. If present, the seller is treated as a registered business; if absent, the seller is an individual.Address and Payment Information
Sellers can store one or more addresses (warehouse, return, business) and payment details used for payout processing. These are managed as sub-resources of the seller account and are referenced by workflows such as fulfillment and payout settlement.Seller Lifecycle
A seller account moves through four statuses over its lifetime:Status Definitions
**pending_approval**— The seller has registered but has not yet been reviewed by the platform operator.**open**— The seller is active and may list products, receive orders, and collect payouts.**suspended**— The seller’s operations are temporarily frozen. Products remain in the catalog but cannot be purchased.**terminated**— The seller account is permanently closed. This status is irreversible.
Status Transition Rules
| From | To | Who | Conditions |
|---|---|---|---|
pending_approval | open | Operator | Operator reviews and approves the application |
open | suspended | Operator | Policy violation, compliance hold, or operator discretion |
suspended | open | Operator | Issue resolved, seller reinstated |
open | terminated | Operator / Seller | All prerequisites met (see below) |
suspended | terminated | Operator | All prerequisites met (see below) |
Scheduled Closures
Sellers can schedule temporary closures without changing their account status. Two date fields control this:closed_from— The date the closure beginsclosed_to— The date the closure ends
open status. This is designed for holidays, seasonal breaks, or planned downtime. Once closed_to passes, the seller automatically resumes normal operation.
Scheduled closures are not a status — they overlay on top of the current status and do not affect status transition rules.
Premium Sellers
Theis_premium flag is set exclusively by the platform operator. Sellers cannot designate themselves as premium. This flag is used for storefront features such as:
- Featured placement in search results or category pages
- Visual badges or highlights on the seller’s profile
- Priority in marketplace curation
Registration Flows
There are two methods for creating a seller account:- Operator-created — The platform operator creates the seller account directly via the admin dashboard. The account can be set to
openimmediately, bypassingpending_approval. - Self-registration — The seller registers through the public-facing registration flow. The account enters
pending_approvalstatus and waits for operator review.
Business Rules Summary
- A seller account operates in exactly one currency
- The presence of
professional_detailsdetermines whether the seller is a registered business - Only the operator can approve, suspend, or reinstate sellers
- Termination is irreversible and requires all orders and payouts to be resolved
- Scheduled closures are date-driven and do not change account status
- Premium designation is operator-only and influences storefront presentation
- Every seller account must have at least one member with an admin role