Taxi Supplier API

References

Receiving searches

To receive searches and provide rates via our webhooks, you need to implement the following:

POST /v2/search-results

Payload Fields

Warning

Important Notice: The pickup_date_time given in the search request and booking retrieval can differ. This is due to the flight number details being added post search. The information given in the booking retrieval should be used.

Parameter Type Description
latitude Float The origin or destination latitude.
longitude Float The origin or destination longitude.
name String|null The full address of the origin or destination location.
This field will not be available for all requests.
city String|null The origin or destination city.
This field will not be available for all requests.
country String|null The origin or destination country (ISO 3166 alpha-2).
This field will not be available for all requests.
postcode String|null The origin or destination postcode.
This field will not be available for all requests.
iata String|null The origin or destination IATA, only populated for airport locations.
This field will not be available for all requests.
passengers Integer The number of passengers travelling.
pickupDateTime Datetime The pickup timestamp in UTC (ISO 8601).
pickupTimezone String The pickup timezone in IANA format.
drivingDistanceInKm Float|null The distance between the origin & destination locations.
This field will not be available for all requests.
genius.level One of the following values:

GENIUS_ONE
GENIUS_TWO
GENIUS_THREE
NON_GENIUS
The Genius level of the customer.

Sample Payload

{
    "origin": {
        "latitude": 48.8735513,
        "longitude": 2.3426615,
        "name": "29 Rue du Faubourg Montmartre, 75009 Paris, France",
        "city": "Paris",
        "country": "FR",
        "postcode": "75009",
        "iata": null
    },
    "destination": {
        "latitude": 48.8564826,
        "longitude": 2.3524135,
        "name": "Hotel de Ville, FR, Place de l'H\\u00f4tel de Ville, 75004 Paris, France",
        "city": "Paris",
        "country": "FR",
        "postcode": "75004",
        "iata": null
    },
    "passengers": 1,
    "pickupDateTime": "2020-10-23T12:00:00Z",
    "pickupTimezone": "Europe/Paris",
    "drivingDistanceInKm": 3.51,
    "genius": {
        "level": "GENIUS_ONE"
    }
}

Response Fields

Field Type Description Required
searchResultId String A UUID representing the search result with a maximum length of 100 characters. Yes
transportCategory String One of the following values:

STANDARD
LUXURY
EXECUTIVE
PEOPLE_CARRIER
LARGE_PEOPLE_CARRIER
EXECUTIVE_PEOPLE_CARRIER
MINIBUS
ELECTRIC_STANDARD
ELECTRIC_LUXURY
Yes
price.salePriceMin Float The min sale price. Where there is no min/max, the values should be the same. Yes
price.salePriceMax Float The max sale price. Where there is no min/max, the values should be the same. Yes
price.currency String The currency of the price, in ISO 4217 format. Yes
minPassengers Integer The minimum number of passengers the vehicle will accommodate. Yes
maxPassengers Integer The maximum number of passengers the vehicle will accommodate. Yes
features Array The features of the vehicle. Possible values are:

noOfBags - indicating the number of bags the vehicle will accommodate.
No
servicesAvailable Array An array of the following values: meetAndGreet No
provider.name String The name of the “end supplier”.
This field is required if you are not the end-supplier.
No
provider.phoneNumber String The phone number of the “end supplier”, in E.164 format.
This field is required for marketplaces.
No
genius Object The Genius discount details.
If no genius discount is to be returned then the genius object should be omitted or set as null
No
genius.benefitType One of the following values:

PERCENTAGE
The type of Genius discount.
Value should not be set as null
No
genius.percentageDiscount Integer The percentage of Genius discount.
The minimum value accepted will be 5 and the maximum will be 10
Value should not be set as null.
No

Sample Response Body

{
    "results": [
        {
            "searchResultId": 88394930355,
            "transportCategory": "STANDARD",
            "price": {
                "salePriceMin": 44.29,
                "salePriceMax": 44.29,
                "currency": "EUR"
            },
            "minPassengers": 1,
            "maxPassengers": 3,
            "features": [
                {
                    "name": "noOfBags",
                    "value": "3"
                }
            ],
            "servicesAvailable": [
                "meetAndGreet"
            ],
            "provider": {
                "name": "Company name 1",
                "phoneNumber": "+49 30 346 494 367"
            },
            "genius": {
                "benefitType": "PERCENTAGE",
                "percentageDiscount": 5
            }
        },
        {
            "searchResultId": 88359,
            "transportCategory": "EXECUTIVE",
            "price": {
                "salePriceMin": 221.23,
                "salePriceMax": 221.23,
                "currency": "EUR"
            },
            "minPassengers": 1,
            "maxPassengers": 4,
            "features": [
                {
                    "name": "noOfBags",
                    "value": "3"
                }
            ],
            "servicesAvailable": [
                "meetAndGreet"
            ],
            "provider": {
                "name": "Company Name 2",
                "phoneNumber": "+49 30 346 494 367"
            },
            "genius": null
        }
    ]
}

Responses

HTTP 200 - OK

HTTP 4xx - Client error - Error response format

HTTP 5xx - Server error - Error response format