Bravodriver API
With this API developers can search for places, tracks and drivers availability and optionally book transfers from bravodriver checkout page.
Discovery ¶
Discovery Nations, Places and Tracks serviced. This results can be cached by client up to one day.
Nations ¶
Nations serviced.
Get NationsGET/api/v1/nations{?lang}
Get all Nations serviced. Example.
Example URI
- lang
string
(optional) Example: ITLanguage of response
Choices:
IT
EN
ES
200
Headers
Cache-Control: max-age=84600
Content-Type: application/json;charset=utf-8
Body
{
"AT": "Austria",
"FR": "Francia",
"IT": "Italia",
"LI": "Liechtenstein",
"AD": "Principato di Andorra",
"MC": "Principato di Monaco",
"ES": "Spagna",
"CH": "Svizzera"
}
Places ¶
Places serviced
Get PlacesGET/api/v1/places{?lang}
Get all Places serviced. Example.
Example URI
- lang
string
(optional) Example: ITLanguage of response
Choices:
IT
EN
ES
200
Headers
Cache-Control: max-age=84600
Content-Type: application/json;charset=utf-8
Body
[
{
"code": 353,
"name": "Abbiadori",
"province": "Olbia-Tempio",
"nationcode": "IT",
"coordinate": {
"latitude": 41.096639734881,
"longitude": 9.5252966880798
}
},
{
"code": 948,
"name": "Acantilados de los Gigantes",
"province": "Santa Cruz de Tenerife",
"nationcode": "ES",
"coordinate": {
"latitude": 28.243265719576,
"longitude": -16.840238571167
}
},
..
..
..
]
Tracks ¶
Tracks serviced
Get TracksGET/api/v1/tracks{?lang}
Get all Tracks serviced. Example.
Example URI
- lang
string
(optional) Example: ITIt needed for order the array of place destination by names
Choices:
IT
EN
ES
200
Headers
Cache-Control: max-age=84600
Content-Type: application/json;charset=utf-8
Body
{
"975": [
947
],
"974": [
281,
258,
66,
36,
58,
269,
274,
13
],
"973": [
947
..
..
..
],
..
..
..
}
Availability ¶
Get availability of vehicles and drivers
Availability ¶
Availability by PlaceGET/api/v1/availabilitybyplace{?fromid,toid,pax,date,dater,agent,lang}
Get availability of vehicles and drivers.
Example URI
- fromid
integer
(required) Example: 8code of pick-up place
- toid
integer
(required) Example: 13code of drop-off place
- pax
integer
(required) Example: 2number of passenger, included children, on checkout page you can ask for infant seats
- date
date
(required) Example: 2016-12-27T15:00date and time of pick-up, local to pick-up place
- dater
date
(optional) Example: 2016-12-31T15:00return date and time of pick-up, local to pick-up place
- agent
string
(optional) Example: info@partner.comthe email of the agent who get the commission (ask to info@bravodriver.com for get Agent access)
- lang
string
(required) Example: ITLanguage of response
Choices:
IT
EN
ES
200
The response contains infos about places and the availability of vehicles.
Every item in results node represent a vehicle available.
Into a result, beyond the other info, there are:
-
percentpricetoreserve, that represent the percentage of price that needed to pay to book. The other part of the cost is given on site. For now is always 1, it’s need the payment of total cost to book.
-
cancellationpolicies, is an array of policies. Ex:
{ "daybefore": 15, "percentrefound": 1 }, { "daybefore": 7, "percentrefound": 0.8 }
means that if you cancel the reservation 15 days before the reservation date, the customer has a full refund. If the customer cancel between 15 and 7 day before, the customer has a refund of 80%. If he cancel less than 7 day before, there is’n any refund.
-
driver and company, for now are the same entity. We usually display only infos about company.
-
maxwaitingmin, is the time, in minutes, that the driver will wait che customer at pick-up point.
-
checkouturl, contain the url used to book.
Headers
Cache-Control: no-transform, no-store
Content-Type: application/json;charset=utf-8
Body
{
"nationfrom": {
"code": "IT",
"name": "Italia"
},
"placefrom": {
"code": 13,
"name": "Castelbuono",
"province": null,
"nationcode": null,
"coordinate": {
"latitude": 37.934153764918,
"longitude": 14.088603258133
}
},
"placeto": {
"code": 8,
"name": "Catania, Aeroporto Fontanarossa",
"province": null,
"nationcode": null,
"coordinate": {
"latitude": 37.47090719543,
"longitude": 15.06534576416
}
},
"pax": 2,
"resultremovedforlessnotice": 0,
"distancekm": 166,
"durationmin": 121,
"results": [
{
"resource": {
"concrete_class_type": "it.osys.reservation.server.rest.fe.dto.VehicleDto",
"id": 4,
"name": "Mercedes Classe E",
"status": "RESERVABLE",
"images": [
{
"image": {
"href": "/reservation/services/images/resource/4/0"
},
"thumb": {
"href": "/reservation/services/images/resource/4/0/small",
"rel": "thumbnail"
}
},
{
"image": {
"href": "/reservation/services/images/resource/4/1"
},
"thumb": {
"href": "/reservation/services/images/resource/4/1/small",
"rel": "thumbnail"
}
},
{
"image": {
"href": "/reservation/services/images/resource/4/2"
},
"thumb": {
"href": "/reservation/services/images/resource/4/2/small",
"rel": "thumbnail"
}
}
],
"percentpricetoreserve": 1,
"cancellationpolicies": [
{
"daybefore": 15,
"percentrefound": 1
}
],
"luggagelt": 451,
"classe": "COMFORT",
"license": "NCC",
"nationcode": "IT"
},
"company": {
"userid": 7,
"name": "Meditravel s.r.l.",
"email": "info@meditravel.it",
"mobile": "+393281114773",
"image": {
"href": "/reservation/services/images/user/7"
}
},
"price": 260,
"cancellationpolicy": [
{
"daybefore": 15,
"percentrefound": 1
}
],
"checkouturl": "/it/prebooking1_recap.html?fromid=13&toid=8&date=2015-12-27T15%3A00%3A00&pax=2&resourceid=4&trackid=88",
"trackid": 88,
"maxwaitingmin": 45
},
{
"resource": {
"concrete_class_type": "it.osys.reservation.server.rest.fe.dto.VehicleDto",
"id": 3,
"name": "FIAT ULYSSE",
"status": "RESERVABLE",
"images": [
{
"image": {
"href": "/reservation/services/images/resource/3/1"
},
"thumb": {
"href": "/reservation/services/images/resource/3/1/small",
"rel": "thumbnail"
}
},
{
"image": {
"href": "/reservation/services/images/resource/3/2"
},
"thumb": {
"href": "/reservation/services/images/resource/3/2/small",
"rel": "thumbnail"
}
},
{
"image": {
"href": "/reservation/services/images/resource/3/3"
},
"thumb": {
"href": "/reservation/services/images/resource/3/3/small",
"rel": "thumbnail"
}
},
{
"image": {
"href": "/reservation/services/images/resource/3/4"
},
"thumb": {
"href": "/reservation/services/images/resource/3/4/small",
"rel": "thumbnail"
}
}
],
"percentpricetoreserve": 1,
"cancellationpolicies": [
{
"daybefore": 15,
"percentrefound": 1
}
],
"luggagelt": 324,
"classe": "COMFORT",
"license": "NCC",
"nationcode": "IT"
},
"company": {
"userid": 6,
"name": "Marco",
"email": "m.santoro@email.it",
"mobile": "+393343640981",
"image": {
"href": "/reservation/services/images/user/6"
}
},
"price": 260,
"cancellationpolicy": [
{
"daybefore": 15,
"percentrefound": 1
}
],
"checkouturl": "/it/prebooking1_recap.html?fromid=13&toid=8&date=2015-12-27T15%3A00%3A00&pax=2&resourceid=3&trackid=24",
"trackid": 24,
"maxwaitingmin": 45
},
{
"resource": {
"concrete_class_type": "it.osys.reservation.server.rest.fe.dto.VehicleDto",
"id": 27,
"name": "Fiat Iveco",
"description": "Monovolume comodo e spazioso, fino ad 8 posti, con sedili in pelle, aria condizionata, frigo e tv (DVD) adatto a brevi e lunghe tratte.",
"status": "RESERVABLE",
"images": [
{
"image": {
"href": "/reservation/services/images/resource/27/0"
},
"thumb": {
"href": "/reservation/services/images/resource/27/0/small",
"rel": "thumbnail"
}
},
{
"image": {
"href": "/reservation/services/images/resource/27/1"
},
"thumb": {
"href": "/reservation/services/images/resource/27/1/small",
"rel": "thumbnail"
}
},
{
"image": {
"href": "/reservation/services/images/resource/27/2"
},
"thumb": {
"href": "/reservation/services/images/resource/27/2/small",
"rel": "thumbnail"
}
},
{
"image": {
"href": "/reservation/services/images/resource/27/3"
},
"thumb": {
"href": "/reservation/services/images/resource/27/3/small",
"rel": "thumbnail"
}
}
],
"percentpricetoreserve": 1,
"cancellationpolicies": [
{
"daybefore": 15,
"percentrefound": 1
},
{
"daybefore": 7,
"percentrefound": 0.8
}
],
"luggagelt": 800,
"classe": "MEDIUM",
"license": "NCC",
"nationcode": "IT"
},
"company": {
"userid": 12,
"name": "Angelo",
"email": "angelo.pata@alice.it",
"mobile": "+393400659347",
"image": {
"href": "/reservation/services/images/user/12"
}
},
"price": 300,
"cancellationpolicy": [
{
"daybefore": 15,
"percentrefound": 1
},
{
"daybefore": 7,
"percentrefound": 0.8
}
],
"checkouturl": "/it/prebooking1_recap.html?fromid=13&toid=8&date=2015-12-27T15%3A00%3A00&pax=2&resourceid=27&trackid=239",
"trackid": 239,
"maxwaitingmin": 45
}
],
"date": "2015-12-27T15:00:00"
}
AvailabilityByCoord ¶
Availability by CoordinateGET/api/v1/availabilitybycoord{?fromlat,fromlon,tolat,tolon,radius,pax,date,dater,agent,lang}
Get availability of vehicles and drivers.
Example URI
- fromlat
float
(required) Example: 45.631559latitude of pick-up place
- fromlon
float
(required) Example: 8.720478longitude pick-up place
- tolat
float
(required) Example: 45.45139latitude drop-off place
- tolon
float
(required) Example: 9.27626longitude drop-off place
- radius
float
(optional) Example: 5radius used to search for known place. Default is 25%, up to 7Km, of distance between pick-up place and drop-off place.
- pax
integer
(required) Example: 2number of passenger, included children, on checkout page you can ask for infant seats
- date
date
(required) Example: 2016-12-27T15:00date and time of pick-up, local to pick-up place
- dater
date
(optional) Example: 2016-12-31T15:00return date and time of pick-up, local to pick-up place
- agent
string
(optional) Example: info@partner.comthe email of the agent who get the commission (ask to info@bravodriver.com for get Agent access)
- lang
string
(required) Example: ITLanguage of response
Choices:
IT
EN
ES
200
The response contains infos about places and the availability of vehicles.
Every item in results node represent a vehicle available.
Into a result, beyond the other info, there are:
-
percentpricetoreserve, that represent the percentage of price that needed to pay to book. The other part of the cost is given on site. For now is always 1, it’s need the payment of total cost to book.
-
cancellationpolicies, is an array of policies. Ex:
{ "daybefore": 15, "percentrefound": 1 }, { "daybefore": 7, "percentrefound": 0.8 }
means that if you cancel the reservation 15 days before the reservation date, the customer has a full refund. If the customer cancel between 15 and 7 day before, the customer has a refund of 80%. If he cancel less than 7 day before, there is’n any refund.
-
driver and company, for now are the same entity. We usually display only infos about company.
-
maxwaitingmin, is the time, in minutes, that the driver will wait che customer at pick-up point.
-
checkouturl, contain the url used to book.
Headers
Cache-Control: no-transform, no-store
Content-Type: application/json;charset=utf-8
Body
{
"nationfrom": {
"code": "IT",
"name": "Italia"
},
"placefrom": {
"code": 13,
"name": "Castelbuono",
"province": null,
"nationcode": null,
"coordinate": {
"latitude": 37.934153764918,
"longitude": 14.088603258133
}
},
"placeto": {
"code": 8,
"name": "Catania, Aeroporto Fontanarossa",
"province": null,
"nationcode": null,
"coordinate": {
"latitude": 37.47090719543,
"longitude": 15.06534576416
}
},
"pax": 2,
"resultremovedforlessnotice": 0,
"distancekm": 166,
"durationmin": 121,
"results": [
{
"resource": {
"concrete_class_type": "it.osys.reservation.server.rest.fe.dto.VehicleDto",
"id": 4,
"name": "Mercedes Classe E",
"status": "RESERVABLE",
"images": [
{
"image": {
"href": "/reservation/services/images/resource/4/0"
},
"thumb": {
"href": "/reservation/services/images/resource/4/0/small",
"rel": "thumbnail"
}
},
{
"image": {
"href": "/reservation/services/images/resource/4/1"
},
"thumb": {
"href": "/reservation/services/images/resource/4/1/small",
"rel": "thumbnail"
}
},
{
"image": {
"href": "/reservation/services/images/resource/4/2"
},
"thumb": {
"href": "/reservation/services/images/resource/4/2/small",
"rel": "thumbnail"
}
}
],
"percentpricetoreserve": 1,
"cancellationpolicies": [
{
"daybefore": 15,
"percentrefound": 1
}
],
"luggagelt": 451,
"classe": "COMFORT",
"license": "NCC",
"nationcode": "IT"
},
"company": {
"userid": 7,
"name": "Meditravel s.r.l.",
"email": "info@meditravel.it",
"mobile": "+393281114773",
"image": {
"href": "/reservation/services/images/user/7"
}
},
"price": 260,
"cancellationpolicy": [
{
"daybefore": 15,
"percentrefound": 1
}
],
"checkouturl": "/it/prebooking1_recap.html?fromid=13&toid=8&date=2015-12-27T15%3A00%3A00&pax=2&resourceid=4&trackid=88",
"trackid": 88,
"maxwaitingmin": 45
},
{
"resource": {
"concrete_class_type": "it.osys.reservation.server.rest.fe.dto.VehicleDto",
"id": 3,
"name": "FIAT ULYSSE",
"status": "RESERVABLE",
"images": [
{
"image": {
"href": "/reservation/services/images/resource/3/1"
},
"thumb": {
"href": "/reservation/services/images/resource/3/1/small",
"rel": "thumbnail"
}
},
{
"image": {
"href": "/reservation/services/images/resource/3/2"
},
"thumb": {
"href": "/reservation/services/images/resource/3/2/small",
"rel": "thumbnail"
}
},
{
"image": {
"href": "/reservation/services/images/resource/3/3"
},
"thumb": {
"href": "/reservation/services/images/resource/3/3/small",
"rel": "thumbnail"
}
},
{
"image": {
"href": "/reservation/services/images/resource/3/4"
},
"thumb": {
"href": "/reservation/services/images/resource/3/4/small",
"rel": "thumbnail"
}
}
],
"percentpricetoreserve": 1,
"cancellationpolicies": [
{
"daybefore": 15,
"percentrefound": 1
}
],
"luggagelt": 324,
"classe": "COMFORT",
"license": "NCC",
"nationcode": "IT"
},
"company": {
"userid": 6,
"name": "Marco",
"email": "m.santoro@email.it",
"mobile": "+393343640981",
"image": {
"href": "/reservation/services/images/user/6"
}
},
"price": 260,
"cancellationpolicy": [
{
"daybefore": 15,
"percentrefound": 1
}
],
"checkouturl": "/it/prebooking1_recap.html?fromid=13&toid=8&date=2015-12-27T15%3A00%3A00&pax=2&resourceid=3&trackid=24",
"trackid": 24,
"maxwaitingmin": 45
},
{
"resource": {
"concrete_class_type": "it.osys.reservation.server.rest.fe.dto.VehicleDto",
"id": 27,
"name": "Fiat Iveco",
"description": "Monovolume comodo e spazioso, fino ad 8 posti, con sedili in pelle, aria condizionata, frigo e tv (DVD) adatto a brevi e lunghe tratte.",
"status": "RESERVABLE",
"images": [
{
"image": {
"href": "/reservation/services/images/resource/27/0"
},
"thumb": {
"href": "/reservation/services/images/resource/27/0/small",
"rel": "thumbnail"
}
},
{
"image": {
"href": "/reservation/services/images/resource/27/1"
},
"thumb": {
"href": "/reservation/services/images/resource/27/1/small",
"rel": "thumbnail"
}
},
{
"image": {
"href": "/reservation/services/images/resource/27/2"
},
"thumb": {
"href": "/reservation/services/images/resource/27/2/small",
"rel": "thumbnail"
}
},
{
"image": {
"href": "/reservation/services/images/resource/27/3"
},
"thumb": {
"href": "/reservation/services/images/resource/27/3/small",
"rel": "thumbnail"
}
}
],
"percentpricetoreserve": 1,
"cancellationpolicies": [
{
"daybefore": 15,
"percentrefound": 1
},
{
"daybefore": 7,
"percentrefound": 0.8
}
],
"luggagelt": 800,
"classe": "MEDIUM",
"license": "NCC",
"nationcode": "IT"
},
"company": {
"userid": 12,
"name": "Angelo",
"email": "angelo.pata@alice.it",
"mobile": "+393400659347",
"image": {
"href": "/reservation/services/images/user/12"
}
},
"price": 300,
"cancellationpolicy": [
{
"daybefore": 15,
"percentrefound": 1
},
{
"daybefore": 7,
"percentrefound": 0.8
}
],
"checkouturl": "/it/prebooking1_recap.html?fromid=13&toid=8&date=2015-12-27T15%3A00%3A00&pax=2&resourceid=27&trackid=239",
"trackid": 239,
"maxwaitingmin": 45
}
],
"date": "2015-12-27T15:00:00"
}
Checkout ¶
Go to checkout page to book a transfer.
Checkout ¶
Checkout using the “checkouturl” url contains in availability’s response.