Build a custom integration with our APIs
The following steps represent a typical application request flow. Each step details information that should be collected from the user (i.e. reservation holder) in your application, and passed to our APIs.
It is assumed that your application is designed to allow a user to select from pre-populated values (such as a drop-down menu), or to provide text input for a value.
Step one – pick a location
The following step is optional and represents the request flow of a user looking for rental car brand locations via keyword or geographic coordinates.
- A user opens your application. Ask the user to select a brand of Avis, Budget, Payless, or All.
- The user selects the "Avis" brand and supplies a location keyword text of "Boston". You may choose to design autocomplete functionality for this step.
- Call the Location Search endpoint with your location keyword of "Boston" to retrieve the geographic location results associated to Boston.
- We recommend your application display the top 3-4 Avis location results to the user along with the brand name.
- The user selects Boston Logan International Airport ("BOS"). Obtain the location code from the response in preparation for step two.
Step two – get pickup/dropoff details
Obtain all of the information upfront from the user for steps 2-5.
- If your application has not already obtained a value in step one, ask the user to select a rental car brand.
- Ask the user to provide their (required) country code of residence, rental car pickup/dropoff date and time, and location.
- Ask the user to specify their brand membership code. This can be an Avis wizard number, Budget customer number, or Payless number. These numbers are used to store a given customer's travel details and rental preferences.
- Ask the user to specify their rental car brand discount code. This can be an Avis Worldwide Discount (AWD), Budget Car Discount (BCD), or a Payless Discount Number (PDN) code.
- Ask the user to specify a promotional coupon code. This can be applied to a reservation for discounts, upgrades, free days, or other promotional offers.
- Collect any other information from the user that you may require for your application in subsequent steps, or which may have an impact on the rate. For example, you may ask the user to specify a loyalty code. This can be a Frequent Traveler Program (FTP) code specific to an airline, hotel, or other select company.
- Prepare to pass the values from steps 1-5 to step three. The Frequent Traveler Program (FTP) number can be passed to the Car Rate endpoint in step four.
Step three – get vehicle availability and a basic rate
- Call the Car Availability endpoint and pass the values specified by the user in step two to obtain basic rate and availability.
- Pass the values for brand, country code of the user, brand membership code, and rental car pickup/dropoff details from step two to retrieve the available vehicles at the specified location.
- The response of the endpoint contains each vehicle available at the location. Each result is grouped by rental car category, features, capacity, and base rate for each result.
- The response also contains the applied (valid) brand membership, brand discount and promotional code values specified by the user that were applied to the rate. If a specified value is invalid, it will not be returned in the response. In which case, you should design logic to either remove or obtain a new value from the user.
- We recommend you display the vehicle category details and reservation total by the rental car category to the user. If you would like to display the price per day, you will need to design logic to obtain the value in 'vehicle_total' and divide by the number of days of the reservation.
- Once the user has made a selection, obtain the applied brand membership, brand discount, and promotional code values specified by the user from the response. Notify the user if any of the codes were applied successfully or were invalid.
- Display the rate and any applicable discounts to the user. For example, if a promotional code was applied, display the description from the response, e.g., "25USD Off with Rental of CSS/Paperless Coupon".
- Ask the user if they would like to select rental car insurance or any extras (such as GPS) for their reservation. In this example, the user has declined insurance coverage and did not select any extras.
- Obtain the rate code, the (above) applied values from the response in preparation for step four.
Step four – get a detailed rate
- Call the Car Rate endpoint and pass the rate code, the pickup/dropoff location, and the (above) applied values from the response in step three.
- Pass the Frequent Traveler Program (FTP) code and company ID (if applicable). Notify the user if the codes were applied successfully or were invalid.
- The response of the endpoint is grouped by distance limitations, pickup/dropoff location, insurance, totals, taxes and fees, insurance, or extras (such as GPS).
- Once the user has reviewed the detailed rate, obtain the rate code, the (above) applied values from the response, and the user's contact information in preparation for step four.
- Ask the user to click 'Book' to reserve the rental car.
- Call the Create Reservation endpoint to pass the user's contact and pickup/dropoff location, and any additional reservation details from step four to book the rental car.
Step six – display a summary
- Call the View Reservation endpoint to display a reservation summary to the user.