Skip to content

URD: Loyalty

ModuleEXT-01Versionv0.2
StatusPlannedDate2026-06-04

Business documentation. This URD is Loyalty's feature list - each feature below is one Functional Area (<AREA>). The same <AREA> keys the feature's PRDs (PRD-<AREA>-NNN) and tests (TC-<AREA>-NNN), and each feature is listed in the Delivery feature catalog. See the Feature Spine convention.

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

IncludedExcluded
Earning points on completed ordersCross-merchant point sharing
Tiers, rewards catalog, redemptionPaid membership billing
Referral & birthday rewardsMessage delivery (handled by Marketing)

3. Definitions

TermDefinition
PointUnit of loyalty value earned on spend; redeemable for rewards
TierMembership level (e.g. Bronze/Silver/Gold) granting benefits
Earning rateConversion of order value to points, set per merchant
RedemptionSpending points for a discount or reward

4. Conceptual Model

Conceptual only - full schema lives in the developer customer-points docs.

5. Feature Catalog

The feature list of this module. Each row is one feature (a Functional Area). Detail in §6. Mirrored in the Delivery feature catalog.

Feature IDFeaturePhaseStatusPriority
PTSPoints EarningP1BuiltHigh
RDMRedemption & TiersP2PlannedMedium

Status: live from Plane where mapped, otherwise registry-declared. Vocabulary mirrors Plane (state-group / phase).

6. Features

One sub-section per feature, in catalog order. Each feature keeps its description, requirements, and acceptance together. Priority = MoSCoW (Must / Should / Could / Won't).

PTS - Points Earning Planned

Feature ID: loyalty/PTS · Phase: P1 · PRDs: - · Dev: @nx/sale

What it does for users: when a customer-linked order completes payment, points are awarded automatically to the customer's balance, once per order, using the merchant's configurable earning rate.

Requirements

IDPRequirement
URD-PTS-001MAward points when an order completes payment
URD-PTS-002MEarning must be idempotent per order (no double award)
URD-PTS-003SEarning rate is configurable per merchant

Acceptance

AC-PTS-01: Points awarded on completed order
GivenWhenThen
A customer-linked order with a non-zero earning rateThe order completes paymentPoints = total × rate are added once to the customer balance

RDM - Redemption & Tiers Planned

Feature ID: loyalty/RDM · Phase: P2 · PRDs: - · Dev: @nx/sale

What it does for users: customers spend their points for discounts at checkout, climb membership tiers based on lifetime points, and redeem from a merchant-configured rewards catalog.

Requirements

IDPRequirement
URD-RDM-001SRedeem points for a discount at checkout
URD-RDM-002CAssign customers to tiers by lifetime points
URD-RDM-003CConfigure a rewards catalog

Acceptance

AC-RDM-01: Redeem points for a discount
GivenWhenThen
A customer with a sufficient point balanceThey redeem points at checkoutA discount is applied and the balance is reduced accordingly

7. Constraints & Non-Goals

Constraints

IDConstraint
C-01Points only accrue to identified customers (anonymous sales earn nothing)
C-02A 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

DateAuthorDescriptionVer
2026-05-30PMInitial stub; earning live, rest plannedv0.1
2026-06-04Claude (AI pair)Reorganize by feature (Feature Spine); each feature carries its own requirements + acceptancev0.2

Proprietary and Confidential. Unauthorized copying, distribution, or use of this software is strictly prohibited.