Skip to content

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-points
  • issue-points
  • manage-loyalty-tiers
  • manage-accrual-rules
  • manage-member-lifecycle
  • retrieve-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-earned domain event.

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
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…

← Back to Process Catalog