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.
- Navigate to
salesarc.io/app(or merchant-branded link) - Enter phone number or email → receive OTP via Supabase Auth
- Enter OTP → authenticated with a Supabase session
- 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:
| Date | Description | Points |
|---|---|---|
| Nov 14, 2025 | Earned — $14.50 purchase | +145 |
| Nov 12, 2025 | Earned — $22.00 purchase | +220 |
| Nov 10, 2025 | Redeemed — $3.00 off | -300 |
| Nov 8, 2025 | Earned — $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
| Problem | How 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. |