Changing Rates but grand fathering current reservations

Top  Previous  Next

DISCLAIMER: This article involves Advanced Customizations, which can be technically challenging to get working and is not part of standard support.  This is programming and must be done precisely or the results can be unpredictable.  This information is provided as a service for those who have the technical skills to work through it -- we cannot help you solve any issues with getting it working.  For more information about Advanced Customizations, see the full documentation:




Lets say you need to change some of your rates, but you don't want them affect anyone who has made a reservation already (you've promised them a certain rate), even though they haven't checked in yet.  In other words, the rate change is based on when the reservation was made, not when they check in.


In older versions, the only way to do that (and have it work for Auto-Rates) was to set up a separate Reservation Type, where all new reservations get a different type.  However the newer versions have a way to do this with the Advanced Condition Expression in the Rate definition.  While this is "advanced", which means it gets into programming, handling this particular condition is relatively simple.


1. Make another copy of each rate that's changing (click on the rate and click "Copy Rate" -- the new copy will be at the bottom).

2. Adjust the charge amounts and descriptions ("Edit Rate").

3. Move each new rate so it's above the original rate.

4. Set up the Advanced Condition Expression to check the date-made field accordingly for each rate:


For instance if the cut-off for the new rate was April 1st 2011, the expression in the new rate would be (assuming U.S. date format):


 Resv:Resv_Date_Made >= {4/1/11}


In the old rate it would be:


 Resv:Resv_Date_Made < {4/1/11}


Make sure the format is precisely copied, every character counts.  Be sure to use the curly braces around the date as shown.  Also be sure that one and only one of the expressions includes the "=", otherwise any reservations made exactly on that date would not uniquely match either rate.


This will enable Auto-Rates to select either the old rate or the new rate depending on when the reservation was made.


Note however that it won't show the correct rate in Check Rates (because the temporary reservation doesn't have a Date_Made yet) unless you put the Old rate first -- or you can change the expression for the New rate to be:


 FieldIsBlank(Resv(), "Resv_Date_Made") OR  Resv:Resv_Date_Made >= {4/1/11}


This assumes of course that the date for the new pricing is today or in the past, not in the future, since it assumes any new reservations get the new rate.


Page URL

Campground Master Home