Skip to content

Loyalty Domain

Manage membership points benefits and rewards.


At a Glance

Count
Business Objects 3
Capabilities 2
Processes 5
Events 11
APIs 6
Validation Rules 7

Object Relationships

erDiagram
    LOYALTY_ACCOUNT ||--o{ LOYALTY_TRANSACTION : "contains"
    LOYALTY_MEMBER }o..o{ LOYALTY_ACCOUNT : "uses"
    LOYALTY_TRANSACTION }o--|| LOYALTY_ACCOUNT : "belongs-to"

Business Objects

Object Classification Description
Loyalty Account loyalty-account aggregate-root Account used to track loyalty participation state, balances, benefits, and point activity.
Loyalty Member loyalty-member aggregate-root A customer enrolled in a loyalty programme who accumulates and redeems points and benefits…
Loyalty Transaction loyalty-transaction entity Transaction-level activity that changes or evaluates loyalty account state.

Capabilities

Capability Archetype Outcome
Loyalty loyalty engagement Members can be enrolled, earn points and benefits, and redeem rewards across cha…
Loyalty Management loyalty-management management The loyalty programme configuration, tier definitions, accrual rules, and member…

Events

Created (3):
LoyaltyMemberEnrolled CustomerCommunicationSent LoyaltyCardActivated

Transitioned (2):
LoyaltyPointsIssued LoyaltyPointsRedeemed

Updated (4):
PointsIssued PointsRedeemed LoyaltyPointsAccrued LoyaltyPointsEarned

Calculated (2):
LoyaltyPointsCalculated LoyaltyBenefitsCalculated

Processes

  • Checkout checkoutA confirmed order is created with payment authorised, promotions applied and loy
  • Clienteling Sale clienteling-saleA store associate can complete a personalised assisted sale using customer histo
  • Loyalty Enrollment loyalty-enrollmentA customer can join a loyalty programme and immediately start earning points and
  • Customer Registration customer-registrationA new customer can create a verified identity profile that enables personalised
  • Loyalty Tier Upgrade loyalty-tier-upgradeA loyalty member's tier is evaluated after a qualifying purchase and upgraded if

APIs

Endpoint Method Service Capability
/loyalty/members POST enroll-member loyalty
/loyalty/accounts/{id}/points POST issue-points loyalty
/loyalty/accounts/{id}/redemptions POST redeem-points loyalty
/members/{id}/earn POST issue-points loyalty
/members/{id}/redeem POST redeem-points loyalty
/members/{id}/balance GET calculate-points loyalty

Applications

  • Loyalty Platform loyalty-platform (system of record)

Validation Rules

Rule Type Applies To Severity
checkout-requires-active-basket pre-condition checkout invariant
checkout-requires-active-product pre-condition checkout invariant
loyalty-enrollment-requires-no-existing-account pre-condition loyalty-enrollment invariant
customer-registration-requires-no-duplicate pre-condition customer-registration invariant
checkout-creates-order post-condition checkout invariant
checkout-clears-basket post-condition checkout invariant
loyalty-enrollment-creates-member post-condition loyalty-enrollment invariant

Semantic Constraints

Constraint Type Rule
loyalty-account-belongs-to-customer association A Loyalty Account must be owned by exactly one Customer.
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.
loyalty-account-in-loyalty-domain domain-containment The Loyalty Account is owned by the Loyalty domain.

← Back to Domain Catalog