Points Expiration Cron Process

Written By Devin O'Neill ()

Updated at April 10th, 2025

Summary

In the loyalty program, members earn points through their activities, which can have specific expiration dates. Once points are credited to a member's account, they must be used within the defined time limit. After the expiration date, any unused points will expire, and the member will no longer be able to redeem them. This document will explain how points are credited to members' accounts, detail various scenarios for points expiration, and outline the points' expiration process for different regions and multi-template sites.

Basic Terms

Points Expiration

  • If a loyalty member has not redeemed their earned points, these points will expire on the set expiration date and can no longer be used for redemption from the member’s point balance.
  • Points will expire on their designated expiration date. For example, if a member earns 200 points from a purchase and the expiration date is January 5, 2025, those points must be used by that date. If the points are not redeemed by the expiration date, they will expire at midnight when it becomes January 6, 2025, or at a specified time according to the time zone (Refer to the time zone table). This policy allows members to have the full time available to redeem their points up until the very last moment of the expiration date.
  • If an activity does not have an expiration date, then such points will be considered last for redemption from the member’s point bank. The points with the soonest approaching expiration date will be redeemed first. For instance, consider a member who completed three purchase actions with the following details:
    • Action 1: 200 points awarded, with no expiration date.
    • Action 2: 100 points awarded, expiring on January 6, 2025.
    • Action 3: 500 points awarded, expiring on January 16, 2025.

In this case, when the member goes to redeem points, the points earned from Action 2 would been used first because they have the nearest expiration date. After those have been redeemed, the points earned from Action 3 would be used. Then the points earned from Action 1 would be used last, since the points earned for that action do not have an expiration date.

Global Expiration Cron

The expiration cron runs on a global basis i.e, when the latest expiration date for any action is reached, the cron processes the relevant data and expires the points according to the defined time zone and expiration time.

Behavior of Points Expiration Cron Run for Multi-Template Sites

  • Each template is associated with a specific time zone, and the cron operates according to the time zone configured for the time zone group.
  • If a site template does not have a designated time zone, the cron defaults to the site's overall time zone settings and runs according to the defined time zone group.
  • When the site template time zone and the site’s default time zone have not been set by an administrator, the global cron will execute based on the default cron group (Cron Group -1) (Refer to the time zone table).

Cron Time Zone

  • In the Annex Cloud platform, the global time has been divided into eight groups, each encompassing a specific range of time zones. For instance, as shown in the table below, Group 1 includes the time span from UTC +00:00 to UTC +02:59.
  • All activities performed by loyalty members are logged in our database using UTC, rather than local time zones.
  • When the global cron job runs, it operates within a specific time zone group and expires the relevant points.

In the table below, you can find the various time zones categorized into different groups along with their corresponding cron execution start times.

Time Zone Group Number Cron Execution Start Time (UTC)
UTC +00:00 To UTC +02:59 1 00:00 UTC
UTC +03:00 To UTC +05:59 2 21:00 UTC
UTC +06:00 To UTC +8:59 3 18:00 UTC
UTC +09:00 To UTC +14:00 4 15:00 UTC
UTC -00:00 To UTC -02:59 5 03:00 UTC
UTC -03:00 To UTC -05:59 6 06:00 UTC
UTC -6:00 To UTC -08:59 7 09:00 UTC
UTC -09:00 To UTC -11:59 8 12:00 UTC

Cron Execution Time

Based on different time zones and regions, the global time groups are divided into the following world clock time zones. Here, you can also find the cron execution times for each world clock time zone.

Cron Group World Clock Time Zone Details Standard TimeZone  CRON Execution Start Time Per Standard Time Zone  Daylight Timezone CRON Execution Start Time Per Daylight Time Zone 
1 Greenwich Mean Time (GMT): UTC+0
AND British Summer Time (BST): UTC+1
GMT 12:00 AM BST 1:00 AM
1 Central European Time (CET): UTC+1
AND Central European Summer Time (CEST): UTC+2
CET 1:00 AM CEST 2:00 AM
2 India Standard Time (IST), which is UTC+5:30 IST 2:30 AM NA NA
2 Eastern European Time (EET): UTC+2
AND Eastern European Summer Time (EEST): UTC+3
EET 11:00 PM EEST 12:00 PM
2 Arabia Standard Time (AST), which is UTC+3 AST 12:00 AM NA NA
3 Philippine Standard Time (PST), which is UTC+8 PST 2:00 AM NA NA
3 China Standard Time (CST), which is UTC+8 CST 2:00 AM NA NA
3 Brunei Darussalam Time (BNT), which is UTC+8 BNT 2:00 AM NA NA
3  Indochina Time (ICT), which is UTC+7 ICT 1:00 AM NA NA
3 Western Indonesian Time (WIB), which is UTC+7 WIB 1:00 AM NA NA
3 Malaysia Time (MYT), which is UTC+8 MYT 2:00 AM NA NA
3 Singapore Time (SGT), which is UTC+8 SGT 2:00 AM NA NA
3 Australian Western Standard Time (AWST), which is UTC+8. AWST 2:00 AM NA NA
4 Australian Central Standard Time (ACST): UTC+9:30
AND Australian Central Daylight Time (ACDT): UTC+10:30
ACST 12:30 AM ACDT 1:30AM
4 Australian Eastern Standard Time (AEST), which is UTC+10 AEST 1:00 AM AEDT 2:00 AM
6 Eastern Standard Time (EST): UTC-5 (during standard time) AND Eastern Daylight Time (EDT): UTC-4  EST 1:00 AM EDT 2:00 AM
6 Argentina Time (ART), which is UTC-3. ART 3:00 AM NA NA
6 Chile Standard Time (CLT): UTC-4 
AND Chile Summer Time (CLST): UTC-3
CLT 3:00 AM CLST 3:00 AM
6 Colombia Time (COT), which is UTC-5 COT 1:00 AM NA NA
6 Peru Time (PET), which is UTC-5 PET 1:00 AM NA NA
6 Central Standard Time (CST): UTC-6
AND Central Daylight Time (CDT): UTC-5
CST 12:00 AM CDT 1:00 AM
7 Pacific Standard Time (PST): UTC-8 (during standard time) AND Pacific Daylight Time (PDT): UTC-7 PST 1:00 AM PDT 2:00 AM
7 Mountain Standard Time (MST): UTC-7 (during standard time) AND Mountain Daylight Time (MDT): UTC-6 MST 2:00 AM MDT 3:00 AM
7 Pitcairn Standard Time (PST), which is UTC-8 PST 1:00 AM NA NA

Use Case for Points Expiration

Refer to the scenario outlined below, which describes a member's activities, including non-purchase actions, purchases, returns, and redemptions. Based on the remaining points, the cron job runs and expires points accordingly. For each activity, the member either earns points or has points deducted from their account. Each set of awarded points is given an expiration date determined by the administrator. In the following scenarios, you will see how awarded points expire and how the cron job behaves in different situations.

Scenario

Consider a scenario in which a member makes a purchase on January 3, 2024, resulting in the award of 200 points to their account. The expiration date for these points is January 10, 2025. Later, on January 11, 2024, the member partially returns the product, leading to a deduction of 100 points from their account. Consequently, the member now has 100 points remaining.

On December 13, 2024, the member redeems 75 points, leaving a balance of 25 points in their account. When the expiration date arrives on January 10, 2025, 25 points expire, as summarized in the table below.

User Activity Date Trnx No Activity Points Earned Date Credit Points Debit Points Expire Date Points Balance Points to Expire Ref. Trnx No Upcoming Expire Date Expired Points Points Expired On DateTime In UTC
ACLOYUSR01 1-Jan-24 911555 Create an account 1-Jan-24 50 0 NA 50 50   NA    
ACLOYUSR01 2-Jan-24 911556 Manual debit NA 0 50 NA 0 0 911555 NA    
ACLOYUSR01 3-Jan-24 9115575 Purchase 10-Jan-24 200 0 10-Jan-25 200 200   10-Jan-25    
ACLOYUSR01 11-Jan-24 9115580 Return NA 0 100 NA 100 100 9115575 10-Jan-25    
ACLOYUSR01 13-Dec-24 9115710 Redeem NA 0 75 NA 25 25 9115575      
ACLOYUSR01 11-Jan-25 9115715 Points Expiration NA 0 25 NA 25 25 9115575   25 2025-01-11 00:45:23

 

  • For any actions with an expiration date, the points are expired at midnight (12:00 AM) on the following day. For example, let's say Action A has the expiration settings as Calendar Year. A member performs this action on Jan 12, 2024 and earns 100 points. The associated expiration date will be Dec 31, 2025. The expiration cron will run on Jan 1, 2025 at midnight and 100 points (if not used) will be deducted against the Action ID 106 and points expire.
  • If the expiration of points is not set for an activity, the points never expire and can be used throughout the loyalty program established by the administrator.