Skip to main content
Because the catalog is shared, vendors don’t mutate products directly. New products and edits flow through a review pipeline built on product changes — structured requests the operator can confirm, decline, or send back for revision. The same records double as the product’s audit trail. There are two flows:

1. New-product approval

A vendor-created product enters the catalog with status proposed and is visible only to its creator. The operator reviews it from the Admin Panel:
  • Confirm — the product is published into the shared catalog.
  • Reject — the product is marked rejected and stays out of the catalog.
  • Request changes — the submission is sent back to the vendor with a note for revision.

2. Edit change-requests

Edits to existing products — detail updates, variant additions/updates/removals, attribute changes — are captured as a ProductChange: a reviewable bundle of one or more ordered actions.

ProductChange

ProductChangeAction

Each change groups ordered actions — the atomic operations applied to the live product when the change is confirmed: Each action carries its payload in a details JSON field and an applied flag. Actions are applied in order on confirmation — nothing touches the live product while the change is pending.

Lifecycle

The operator can also flag a pending change as requires action, handing it back to the vendor with a reason before a final decision. Some low-risk edits are auto-confirmed — they still create a change record for the audit trail, but apply immediately without waiting for review.

Audit trail

Confirmed changes are never deleted. The product’s change history answers “who changed what, when, and who approved it” — including the original creation (PRODUCT_ADD), which is also what scopes a vendor’s list to their own unpublished submissions.

Where it appears

Next steps

Products

The master-catalog model this pipeline protects.

Product Attributes

Attribute edits that flow through this pipeline.