Skip to content

Loyalty Enrollment

customer action engagement


Outcome

A customer can join a loyalty programme and immediately start earning points and benefits.

Service Flow

flowchart LR
    S0["Register Customer"]
    S1["Enroll Member"]
    S0 --> S1

Capabilities

Customer Identity Loyalty

Domains

customer loyalty

Business Objects

Object Classification Domain
customer aggregate-root customer
loyalty-member aggregate-root loyalty

Business Services

  • register-customer
  • enroll-member

Applications

Application Classification
CRM crm system-of-intelligence
Loyalty Platform loyalty-platform system-of-record
POS pos system-of-engagement
eCommerce Platform ecommerce-platform system-of-engagement
Event Classification Object Terminal
CustomerRegistered created customer
CustomerIdentified transitioned customer
CustomerMerged transitioned customer
LoyaltyMemberEnrolled created loyalty-member
LoyaltyPointsCalculated calculated loyalty-account
LoyaltyPointsIssued transitioned loyalty-account
LoyaltyPointsRedeemed transitioned loyalty-account
LoyaltyBenefitsCalculated calculated loyalty-account
PointsIssued updated loyalty-account
PointsRedeemed updated loyalty-account
CustomerCreated created customer
CustomerCommunicationSent created customer
LoyaltyCardActivated created loyalty-member
LoyaltyPointsAccrued updated loyalty-member
LoyaltyPointsEarned updated loyalty-account
Endpoint Method Service Description
/customers POST register-customer Registers a new Customer, creating a unique identity re…
/customers GET search-customer Resolves a Customer by email, phone, loyalty card or ex…
/loyalty/members POST enroll-member Enrolls a Customer in the loyalty programme, creating a…
/loyalty/accounts/{id}/points POST issue-points Issues loyalty points to a member's account based on a …
/loyalty/accounts/{id}/redemptions POST redeem-points Redeems loyalty points against a basket during checkout…
/members/{id}/earn POST issue-points Awards loyalty points to a member account based on a co…
/members/{id}/redeem POST redeem-points Redeems loyalty points as a payment tender during check…
/members/{id}/balance GET calculate-points Returns current points balance, tier status, and next t…

Validation Rules

Rule Type Severity Condition
loyalty-enrollment-requires-no-existing-account pre-condition invariant customer has no existing loyalty-member record
loyalty-enrollment-creates-member post-condition invariant loyalty-member.lifecycle = active AND loyalty-account.b…

← Back to Process Catalog