To remind users to use offers before they expire, a default notification is triggered 48 hours before an offer expires. To trigger a notification, an offer must meet the following criteria:
- It must not have previously triggered an expiration notification on the user’s device.
- It must have a valid expiration
datetime
that's in the future, set invalidTimeInterval.end.date
. - It must not have the writeable field
disableExpirationNotification
set toTrue
. By default, this field is set tofalse
.
The following screenshot shows an example of the default, unmodifiable notification:
![offer expiration notification](https://developers-dot-devsite-v2-prod.appspot.com/static/wallet/retail/offers/images/offer-expiration-notification.png?authuser=5)
- Offer expires (today, tomorrow, in [x] days)
class.title
class.titleImage
The header in the offer expiration notification cannot be customized.
Blackout hours
If the offer expiration notification is set to appear between 10PM and 6AM at the user’s local time, the offer appears either before or after this time period.
Custom offer expiration notification time
You can customize when the Offer
expiration notification appears using the
message.displayInterval.start.date
field on OfferObjects
or
OfferClasses
. If a custom notification time is set, the expiration notification triggers
according to the message.displayInterval.start.date
, instead of the default logic
calculated from validTimeInterval.end.date
. The following is a sample of a customized
time for an expiration notification:
{ "message": { "messageType": "EXPIRATION_NOTIFICATION", "displayInterval": { "start": { "date": datetime } } } }
The displayInterval.start.date
sets the time the notification appears. It can be
set up to 30 days prior to the expiration date. If a time span greater than this is specified, the
notification triggers at the 30 day mark. This message doesn't require a header and body field -
if they're included they aren't used.