Canonical · reviewed 2026-09-01

Enrollment

The instance-specific operating bond between a merchant account and one product instance.

A merchant Enrollment lets one Account operate in one exact product instance.

Enrollment = Account × Product Instance

It carries instance-specific status, onboarding, capabilities, commission, listing-approval mode, and storefront limits. Fiton Local and another product instance therefore create separate enrollments even when the seller reuses the same profile.

Cardinality

There can be only one current enrollment for the same account and product-instance pair. A current enrollment is pending, active, or suspended. Archived or rejected history does not create a second active bond.

What belongs here

Storefronts and Listings are scoped to the enrollment and its product instance. That is what prevents DJ Cloths content in one app from accidentally becoming the same storefront or listing in another app.

Capability effectiveness

An Enrollment capability has a configured local status and an effective state. For example, receive_orders may remain configured as active while its required Account orders capability is revoked. In that case it is effectively blocked; the stored Enrollment row is not rewritten, so its local decision and history remain intact.

Merchant returns the effective evaluation and blocking parent status with Enrollment capability reads. Operator interfaces must show the effective state, not present the local row alone as usable access. Commerce mutations independently validate the complete live selling context and fail closed when any required ancestor or capability is unavailable.