A partner microsite is a public storefront for one dealer or distributor, served at its own slug (/s/<slug>) on the brand portal's host. It runs on the brand's published catalogue and pricing through its own commerce channel, carries the partner's identity, and accrues commission on what it sells. Fifty partners means fifty microsite records, not fifty websites.
The microsite record
Microsites are listed in the Commerce app under Partner Microsites. The record names the partner and everything the storefront needs:
| Field | Meaning |
|---|---|
| Name, Display Name | Internal name and the name shoppers see |
| Slug | The public path segment — lowercase, unique per tenant, and it never changes a live URL |
| Status | Draft, Live or Suspended (see lifecycle) |
| Partner Account, Branch | The selling partner and the branch that fulfils and delivers |
| Store | The store whose range is sold — resolved from the partner's own store, its partner-store link or its account group |
| Channel | The microsite's own commerce channel (type microsite) |
| Settlement Percent | The commission rate the settlement job applies |
| Gateway Linked Account Ref | Optional reference to the partner's linked account at the payment provider |
| Template | The storefront template; empty means the default partner storefront |
Service areas — the pincodes the partner serves, each with a Priority (lower wins; default 100) and an active flag — are child records on the microsite. A polygon area type is declared for a later phase; routing today matches pincodes only.
Provisioning is normally done by the administrator endpoint, which creates the microsite and its channel together (channel type microsite, the store's currency, the partner and branch stamped) and refuses when no store resolves for the partner — a live storefront showing nothing is worse than none. A microsite created by hand from the list's create form (/PartnerMicrosite?create=1; the list itself shows no New button today) needs its channel created and linked the same way.
Lifecycle: draft, live, suspended
Every microsite is created Draft, so a batch of a hundred dealers is not published before anyone has looked at one. Publishing is a deliberate administrator operation, not a record button, and it is gated: the microsite's store must already have a Live catalog publication, otherwise publishing is refused with "publish this partner's catalogue before publishing their storefront". Only a Live microsite answers on its public URL; a Draft, Suspended or nonexistent slug answers not found — indistinguishably, on purpose. Setting the status back to Suspended takes it off the air without deleting anything.
Identity is layered over the brand
A microsite's theme is merged over the brand portal's own theme: the partner's overrides — typically an accent colour and identity details — apply on top, token by token, and everything they do not override falls back to the brand's values. An unparseable theme document is ignored rather than breaking the page, and the microsite stays up even if the host portal's theme cannot be read at that moment. The catalogue, pricing and schemes remain the channel's: what shoppers can buy, and at what price, is the brand's promise wherever they buy it.
Routing orders by pincode
With Route By Pincode enabled on a storefront channel, an order placed on the brand's own storefront is routed to the partner covering the shipping pincode:
- Coverage comes from service areas — on a Live microsite, or on a partner's partner-store link for distributors with no microsite of their own. The best priority wins; a tie goes to the microsite, whose public storefront is the stronger commercial claim.
- Routing is resolved once, when the checkout session opens, and frozen on the session as the routed partner and branch. A coverage edit never re-routes a checkout already in flight.
- The routed partner and branch are stamped on the order as the selling organization, and stock is reserved against the branch that will actually ship.
- No covering partner means the order stays with the brand — a coverage gap degrades to the direct channel, never to a refusal.
Shoppers can check coverage before ordering: the storefront's pincode check answers from the same service-area data the router uses.
Delivery windows follow the fulfilling branch
Delivery slots belong to the branch that will actually deliver: the routed partner's branch on a routed order, otherwise the channel's own. Windows come from that branch's Delivery-type branch time slots and their per-date bookings (see Resource availability for the slot model); the storefront offers seven days by default and at most fourteen. Choosing a slot records intent only; the place is taken when the checkout freezes and released if the payment never completes. A channel with no branch configured reports a named configuration error rather than showing an empty calendar.
Settlement
A daily settlement job accrues what the tenant owes each partner:
- An order qualifies only when it was placed through storefront checkout and either ran on the microsite's own channel or was routed to this partner from the brand's storefront. Orders a rep raises for the same partner through Take Order or B2B sales settle through trade terms, not a storefront commission — they carry no checkout session, which is the discriminator.
- Orders are grouped into monthly settlements per microsite (Accrued → Statemented → Settled), one line per order. A settlement already statemented or settled is not reopened; a late order accrues to the next period.
- The commission is the order amount times the microsite's current Settlement Percent at the time the job accrues it — normally within a day of the sale — and the line records the rate it used. An accrued line is never recomputed, so changing the rate never rewrites a statement; but a rate change made before the job runs applies to yesterday's sales, and suspending a microsite before the job runs leaves those sales unaccrued because only Live microsites are candidates. Treat rate and lifecycle changes as cutover events: let the job run and reconcile first, then change the configuration.
- Each order accrues exactly once, enforced by a unique index rather than by the job remembering where it got to.
There is no "run settlement now" action; the job is the only writer, and the settlements are readable under Settings → Partner Settlements and on the microsite.
Common questions
Can a partner have a storefront without participating in routing?
Yes, and the reverse too. A microsite with no service areas sells only what shoppers bring to it directly; a partner with service areas on its partner-store link but no microsite participates in routing without a public storefront of its own.
What does the shopper see on a routed order?
The brand's catalogue and prices throughout — routing changes who fulfils and settles, never what is bought or at what price. The delivery windows offered are the routed branch's, so the promise made is one that branch can keep.
Why does an unpublished microsite return "not found" instead of "coming soon"?
Because the public URL space must not reveal what is being prepared, suspended or tested. Draft and suspended microsites are indistinguishable from slugs that never existed; preview happens before publishing, from the administrator's side.
