Skip to main content
The Seller module (MercurModules.SELLER) owns the store, its business details, and its team. Every model also has the standard created_at, updated_at, and deleted_at columns, which the tables below leave out.

Seller

The store account and its public profile. Table seller, id prefix sel. Unique indexes on name, handle, email, and external_id apply only to rows that aren’t deleted. An extra index on (status, closed_from, closed_to) serves the Store API visibility filter. Relations:
  • professional_details: has one ProfessionalDetails, deleted with the seller
  • address: has one SellerAddress, deleted with the seller
  • payment_details: has one PaymentDetails, deleted with the seller
  • members: many-to-many with Member through SellerMember, detached when the seller is deleted
  • member_invites: has many MemberInvite, deleted with the seller

SellerStatus

The enum in @mercurjs/types that types Seller.status.

ProfessionalDetails

A store’s registered business identity. Table professional_details, id prefix selprodet.

SellerAddress

A store’s postal address. Table seller_address, id prefix seladdr.

PaymentDetails

A store’s bank account details. Table payment_details, id prefix selpaydet.

Member

A person who can work for one or more stores. Table member, id prefix mem. Relations: sellers, many-to-many with Seller through SellerMember.

SellerMember

One member’s membership in one store. Table seller_member, id prefix selmem, unique on (seller_id, member_id).

SellerRole

The enum in @mercurjs/types whose values go in role_id.

MemberInvite

A pending invitation to join a store. Table member_invite, id prefix meminv. A unique index on (email, seller_id) covers invites that aren’t accepted or deleted, so a store has one open invite per email.

OrderGroup

The Seller module also holds the OrderGroup model, which groups the per-store orders split from one cart. See the order group data models for its fields.