Taxi Supplier API

Additional Information

Booking status

Status Description
NEW A new booking has been created by a customer and is yet to be accepted by the assigned supply partner.
ACCEPTED The booking has been accepted by the supply partner.
DRIVER_ASSIGNED A driver has been assigned to the booking by the supply partner.
PENDING_AMENDMENT Indicates the customer has amended the booking which should be accepted or rejected.
PENDING_CANCELLATION Indicates a customer cancellation, the cancellation should be accepted.
CANCELLED Indicates the booking has been either cancelled by the customer or rejected by the supply partner.
COMPLETE Indicates the booking has been completed, active bookings will be automatically transitioned to this status 6 hours after pickup time.

Status transitions

The booking status can be transitioned by accepting or rejecting a booking, the following table describes how a booking will transition between states when accepted or rejected:

Status Booking Accepted Booking Rejected
NEW The booking will transition to ACCEPTED. The booking will be declined.
ACCEPTED Not applicable. The booking will transition to CANCELLED.
DRIVER_ASSIGNED Not applicable. The booking will transition to CANCELLED.
PENDING_AMENDMENT The booking will revert to it's prior status (either ACCEPTED or DRIVER_ASSIGNED) The booking will transition to CANCELLED.
PENDING_CANCELLATION The booking will transition to CANCELLED. Not applicable.
CANCELLED Not applicable. Not applicable.
COMPLETE Not applicable. Not applicable.

Cancellation reasons

Cancellation Reason Description
CANT_FULFILL_CUSTOMER_REQUEST To be returned if there is a specific customer request which cannot be fulfilled (Not child seat or extra stop related).
CHILD_SEAT_INCOMPATIBLE_VEHICLE To be returned when the the car type cannot accommodate the number of child seats requested.
CHILD_SEAT_UNAVAILABLE To be returned if you do support child seats however do not have one available for this ride.
CHILD_SEAT_UNSUPPORTED To be returned if you do not support the supply of car seats. (If this is returned, we would expect this to be returned for all rides where a car seat is requested)
EXTRA_STOP To be returned if any additional stops are requested and cannot be fulfilled.
FORCE_MAJEURE To be returned in the event or circumstance which is beyond the reasonable control of that party, for example a natural disaster or earthquake.
INCOMPLETE_BOOKING_DETAILS To be returned if there are missing booking details such as phone number. This should not be used for incorrect addresses or missing flight numbers.
INCORRECT_ADDRESS To be returned when the address is incorrect or incomplete.
LEAD_TIME_TOO_SHORT To be returned if the lead time is too short for you to be able to fulfill.
MISSING_FLIGHT_NUMBER To be returned when the booking has no flight number and flight cannot be tracked from details given.
NO_AVAILABILITY To be returned if you don't have availability to cover the ride.
RATE_ERROR To be returned if there has been an error with the rate offered for the ride.
ROAD_CLOSURE To be returned if the ride cannot be fulfilled due to a road closure.
OTHER To be returned if the ride cannot be fulfilled due to any other reason.

State hash

We use a state hash to ensure any updates being provided are to the latest version of the booking.

If the hash provided matches the latest version, the response will be processed and the state of the booking updated to reflect the change. Should the state hash not match the latest available booking data, a 400 Bad Request response will be returned, and you should perform a GET request to retrieve the latest version of the booking before attempting to perform any further updates.

Pagination

We paginate our booking data with a default maximum limit of 500 bookings, you can specify the page size you prefer using the size URL parameter as described in the API reference. The response will also contain a link to easily retrieve the next page of bookings in the links array, for example:

"links": [
    {
        "rel": "next",
        "href": "/v1/bookings?size=10&after=1588666221733",
        "type": "GET"
    }
]

In the above example, calling the endpoint provided in the href value would retrieve the next page of results.

Converting timezones

We return pickup times in UTC+0 for all bookings. In order to display the pickup time in the local timezone, the pickup_date_time will need to be converted using the pickup_date_time_zone.

Booking amendments

Plans change and sometimes our travellers need to update the details of an existing booking. These changes will cause the booking to go into the PENDING_AMENDMENT status but will remain allocated to you.
The table below shows the changes which could come through as part of this status:

Field Amended Booking Updated
Pick-up time
Pick-up date
Pick-up location
Drop-off location
Passenger name
Passenger contact number
Flight number
Passengers