240105-Blacklane-REST Connector-Core Specification-V1.7.0
240105-Blacklane-REST Connector-Core Specification-V1.7.0
1
Blacklane Connector Core Specification
Confidentiality Note
Please note that this is a confidential document and shall not be shared with any unauthorized
third parties.
2
Blacklane Connector Core Specification
Document Control
Company Blacklane GmbH | Feurigstraße 59 |
10827 Berlin | Germany
Revision History
Version Date Change Comment By
Added Certification
Appendix.
3
Blacklane Connector Core Specification
new "service_class"
values "electric_class",
"electric_sedan" and
"sprinter_class"; review
and update of values for
"booking_status" field;
removal of
"confirmation_status"
field and
"estimated_confirmation
_at" field from API
responses of /bookings
requests; addition of
"external_user_id" field
to API responses of
/bookings requests
4
Blacklane Connector Core Specification
Index
1 Overview 6
1.1 Who Should Read This Document 6
1.2 How to Access the Blacklane API 6
1.3 Authentication & Authorization 6
1.4 Prices 8
1.5 Address Resolution 8
1.6 Vehicle Classes, Vehicle Types and Associated Information 9
1.7 Bookings 9
1.8 Guest Passenger 10
1.9 Payment Methods 10
1.10 Update 10
1.11 Cancellation 11
1.12 Get Details Of A Booking 11
1.13 Error Handling 11
1.14 Booking Statuses 12
2 Authorization 13
2.1 Authorization Request 13
2.2 Authorization Response 14
3 Prices 16
3.1 Prices Request 16
3.2 Prices Response 17
4 Booking 25
4.1 Booking Request 25
4.2 Booking Response 28
5 Update 46
5.1 Update Request 46
5.2 Booking Update Response 49
6 Cancellation 53
6.1 Cancellation Request 53
6.2 Cancellation Response 54
7 Get Booking Details 57
7.1 Get Booking Details Request 57
7.2 Get Booking Details Response 58
8 Assets API 63
8.1 Assets Endpoint 63
8.2 Assets Request 63
8.3 Assets Response 63
9 API Support Contact 66
10 Appendix - API Examples 67
11 Appendix - Certification Process 68
5
Blacklane Connector Core Specification
1 Overview
This document gives a detailed overview of the Blacklane RESTful API Core Interface, its purpose
being to facilitate an easy B2B integration for an API partner.
The interface consists of the following features: authentication and authorization, obtaining prices,
performing bookings, gathering the details of a previously made booking, updating a previously
made booking, cancellation of a previous booking and the assets API which offers retrieval of
Blacklane specific artifacts such as cancellation policy, meet and greet text and similar resources in
various languages, delivering also URLs to resources (vehicle images, Blacklane logo).
Subsequent sections describe general information needed in order to be able to integrate the
Blacklane API and lists the main aspects of each of the aforementioned features.
Each message will be listed with all their fields, significance, data types, specifying if they are
mandatory or optional.
● Sandbox
This represents the environment used in order to develop and test the Blacklane API. It
also includes any preparation activities needed before going live.
● Production
This represents the actual production environment and access to it will be granted only
after all preparation for integration performed in the Sandbox environment has been
successfully accomplished.
6
Blacklane Connector Core Specification
The client credentials consist of a client ID and a client secret, each client ID uniquely identifying
an API partner in a certain deployment environment (which is either Sandbox or Production). This
means that each API partner will have a unique client ID assigned for each environment.
The endpoint used to implement authentication is /oauth/token with HTTP method POST and it
implements a proactive approach of automatically extending the lifetime of valid tokens by issuing
new ones in a timely manner, as outlined in the example below.
1. In order to obtain a new valid token, the POST /oauth/token endpoint is invoked.
2. A valid token is returned successfully, let us call it token A which has a validity period of six
months.
4. A new token, let us call it token B, will be generated successfully as result of the call at
point 3 above. Its validity interval will be six months.
5. At this moment we have two tokens, one with a validity interval of one month and the
other one with a validity interval of six months.
6. After one month we would have token A as expired already and token B with a validity
interval of five months.
This way we proactively generate tokens with a prolonged validity interval without making the API
client having to deal with error handling in case of token expiry, which would be the case, should
these tokens not be issued in advance.
Request
Response
{
"result": {
"access_token": "newToken",
"token_type": "bearer",
"expires_in": 10271211
}
}
Each token has an expiration time returned in the response. The "expires_in" value is represented
in seconds and equals to 6 months by default. This means that the client can generate a token
once and use it for six months with all requests.
7
Blacklane Connector Core Specification
When six months pass by, the token will expire and the client has to create a new token again by
sending the request above.
In cases when the expired token is used at prices/booking requests then a token_expired error will
be returned in the response with a 401 HTTP status code.
Response
{
"errors": [
{
"message": "token_expired",
"description": "The provided access token has expired - please request a new one via POST
/oauth/token."
}
]
}
In such a case, a new token has to be issued again by sending the request above.
1.4 Prices
A precondition to use this functionality is to be successfully authenticated into the Blacklane
Sandbox or Production environment.
This feature is implemented through the /prices endpoint, with the HTTP method GET. It allows
an API partner to obtain the prices for a tour based on service type (either "transfer" or "hourly"),
departure date and time, pickup location and drop-off location. In case of hourly tours, duration is
supplied.
For a detailed description of the various options of specifying pickup and drop-off locations,
please read the subsequent section on „Address Resolution“.
Voucher codes can be entered, too, and will be taken into account as part of the price
computation.
A successful response from this call will contain pricing information for all vehicle types and
service classes provided by Blacklane.
For more details on the vehicle types and service classes available, please see the section on
„Service Classes, Vehicle Types and Associated Information“ below.
There are three options available, meaning that you can specify a location using the following
mechanisms (exclusive to each other):
8
Blacklane Connector Core Specification
1. Airport IATA
2. Address string + geo coordinates (we only accept address strings if combined with geo
coordinates)
If options that are not mutually exclusive are supplied, the following validation errors will be
generated: "pickup_conflict", "dropoff_conflict" and "pickup_and_dropoff_conflict", respectively,
depending on the field where the conflicting input occurred.
The system checks if the location data provided falls within the business districts currently
supported and if this is the case, the request will succeed.
1.7 Bookings
A precondition to use this functionality is to be successfully authenticated into the Blacklane
Sandbox or Production environment.
The possibility to place a booking for a tour with Blacklane is implemented through the /bookings
endpoint with HTTP method POST.
A booking will be placed based on the following input data: service type (either "transfer" or
"hourly"), departure date and time, pickup location and drop-off location, passenger data and
9
Blacklane Connector Core Specification
payment method (either „credit card“ or „corporate payment method“). Voucher codes can be
entered and will be taken into account as part of the price computation.
For more details on passenger data, please see section „Guest Passenger“ below.
For more details on payment, please see the section regarding „Payment Methods“ below.
If either the pickup or the drop-off location is an airport, then the airline code and flight number
are input data that can be supplied. External IDs identifying the source of the booking or external
user IDs identifying loyalty programs for a certain passenger can also be passed within a tour
booking.
A successful return from this endpoint will contain all information associated with this booking,
including the confirmation number (the "booking_number" field).
This means that the provider passenger data received with the booking is treated on Blacklane
side as a guest user.
● „credit card“ which requires input data such as credit card holder name, credit card
number, expiry year, expiry month and CVV. In this case, an invoice is generated for each
and every ride and is sent to the customer after the booking is successfully performed.
1.10 Update
A precondition to use this functionality is to be successfully authenticated into the Blacklane
Sandbox or Production environment.
This feature allows an API partner to update a previously performed booking with Blacklane. The
endpoint that implements this functionality is /bookings with HTTP method PUT.
10
Blacklane Connector Core Specification
The booking to be updated can be specified either via Blacklane booking identifier (UUID),
Blacklane booking number, or through external ID.
1.11 Cancellation
A precondition to use this functionality is to be successfully authenticated into the Blacklane
Sandbox or Production environment.
This feature allows an API partner to cancel a previously performed booking with Blacklane. The
endpoint that implements this functionality is /bookings with HTTP method DELETE.
The booking to be cancelled can be specified either via booking confirmation number, or through
external ID or through Blacklane booking identifier (UUID).
The cancellation obeys to the cancellation policy as outlined in Blacklane’s terms and conditions:
https://www.blacklane.com/en/terms/
This feature allows an API partner to retrieve a previously performed booking with Blacklane. The
endpoint that implements this functionality is /bookings with HTTP method GET.
The booking can be retrieved either via booking confirmation number, or through external ID or
via Blacklane booking identifier (UUID).
For all error cases listed in subsequent „Errors“ sections below, for each and every endpoint, the
"message" field is the one to be used in order to perform error handling logic. Please note that
the associated description (the "description" field inside the "error") is subject to change.
11
Blacklane Connector Core Specification
Status Explanation
wait_time The chauffeur is required to wait beyond the complimentary waiting time
at pickup or if the passenger requests some interruption during the ride.
route_changed The route of the ride has been changed by the chauffeur.
kilometers_exceeded The kilometers initially envisaged with the booking have been exceeded.
hours_exceeded The hours initially envisaged with the booking have been exceeded.
no_show The passenger did not show up at the specified pickup location in order
to take the ride.
driver_no_show The chauffeur did not show up at the specified pickup location in order
to perform the ride.
12
Blacklane Connector Core Specification
2 Authorization
This section describes the endpoint to be used in order to authenticate and authorize to the
Blacklane API. This is a precondition for doing any other operation, specified by all other
endpoints (prices, bookings, etc.).
Each API client will have a client ID and an associated client secret assigned, the management of
these being possible via the /oauth/token endpoint.
Credentials will have a certain expiration period associated with them but will dynamically
generate new tokens for a given client ID, as result of the invocation of this endpoint.
This way a proactive strategy of refreshing tokens with regards to their validity is performed so
that the API client does not have to reactively deal with token expiry.
Content-Type application/json
grant_type Grant type to be provided. Valid values are: yes string (32)
"client_credentials" and "password".
API clients are authenticated and authorized via
"client_credentials", the bookings performed
using these credentials being guest bookings.
client_id The "client_id" Blacklane has provided you with. yes string (255)
client_secret The "client_secret" Blacklane has provided you yes string (255)
with.
13
Blacklane Connector Core Specification
Content-Type application/json
expires_in The amount of time (in seconds) for which the supplied token integer
is valid, for example 10271211.
The next section outlines all possible values returned for the error related fields mentioned in the
table above.
2.2.4 Errors
HTTP Error Key Reason Error JSON Message
Status Code
14
Blacklane Connector Core Specification
15
Blacklane Connector Core Specification
3 Prices
This section describes the endpoint to be used in order to obtain a response with prices from
Blacklane.
Authorization The user access token of "bearer" type that has yes string
been obtained previously as a successful response
after invoking the authorization endpoint.
Value: Bearer [user_access_token].
pickup_address Pickup address - e.g. "Oranienstraße 199, 10999, *see „Address string (255)
Berlin". Resolution”
section
pickup_airport_iata An airport IATA code replacing the pickup address *see „Address string (4)
- e.g. "BER" for Berlin Brandenburg Airport. Resolution”
section
dropoff_address Dropoff address - e.g. "Feurigstraße 59, 10827 *see „Address string (255)
Berlin". Resolution”
section
16
Blacklane Connector Core Specification
dropoff_longitude Dropoff point longitude - e.g. " 13.357660". *see „Address double
It is stored as decimal (9, 6). Resolution”
section
dropoff_airport_iata An airport IATA code replacing the dropoff address *see „Address string (4)
- e.g. "BER" for Berlin Brandenburg Airport. Resolution”
section
duration Ride duration in seconds - e.g. "7200" for a 2-hour yes, if integer
ride. Please note that this is stored as unsigned "service_type"
integer. is "hourly"
Content-Type application/json
17
Blacklane Connector Core Specification
"pickup_place_id":
"U:YTRlN2U0ZDQtMDVhOC00YzkwLTlhNWQtNW
VlNGY0ZGQ1YzA1",
"dropoff_address": "Blacklane GmbH,
Feurigstrasse 59, 10827, Berlin",
"dropoff_latitude": "52.484997",
"dropoff_longitude": "13.357138",
"estimated_duration": 1255
}
pickup_address Pickup address - e.g. "Oranienstraße 199, 10999, yes string (255)
Berlin".
pickup_airport_iata An airport IATA code - e.g. "BER" for Berlin no string (4)
Brandenburg Airport.
dropoff_address Dropoff address - e.g. "Feurigstraße 59, 10827 yes, if string (255)
Berlin". "service_type"
is "transfer"
dropoff_airport_iata An airport IATA code - e.g. "BER" for Berlin no string (4)
Brandenburg Airport.
18
Blacklane Connector Core Specification
"results": [
{
"vehicle_type": "business_class",
"max_passengers": 3,
"max_luggage": 2,
"currency": "EUR",
"total_amount": 9873,
"net_amount": 8978,
"vat_amount": 895,
"vat_rate": 0.1,
"image_url":
"https://content.blacklane.com/api/business_class
_160x100.png",
"price_items": [
{
"type": "base_price",
"currency": "EUR",
"total_amount": 8719,
"net_amount": 7927,
"vat_amount": 792,
"vat_rate": 0.1
},
{
"type": "meet_and_greet",
"currency": "EUR",
"total_amount": 495,
"net_amount": 450,
"vat_amount": 45,
"vat_rate": 0.1
}
]
vehicle_type The vehicle type with possible values: yes string (30)
"business_class", "first_class", business_van",
"electric_class", "electric_sedan", "sprinter_class".
image_url The URL to the vehicle image corresponding to the yes string (255)
vehicle class for which the price is computed.
19
Blacklane Connector Core Specification
The next section outlines all possible values returned for the error related fields mentioned in the
table above.
3.2.4 Errors
HTTP Error Key Reason Error Description
Status Code (JSON Message)
20
Blacklane Connector Core Specification
}
]
}
21
Blacklane Connector Core Specification
parameters are {
missing. "message": "pickup_missing",
"description": "Either pickup_airport_iata, or
all of the pickup_address, pickup_latitude,
pickup_longitude parameters have to be
provided."
}
]
}
22
Blacklane Connector Core Specification
23
Blacklane Connector Core Specification
24
Blacklane Connector Core Specification
4 Booking
This section describes the endpoint to be used in order to place a booking for a ride with
Blacklane.
Authorization The user access token of "bearer" type that has yes string
been obtained previously as a successful response
after invoking the authorization endpoint.
Value: Bearer [user_access_token].
pickup_address Pickup address - e.g. "Oranienstraße 199, 10999, *see „Address string (255)
Berlin". Resolution”
section
pickup_airport_iata An airport IATA code replacing the pickup address *see „Address string (4)
- e.g. "BER" for Berlin Brandenburg Airport. Resolution”
section
25
Blacklane Connector Core Specification
dropoff_address Dropoff address - e.g. "Feurigstraße 59, 10827 *see „Address string (255)
Berlin". Resolution”
section
dropoff_longitude Dropoff point longitude - e.g. " 13.357660". *see „Address double
It is stored as decimal (9, 6). Resolution”
section
dropoff_airport_iata An airport IATA code replacing the dropoff address *see „Address string (4)
- e.g. "BER" for Berlin Brandenburg Airport. Resolution”
section
duration Ride duration in seconds - e.g. "7200" for a 2-hour yes, if integer
ride. Please note that this is stored as unsigned "service_type"
integer. is "hourly"
credit_card_expiry_ Credit Card expiry month - e.g. "09" for the month no string (255)
month of September.
airline_code Airline code for the flight, e.g. "AB" for Air Berlin. no string (2)
Discarded unless you provide the "flight_number".
26
Blacklane Connector Core Specification
flight_number Flight number without the airline code - e.g. no string (25)
"6446". Discarded unless you provide the
"airline_code".
pickup_sign Text to be written on the pick up sign, usually the no string (255)
name of a person or company - e.g. "John Doe".
passenger_locale Represents the locale of the passenger and no, string (2)
indicates the language in which language default is "en"
dependent assets such as meeting instructions
should be delivered. Currently the following
languages are supported: "en", "de" and "fr".
external_id An optional identifier for the ride provided by the no string (36)
API client. This value cannot be changed when
updating a booking.
external_user_id An optional identifier for the user provided by the no string (255)
API client. This value cannot be changed when
updating a booking.
27
Blacklane Connector Core Specification
Content-Type application/json
booking_number The number associated with this booking - e.g. yes string (255)
"20150520-2945138".
external_id The external ID provided from the API client used no string (36)
as a means to uniquely identify the booking.
This value cannot be changed when updating a
booking.
external_user_id An optional identifier for the user provided by the no string (255)
API client. This value cannot be changed when
updating a booking.
airline_code The airline code e.g. - "AB" for Air Berlin. no string (2)
depart_at The date and time of the departure ISO-8601 yes string
datetime format e.g. - "2015-11-21T14:00:00".
28
Blacklane Connector Core Specification
confirmation_status The confirmation status of the booking e.g. - yes string (30)
"open". Possible values are: "open", "accepted"
and „rejected".
pickup_address Pickup address - e.g. "Oranienstraße 199, 10999, yes string (255)
Berlin".
29
Blacklane Connector Core Specification
pickup_airport_iata An airport IATA code - e.g. "BER" for Berlin no string (4)
Brandenburg Airport.
dropoff_address Dropoff address - e.g. "Feurigstraße 59, 10827 yes, if string (255)
Berlin". "service_type"
is "transfer"
dropoff_airport_iata An airport IATA code - e.g. "BER" for Berlin no string (4)
Brandenburg Airport.
passenger_title The passenger’s title e.g. "Mr", "Ms" or yes string (255)
"unknown"
passenger_first_nam The passenger's first name e.g. "Michael". yes string (255)
e
passenger_last_nam The passenger's last name e.g. "Mueller". yes string (255)
e
passenger_mobile The passenger’s mobile phone number e.g. yes string (255)
"+4900000000000".
passenger_locale The selected locale for the booking yes string (2)
communication.
30
Blacklane Connector Core Specification
corporation_uuid The corporation UUID provided with the booking no string (255)
request.
payment_method_t The type of payment method used for the yes string (255)
ype booking. Valid values are "collective_invoice",
"credit_card".
payment_method_l The label for the payment method used on yes string (255)
abel Blacklane side, e.g. the corporation name.
meeting_instruction Field indicating general meeting instructions for yes string (255)
s the chauffeur and passenger at various address
types.
The next section outlines all possible values returned for the error related fields mentioned in the
table above.
4.2.4 Errors
HTTP Error Key Reason Error Description
Status Code (JSON Message)
31
Blacklane Connector Core Specification
32
Blacklane Connector Core Specification
33
Blacklane Connector Core Specification
34
Blacklane Connector Core Specification
35
Blacklane Connector Core Specification
36
Blacklane Connector Core Specification
]
}
37
Blacklane Connector Core Specification
38
Blacklane Connector Core Specification
39
Blacklane Connector Core Specification
40
Blacklane Connector Core Specification
41
Blacklane Connector Core Specification
42
Blacklane Connector Core Specification
}
]
}
43
Blacklane Connector Core Specification
44
Blacklane Connector Core Specification
45
Blacklane Connector Core Specification
5 Update
This section describes the endpoint to be used in order to update a booking for a ride with
Blacklane.
Authorization The user access token of "bearer" type that has been yes string
obtained previously as a successful response after
invoking the authorization endpoint.
Value: Bearer [user_access_token].
identifier A path parameter which is passed in the request: yes string (255)
URL/bookings/{identifier}
Valid values to pass as the identifier are the "uuid",
"booking_number" or "external_id" of the original
booking.
pickup_address Pickup address - e.g. "Oranienstraße 199, 10999, *see string (255)
Berlin". „Address
Resolution”
section
46
Blacklane Connector Core Specification
Resolution”
section
pickup_airport_iata An airport IATA code replacing the pickup address - *see string (4)
e.g. "BER" for Berlin Brandenburg Airport. „Address
Resolution”
section
pickup_place_id The Google Place ID identifying the pickup location. no string (255)
dropoff_address Dropoff address - e.g. "Feurigstraße 59, 10827 *see string (255)
Berlin". „Address
Resolution”
section
dropoff_airport_iata An airport IATA code replacing the dropoff address - *see string (4)
e.g. "BER" for Berlin Brandenburg Airport. „Address
Resolution”
section
dropoff_place_id The Google Place ID identifying the dropoff location. no string (255)
duration Ride duration in seconds - e.g. "7200" for a 2-hour yes, if integer
ride. Please note that this is stored as unsigned "service_typ
integer. e" is
"hourly"
credit_card_expiry_ Credit Card expiry month - e.g. "09" for the month of no string (255)
month September.
47
Blacklane Connector Core Specification
airline_code Airline code for the flight, e.g. "AB" for Air Berlin. no string (2)
Discarded unless you provide the "flight_number".
flight_number Flight number without the airline code - e.g. "6446". no string (25)
Discarded unless you provide the "airline_code".
pickup_sign Text to be written on the pick up sign, usually the no string (255)
name of a person or company - e.g. "John Doe".
passenger_locale Represents the locale of the passenger and indicates no, string (2)
the language in which language dependent assets default is
such as meeting instructions should be delivered. "en"
Currently the following languages are supported:
"en", "de" and "fr".
48
Blacklane Connector Core Specification
Content-Type application/json
booking_number The number associated with the updated booking - yes string (255)
e.g. "20150520-2945138".
old_booking_numb The number associated with the original booking - no string (255)
er e.g. "20150520-2945139"
external_id The external ID provided from the API client used as a no string (36)
means to uniquely identify the booking. This value
stays unchanged from the original booking.
external_user_id An optional identifier for the user provided by the API no string (255)
client. This value stays unchanged from the original
booking.
airline_code The airline code e.g. - "AB" for Air Berlin. no string (2)
depart_at The date and time of the departure ISO-8601 yes string
datetime format e.g. - "2015-11-21T14:00:00".
estimated_confirmat The estimated date time for the confirmation, in ISO no string
ion_at format e.g. - "2015-05-20T16:21:38".
49
Blacklane Connector Core Specification
vehicle_max_luggag The maximum luggage allowed for a certain vehicle yes integer
e type e.g. - "2".
confirmation_status The confirmation status of the booking e.g. - "open". yes string (30)
Possible values are: "open", "accepted" and
"rejected".
duration The duration in seconds. It will be returned under the yes, if integer
"common" composite type. "service_typ
50
Blacklane Connector Core Specification
pickup_address Pickup address - e.g. "Oranienstraße 199, 10999, yes string (255)
Berlin".
pickup_airport_iata An airport IATA code - e.g. "BER" for Berlin no string (4)
Brandenburg Airport.
pickup_place_id The Google Place ID identifying the pickup location. no string (255)
dropoff_address Dropoff address - e.g. "Feurigstraße 59, 10827 yes, if string (255)
Berlin". "service_typ
e" is
"transfer"
dropoff_airport_iata An airport IATA code - e.g. "BER" for Berlin no string (4)
Brandenburg Airport.
dropoff_place_id The Google Place ID identifying the dropoff location. no string (255)
passenger_title The passenger’s title e.g. "Mr", "Ms" or "unknown" yes string (255)
passenger_first_nam The passenger's first name e.g. "Michael". yes string (255)
e
passenger_last_nam The passenger's last name e.g. "Mueller". yes string (255)
e
passenger_mobile The passenger’s mobile phone number e.g. yes string (255)
"+4900000000000".
passenger_locale The selected locale for the booking communication. yes string (2)
51
Blacklane Connector Core Specification
corporation_uuid The corporation UUID provided with the booking no string (255)
update request.
payment_method_t The type of payment method used for the booking. yes string (255)
ype Valid values are "collective_invoice", "credit_card".
payment_method_l The label for the payment method used on Blacklane yes string (255)
abel side, e.g. the corporation name.
meeting_instruction Field indicating general meeting instructions for the yes string (255)
s chauffeur and passenger at various address types.
Please refer to section 4.2.4 for all possible values returned for the error related fields mentioned
in the table above.
52
Blacklane Connector Core Specification
6 Cancellation
This section describes the endpoint which is to be used by an API client in order to cancel a
previously successful booking with Blacklane.
A booking can be cancelled by providing any of the following fields (mutually exclusive):
3. the external ID used to identify the booking (this is the external identifier used by the API
client in order to uniquely distinguish bookings and is usually received in cases when the
uuid or booking number is not received, regardless of reason).
Authorization The user access token of "bearer" type that has been yes string
obtained previously as a successful response after
invoking the authorization endpoint.
Value: Bearer [user_access_token].
external_id An optional identifier for the ride provided by the API no string (30)
client.
53
Blacklane Connector Core Specification
Content-type application/json
uuid The UUID of the booking that has been successfully yes string (36)
cancelled.
booking_number Tour booking number as returned by the POST or PUT yes string (255)
/bookings request, e.g. "20150520-2945138".
external_id The external ID that has been supplied as part of the no string (30)
request.
type The cancellation type, with the following values: yes string (20)
"free" or "full".
price The chargeable price for the booking after yes string
cancellation.
The next section outlines all possible values returned for the error related fields mentioned in the
table above.
54
Blacklane Connector Core Specification
6.2.4 Errors
HTTP Error Key Reason Error Description
Status Code (JSON Message)
55
Blacklane Connector Core Specification
56
Blacklane Connector Core Specification
A booking can be located via any of the following fields (mutually exclusive):
3. the external ID used to identify the booking (this is the external identifier used by the API
client in order to uniquely distinguish bookings and is usually received in cases when the
uuid or booking number is not received, regardless of reason).
Authorization The user access token of "bearer" type that has been yes string
obtained previously as a successful response after
invoking the authorization endpoint.
Value: Bearer [user_access_token].
external_id An optional identifier for the ride provided by the API no string (30)
client.
57
Blacklane Connector Core Specification
Content-type application/json
booking_number The number associated with this booking - e.g. yes string (255)
"20150520-2945138".
old_booking_numb The number associated with the original booking - no string (255)
er e.g. "20150520-2945139"
external_id The external ID provided from the API client used as a no string (36)
means to uniquely identify the booking.
external_user_id An optional identifier for the user provided by the API no string (255)
client.
airline_code The airline code e.g. - "AB" for Air Berlin. no string (2)
depart_at The date and time of the departure ISO-8601 yes string
datetime format e.g. - "2015-11-21T14:00:00".
estimated_confirmat The estimated date time for the confirmation, in ISO no string
ion_at format e.g. - "2015-05-20T16:21:38".
58
Blacklane Connector Core Specification
vehicle_max_luggag The maximum luggage allowed for a certain vehicle yes integer
e type e.g. - "2".
confirmation_status The confirmation status of the booking e.g. - "open". yes string (30)
Possible values are: "open", "accepted" and
„rejected".
duration The duration in seconds. It will be returned under the yes, if integer
"common" composite type. "service_typ
Considered as decimal (11, 4). e" is
"hourly"
pickup_address Pickup address - e.g. "Oranienstraße 199, 10999, yes string (255)
Berlin".
59
Blacklane Connector Core Specification
pickup_airport_iata An airport IATA code - e.g. "BER" for Berlin no string (4)
Brandenburg Airport.
pickup_place_id The Google Place ID identifying the pickup location. no string (255)
dropoff_address Dropoff address - e.g. "Feurigstraße 59, 10827 yes, if string (255)
Berlin". "service_typ
e" is
"transfer"
dropoff_airport_iata An airport IATA code - e.g. "BER" for Berlin no string (4)
Brandenburg Airport.
dropoff_place_id The Google Place ID identifying the dropoff location. no string (255)
passenger_title The passenger’s title e.g. "Mr", "Ms" or "unknown" yes string (255)
passenger_first_nam The passenger's first name e.g. "Michael". yes string (255)
e
passenger_last_nam The passenger's last name e.g. "Mueller". yes string (255)
e
passenger_mobile The passenger’s mobile phone number e.g. yes string (255)
"+4900000000000".
passenger_locale The selected locale for the booking communication. yes string (2)
60
Blacklane Connector Core Specification
corporation_uuid The corporation UUID provided with the booking no string (255)
update request.
payment_method_t The type of payment method used for the booking. yes string (255)
ype Valid values are "collective_invoice", "credit_card".
payment_method_l The label for the payment method used on Blacklane yes string (255)
abel side, e.g. the corporation name.
meeting_instruction Field indicating general meeting instructions for the yes string (255)
s chauffeur and passenger at various address types.
The next section outlines all possible values returned for the error related fields mentioned in the
table above.
7.2.4 Errors
HTTP Error Key Reason Error Description
Status Code (JSON Message)
61
Blacklane Connector Core Specification
62
Blacklane Connector Core Specification
8 Assets API
The Assets API is offered in order to get access to Blacklane specific information meant for display
purposes in different languages, such as:
● Vehicle classes
● Vehicle models
● Service descriptions
● Maximum number of guests for a specific car class
● Maximum number of luggage for a specific car class
● Terms & Conditions URL
● Cancellation policy
● Meet & Greet text
● Vehicle image URL for a specific car class
● Blacklane logo URL
Authorization The user access token of "bearer" type that has been yes string
obtained previously as a successful response after
invoking the authorization endpoint.
Value: Bearer [user_access_token].
Name Value
Content-type application/json
63
Blacklane Connector Core Specification
vehicle_types A list of all vehicle types that are available within Blacklane. string
vehicle_class This is a collection of information for a specific vehicle class. collection of the
Inside this, the following information, listed below, will be fields as described
stored in the following fields: makes, description, passenger below
number, luggage number and the URL to the vehicle image
pertaining to the vehicle class.
Possible values are: "business_class", "business_van",
"first_class", "electric_class", "electric_sedan" and
"sprinter_class".
luggage_number The maximum number of luggage for a certain vehicle class. integer
Luggage that can be "check_in" is listed separately.
image_url The URL to the image pertaining to a certain vehicle class. string
Different sizes such as "medium", "small" will be listed as part
of this information.
makes The vehicle models corresponding to the specific vehicle class. string
description The service description offered with a certain vehicle class. string
logo_url The URL to the logo image containing separate links for string
different sizes "small" and "medium" as well as different
colors "black" and "white".
64
Blacklane Connector Core Specification
8.3.5 Errors
HTTP Status Error Key Reason Error Description
Code (JSON Message)
65
Blacklane Connector Core Specification
In case of any questions regarding API usage, please send your inquiry to the following email
address: [email protected].
66
Blacklane Connector Core Specification
67
Blacklane Connector Core Specification
The precondition for it is that the Pricing, Booking and Cancellation APIs are implemented and
work properly. Please check this before the meeting.
We will run through different scenarios involving performing bookings and then cancelling them.
Our main focus is to ensure that several important scenarios are covered, such as:
In case the pickup location is an airport, additional checks will be performed as follows:
- Check that an airport IATA is provided as a means to identify the pickup location
- Check the flight number that has been provided if the pickup is linked to a flight
For all bookings, we will verify that the pickup time is entered correctly. It should be the local
timezone of the pickup location and it means the exact moment in time when the guest expects
the chauffeur to pick him up at the pickup location provided.
Hourly bookings will be checked if they are established as being in the scope for implementation.
Additional checks can be performed around the Update API in order to check scenarios of editing
a previously placed booking. Scenarios covered are as follows:
- Edits with no changes to the price, e.g. email change or pickup sign change
- Edits with changes to the price, e.g change of pickup/dropoff location, pickup time or
vehicle class
Lastly, we would align on the production setup you would like to have, such as:
- Payment and billing options
- Notifications (emails and text messages)
- How are modifications to the booking addressed (define the operational procedure)
Our expectation would be that you present the integration by sharing screens with us during the
session so that we get an understanding of the whole look and feel and user experience in
general. Any other material sent in advance such as a presentation with the whole flow containing
relevant screenshots or giving access to the testing environment would be highly appreciated, but
not mandatory.
An important thing to check in the booking flow will be the displaying of the Blacklane Terms &
Conditions before the moment of booking.
If the certification was successful and no further adaptations are needed, you will receive the
necessary production credentials so that we can launch our integration LIVE.
68