Overview
As well as Daily Rates, Rental Car Manager (RCM) allows for the set up of Weekly and Monthly Rates which can be used as the basis to create a new booking.
You are able to use the Web API to obtain information about these available these alternate rate types, and also make a booking based on one of these.
Note this article assumes you are familiar with the normal Booking API workflow - using Weekly or Monthly rates is a variation to that process.
Booking Flow
You will need to integrate weekly and monthly rates that have been set up within RCM into your website using the Web API. This functionality can be developed separately from your normal web booking module that you have running on your website, or you can integrate it into the current web booking module.
Please note the alternate rate methods are only available in v3.2 and above of the API.
Booking Steps
More detailed information about the API methods can be found in the Developer's Sandbox in the API test area. If you require access to the Sandbox, contact RCM Support (
support@rentalcarmanager.com).
There will be 4 steps to the alternate rates process when using the Web API to integrate it into your website:
List alternative rate types.
The existing step2/search method will return both daily rates and any applicable alternate rates. Note that whether this happens or not is determined by a System Parameter in RCM "Return Weekly and/or Monthly Rates in step 2 of WebAPI3"
Select a rate type and vehicle type to get rates, fees, extras and insurances
The user or agent then selects a particular rate type, and receives back the appropriate insurance options, mandatory fees and optional extras as set up by the rental car company.
Booking
The selected rate type, category and optional extras are then sent to the server along with customer details via an API call to make a booking.
Saving the Payment
The next stage of the process is the payment. If you are collecting payment for the booking, then you can save the payment information through the API so that the payment will be recorded against the reservation in Rental Car Manager.
Listing the alternative rates (using existing step2 method)
Note: First set the system parameter "Return Weekly and/or Monthly Rates in step 2 of WebAPI3" to "Yes" for the following to happen:
A call to the API method "step2" (or "search") will return daily rates as per usual, and it will also return any alternative rates (weekly or monthly) that are available based on the information passed into step2. This will allow you to choose which rates to display on your web booking module.
It is important to note that any existing web booking modules will not be affected by the changes made to the Step2 method to include package deals. New dataset elements have been added to return the alternative rate information. This will allow you to make the decision to either include or exclude these rate types from the vehicle listing for this step.
If the customer chooses one of the alternative rate types, the relevant 'ratetypeid' can be used in the call to step3. The 'ratetypeid' will also need to be used in any call to the booking method.
A full listing of the returning datasets for this method can be found in the API Test Area in the Developer's Sandbox.
Step2 method
The step2 method (alias "search" method) will return any alternative rate types that match the parameters that were passed in.
There are 2 dataset elements from the step2 method which contain just the information for the alternative rates. These are separated from the existing daily rates tables, which remain unchanged to ensure backwards compatibility. These extra datasets are named "availablecars_altrates" and "mandatoryfees_altrates" and can be found in the API Test Area in the Developer's Sandbox. Note the output data field "availablecars_altrates.ratetypeid" - you will use this value to proceed with the booking in the following steps.
The extra fields in the availablecars_altrates which may assist you in displaying relevant information to your customer are as follows:
"rateperiod_typeid": "id field for this rate type, e.g. 0 for daily rates, 1 for monthly rates, 2 for weekly rates <int_id>",
"rateperiod_typename": "description of rate type, e.g. day, month, week <string>",
"rateperiod_numberofrateperiods": "number of rate type periods if other than daily, e.g. 2 (weeks) or 3 (months) <int>",
"rateperiod_rateforperiod": "rate per rate type period , e.g. $X (per week/month) <money>",
"rateperiod_numberofremainingdays": "extra days remaining after rate periods, e.g. 7 weeks and X days",
"rateperiod_rateforremainingdays": "daily rate for extra remaining days <money>"
Selection of rate type and vehicle category (step3)
Pass in the chosen Rate Type ID to the "step3" method as "ratetypeid", along with all of the other booking parameters. This method returns information for the selected rate type, vehicle category, pickup and drop off locations and dates.
The rental rates and any mandatory fee information is also returned along with any optional extra fees, insurance options, and Kms options. The "availablecars" dataset returned for this method is the same as when calling for daily rates, although there are some new parameters which may assist you with displaying the rate details to the user. The additional data fields mentioned above in step2 also form part of the step3 "availablecars" dataset.
Make a booking (booking)
If a Weekly or Monthly rates deal been selected, then the 'ratetypeid' will need to be passed into this method.
If you are processing a payment at the time of booking, then you can save the payment information against the booking by calling the 'confirmpayment' method, as per any normal daily rates booking request.