Skip to main content

Consumer Journey

Overview

Consumers use SalesArck to earn and redeem loyalty points when shopping with participating merchants. No app download required — the experience is mobile-optimized web.


Earn Flow


Redeem Flow


Consumer Authentication

Consumers authenticate with Supabase Auth using phone or email OTP — no password, no app account creation.

  1. Navigate to salesarc.io/app (or merchant-branded link)
  2. Enter phone number or email → receive OTP via Supabase Auth
  3. Enter OTP → authenticated with a Supabase session
  4. Access token refresh is handled automatically by the Supabase client SDK

No password to remember. The Supabase user ID becomes the primary identity, while SalesArck resolves wallet scope server-side.


Wallet Experience

After login, the consumer sees all their wallets across every merchant in the SalesArck network:

┌─────────────────────────────────┐
│ ☕ Sunrise Coffee Co. │
│ 1,250 points ~ $12.50 value │
│ Last earned: Yesterday $8.50 │
│ [View History] [Redeem Now] │
└─────────────────────────────────┘

┌─────────────────────────────────┐
│ 🍕 Metro Pizza │
│ 340 points ~ $3.40 value │
│ Last earned: Nov 12 $22.00 │
│ [View History] [Redeem Now] │
└─────────────────────────────────┘

Key UX rules:

  • Balance shown in both points and dollar-equivalent
  • Last transaction visible without opening history
  • Redemption flow is ≤ 3 taps from the wallet card

Transaction History

Each wallet shows a complete ledger of earn and redeem events:

DateDescriptionPoints
Nov 14, 2025Earned — $14.50 purchase+145
Nov 12, 2025Earned — $22.00 purchase+220
Nov 10, 2025Redeemed — $3.00 off-300
Nov 8, 2025Earned — $8.50 purchase+85

Redemption Codes

When a consumer initiates a redemption, they receive a short alphanumeric code valid for 15 minutes. They show this code to the merchant (on screen or verbal).

The merchant confirms the code in their portal or POS app — this atomically marks the redemption as REDEEMED.

If the code expires (consumer doesn't use it), the points are automatically returned to the wallet — no support ticket needed.


Consumer Support Scenarios

ProblemHow to Resolve
"I paid but got no points"Check if merchant has SalesArck and has processed the transaction. Admin can look up by phone + tenant.
"My balance seems wrong"Admin can view full ledger, run reconciliation for specific wallet
"I want to delete my account"Right-to-deletion endpoint: anonymizes PII, zeroes balance, revokes sessions
"I lost my phone"Access is tied to the Supabase account identity and verified contact methods; support can rebind factors if needed
"Redemption code expired before I used it"Points auto-reversed. Consumer can generate new code.
Written byDhruv Doshi