## Pricing System and Fares Calculation

The pricing system of **VikRentCar** was designed to fit any possible **car rental ****pricing model**, for both short-term and long-term rentals.

### Daily Fares

From the page **Fares Table** you should enter the costs for any number of days of rental allowed. This will be the **default Rates Inventory** from which the rates calculation will take place. If no rates are defined for the number of days requested, reservations will not be allowed for that car.

In the 99% of the cases, prices differ on some **seasons/festivities/special occasions of the year**. You should use the function **Special Prices** to modify the default fares on some dates/seasons of the year.

With the **Special Prices** you will be able to increase or decrease the default fares per day, defined in the **Daily Fares** table, which is a part of the **Rates Table** page.

The fares can be modified on some dates/seasons of the year with charges or discounts expressed as fixed amounts or percentage values. Also, the fares modifications can be different depending on the number of days of rental by using the function **Value Overrides**.

The Special Prices are calculated based on an average of the days of rental. See the example below:

**Example #1**:

- Example Car for 3 days rented on one of the dates in which there is a Special Price applying a charge of 40%. The **Daily Fare** set for 3 days is 210 EUR:

210 / 3 = EUR 70 per day (3 is the number of days of the rental. EUR 70 is the **average per day price**).

70 * 140 / 100 = EUR 98 per 1 day (40% charge on one day applied by the Special Price).

70 + 70 + 98 = EUR 238 final rate for 3 rental days of rental in these dates.

### Extra Hours Charges

If there are prices set in the **Extra Hours Charges** section in the **Fares Table** page, then these prices will be used for reservations which last more than a whole day (24 hours) and some other hours.

For example, if you have set a price for 3 hours in the **Extra Hours Charges**, then this price will be added to a rental which lasts for any number of days, plus 3 hours. Example: 2 days and 3 hours (51 hours).

If the rental would be for, as an example, 4 hours instead of 3, but no price is set in the **Extra Hours Charges**, then the price for the next day will be used. As an example, if the rental was for 3 days and 4 hours, then the price for 4 days would be used.

By using the **Fares Calculator tool** in the page **Fares Overview**, you will be able to calculate the cost for each day of rental without needing to test the result in the front-end.

**Example #2**:

- Example Car for 3 days and 6 hours: the system will check if a fare exists for 3 days for the car Example Car, then it will check if there's an Extra Hours Charge for 6 hours. Let's say that 3 days were set in the fares table as EUR 300, and an Extra Charge of 6 hours was set as EUR 25. This is how the system will calculate the final rate for this request:

300 + 25 = EUR 325

**Extra Hours Charges** can also be influenced by the **Special Prices**. They can either be calculated after or before the special prices are applied, depending on a value set in the configuration page of the component. The parameter is **Apply Extra Hours Charges**.

If that parameter is set to **Before the Special Prices**, then it would be calculated as follows:

**Example #3**:

- Example Car for 3 days and 6 hours rented on some dates where there is a Special Price applying a charge of 40% and a charge of EUR 10 per day. This is how the system will calculate the final rate for this booking (this example follows the Example #2 above):

325 / 3 = EUR 108,33 per day (3 is the number of days affected by the Special Price and, in this example, also the number of days requested).

108,33 * 140 / 100 = EUR 151,66 per day (40% charge in these dates applied by the Special Price).

151,66 * 3 = EUR 454,98 (would be the final rate before applying the other special price).

(151,66 + 10) + (151,66 + 10) + (151,66 + 10) = EUR 484,98 final rate for 3 rental days and 6 hours of rental in these dates.

Otherwise, if you set that parameter to **After the Special Prices**, then it will be calculated as follows:

**Example #4**:

- Example Car for 3 days and 6 hours rented on some dates where there is a Special Price applying a charge of 40% and a charge of EUR 10 per day. This is how the system will calculate the final rate for this booking if the **Extra Hours Charges** are set to be applied after the special prices:

300 / 3 = EUR 100 per day (3 is the number of days affected by the Special Price and, in this example, also the number of days requested).

100 * 140 / 100 = EUR 140 per day (40% charge in these dates applied by the Special Price).

140 * 3 = EUR 420 (would be the final rate before applying the other special price and the Extra Hours Charges).

(140 + 10) + (140 + 10) + (140 + 10) = EUR 450 (would be the final rate before applying the Extra Hours Charges).

450 + 25 = EUR 475 final rate for 3 rental days and 6 hours of rental in these dates.

### Hourly Fares

If the rental is for less than a full day (24 hours), then the prices set in the **Hourly Fares** section in the **Fares Table** will be used.

It will be used in place of whichever value you have set in the **Fares Table**. If no value is set for that amount of hours in the **Hourly Fares** table, then the value for 1 day in the **Daily Fares** will be used.

**Example #5**:

- Example Car for 6 hours rented on some dates where there is a Special Price applying a charge of 40% and a charge of EUR 10 per day. The system will check if a fare exists for 3 days for the car Example Car, and the value in this example will be 40 EUR:

40 * 140 / 100 = EUR 56 per night 40% charge in these dates applied by the Special Price. We still need to add the EUR 10 special price

56 + 10 = EUR 66 final rate for 6 hours of rental in these dates.

### Calculation Recap

The rates calculation takes place in the following order:

**Default Cost for the number of days requested** +/- **Extra Hours Charges** +/- **Special Prices defined for the dates requested**.

Instead the rates calculation is made in a different order, if the **Extra Hours Charges** is made after the special prices are applied:

**Default Cost for the number of days requested** +/- **Special Prices defined for the dates requested** +/- **Extra Hours Charges**.

If the rental is shorter than a full day (24 hours), then the **Hourly Fares** will be used instead. **Extra Hours Charges** won't apply.

**Default Cost for the number of hours requested** +/- **Special Prices defined for the dates requested**.