Final reservation price is build up from several different items:
- Room rate (from pricelist)
- Local tax
- Revenue management (discount/surcharge)
- Discount/ surcharge (FM, LM, LT, special price)
- Guest category discount
Prices can be set in two different ways (only one method can be used at time):
- Room based price (only one price for different occupancies of the same room eg. 2000 CZK)
- Occupancy based pricing (1000 CZK for 1 person in double room / 2000 CZK for 2 people in the same double room)
For each partner you can create and select its own rateplan (RP) which can be derived from some other parent RP, that means that it will use values from parent which can be adjusted by automatic discount/surcharge.
In getRates api method you will immediatelly receive the correct and final price. It really doesnt matter if its derived or not derived from parent rateplan.
In general calculation altogether with other possible discounts, this discount is calculated as the first one.
Calculation of local tax can use two different settings:
- Tax is added on top of the pricelist rate.
- Tax is already included in the pricelist rate
Eg. pricelist room rate can be 2000 CZK and local tax is 50 CZK/person/night. Final price in previously mentioned cases will be following:
- Accommodation item 2000 CZK + Local tax item 50 CZK
- Accommodation item 2000 CZK (tax is already included in the pricelist rate)
In all cases further discounts are then calculated from pricelist rate (2000CZK in our example).
Local tax can be set with different values for different guest categories and also for different length of stay or room types. Local tax can be also set in absolute value or in % (then its calculated only from accommodation price and not from any other items in room account).
Unit price of meal is multiplied by number of guests and nights. Then the general meal settings will set if the meal should be listed as separate item in room account or as merged into accommodation service item.
So with acc.price 2000 CZK and meal price 200 CZK it can be following:
- Accoomodation service 2000 CZK +Meal 200 CZK
- Accommodation service 2200 CZK (meal price included in acc. price)
Meal price does not enter the further discount calculation. Not even in the case when its merged with accommodation service item in room account!
Meal price can also vary in different seasons, but it might also be set with the same price for all possible seasons.
Revenue management (discount/surcharge)
Automatic discount / surcharge applied in particular moment (occupancy based). Its calculated before other possible discounts (described in the next section).
getRates api method returns the final price with revenue management condition already applied.
Discount / surcharge (FM, LM, LT, special price)
First several basic rules for discount calculation because its quite complicated:
- Guests always get the most favourable discount from all possible discounts.
- Special prices have special settings which allows you to combine or not combine special price with other discount types like long term, first minute and last minute (also there is a special setting for combining special price only with surcharges).
- Price is being calculated for every single day/night of reservation using the most favourable discount from all possible. There can be situations when reservation can have different discount used every for every single day.
- Discounts can be set as value or as % deduction.
- Discount set as value is calculated for every night of the reservation.
- Use of discount is based on date and time of booking (for LM, FM), on length of reservation (LT) and also on date (if the discount is valid during booked date) and room type (if the discount is valid for particular room type) etc.
In general we calculate discount for each and every day of the reservation separately. More discount types can apply for different days of reservation. If there is more than 1 discount which can be applied for particular day we always use and calculate with the most favourable discount for the guest.
This discount type is calculated before the guest category discount.
Guest category discounts
Special discount for particular guest category can be also set. E.g. 15% discount for children.
Calculation of guest category discount can vary. There are four possible calculation methods based on the profile settings. Lets explain them in this example – you have a 2+1 room with occupancy bed pricing (1person=1000CZK, 2people=2500CZK, 3 people 3000 CZK)
- From ideal part (total price for particular number of guests divided by number of people multiplied by the discount value > 3000 / 3 * 0,15 = 150 CZK is discount per one child for one night)
- From last bed (difference between price for 3 people and price for 2 people in the room multiplied by the guest category discount >>> (3000 – 2500) * 0,15 = 75 CZK is discount per one child for one night)
- From last bed but only for extra beds (same calculation method as the previous one, but valid only for discounted guest categories in extra beds > in our 2+1 example room if there will be three people and one of them will be child, the calculation will be same as in previous example. But in case there will be only two people and one of them will be a child (in regular bed) the discount wont be applied and the price will be 2500 CZK. In case there will be three people and two of them children, the discount for child in extra bed will be calculated in the same way as in the first example and there will be no discount for the child in regular bed.
- From ideal part (distinguishing between beds and extra beds) – very similar calculation to the “from ideal part” calculation. If there will be a child in regular bed in 3+2 room the discount will be calculated >> price for 3 people / 3 * discount value. In case child occupies the extra bed calculation will be different (price for 5 people – price for 3 people) / 2 * discount value.
Discount for guest category can be set as separate room account item or it can be merged to accommodation service item in room account. Generally this setting does not have any effect on total price.
Guest category discount is calculated as the last one from all other discounts.
Discount calculation order
In our example we have a one night reservation, with price for 2 people (one adult and one child) 2000 CZK (price is derived from other rate plan with basic price 2500 CZK and for our child rateplan there is also 20% discount). There is also valid revenue management discount of 10%, then the special price discount 25% should be applied and there is also an extra 10% discount for guest category child. This is how the final price will be calculated.
- Calculation of price for derived rate plan >>discount is 500 CZK and final price is >> 2500 * ( 1 – 0,20) = 2000 CZK
- Revenue management >> discount 200 CZK (included in the accommodation item which value is then 1800 = (2000-200) CZK
- Discount / surcharge (FM, LM, LT, special price) >> discount 450 CZK (we use price from previous point 2 and apply the 25% discount >> 1800 * 0,25 = 450 CZK
- Guest category discount > original price calculated together with all previous discounts and then the guest category discount calculation from the ideal part >>> (2000 – 200 – 450) /2 * 0,10 = 67,5 CZK
- Final price 1282,5 CZK