Skip to main content

Merchant Onboarding

The merchant flow is the client role in apps/web.

Current Flow​

  1. Sign in as a merchant user.
  2. If no merchant workspace exists yet, bootstrap one.
  3. Complete onboarding details in /onboarding.
  4. Choose a POS preference.
  5. Connect Square or Clover from /pos.
  6. Configure reward rules from /rewards.
  7. Create campaigns from /campaigns.
  8. Invite store operators from /store-operators.

Backend Routes Used​

  • POST /api/v1/client/bootstrap-merchant-workspace
  • PATCH /api/v1/client/tenants/:tenantId/onboarding
  • GET /api/v1/client/tenants/:tenantId
  • GET /api/v1/client/tenants/:tenantId/pos-connections
  • POST /api/v1/client/tenants/:tenantId/pos-connections/square/connect
  • POST /api/v1/client/tenants/:tenantId/pos-connections/clover/connect
  • GET /api/v1/client/tenants/:tenantId/reward-rules
  • POST /api/v1/client/tenants/:tenantId/reward-rules
  • GET /api/v1/client/tenants/:tenantId/store-operators
  • POST /api/v1/client/tenants/:tenantId/store-operator-invites
  • GET /api/v1/client/tenants/:tenantId/campaigns
  • POST /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