Represents all the complex details of an offer.

Properties

dateAdded The date the offer was created.
startDate The date that the offer started or will start.
endDate The date that the offer will end.
This field may be null when there is no value or not applicable.
maxActivations The maximum number of times that an offer can be linked across all users.
This field may be null when there is no value or not applicable.
minPurchaseAmount The minimum spend necessary for the offer to apply.
This field may be null when there is no value or not applicable.
hasSchedule Whether this offer has a schedule associated with it. Schedule type determines how the schedule applies.
scheduleType The schedule type determines how the schedule applies, can be INCLUDE, EXCLUDE, or REWARD
schedule A list of the complete schedule for the offer See variableReward details
hasDefault Applies when an offer schedule is REWARD and a transaction occurs during a time not specified in the schedule. If true and a transaction occurs outside of the schedule then the reward specified at the offer level will apply.
maxRedemptions The maximum number of times users can redeem the offer.
This field may be null when there is no value or not applicable.
minRedemptionInterval The minimum time (in seconds) in which an offer could be redeemed. For example, a user can't redeem more than once an hour.
This field may be null when there is no value or not applicable.
maxUserRedemptionsPerInterval The maximum number of times a user can redeem an offer within the specified userRedemptionInterval.
This field may be null when there is no value or not applicable.
maxTotalUserRedemptions The maximum number of times a user can redeem an offer regardless of interval.
This field may be null when there is no value or not applicable.
maxQualifiedUserSpendPerInterval The maximum qualified spend that can be applied to an offer per interval (for example $500 of spend will be rewarded).
This field may be null when there is no value or not applicable.
userRedemptionRenewalInterval The interval period as applied to the interval type. For example, if this was 2 and the interval type was DAY then this would mean 2 days.
This field may be null when there is no value or not applicable.
userRedemptionRenewalIntervalType The interval type in which the redemption window renews. Can be DAY, WEEK, MONTH. If WEEK or MONTH then it's applied for a calendar month/week.
minPurchases The minimum number of purchases necessary for the offer to be redeemed.
This field may be null when there is no value or not applicable.
purchaseMinInterval The minimum amount of time (in seconds) between purchases in a multi-purchase offer.
This field may be null when there is no value or not applicable.
purchaseMaxInterval The maximum amount of time (in seconds) between purchases in a multi-purchase offer.
This field may be null when there is no value or not applicable.
cumulative Whether the spend thresholds for the offer are cumulative over multiple purcahses or indvidually applied per purchase.
budget The budget for the offer. Once the budget has been exceeded the offer will no longer apply.
This field may be null when there is no value or not applicable.
spentBudget The spent budget for the offer. This is the sum of (cashback amout + referral fees) .
This field may be null when there is no value or not applicable.
This field is optional and will not be returned when there is no value or not applicable.
maxRedeemDate If specified this allows an offer to apply after the offer has expired. Typically this will be the same as the offer end date.
This field may be null when there is no value or not applicable.
dynamic Whether the offer is a dynamic offer (meaning the reward/fee can change). If it is changed the dateRewardChanged will be set to the last time the reward changed.
targetingSegment The targeting segment which the user must belong to in order for a transaction to match.
This field is optional and will not be returned when there is no value or not applicable.