Customer and Member
When a shopper at branch GS-KV-01 says “I’m a member”, the cashier looks up a membership card,
not a customer account. The two are different records, and the difference decides what you have to
create before points can be earned. Nothing more.
The member record
A member is one row in bl_crm_membership_hdr, with extension rows in bl_crm_membership_ext. What
the row holds, in the words the Membership Admin
form uses:
| On the form | What it is |
|---|---|
| Card No | The business key. Every points endpoint takes it (…/membership-points-txn/balance/{card_no}). Generated by the applet’s running number, or taken from the IC / passport or mobile number, depending on Field Settings |
| Member ID, Referral Code | Two more identifiers; the referral code is what another member enters to name their referrer |
| Member Name, Mobile No., Email, IC / Passport, Date of Birth, Gender | Identity as the loyalty programme knows it — independent of any customer record |
| Member Class | The one tier the member is in (classes and labels) |
| Labels | Any number of tags, linked on the Labels tab |
| Verification Status | UNVERIFIED by default, then VERIFIED, REVIEWED or EXPIRED. POS can be set to let only verified members redeem points |
| Member Status, custom statuses | ACTIVE / INACTIVE plus up to two tenant-defined header statuses; labels only |
Join / Start / End Date, or LIFETIME | The membership period. bl_crm_membership_period_line rows record periods; the applet exposes the dates on the Details tab |
| Customer Name | The optional link to a customer entity (entity_hdr_guid) |
| Branch, Sales Agent | Shown when the tenant switches them on |
Suspensions (a date range with a reason) and the member’s point transactions, point lots, referrals and MLM links are tabs on the same form.
The link to a customer
A member may point at a customer entity, and three things can make the link:
- You pick the customer on the member form, or the backend matches one when a card is created
(
MemberCardServiceresolvesentity_hdr_guidby matching at creation). - The ETL endpoint creates both at once:
POSTorPUT …/membership-cards/with-customer/etl-epwrites the customer entity and the card together — the path an external system or a migration uses. - A processor back-fills it:
ENTITY_LINKING_FOR_MEMBER_PROCESSORcreates a new entity and binds it to every member whose entity GUID is null.
Until one of those happens the member has no customer, and that is a valid state: a walk-in at the counter can be enrolled as a member on the spot (POS General creates the card with the default class and end date from its settings) and earn points on that bill without ever becoming a Customer Maintenance record. The customer record is what the finance side reads — credit terms, credit limit, addresses, tax identity, statement of account. The card is what the loyalty side reads.
Seen from the customer’s side, Customer Maintenance has a Membership tab (membership plan and points, with the points field permission-gated) and a Payment Config tab that can allow membership point currency as one of the customer’s settlement methods.
Who else creates members
- The e-commerce storefront. CP Commerce Admin’s post-registration configuration can create membership and customer or create membership without customer the moment a shopper registers, with the website’s default membership class. That is how GadgetSphere Online’s sign-ups arrive as members of the same programme the branches use.
- The contact centre. Contact Merging in the Unified Contact Center attaches an inbound contact to a membership card, so an agent chatting with a member sees the card’s history.
- A CSV upload in Membership Admin (Upload Membership), where the class and labels must already exist by code.
- The API — see API reference.
One card, one member
The tables model one member per card. The old version of this page described a customer holding several memberships in several “programs” with separate balances; nothing in the member table, the card controller or the points tables carries a program identifier on the card, and there is no endpoint that lists a customer’s memberships. What does vary per member is the point currency: one card holds a running balance and a set of lots in each currency it has earned in, which is where the “several balances” idea comes from.
Related
- Membership Admin — the member form, field by field.
- Point currencies and balances — what the card accumulates.
- Member setup — creating members in the right order.