Loyalty Tier Upgrade¶
domain event management
Outcome¶
A loyalty member's tier is evaluated after a qualifying purchase and upgraded if threshold is met, with immediate benefit recalculation.
Service Flow¶
flowchart LR
S0["Calculate Points"]
S1["Issue Points"]
S0 --> S1
S2["Manage Loyalty Tiers"]
S1 --> S2
S3["Manage Accrual Rules"]
S2 --> S3
S4["Manage Member Lifecycle"]
S3 --> S4
S5["Retrieve Customer Profile"]
S4 --> S5
Capabilities¶
Loyalty Loyalty Management Customer Profile
Domains¶
loyalty customer
Business Objects¶
| Object | Classification | Domain |
|---|---|---|
| customer | aggregate-root |
customer |
| loyalty-account | aggregate-root |
loyalty |
| loyalty-transaction | entity |
loyalty |
| promotion | aggregate-root |
promotion |
Business Services¶
calculate-pointsissue-pointsmanage-loyalty-tiersmanage-accrual-rulesmanage-member-lifecycleretrieve-customer-profile
Applications¶
| Application | Classification |
|---|---|
Loyalty Platform loyalty-platform |
system-of-record |
POS pos |
system-of-engagement |
eCommerce Platform ecommerce-platform |
system-of-engagement |
Trigger Event¶
This process is triggered by the
loyalty-points-earneddomain event.
Related Events¶
| Event | Classification | Object | Terminal |
|---|---|---|---|
CustomerUpdated |
updated | customer | — |
CustomerPreferencesUpdated |
updated | customer | — |
LoyaltyMemberEnrolled |
created | loyalty-member | — |
LoyaltyPointsCalculated |
calculated | loyalty-account | — |
LoyaltyPointsIssued |
transitioned | loyalty-account | — |
LoyaltyPointsRedeemed |
transitioned | loyalty-account | — |
LoyaltyBenefitsCalculated |
calculated | loyalty-account | — |
AddressAdded |
created | address | — |
AddressUpdated |
updated | address | — |
PointsIssued |
updated | loyalty-account | — |
PointsRedeemed |
updated | loyalty-account | — |
CustomerProfileUpdated |
updated | customer | — |
CustomerCommunicationSent |
created | customer | — |
LoyaltyCardActivated |
created | loyalty-member | — |
LoyaltyPointsAccrued |
updated | loyalty-member | — |
LoyaltyPointsEarned |
updated | loyalty-account | — |
Related APIs¶
| Endpoint | Method | Service | Description |
|---|---|---|---|
/customers/{id} |
GET | retrieve-customer-profile |
Retrieves the full Customer profile including preferenc… |
/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… |