Skip to main content

Currency redemption

Purpose of this document

This document provides details at the business, technical, and implementation levels for specific features within the ES Loyalty feature set. This document addresses a subset of functionality centred on redemption types and redemption rules.


POS redeem for dollar-off savings

Real-time rewards redemption at POS in currency.

This feature facilitates real-time redemptions by ensuring the currency required for the redemption is available, decrementing the currency accordingly, and delivering the associated reward or initiating fulfilment. Execution of real-time currency redemption for dollar-off rewards depends on the client's POS capabilities.

Ability to redeem specified rewards in currency at the point of sale. The customer must have a POS system capable of exchanging data with ESI through the POS APIs.

The following flow using the POS APIs is recommended for point redemptions. Points redemptions are first reserved before being processed to prevent customers from reaching a negative balance.

A reservation flow should follow this sequence:

  1. Balance inquiry: Check how many dollars are available for redemption. For example, the POS technician may inform the member that they can redeem $80.
  2. Redemption reservation: Makes a reservation for a loyalty point redemption. The reservation sets aside the appropriate number of points for a configured duration, guaranteeing that the final redemption call has enough points to cover it. A token is returned on the reservation and must be provided on the finalize activity call.
  3. Transaction details exchange: Transaction details are exchanged between the POS system and the ESI POS API.
  4. Finalize transaction: The token is used for the finalize call. The redemption is carried out and the points (equivalent to the dollar value) are removed from the account.

POS redeem for catalogue items

Facilitates real-time redemptions by ensuring the currency required for the redemption is available, decrementing points appropriately, and delivering the associated reward or initiating fulfillment. The procurement, hosting, and fulfillment of reward catalogue items are handled by a third-party rewards partner (for example, Helix), managed by the client.

The following use cases must be supported:

  1. Reservation against a catalogue item instead of specifying a points amount to reserve.
  2. Product codes (stored in the system using the product feed) are used to look up the catalogue item and map it to the points to be reserved for that item.
  3. A single reservation can include multiple catalogue items. For example, reserving and redeeming a car wash and a can of Coke in the same transaction.
  4. Multiple quantities of the same catalogue item can be reserved and redeemed in the same transaction. For example, reserving and redeeming three cans of Coke in the same transaction.

The following APIs are called in sequence to achieve the in-store redemption flow:

  1. POS start-session API: Work to allow partner card ID as one of the identifiers that can be used to start a session is handled through the Partner Linking feature.
  2. POS reservation API
  3. POS finalize

To support this, two value selectors are added to the Catalogue Item Details page when creating a new catalogue item:

  1. Redemption type: Select DISCOUNT or TENDER.
  2. Product code: Multi-value input to specify the products included in the redemption.

Ad hoc redeem

Facilitates redemption for an item (via catalogue redeem) or another value delivered to the member (for example, a donation, contest entry, points conversion, or experiential reward).

This feature is used by client partners and business units to redeem points on behalf of the member. Points can be redeemed using the CUX API, regular feed processing, or file upload through the Console. The redemption is recorded in the system as a transaction type (RequestAction=ADHOC_REDEEM and TransactionParts.Action=REDEEM).

Redeemers (partners or business units) associate the redemption with a redemptionId for reporting purposes. Valid redemption identifiers are maintained through the Console. Instead of specifying a points amount to redeem, a catalogue item identifier can be provided, which is then mapped to a points value for redemption. Valid catalogue item identifiers are maintained through the Console per partner and business unit.

The feature consists of the following flows:

  1. Management of identifiers:
    1. Redemption identifiers.
    2. Catalogue identifiers.
  2. Ad hoc redemption by the client using the CUX API.
  3. Ad hoc redemption by partners using the Partner API.
  4. Ad hoc redemption feed.
  5. Ad hoc redemption using file upload in the Console.

Scheduled redeem (auto-redeem)

Scheduled automatic redemption, used to draw balances down so that rewards can be fulfilled.

Scheduled auto-redeem takes place based on elapsed time since the points were earned. For example, points may be automatically redeemed a set number of months after they are earned, or a set elapsed time after a qualifying member activity such as making a purchase or redeeming points. Automatic redemptions help the client manage their rewards liabilities.

Points that are automatically redeemed may be provided to the member as reward points on a card or an account.


Redemption rules

Ghost card / unregistered card redemption override

A special flag to allow redemption on select ghost cards.

An agent in the Console needs a way to allow a redemption on a ghost (unregistered) card, specifically for a member who wants the benefits of the loyalty program without providing PII such as their email address, date of birth, or phone number.

  • Ghost members have a checkbox on their profile in the member admin console to toggle the redemption flag for that member.
  • The status of the redemption flag configuration is returned as part of the Member Search call in the admin console.
  • The Update Status button text changes to Update Account for unregistered users only.
  • The new confirmation modals apply to unregistered users only; for active users, the existing modal is used.

Additional information

In the Console, use Find a Member to search for an unregistered (ghost) card, then click the result to open the member's landing page. Scroll down to see the notification that the account is not registered.

Expand the section. The checkbox at the bottom provides the option to allow redemption on this unregistered account.

Selecting this checkbox allows the unregistered member to bypass the registration process and redeem rewards on their ghost card.