Loyalty Member¶
aggregate-root loyalty
A customer enrolled in a loyalty programme who accumulates and redeems points and benefits.
Business Purpose: Identify programme membership and enable personalised reward and benefits management.
Identity¶
| Type | Field | Description |
|---|---|---|
value-based |
member-id |
Membership is uniquely identified by the customer and the loyalty programme. |
Attributes¶
| Attribute | Description |
|---|---|
member-id Member ID |
Stable membership identifier. |
customer-id Customer ID |
Associated customer reference. |
programme-id Programme ID |
Loyalty programme identifier. |
status Status |
Current membership state. |
enrolled-at Enrolled At |
Timestamp of programme enrolment. |
Lifecycle¶
enrolled → active → suspended → cancelled
Invariants¶
member-requires-customer— A loyalty member must reference a valid customer.points-balance-non-negative— Points balance must never be negative.
Relationships¶
| Type | Target |
|---|---|
belongs-to |
customer customer |
uses |
loyalty-account loyalty-account |
Events¶
| Event | Classification | Terminal |
|---|---|---|
LoyaltyMemberEnrolled |
created | — |
Used by Capabilities¶
- loyalty Loyalty
Semantic Constraints¶
| Constraint | Type | Rule |
|---|---|---|
loyalty-member-references-customer |
association |
A Loyalty Member record must reference exactly one Customer profile. |
loyalty-member-owned-by-loyalty-platform |
ownership |
Loyalty Member records are exclusively owned by the Loyalty Platform. |
Note
Added in EVT-001 to satisfy event cross-references for the loyalty domain.
Referenced by APIs¶
| Endpoint | Method | Role | Capability |
|---|---|---|---|
/loyalty/members |
POST | response |
loyalty |