Q181: How do I set up pricing in ibookfishing?

You are here: ibookfishing » Help » Frequently Asked Questions » Q181: How do I set up pricing in ibookfishing?
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 ibookfishing 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, Date, Start date, Hour, Start hour, Duration, Time remaining until rental are all time-based. In case of weekday, date and hour, they may apply to only some of the days of the rental. Example: 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, another rule, based on duration (7 days) would not treat differently the single days (the price will be same for each day). 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) will also work like the start date.

The other rules: Quantity, Number of persons and Custom property are based on other aspects of the reservation. Using them you can set quantity-based discounts. Here you can also set special pricing related to the number of persons (please note that ibookfishing considers the number of persons as the reservation form item called persons). With custom property-based rule 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 custom property (which you can previously add in form of a drop-down choice in Reservation form layout -- it’s best to set the layout 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 custom property
If you add a rule based on a custom 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 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.

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.ibookfishing.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.