Car Rentals

Summary

The car rental workflow consists of three mandatory steps.

Additional calls that are available:

Details

Request

GET /cars/:vehicle_id

vehicle_id is the ID of the Car to get the details of

Response Body

JSON Parameters:
 

CarDetails

JSON Parameters:
 
  • locations (Location [ ]) – The list of the vendor’s pick up/drop off locations.
  • car_model (String) – The most exact name of the car that is available to us.
  • included (Package [ ]) – A list of things that are already included in the price, and are mandatory (this includes insurance fees, taxes, surcharges, etc.)
  • extras (Package [ ]) – A list of extras that the passenger is going to be able to buy when picking up the car.
  • rules (String) – A string including longform text with the rules for renting given car.

Location

JSON Parameters:
 
  • city (String)
  • address (String)
  • phone (String)
  • fax (String)
  • opens_at (String) – In the format ‘HH:MM’
  • closes_at (String) – In the format ‘HH:MM’

Package

JSON Parameters:
 
  • price (Price)
    • amount
    • currency
  • type (String) – The category that the package is in, one of ‘surcharge’, ‘tax’, ‘coverage’, ‘coupon’ for included packages, or ‘child seat’, ‘child seat (<1 year)’, ‘child seat (1-3 years)’, ‘child seat (4-7 years)’, ‘baby stroller’, ‘navigation system’, or ‘extra coverage’ for extras.
  • period (String) – The period that the given price applies to, one of: ‘day’, ‘week’, ‘month’, or ‘rental’ - renting a car for 5 days means that adding an extra with a day period set here for the entire trip is going to add five times the ‘price’ amount to the total price.
  • description (String) – The exact name of the package, such as type of insurance.

Examples

Response

JSON:

{
  "car_details": {
    "included": [
      {
        "price": {
          "currency": "EUR",
          "amount": "0.00"
        },
        "type": "surcharge",
        "period": "day",
        "description": "DAMAGE LIABILITY WAIVER"
      },
      {
        "price": {
          "currency": "EUR",
          "amount": "11.99"
        },
        "type": "coverage",
        "period": "day",
        "description": "CDW - COLLISION DAMAGE WAIVER"
      },
      {
        "price": {
          "currency": "GBP",
          "amount": "20.00"
        },
        "type": "tax",
        "period": "rental",
        "description": "VALUE ADDED TAX"
      }
    ],
    "car_model": "FIAT 500 OR SIMILAR",
    "extras": [
      {
        "price": {
          "currency": "EUR",
          "amount": "13.98"
        },
        "type": "extra coverage",
        "period": "day",
        "description": "MCP"
      }
    ],
    "rules": "BASE RATE INCLUDES SURCHARGES\nBASE RATE INCLUDES TAXES\nPRICE INCLUDES TAX SURCHARGE INSURANCE. 0.00 GBP\nDAMAGE LIABILITY WAIVER ALREADY INCLUDED.\nIATA NBR NOT ON FILE QUEUE AGENCY INFO TO ZL\nALLOWED - RETURN TO SPECIFIED LOCATION ONLY\nA MINIMUM OF 3 DAYS WILL BE CHARGED",
    "locations": [
      {
        "closes_at": "23:59",
        "city": "GB",
        "fax": null,
        "phone": "44 08713843410",
        "address": "EUROPCAR AND NATIONAL HEATHROW NORTHER",
        "opens_at": "00:00"
      }
    ]
  }
}

Payment

Request

POST /payment
JSON Parameters:
 
  • payuId (String) – the transaction ID identifying the successful transaction at PayU
  • basket (String [ ]) – contains the booking IDs the payment was made for (this array will normally have only one item in it)

Response Body

N/A:

Returns an HTTP 204 No Content status code if successful.

Examples

Request

JSON:

{
  "payuId": "12345678",
  "basket": ["1_0_0"]
}

Booking

Request

POST /books
JSON Parameters:
 
  • bookBasket (String [ ]) – an array containing only the booking ID of the Room to book
  • billingInfo (Contact) – billing info for the booking
  • contactInfo (Contact) – contact info for the booking
  • persons (Person [ ]) – the list of occupants

Contact

JSON Parameters:
 
  • address (Address) – address of the entity in question
  • email (String) – email of the entity in question
  • name (String) – name of the entity in question
  • phone (Phone) – phone number of the entity in question

Address

JSON Parameters:
 
  • addressLine1 (String)
  • addressLine2 (String) – (optional)
  • addressLine3 (String) – (optional)
  • cityName (String)
  • zipCode (String)
  • countryCode (String) – the two letter code of the country

Phone

JSON Parameters:
 
  • countryCode (Integer)
  • areaCode (Integer)
  • phoneNumber (Integer)

Person

JSON Parameters:
 
  • birthDate (String) – format is YYYY-MM-DD
  • email (String)
  • namePrefix (String) – one of Mr, Ms, or Mrs
  • firstName (String)
  • lastName (String)
  • gender (String) – one of MALE or FEMALE
  • document (Document) – data about the identifying document the person wishes to travel with

Document

JSON Parameters:
 
  • id (String) – document’s ID number
  • dateOfExpiry (String) – format is YYYY-MM-DD
  • issueCountry (String) – two letter code of issuing country
  • type (String) – one of DocumentTypes

Response Body

JSON Parameters:
 
  • confirmation (String) – the ID of the booking, this is what the occupant can use at the car vendor to refer to his booking
  • pnr (String) – the PNR locator of the record in which the booking was made

Examples

Request

JSON:

{
  "billingInfo": {
    "address": {
      "addressLine1": "Váci út 13-14",
      "cityName": "Budapest",
      "countryCode": "HU",
      "zipCode": "1234"
    },
    "email": "ccc@gmail.com",
    "name": "Kovacs Gyula",
    "phone": {
      "areaCode": "30",
      "countryCode": "36",
      "phoneNumber": "1234567"
    }
  },
  "bookBasket": [
    "33_0_0"
  ],
  "contactInfo": {
    "address": {
      "addressLine1": "Váci út 13-14",
      "cityName": "Budapest",
      "countryCode": "HU",
      "zipCode": "1234"
    },
    "email": "ccc@gmail.com",
    "name": "Kovacs Gyula",
    "phone": {
      "areaCode": "30",
      "countryCode": "36",
      "phoneNumber": "1234567"
    }
  },
  "persons": [
    {
      "birthDate": "1974-04-03",
      "document": {
        "dateOfExpiry": "2016-09-03",
        "id": "12345678",
        "issueCountry": "HU",
        "type": "Passport"
      },
      "email": "aaa@gmail.com",
      "firstName": "Janos",
      "gender": "MALE",
      "lastName": "Kovacs",
      "namePrefix": "Mr"
    }
  ]
}

Response

JSON:

{
  "confirmation": "1647353336COUNT",
  "pnr": "6KSSY3"
}