Creating Loyalty members
There are two ways you can create a new loyalty member:
- create loyalty memberships within an order (to allow for paid memberships)
- create loyalty memberships ndependently of an order
Order-independent memberships
The Create Member endpoint allows you to create a loyalty member instantly. When using this member, there's a large amount of data that you can associate with Loyalty members in the request. For the full list of parameters see the Swagger documentation.
POST: /RESTLoyalty.svc/member/create
Request:
{
"SendSignUpConfirmationEmail" : true,
"LoyaltyMember": {
"Username": "jmcclane",
"Password": "***********",
"ClubId": "1",
"Email": "jmcclane@nypd.gov",
"FirstName": "John",
"LastName": "McClane",
"DateOfBirth": "1955-03-19",
"Gender": "Male",
"Address1": "2121 Avenue of the Stars",
"Suburb": "Century City",
"City": "Los Angeles",
"State": "California",
"Occupation": "Detective"
}
}
Response:
{
"Result": 0,
"ErrorDescription": "",
"SignUpConfirmationEmailSent": true
}
In-order memberships
If your system is configured to use membership packages, use the following endpoints to create loyalty members as part of an order.
Note: Tickets cannot be purchased in an order with a membership package activation.
Retrieve membership packages
Available loyalty membership packages can be retrieved either from a specific cinema, or from all cinemas.
To retrieve loyalty membership packages from a specific cinema:
GET: /loyalty//membership-packages
Response:
{
"loyaltyMembershipPackages": [
{
"cinemaId": "0002",
"name": "Gold Membership Package",
"clubId": "2",
"levelId": "4",
"renewalPeriod": 1,
"renewalPeriodUnit": "year",
"activationData": {
"id": "119",
"priceInCents": 3500,
"totalTaxInCents": 457,
"description": "Loyalty Gold Membership Package",
"descriptionTranslations": [],
"extendedDescription": "",
"extendedDescriptionTranslations": []
},
"renewalData": null
},
{
"cinemaId": "0002",
"name": "Standard Membership Package",
"clubId": "2",
"levelId": "1",
"renewalPeriod": 1,
"renewalPeriodUnit": "year",
"activationData": {
"id": "118",
"priceInCents": 0,
"totalTaxInCents": 0,
"description": "Loyalty Standard Membership Package",
"descriptionTranslations": [],
"extendedDescription": "",
"extendedDescriptionTranslations": []
},
"renewalData": null
}
]
}
To retrieve loyalty membership packages from all cinemas:
GET: /loyalty/membership-packages
Response:
{
"loyaltyMembershipPackages": [
{
"cinemaId": "0002",
"name": "Gold Membership Package",
"clubId": "2",
"levelId": "4",
"renewalPeriod": 1,
"renewalPeriodUnit": "year",
"activationData": {
"id": "119",
"priceInCents": 3500,
"totalTaxInCents": 457,
"description": "Loyalty Gold Membership Package",
"descriptionTranslations": [],
"extendedDescription": "",
"extendedDescriptionTranslations": []
},
"renewalData": null
},
{
"cinemaId": "0002",
"name": "Standard Membership Package",
"clubId": "2",
"levelId": "1",
"renewalPeriod": 1,
"renewalPeriodUnit": "year",
"activationData": {
"id": "118",
"priceInCents": 0,
"totalTaxInCents": 0,
"description": "Loyalty Standard Membership Package",
"descriptionTranslations": [],
"extendedDescription": "",
"extendedDescriptionTranslations": []
},
"renewalData": null
},
{
"cinemaId": "9999",
"name": null,
"clubId": null,
"levelId": null,
"renewalPeriod": null,
"renewalPeriodUnit": null,
"activationData": {
"id": "120",
"priceInCents": 3500,
"totalTaxInCents": 457,
"description": "Loyalty Generic Membership Package",
"descriptionTranslations": [],
"extendedDescription": "",
"extendedDescriptionTranslations": []
},
"renewalData": null
},
{
"cinemaId": "9999",
"name": "Gold Membership Package",
"clubId": "2",
"levelId": "4",
"renewalPeriod": 1,
"renewalPeriodUnit": "year",
"activationData": {
"id": "119",
"priceInCents": 3500,
"totalTaxInCents": 457,
"description": "Loyalty Gold Membership Package",
"descriptionTranslations": [],
"extendedDescription": "",
"extendedDescriptionTranslations": []
},
"renewalData": null
},
{
"cinemaId": "9999",
"name": "Standard Membership Package",
"clubId": "2",
"levelId": "1",
"renewalPeriod": 1,
"renewalPeriodUnit": "year",
"activationData": {
"id": "118",
"priceInCents": 0,
"totalTaxInCents": 0,
"description": "Loyalty Standard Membership Package",
"descriptionTranslations": [],
"extendedDescription": "",
"extendedDescriptionTranslations": []
},
"renewalData": null
}
]
}
Select membership package
To specify which membership package will be purchased, use the ID returned in the activationData
of a membership package.
Note: An order will have to be created prior to selecting a membership package. See the Creating Orders Overview.
POST: /orders//set-loyalty-membership-package-activation
Request:
{
"id": "119",
"memberData": {
"username": "jmcclane",
"password": "***********",
"email": "jmcclane@nypd.gov",
"firstName": "John",
"lastName": "McClane",
"dateOfBirth": "1955-03-19",
"gender": "Male",
"address1": "2121 Avenue of the Stars",
"suburb": "Century City",
"city": "Los Angeles",
"state": "California",
"occupation": "Detective"
}
}
Response:
{
"order": {
"cinemaId": "9999",
"userSessionId": "579498b1666d41b5b94a98038d9f6e23",
"orderTotalValueInCents": 3500,
"taxTotalValueInCents": 457,
"bookingFeeTotalValueInCents": 0,
"bookingFeeTaxTotalValueInCents": 0,
"loyaltyPointsTotalCost": [],
"sessions": [],
"concessions": [],
"loyaltyMembershipPackageActivation": {
"id": "1",
"membershipPackageId": "119",
"description": "Loyalty Gold Membership Package",
"finalPriceInCents": 3500,
"originalPriceInCents": 3500,
"totalTaxInCents": 457,
"dealDefinitionId": null,
"dealDescription": null,
"dealSequence": null
},
"loyaltyIntegratedGiftCardActivation": null,
"appliedGiftCards": [],
"appliedLoyaltyPointsPayments": null,
"loyaltyPointsPayableValueInCents": 0,
"expiryDateUtc": "2018-03-12T00:22:08.0310956Z",
"hasCardPaymentPromotionTickets": false,
"promotionCards": []
},
"suggestedDeals": []
}
If the clubId
of a loyaltyMembershipPackages
is null
, then the client may select which club they wish the member to be assigned to. The desired clubId
must then be specified in
the memberData
of the Set Loyalty Membership Package request.
If you want to replace the current membership package, a subsequent call to Set Loyalty Membership Package will replace the currently set package.
POST: /orders//set-loyalty-membership-package-activation
Request:
{
"id": "120",
"memberData": {
"username": "jmcclane",
"password": "***********",
"clubId": "1",
"email": "jmcclane@nypd.gov",
"firstName": "John",
"lastName": "McClane",
"dateOfBirth": "1955-03-19",
"gender": "Male",
"address1": "2121 Avenue of the Stars",
"suburb": "Century City",
"city": "Los Angeles",
"state": "California",
"occupation": "Detective"
}
}
Response:
{
"order": {
"cinemaId": "9999",
"userSessionId": "579498b1666d41b5b94a98038d9f6e23",
"orderTotalValueInCents": 3500,
"taxTotalValueInCents": 457,
"bookingFeeTotalValueInCents": 0,
"bookingFeeTaxTotalValueInCents": 0,
"loyaltyPointsTotalCost": [],
"sessions": [],
"concessions": [],
"loyaltyMembershipPackageActivation": {
"id": "1",
"membershipPackageId": "120",
"description": "Loyalty Generic Membership Package",
"finalPriceInCents": 3500,
"originalPriceInCents": 3500,
"totalTaxInCents": 457,
"dealDefinitionId": null,
"dealDescription": null,
"dealSequence": null
},
"loyaltyIntegratedGiftCardActivation": null,
"appliedGiftCards": [],
"appliedLoyaltyPointsPayments": null,
"loyaltyPointsPayableValueInCents": 0,
"expiryDateUtc": "2018-03-12T00:22:08.0310956Z",
"hasCardPaymentPromotionTickets": false,
"promotionCards": []
},
"suggestedDeals": []
}
Completing purchase
When the order is completed (see Completing Orders), the new loyalty member will be created.
Removing membership packages
If you want to remove the membership package from the current order, you can call Remove Loyalty Membership Package
DELETE: /orders//remove-loyalty-membership-package-activation
Response:
{
"order": {
"cinemaId": "9999",
"userSessionId": "579498b1666d41b5b94a98038d9f6e23",
"orderTotalValueInCents": 0,
"taxTotalValueInCents": 0,
"bookingFeeTotalValueInCents": 0,
"bookingFeeTaxTotalValueInCents": 0,
"loyaltyPointsTotalCost": [],
"sessions": [],
"concessions": [],
"loyaltyMembershipPackageActivation": null,
"loyaltyIntegratedGiftCardActivation": null,
"appliedGiftCards": [],
"appliedLoyaltyPointsPayments": null,
"loyaltyPointsPayableValueInCents": 0,
"expiryDateUtc": "2018-03-12T02:16:48.1679069Z",
"hasCardPaymentPromotionTickets": false,
"promotionCards": []
},
"suggestedDeals": []
}