Merchant Onboarding
The merchant flow is the client role in apps/web.
Current Flow
- Sign in as a merchant user.
- If no merchant workspace exists yet, bootstrap one.
- Complete onboarding details in
/onboarding. - Choose a POS preference.
- Connect Square or Clover from
/pos. - Configure reward rules from
/rewards. - Create campaigns from
/campaigns. - Invite store operators from
/store-operators.
Backend Routes Used
POST /api/v1/client/bootstrap-merchant-workspacePATCH /api/v1/client/tenants/:tenantId/onboardingGET /api/v1/client/tenants/:tenantIdGET /api/v1/client/tenants/:tenantId/pos-connectionsPOST /api/v1/client/tenants/:tenantId/pos-connections/square/connectPOST /api/v1/client/tenants/:tenantId/pos-connections/clover/connectGET /api/v1/client/tenants/:tenantId/reward-rulesPOST /api/v1/client/tenants/:tenantId/reward-rulesGET /api/v1/client/tenants/:tenantId/store-operatorsPOST /api/v1/client/tenants/:tenantId/store-operator-invitesGET /api/v1/client/tenants/:tenantId/campaignsPOST /api/v1/client/tenants/:tenantId/campaigns
What Onboarding Actually Means
In code, onboarding is mostly:
- creating or confirming the merchant workspace
- storing the merchant's business details
- capturing the POS preference
- connecting the first POS account
Important Constraint
Merchant access is still gated by approval status and the backend decides whether the account can use the app.
Written byDhruv Doshi