URD: Loyalty
| Module | EXT-01 | Version | v0.1 |
|---|---|---|---|
| Status | In-progress | Date | 2026-05-30 |
1. Purpose
Reward repeat customers so they return more often and spend more. The module turns completed purchases into points, lets customers climb tiers, and exchange points for rewards.
2. Scope
| Included | Excluded |
|---|---|
| Earning points on completed orders | Cross-merchant point sharing |
| Tiers, rewards catalog, redemption | Paid membership billing |
| Referral & birthday rewards | Message delivery (handled by Marketing) |
3. Definitions
| Term | Definition |
|---|---|
| Point | Unit of loyalty value earned on spend; redeemable for rewards |
| Tier | Membership level (e.g. Bronze/Silver/Gold) granting benefits |
| Earning rate | Conversion of order value to points, set per merchant |
| Redemption | Spending points for a discount or reward |
4. Conceptual Model
Conceptual only — full schema lives in the developer customer-points docs.
5. Functional Requirements
Priority = MoSCoW. All but earning are not yet built.
5.1 Points Earning (PTS)
| ID | P | Requirement | Status |
|---|---|---|---|
| URD-PTS-001 | M | Award points when an order completes payment | In-progress |
| URD-PTS-002 | M | Earning must be idempotent per order (no double award) | In-progress |
| URD-PTS-003 | S | Earning rate is configurable per merchant | In-progress |
5.2 Redemption & Tiers (RDM)
| ID | P | Requirement | Status |
|---|---|---|---|
| URD-RDM-001 | S | Redeem points for a discount at checkout | Planned |
| URD-RDM-002 | C | Assign customers to tiers by lifetime points | Planned |
| URD-RDM-003 | C | Configure a rewards catalog | Planned |
6. Acceptance Criteria
AC-PTS-01: Points awarded on completed order
| Given | When | Then |
|---|---|---|
| A customer-linked order with a non-zero earning rate | The order completes payment | Points = total × rate are added once to the customer balance |
7. Constraints & Non-Goals
Constraints
| ID | Constraint |
|---|---|
| C-01 | Points only accrue to identified customers (anonymous sales earn nothing) |
| C-02 | A single order awards points at most once |
Non-Goals
- Cross-merchant or franchise-wide point pooling
- Marketing message delivery (owned by Marketing)
8. Version History
| Date | Author | Description | Ver |
|---|---|---|---|
| 2026-05-30 | PM | Initial stub; earning live, rest planned | v0.1 |