How to add simple late fees or early bird discounts

How to add simple late fees or early bird discounts

Your community's fees may change throughout the year.  January discounts, August end of season specials, discounted guest pass days, etc.  
For most communities, you can simply login and edit the fees anytime.  No need to program anything or follow the steps in this help article.  

But some communities, would like to program a fee change to automatically happen at a specific date and time. 
In this support article show you how to program a...
  1. Early bird discount
  2. Late fee
How to add an early bird discount
In this example, we'll create a $75 discount that expires May 1st, 2027 at 12 midnight EST.  The discount will subtract $75 from the total fees.  

Constants Tab

Step 1
A.  Create a constant: EARLY_BIRD_DISCOUNT_END 
B.  Value: "2027-05-1 04:00:00"
C.  Description: Enter the date and time UTC the early bird discount ends.  Use yyyy-mm-dd hh:mm:ss format (in quotes). 

Step 2
A.  Create a constant: EARLY_BIRD_DISCOUNT
B.  Value (if you are a straight value, enter it here): 75.00 
C.  Description: Enter the early bird's value ($). Enter a positive number.

Calculations Tab

Step 3
A.  Create a calculation: EarlyBirdValue
B.  This expression should calculate the discount's value.  It can be a number, constant or another calculation.
Examples
If you are using the constant's value in step 2, use: number(#EARLY_BIRD_DISCOUNT)
If you are giving your members a 15% off membership dues, use : {MembershipFeeTotal}*0.15
If you are giving your members 50% off all guest fess, use: {GuestFeesTotall}*0.5

Step 4
A.  Create a calculation: EarlyBirdTrigger
B.  This return the early bird's value if the today's date is prior to the early bird's end date.  Use: if((now() < dateVal(#EARLY_BIRD_DISCOUNT_END) ),{EarlyBirdValue},0)
Note
If you are basing your discount on previous calculations, the calculations in Step 3 &4  must be placed below all previous calculations.  We recommend placing these 2 calculations just above the calculation used in step 5.  

Step 5
A.  Find the calculation you wish the discount to be subtracted from.  Include the subtraction {EarlyBirdTrigger}.
In this example, we're using: {TotalFeesWithoutProcess}

Form Tab

Step 6
A.  Create a CALCRESULT FIELD on your form.  Place it in your payment section: DisplayEarlyBirdDiscount
B.  Label the field: Early Bird Discount: $
C.  Initially Hidden: Checked
D.  Hide/Unhide Calculation: {EarlyBirdTrigger}>0
E.  Calculation Result Name: EarlyBirdTrigger
F. Decimal Places: 2 

How to add a late fee
In this example, we'll create a $25 fee that is applied if the member submits after Feb 1st, 2027 at 12 midnight EST.  The discount will add $25 to the total fees.  

Constants Tab

Step 1
A.  Create a constant: LATE_FEE_START 
B.  Value: "2027-02-1 05:00:00"
C.  Description: Enter the date and time in UTC the late fee starts.  Use yyyy-mm-dd hh:mm:ss format (in quotes). 

Step 2
A.  Create a constant: LATE_FEE
B.  Value (if you are a straight value, enter it here): 25.00 
C.  Description: Enter the late fee's value ($). Enter a positive number.

Calculations Tab

Step 3
A.  Create a calculation: LateFeeValue
B.  This expression should calculate the late fee's value.  It can be a number, constant or another calculation.
Examples
If you are using the constant's value in step 2, use: number(#LATE_FEE)
If you are charging your members an extra 5%, use : {MembershipFeeTotal}*0.05

Step 4
A.  Create a calculation: LateFeeTrigger
B.  This return the early bird's value if the today's date is prior to the early bird's end date.  Use: if((now() < dateVal(#LATE_FEE_START) ),{LateFeeValue},0)
Note
If you are basing your fee on previous calculations, the calculations in Step 3 &4  must be placed below all previous calculations.  We recommend placing these 2 calculations just above the calculation used in step 5.  

Step 5
A.  Find the calculation you wish the fee to be added to.  Include the fee {LateFeeTrigger}.
In this example, we're using: {TotalFeesWithoutProcess}

Form Tab

Step 6
A.  Create a CALCRESULT FIELD on your form.  Place it in your payment section: DisplayLateFee
B.  Label the field: Late Fee: $
C.  Initially Hidden: Checked
D.  Hide/Unhide Calculation: {LateFeeTrigger}>0
E.  Calculation Result Name: LateFeeTrigger
F. Decimal Places: 2 

How do I find UTC date and time?

To find the correct UTC date and time you'll use in AGS's Application Portal, use your AI of preference.  Copy and paste the below or a similar question into Google or Chat GPT.  

Please convert 12 Midnight July 1st, 2027 from Eastern Time to UTC in yyyy-mm-dd hh:mm:ss format.  

AI will answer: 2027-07-01 04:00:00 
Use "2027-07-01 04:00:00"  in your AGS template.  

Please note, Coordinated Universal Time (UTC) does not change with Daylight Saving Time. Most time zones do. 
For example, Eastern Time may have a 4 hour or 5 hour offset.  Depending on the days of the year.  
  1. Eastern Daylight Time (EDT): UTC minus 4 hours (spring and summer).
  2. Eastern Standard Time (EST): UTC minus 5 hours (fall and winter).