Overview
Some Rental Car Companies may want to offer a discount to people who choose to pay the full amount of the booking at the time of making the booking.
We offer the following suggestion as a way to implement a Pay Now discount on web Booking Steps using the RCM Web API.
Process
The process to add a discount to a booking if the customer has chosen to pay in full is quite a simple one. The 2 steps are:
- Create an extra fee as a discount fee with a negative value.
- On your website, if the customer chooses the Pay Now option, add this extra fee to the call to the booking method.
When you create the extra fee, you will need to decide what value to assign for the “Percentage Fee on Total” option, see below. If you set this value to Yes, then the fee will be applied to the entire cost of the booking. If you set this to No, then it will only be applied to the rental rates. You need to decide how you want this to apply.
You can see below an extra fee called “Testing Discount Fee”, It was setup as a percentage fee with a value of -10 as the rate. It is also flagged as not being a Percentage Fee on the total. So this will only apply to the rental rates on a booking.
You can see below how this fee is calculated when it has been added to a booking. As the Percentage Fee on Total flag was set to No, it has been calculated using only the rental rates on the booking.
The next step is making this fee available for your web bookings. To do this you will need to flag it as Web Available, see below.
To make this extra fee easily identifiable so that you do not have to hardcode any extra fee ids, you can use the Custom Data Fields to identify the fee in your code. The following KB article explains these in more detail, Custom Data Fields You can see below a custom data field that can be used for extra fees and it has been called PayNowDiscount. You are able to add a value to this custom field for fees via the Web Extra Fees screen, which can be found under the Web Site Interface menu. see below for how to access the Extra Fields.
It opens a pop-up window and you can add a value in the PayNowDiscount field.
Now you have a way of identifying the relevant extra fee. This is important for the following two reasons:
- As the extra fee has been flagged as Web Available, it will come back in the optionalfees dataset from a call to the Step3 method. But you don’t want to actually display this fee as an option that the customer can choose. So, use this custom data field to identify the fee and don’t display it to the customer.
- When you call the booking method, you need to know which extra fee to also pass in to apply this discount.
You can get this custom field information when you are utilising the Web API by calling the customfields method, see below.
Coding in Web Booking Steps
The steps in the booking process are as follows:
- Call Step3 and the customfields methods, if you are not changing the information very often in the extra data fields, you can probably call the customfields method and cache the information.
- Use the information that has come back from customfields to determine if any of the optional fees are not to be displayed, because they are the discount fee.
- You can use the calctotal method at any point to calculate the booking total if the discount fee has been applied, if you are wanting to show the cost on the screen.
- If the customer has chosen the Pay Now option, then when you call the booking method, just make sure that you include the discount extra fee in the optionalfees listing that gets passed into the booking method.