{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "#/components/schemas/LoyaltyMembership",
"title": "Loyalty membership",
"required": [
"AccountId",
"ChainId",
"CreatorProfile",
"Id",
"IsPrimary",
"LoyaltyProgramId",
"State",
"UpdaterProfile"
],
"type": "object",
"properties": {
"Id": {
"type": "string",
"description": "Unique identifier of the loyalty membership.",
"format": "uuid"
},
"ChainId": {
"type": "string",
"description": "Unique identifier of the chain.",
"format": "uuid"
},
"AccountId": {
"type": "string",
"description": "Unique identifier of the account.",
"format": "uuid"
},
"LoyaltyProgramId": {
"type": "string",
"description": "Unique identifier of the loyalty program.",
"format": "uuid"
},
"State": {
"title": "Loyalty membership state",
"allOf": [
{
"$ref": "#/components/schemas/LoyaltyMembershipStateEnum"
}
],
"description": "State of the loyalty membership.\n\nNew\n\nPending\n\nEnrolled\n\nCanceled\n\nDeclined",
"x-enumNames": [
"New",
"Pending",
"Enrolled",
"Canceled",
"Declined"
],
"x-enumDescriptions": [
"",
"",
"",
"",
""
]
},
"IsPrimary": {
"type": "boolean",
"description": "Defines the primary loyalty membership."
},
"ProviderMembershipId": {
"type": "string",
"description": "Unique identifier for the loyalty membership in the loyalty provider's system.",
"nullable": true
},
"Code": {
"type": "string",
"description": "Code of the loyalty membership.",
"nullable": true,
"deprecated": true,
"x-deprecatedMessage": "Use `MembershipNumber` instead."
},
"MembershipNumber": {
"type": "string",
"description": "Customer-facing membership numbers, e.g., printed on a loyalty card.",
"nullable": true
},
"Points": {
"type": "integer",
"description": "The loyalty points for the account in that membership.",
"format": "int32",
"nullable": true
},
"ExpirationDate": {
"type": "string",
"description": "Expiration date of the loyalty membership in UTC timezone in ISO 8601 format.",
"format": "date-time",
"nullable": true
},
"Url": {
"type": "string",
"description": "Url of the loyalty membership.",
"nullable": true
},
"LoyaltyTierId": {
"type": "string",
"description": "Unique identifier of the loyalty tier.",
"format": "uuid",
"nullable": true
},
"CreatorProfile": {
"title": "Profile data",
"allOf": [
{
"$ref": "#/components/schemas/ProfileData"
}
],
"description": "The profile data of the user who created or last updated the record."
},
"UpdaterProfile": {
"title": "Profile data",
"allOf": [
{
"$ref": "#/components/schemas/ProfileData"
}
],
"description": "The profile data of the user who created or last updated the record."
}
},
"additionalProperties": false,
"x-schema-id": "LoyaltyMembership"
}