EditLoyaltyMemberInput
input type
Edit-input for a LoyaltyMember. Every field optional, at least ONE required; supplied fields REPLACE, omitted fields are preserved (no clearing semantic). An email change MIGRATES the (program × email) identity marker atomically with the update (people change emails — ≠ the immutable coupon/instrument codes); the new email held by ANY member — doomed included — refuses CONFLICT/MEMBER_EXISTS (an edit admits NO takeover; a doomed holder's identity re-enters via ENROLL). currentTier must name a program tier (≤ 60 chars); pointsBalance NEVER edits (the ledger is the only points surface).
Fields
| Field | Type | Required | Notes |
|---|---|---|---|
caption | String | no | No further notes. |
customer | LoyaltyCustomerInput | no | Replace the identity wholesale — an email change migrates the UNIQ marker atomically. |
currentTier | String | no | The v1 manual tier assignment. |
priceGroupId | ID | no | Re-assign the CustomerPriceGroup. |
consumerId | ID | no | Set/re-point the Consumer bridge. |