Customer Registration — New Customer Onboarding
customer action engagement
Outcome
A new customer can create a verified identity profile that enables personalised commerce, loyalty, and communication across all channels.
Service Flow
flowchart LR
S0["Register Customer"]
S1["Verify Identity"]
S0 --> S1
S2["Record Consent"]
S1 --> S2
S3["Enroll Member"]
S2 --> S3
Capabilities
Customer Identity Customer Profile Customer Consent Loyalty
Domains
customer loyalty
Business Objects
Business Services
register-customer
verify-identity
record-consent
enroll-member
Applications
| Application |
Classification |
CRM crm |
system-of-intelligence |
Loyalty Platform loyalty-platform |
system-of-record |
eCommerce Platform ecommerce-platform |
system-of-engagement |
| Event |
Classification |
Object |
Terminal |
CustomerRegistered |
created |
customer |
— |
CustomerIdentified |
transitioned |
customer |
— |
CustomerMerged |
transitioned |
customer |
— |
CustomerUpdated |
updated |
customer |
— |
CustomerPreferencesUpdated |
updated |
customer |
— |
CustomerConsentUpdated |
updated |
consent |
— |
CustomerConsentRevoked |
transitioned |
consent |
✓ |
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 |
— |
CustomerCreated |
created |
customer |
— |
CustomerProfileUpdated |
updated |
customer |
— |
CustomerCommunicationSent |
created |
customer |
— |
CustomerConsentUpdated |
updated |
customer |
— |
LoyaltyCardActivated |
created |
loyalty-member |
— |
LoyaltyPointsAccrued |
updated |
loyalty-member |
— |
ConsentRecorded |
created |
consent |
— |
ConsentUpdated |
updated |
consent |
— |
ConsentWithdrawn |
transitioned |
consent |
— |
ConsentDeclined |
transitioned |
consent |
— |
ConsentExpired |
transitioned |
consent |
— |
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… |
/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… |
Validation Rules
| Rule |
Type |
Severity |
Condition |
customer-registration-requires-no-duplicate |
pre-condition |
invariant |
no customer exists with same email or phone |
← Back to Process Catalog