Offer

Information about a potential discount or other benefit available to the holder of a loyalty account. Contrast with a Redemption, which is an Offer that is applied to a Check.

amount
number

The currency amount of the discount when applied based on the current check information. This value can be updated in future calls based on updated check information (for example, a 10% off offer will change based on the check total). This field is optional in response to LOYALTY_INQUIRE requests and required in response to LOYALTY_REDEEM requests. If the selection type is ITEM or MULTI_ITEM, this amount should be the sum of the amounts on each ItemRedemptionInfo in the itemApplication array.

applicable
boolean

true if this offer can be applied to the check submitted with the request, false otherwise

Array of objects (ExpirationData)

If this offer will expire, expiration dates can be included in this element to indicate on which date(s) this offer will expire. The next upcoming expiration date will be displayed for the offer on the POS. Optional.

identifier
string

A unique identifier for this offer.

Array of objects (ItemRedemptionInfo)

If this offer is of type ITEM or MULTI_ITEM, this array includes the selection or selections to which the offer can be applied. Required if applicable is true, optional otherwise.

name
string

The name of this discount. This should be a human readable description of the order. Examples include "5% off your entire order" or "Free small cheese pizza".

quantity
number

The quantity of this reward available to the account owner. This is informational to display to the user. It does not necessarily mean the offer is redeemable multiple times (for example, a guest may have two "10% off your entire check" offers, but only one can be redeemed per visit).

selectionType
string

Describes what this offer covers. A CHECK level discount applies to the entire check, without requirements on the items contained within the check. An ITEM level discount applies to a specific item on the check.

Enum: "CHECK" "ITEM" "MULTI_ITEM"
{
  • "identifier": "string",
  • "name": "string",
  • "applicable": true,
  • "selectionType": "CHECK",
  • "itemApplication": [
    ],
  • "amount": 0,
  • "quantity": 0,
  • "expiration": [
    ]
}