Q181: How does Pricing Manager work?

You are here: checkin24-7 » Help » Frequently Asked Questions » Q181: How does Pricing Manager work?
Prices can be set up in three ways: by entering a simple price per time unit (quarter-hour/hour/day) in resource settings, by using pricing manager or a custom pricing script (more info about pricing scripts here). Pricing manager should be used in a great majority of cases. It allows you to define your pricing, ranging from the simple set-ups all the way to very complex rules.

Pricing manager is a collection of rules that allow you to set special prices for each resource. Rules have priorities, they are examined by checkin24-7 at the time of price calculation, going from the first rule (called default rule) all the way down to the last one. You can move the rules up or down to change their ordering.

What are rules and how do they work?
Each rule (e.g. special weekday) has a condition (e.g. weekday=Monday), except for the first -- default rule -- which is always used. When the condition is met (e.g. a rental period included Monday), the price calculated so far is updated.

There are three kinds of updates (or changes) to the price: it can be set to a new value (e.g. first defined in the default rule as 100 USD/day, then redefined for our condition as 80 USD/day), it can be discounted or increased (by a percentage or a fixed value). Discounts/increments must use the + or - sign before the amount, e.g. -10 %, -20 USD, +15 %, +30 USD per day. A pricing rule expressed in percent is based only on the rules above it. For example, consider the following rules (we’ll assume all rules are matched because we’re 2 persons coming in January):

RuleApt A
Default price100 USD per day
Date: January 1-May 1-20%
Number of persons: 2+30 USD

The final price will be: 100 USD - 20%(of 100 USD) + 30 USD = 110 USD. As you see the 20% discount was calculated based on the first rule (100 USD) and not based on the entire price (100 + 30 USD). Moving the -20% rule to the end would have this effect: 100 USD + 30 USD - 20%(of 130 USD) = 104 USD.

There are many kinds of rules (on top of the default price rule): Weekday, Start weekday, End weekday, Date, Start date, End date, End date including hour, Date including year, Start date including year, Hour, Start hour, Duration, Time remaining until rental, Daily pricing and Additional days are all time-based. In case of weekday, date, hour, Additional days and date including year they may apply to only some of the days of the rental.

Here's an example of how a rule can apply to a part of the rental: you rent an apartment for the whole week (7 days) and you have two pricing rules: one for the weekdays (monday-friday with lower price) and one for the weekends (saturday-sunday with higher price). In such case, 5 days will be calculated according to the weekday rule and 2 according to the weekend rule. On the other hand, other types of rules, such as duration (e.g. duration = 7 days) would not treat differently the single days. It's also the same difference between the rule type Date (which can be applied to some days of the rental only) and Start date (will be applied either to all days or not at all). Other time-based rules based on the start time (start hour, start weekday, start date including year) will also work like the start date.

The other rules: Quantity, Number of persons, Additional persons present, Resource sharing, Reservation form item and Custom user property are based on other aspects of the reservation. Using them you can set quantity-based discounts. Here, in particular, you can set special pricing related to the number of persons (please note that checkin24-7 considers the number of persons as the reservation form item called persons, see Q202). With the rule based on a form item you can determine pricing based on other, custom, entries in the reservation form. For example, let's say you have a massage studio and you want to set pricing based on the different types of massage (relaxing, slimming, shiatsu). You can do this by adding three rules based on the value of a reservation form item (which you must first add in form of a drop-down choice in Reservation form layout -- you need to set up the reservation form items before using pricing manager). Each rule will apply to the different massage types.

RuleTherapist ATherapist B
Default price100 USD100 USD
Custom property: Massage type = Relaxing80 USD80 USD
Custom property: Massage type = Slimming90 USD90 USD
Custom property: Massage type = Shiatsu95 USD90 USD


Change price based on numerical value of a reservation form item or user property
If you add a rule based on a reservation form item or custom user property which has numerical values (e.g. number of adults, children or anything else), you may leave the value in the rule condition empty and in the price fields use the letter x to multiply the entered price by the actual value of this property, e.g. if you have the custom property adults and want to increase the final price by USD 10 per adult, add a rule based on the adults property (with empty value) and then enter +10x in the price field. For 3 adults the price will then be incread by USD 30.

Unavailability messages
Other than setting or updating prices, you can also set-up a rule which will return an error message to the client whenever the condition is met. This is very useful if you have complex availability rules, e.g. on weekdays you accept reservations for min. 1 hour but on weekends you only allow reservations of min. 2 hours. In order to have an error message displayed to the client, instead of the price enter the error text and instead of the price type (USD, USD per day, USD per person, percent etc.) choose UNAVAILABILITY MESSAGE from the dropdown.

Pre-payment amount
Another thing you can do using pricing manager rules is change not the final price but the amount of the deposit (pre-payment). This is always expressed as amount, e.g. 100 or $100, you cannot use the advanced syntax as you can do with prices, e.g. -10 or +30%.

Custom additional text
Pricing manager lets you also specify a custom text underneath the price. This text can include any information you like plus it can also include the deposit and/or price calculated by the previous rules. You can use the tagging system available elsewhere in checkin24-7 (templates, email), see Q221 for the tag list. Additionally you can use the tag $(p) which is replaced wit the price calculated so far and $(d) which is replaced with the custom deposit amount calculated in the previous rules (if any).

Daily pricing
There is one rule (called Daily pricing) which is very different from the other rules. If you add it to your pricing sheet, instead of setting the price for each resource, you'll see the Go to the daily pricing page links, which, when clicked, take you to a separate calendar page where you can define a special price for any week or day of the year. Setting a daily price always overrides the weekly price, when both are defined for given day/week. The unit of the price (e.g. per day or per day&person) is defined on the original Pricing Manager page. You can also use this rule to update a price calculated with previous rules, e.g. enter +10 for all days or weeks for which you'd like an increase of $10.

Now test how it works
If you have complex rules, you should do a few test reservations to see if the rules entered are correct. The test page at http://www.checkin24-7.com/reserve-test.php can greatly help here. It will allow you to do a test reservation without the reservation actually being registered. Another feature of this page is that once you choose the start and end times it shows you a debug text (calculation process) under the price. This text shows exactly how the price is calculated after each matching rule. Non-matching rules are not listed. When using this page, ignore the Custom pricing URL setting, it's used only if you want to test a custom pricing script.

Please see Q191 for explanation of advanced conditions which you can use to create complex rules (e.g. apply a rule only if any one of specific previously defined rules is matched).

Here is the detailed description of all rules of Pricing Manager:

RuleDescriptionExample usage
WeekdayThe rule will be matched for all days of the rental between the given start and end weekdays. For multi-day rentals it is possible that this rule will be applied only to some days of the entire rental.You can set up different weekend and weekday pricing
Start weekdayThe rule will be matched when the rental starts on a weekday which is within the specified range.Used mostly with advanced conditions to specify pricing for rentals starting on given weekday and lasting X days.
End weekdayThe rule will be matched when the rental ends on a weekday which is within the specified range.
DateThe rule will be matched for all days between specified days of the year. The year cannot be specified so this rule will work in the same way for all years. For multi-day rentals it is possible that this rule will be applied only to some days of the entire rental. This rule is useful if every year you have the same high/low seasons which start and end on given dates.
Start dateThe rule will be matched when the rental starts on a day which is within the specified range. The year cannot be specified so this rule will work in the same way for all years.Used mostly for high/low seasons when the arrival date determines the pricing for the whole rental.
End dateThe rule will be matched when the rental ends on a day which is within the specified range. The year cannot be specified so this rule will work in the same way for all years.
SeasonThe rule will be matched when the rental starts on a day which belongs to the specified season. The season, for example low or high must be first defined in the Seasonal settings for given resource or site. This is very similar to the Start date rule but the difference is that many different date ranges can be called a single season name so you can use a single rule instead of multiple ones.Used mostly for high/low seasons where each season has many date ranges throughout the year.
Date including yearThe rule will be matched for all days between specified days of the year. The year must be specified so this rule will work only for a single year. For multi-day rentals it is possible that this rule will be applied only to some days of the entire rental. If you have lots of different dates with special pricing, consider using the Daily pricing rule instead.This rule is useful if you have high/low seasons that start and end on given dates but where these dates are different each year.
Start date including yearThe rule will be matched when the rental starts on a day which is within the specified range. The year must be specified so this rule will work only for a single year.Used mostly for high/low seasons when the arrival date determines the pricing for the whole rental.
HourThe rule will be matched for all hours of the rental between the given start and end time. It is possible that this rule will be applied only to some hours of the entire rental.You can set up different morning and evening pricing or happy hours.
Start hourThe rule will be matched when the rental starts within the specified times.Same as the hour rule but you may wish to base the price only on the time when the rental begins.
DurationThe rule will be matched when rental's duration is between the specified values (e.g. up to 2 days or from 3 to 4 days). You can also specify one of the two (minimum or maximum duration only).It is very common to have a different price for different number of days (or hours) of the rental.
Time remaining until rentalThe rule will be matched when more or less than X days are left until rental. It's also possible to set a specific price when between X and Y days are left. For hour-based resources, time can be also expressed in hours (e.g. price can be changed if less than 3 hours are left).This is used mostly for last minute rentals. You can offer lower prices to encourage the customers to make last-minute reservations. You may also set lower prices for rentals which start a long time from now.
Reservation form itemThe rule will be matched when the customer chooses given value in the reservation form. This rule can be also used to base the price on a number entered in the reservation form. Please see also the section change price based on numerical value of a reservation form item or user property above for the details. Note: reservation form items must be defined before using this rule. If you don't do this, you won't see any reservation form items in the list.This rule is often used to add different products or services to the reservation or to choose the type of service (see the therapist sample above). Here the price can be changed depending on the choice made by the customer. You can also change the price in an intelligent way, based on a number selected by the customer from a drop-down. This way you could for example ask the customer for the number of wine bottles to be added to the reservation and add a specific amount for each bottle. This is often used as an alternative for additional products (more in Q174).
Custom property (user)If you defined user properties (more about this in Q215), you can base the price on the value of a user property. This rule can be also used to base the price on a number entered in the reservation form. Please see also the section change price based on numerical value of a reservation form item or user property above for the details. You must define the user properties before using this rule.This rule can be used to apply discounts to different user groups (e.g. club members active since more than 3 years can have special pricing). You may also use this rule if you want to give individual discounts to different customers.
Quantity of resourcesThe rule will be applied when the customer reserves a given number of units (between the specified minimum and maximum). You can also specify minimum or maximum only (e.g. for more than 5 units, the discount is 20%).Quantity-based discounts are very common and this is the rule to use in such case.
Number of personsThe rule will be applied when the customer reserves for a given number of persons (between the specified minimum and maximum). You can also specify minimum or maximum only (e.g. for more than 2 persons there is a discount). checkin24-7 knows how many persons there are if there is a reservation form field called persons. This field is automatically translated to all languages as Number of persons but you can change it (as you can with any other text) in site settings / customized translations. This will also work if you ask for the number of children / adults in the reservation form (see Q202 for more about this).You'll often want to give a discount for a party of more than X persons, or perhaps do the opposite: increase the price for single occupancy of a double room.
Additional persons presentSimilar to the previous rule (number of persons) but here you can increase the price for each ADDITIONAL person and not for EACH person. You also have to state what additional means (e.g. more than 2 persons).This rule can be used to make the calculations easy in case you charge extra for each additional person. For example you have a double room where additional beds can be added. In this case you can specify the additional persons present rule (>2 persons) and if you then set the price to +10 USD per day&person the extra 10 USD will be added only for the additional persons (3rd person, 4th person etc.) and not for the 1st and 2nd person.
Additional daysThe logic here is the same as for the Additional persons present rule but here additional days are considered instead of additional persons. Here the price increase (or discount) will be applied only to the additional days.You may use this rule if for example you rent out accommodations for weekly stays but you wish to offer a possibility to stay longer and you have a fixed price per day for each day after one week.
PriceThe rule will be applied if the price calculated so far by the preceding rules is within the specified range.This is very useful to apply discounts based on the total price calculated, e.g. 10% discount for price over USD 100.
Always trueThe rule will be always applied.This is very useful for things like setting the deposit or custom additional text where these don't depend on any conditions.
Resource sharingThis rule can be used with resources that have the sharing option set to possible. Only certain types of resources have this option visible in resource settings, for others (where sharing is predefined or doesn't make sense) this rule is useless. With the sharing set to possible, it's up to the customer to say if they wish to share the resource with other customers or not. This rule lets you change the price accordingly.
Daily pricingThe daily pricing is much more than a simple rule, it lets you set prices for each day (or week) of the year on a calendar view. Please see the daily pricing section above for more details.This rule is extremely useful if you set your prices on day-to-day basis, such as last-minute pricing for the upcoming days.