API documentation for the Caren Rental system can be found here:
The API endpoints are categorized and ordered based on a typical car rental booking flow with the following steps search, cars, options, payment and confirmation.
Here are some guidelines on which endpoints are useful or necessary for each step of the booking flow.
Search
To get the options for the search widget the following endpoints can be used:
/vehicleapi/location/getpickuplist
This will return a list of pickup locations for the rental
/vehicleapi/location/getdropofflist
This will return a list of Dropoff Location objects.
/vehicleapi/location/getdates
This returns a list of dates and time range where [Location] is closed for example if you want to disable dates when the rental is closed.
/vehicleapi/location/gettimes
returns:
This returns a list of of time ranges for the [Location] id which states the opening hours.
Cars (list)
The values from the search widget on the previous step are used to display a list of available cars by calling the getlist endpoint.
path: /vehicleapi/class/getlist
This returns a list of the vehicle classes available for a given date range.
Book Car
These endpoints can be use to get more details about the vehicle i.e. for the booking summary:
/vehicleapi/class/getlist or /vehicleapi/class/getitem
Car extra / Options
Use these endpoints to get a list of all the availble options for the selected vehicle class:
/vehicleapi/extra/getlist
/vehicleapi/insurance/getlist
Checkout – Personal Details
On this step you can use the following endpoint to create the reservation and send in all the details about the customer:
/vehicleapi/reservation/add
Checkout – Payment
This endpoint is used to display the terms and conditions on the payment step:
vehicleapi/payment/getterms
This endpoint is used to get all the payment options for the rental:
/vehicleapi/payment/getoptions
External payment page
If external payment page is used use the getform endpoint to post all the details to the external payment page. You use this endpoint for posting the amount to the external payment page:
/vehicleapi/payment/getform- POST
It returns a form which can be used to submit to an external Payment Page.
Payment gateway
If payment gateway is used then use:
/vehicleapi/payment/add
Confirm booking
If/when payment is successful you need to confirm the reservation by calling /vehilceapi/reservaton/confirm.
/vehicleapi/reservation/confirm- POST
Rember to set sendConfirmationMail = true if an confirmation email should be sent at this time. Setting sendConfirmationMail to false will send not send confirmation email right away but use confirmation email template settings in Caren Rental system to decide when the email is sent.