Welcome to the Taxicode API
The Taxicode API is a collction of HTTP interfaces to Taxicode services we are opening up to the wider developer platform so that other business can benefit from our vast national taxi company directory and pricing engine.
The main elements of our API are the ability to get quotes, book journeys and perform actions related to the booking made by your application or by authenticated Taxicode users.
Our API is in active developement so if you have any problems or want to suggest a new feature we're always willing to discus with you the options and we'll always endevour to meet your needs if possible. If you wish to contact us, Click Here.
By using the Taxicode API, you are agreeing to the Terms and Conditions.
Overview
Global Parameters
Any API call can specify the following parameters:
Parameter | Type | Description | Value | Default |
---|---|---|---|---|
format optional |
GET |
The format parameter specifies the format that the data response will be sent back in. | json , xml , pre , vardump or serialized |
json |
callback optional |
GET |
If you are requesting json as the data type and wish the data to be sent as jsonp, please specify a callback function and we will wrap the json in that function. |
String | - |
encrypted optional |
GET |
An encrypted JSON string containing data you wish to send to us as POST data. It will be treated as POST data once decrypted on our server. Data should be encrypted using RSA encryption with the public key you can obtain with the Auth API. |
String | - |
key required |
GET/POST |
Your API key. This is used to verify the source of the API call. All API calls require the API key and some have additional functionality when it it provided. The max length of this should be 32 characters. Please contact us if you need to discuss this. | String | - |
sub_affiliate optional |
GET/POST |
A sub affiliate ID that you provide to your customers if you are repackaging our API to your affiliates. | String | - |
Auth API
The Auth API is used to retrieve a public key that can be used to encrypt post data to other API services.
It's primary use is to send encrypted data that you'd normally be able to send via a POST
request to our server, but can't because of a limitation on sending POST
data such as using jsonp. Once a public key is required you will need to have the ability to do RSA encryption using your public key.
Here are some libraries we're aware of. If you know of any others for different languages please let us know.
Language | Library / Function |
---|---|
PHP | openssl_public_encrypt |
JavaScript | https://github.com/ziyan/javascript-rsa |
The next step is to convert the data you wish to POST to us via jsonp. Convert the object/array to a json string. Run your encrypt function on the json string. Send a GET
variable to the API call you are making with the parameter encrypted=YOUR_ENCRYPTED_JSON_STRING
. Our server will decrypt the string with our private key and then treat the json object as POST data.
Request
https://api.taxicode.com/auth/
Example Response
{ "status":"OK", "public_key":"-----BEGIN PUBLIC KEY-----\nMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA+RqNh\\\/5Zde9mRAGw2Yse\nbvIhvLI\\\/5YFsuTcRdVkaXNFBz15tFLSCNY6ZZ94QoxLUjpfnHzYB4PPVSrQ0DGBq\nqGSfAjQzteljurEZIVHq2EoOoEZFOoieegdYzO07gvxBbew5GtCiR5d3k+Kn6KyV\nEcwknQsDf2VSKZ0zI+oqCQly0ERWcJCIXvcHois9uCtF0CbF3z4\\\/frKoNQIUZuZo\nVmzTjW6UqvMYCFGH4hSGvJ\\\/SdO+3fSCggYQnjD89URe3plLswkllqDjlMl8FBlk2\nRmXoEfdrwekUHHvrMdcHFMtFV9Y355Ky8wbQCXvQT2LJKJr9Xe0L5vt\\\/F\\\/XKAKHF\nrOF5Eazt3ORsd2MNrKzmG6u56Ax+y7hVXZrOM9nST+eMsb+A5rV4Z1sQLmADfX4q\nwoLRwANneh7CRIiJ3NokSfxNIa0T6UskuGiO8qBbX4sMlV5NUIHupfnpwC3Z2YKj\ncuDOkt3ezGq\\\/tf2pNzi86tBMLVjU4pGhKKZidvNLnoLbYZNpyHUiFn7e74AIl7jx\nBS2na8NW2mMP3d2PlVc47tOaGdSW+o0gjnA1jpF3J4tybvi49mN4Muc5yvM75WHX\nLenT6MxeNPG58+VstOv7Lt5+aez6cCogqi4Wh8o5PpQWkUJyn1VhoeM7BxMkOs\\\/h\n+gBW+G\\\/9D0vRRfJdw7OfLLcCAwEAAQ==\n-----END PUBLIC KEY-----\n" }
<?xml version="1.0" encoding="UTF-8"?>
<TaxicodeResponse>
<status>OK</status> <public_key>-----BEGIN PUBLIC KEY----- MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA+RqNh\/5Zde9mRAGw2Yse bvIhvLI\/5YFsuTcRdVkaXNFBz15tFLSCNY6ZZ94QoxLUjpfnHzYB4PPVSrQ0DGBq qGSfAjQzteljurEZIVHq2EoOoEZFOoieegdYzO07gvxBbew5GtCiR5d3k+Kn6KyV EcwknQsDf2VSKZ0zI+oqCQly0ERWcJCIXvcHois9uCtF0CbF3z4\/frKoNQIUZuZo VmzTjW6UqvMYCFGH4hSGvJ\/SdO+3fSCggYQnjD89URe3plLswkllqDjlMl8FBlk2 RmXoEfdrwekUHHvrMdcHFMtFV9Y355Ky8wbQCXvQT2LJKJr9Xe0L5vt\/F\/XKAKHF rOF5Eazt3ORsd2MNrKzmG6u56Ax+y7hVXZrOM9nST+eMsb+A5rV4Z1sQLmADfX4q woLRwANneh7CRIiJ3NokSfxNIa0T6UskuGiO8qBbX4sMlV5NUIHupfnpwC3Z2YKj cuDOkt3ezGq\/tf2pNzi86tBMLVjU4pGhKKZidvNLnoLbYZNpyHUiFn7e74AIl7jx BS2na8NW2mMP3d2PlVc47tOaGdSW+o0gjnA1jpF3J4tybvi49mN4Muc5yvM75WHX LenT6MxeNPG58+VstOv7Lt5+aez6cCogqi4Wh8o5PpQWkUJyn1VhoeM7BxMkOs\/h +gBW+G\/9D0vRRfJdw7OfLLcCAwEAAQ== -----END PUBLIC KEY----- </public_key> </TaxicodeResponse>
Array ( [status] => OK [public_key] => -----BEGIN PUBLIC KEY----- MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA+RqNh\/5Zde9mRAGw2Yse bvIhvLI\/5YFsuTcRdVkaXNFBz15tFLSCNY6ZZ94QoxLUjpfnHzYB4PPVSrQ0DGBq qGSfAjQzteljurEZIVHq2EoOoEZFOoieegdYzO07gvxBbew5GtCiR5d3k+Kn6KyV EcwknQsDf2VSKZ0zI+oqCQly0ERWcJCIXvcHois9uCtF0CbF3z4\/frKoNQIUZuZo VmzTjW6UqvMYCFGH4hSGvJ\/SdO+3fSCggYQnjD89URe3plLswkllqDjlMl8FBlk2 RmXoEfdrwekUHHvrMdcHFMtFV9Y355Ky8wbQCXvQT2LJKJr9Xe0L5vt\/F\/XKAKHF rOF5Eazt3ORsd2MNrKzmG6u56Ax+y7hVXZrOM9nST+eMsb+A5rV4Z1sQLmADfX4q woLRwANneh7CRIiJ3NokSfxNIa0T6UskuGiO8qBbX4sMlV5NUIHupfnpwC3Z2YKj cuDOkt3ezGq\/tf2pNzi86tBMLVjU4pGhKKZidvNLnoLbYZNpyHUiFn7e74AIl7jx BS2na8NW2mMP3d2PlVc47tOaGdSW+o0gjnA1jpF3J4tybvi49mN4Muc5yvM75WHX LenT6MxeNPG58+VstOv7Lt5+aez6cCogqi4Wh8o5PpQWkUJyn1VhoeM7BxMkOs\/h +gBW+G\/9D0vRRfJdw7OfLLcCAwEAAQ== -----END PUBLIC KEY----- )
array(2) { ["status"]=> string(2) "OK" ["public_key"]=> string(809) "-----BEGIN PUBLIC KEY----- MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA+RqNh\/5Zde9mRAGw2Yse bvIhvLI\/5YFsuTcRdVkaXNFBz15tFLSCNY6ZZ94QoxLUjpfnHzYB4PPVSrQ0DGBq qGSfAjQzteljurEZIVHq2EoOoEZFOoieegdYzO07gvxBbew5GtCiR5d3k+Kn6KyV EcwknQsDf2VSKZ0zI+oqCQly0ERWcJCIXvcHois9uCtF0CbF3z4\/frKoNQIUZuZo VmzTjW6UqvMYCFGH4hSGvJ\/SdO+3fSCggYQnjD89URe3plLswkllqDjlMl8FBlk2 RmXoEfdrwekUHHvrMdcHFMtFV9Y355Ky8wbQCXvQT2LJKJr9Xe0L5vt\/F\/XKAKHF rOF5Eazt3ORsd2MNrKzmG6u56Ax+y7hVXZrOM9nST+eMsb+A5rV4Z1sQLmADfX4q woLRwANneh7CRIiJ3NokSfxNIa0T6UskuGiO8qBbX4sMlV5NUIHupfnpwC3Z2YKj cuDOkt3ezGq\/tf2pNzi86tBMLVjU4pGhKKZidvNLnoLbYZNpyHUiFn7e74AIl7jx BS2na8NW2mMP3d2PlVc47tOaGdSW+o0gjnA1jpF3J4tybvi49mN4Muc5yvM75WHX LenT6MxeNPG58+VstOv7Lt5+aez6cCogqi4Wh8o5PpQWkUJyn1VhoeM7BxMkOs\/h +gBW+G\/9D0vRRfJdw7OfLLcCAwEAAQ== -----END PUBLIC KEY----- " }
a:2:{s:6:"status";s:2:"OK";s:10:"public_key";s:809:"-----BEGIN PUBLIC KEY----- MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA+RqNh\/5Zde9mRAGw2Yse bvIhvLI\/5YFsuTcRdVkaXNFBz15tFLSCNY6ZZ94QoxLUjpfnHzYB4PPVSrQ0DGBq qGSfAjQzteljurEZIVHq2EoOoEZFOoieegdYzO07gvxBbew5GtCiR5d3k+Kn6KyV EcwknQsDf2VSKZ0zI+oqCQly0ERWcJCIXvcHois9uCtF0CbF3z4\/frKoNQIUZuZo VmzTjW6UqvMYCFGH4hSGvJ\/SdO+3fSCggYQnjD89URe3plLswkllqDjlMl8FBlk2 RmXoEfdrwekUHHvrMdcHFMtFV9Y355Ky8wbQCXvQT2LJKJr9Xe0L5vt\/F\/XKAKHF rOF5Eazt3ORsd2MNrKzmG6u56Ax+y7hVXZrOM9nST+eMsb+A5rV4Z1sQLmADfX4q woLRwANneh7CRIiJ3NokSfxNIa0T6UskuGiO8qBbX4sMlV5NUIHupfnpwC3Z2YKj cuDOkt3ezGq\/tf2pNzi86tBMLVjU4pGhKKZidvNLnoLbYZNpyHUiFn7e74AIl7jx BS2na8NW2mMP3d2PlVc47tOaGdSW+o0gjnA1jpF3J4tybvi49mN4Muc5yvM75WHX LenT6MxeNPG58+VstOv7Lt5+aez6cCogqi4Wh8o5PpQWkUJyn1VhoeM7BxMkOs\/h +gBW+G\/9D0vRRfJdw7OfLLcCAwEAAQ== -----END PUBLIC KEY----- ";}
Booking API
Booking Quote
Quote Request
https://api.taxicode.com/booking/quote/
Parameter | Type | Description | Values | Default |
---|---|---|---|---|
pickup |
GET/POST |
The pickup location. An address string that can be identified by Google Places API. Taxicode API also accepts the use of latitude and longitude as a value but should only be used as a fallback in the case the pickup address string fails to return results. Latitude and longitude need to be separated by a comma. | String | - |
vias optional |
GET/POST |
The vias location. An address string that can be identified by Google Places API. Taxicode API also accepts the use of latitude and longitude as a value but should only be used as a fallback in the case the vias address string fails to return results. Latitude and longitude need to be separated by a comma. | String | - |
destination |
GET/POST |
The destination location. An address string that can be identified by Google Places API. Taxicode API also accepts the use of latitude and longitude as a value but should only be used as a fallback in the case the destination address string fails to return results. Latitude and longitude need to be separated by a comma. | String | - |
date |
GET/POST |
The date and time of the journey as a UNIX timestamp. | UNIX Timestamp | - |
return optional |
GET/POST |
The date and time of the return journey as a UNIX timestamp. False if no return journey. If quote_type is set as hourly , return parameter should be omitted from the request. |
UNIX Timestamp | false |
people optional |
GET/POST |
The number of people the journey is being booked for. | Integer (1-30) | 1 |
key required |
GET/POST |
Your API key. This is used to apply any uplift you have attached to your API account. | String | - |
quote_type optional |
GET/POST |
The type of quote you are requesting. It can be either mileage or hourly . The default value is mileage . If you set it to hourly , you also have to set a value for the hours parameter in your request. |
String | mileage |
split optional |
GET/POST |
Should companies be split into multiple results for different vehicle types. Vehicle types are standard, executive and minibuses. | Boolean | false |
hours optional |
GET/POST |
The number of hours you want to book the service for. In order to get hourly rates, quote_type parameter needs to be set in your request as hourly .
|
Integer (1-24) | - |
other_rates optional |
GET/POST |
Other rates from other services to include as a comma separated list. Example: other_rates=blackcab,uber Currently we only support blackcab and uber , but we will look to add more in the future. They will only be returned if they apply. In the case of Uber and Black Cabs, this means they only apply for journeys that take place in London.
|
String | false |
company optional |
GET/POST |
This will limit results to only show results for a certain company ID. This will return a price for this company even if they wouldn't normally do this job so be careful when using this as jobs that aren't near the company specified are likely to be cancelled. To make sure one result is returned please also use split=0 . This specifies that we're not splitting the price into different vehicle types.
|
Integer | null |
instances optional |
GET/POST |
This will limit results to only show results for a certain instance IDs. This will return a price for this instance even if they wouldn't normally do this job so be careful when using this as jobs that aren't near the instance specified are likely to be cancelled. Results from the same company (that has multiple instances) will only show the best price for that company. Please be aware of the use of the split parameter.
|
String | Comma separated list of instances IDs to get a price from. |
ratings optional |
GET/POST |
Include company rating details with the quotes. Turn off to improve response time. | String | on |
Quote Response
Once you've made your request you will recieve back two objects:
A Journey object which confirms the details that were entered in the request.
A quotes object that contains quotes containing information about the company, price and different options availale. The quotes object is keyed with quote IDs which will be stored by our servers for 24-48 hours before being deleted. You will use this quote ID if you wish to book the quoted journey.
The Response | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
status |
OK |
Everything is okay. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
WARNING |
If quotes can be returned but they can't be booked. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ERROR |
If there was an error and no quotes returned. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
warning |
String | If status is WARNING this will contain the warning message. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
error |
String | If status is ERROR this will contain the error message. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
journey_id |
String | The ID of the journey. Can be used to look up journey after it's been booked (stored for 1 month after booking made). This is mainly used to with the booking/journey API function to refill a users form if you don't have it stored. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
payment_url |
String |
The URL to send the user to if you are not handling the payment yourself. This url needs the quote being booked appened to it followed by any other variable. Example:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
journey |
Object |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
quotes |
false |
No quotes found | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Object |
Object containing Quote IDs as the keys and Quote Objects as values.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
other_rates |
Array |
An array of Objects if other_rates is set, this will include the rates we were able to calculate with the rate type as the key and the details inside an object. Example rate:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
card |
Array |
An array of card objects that are supported for payment and what the card fee is if applicable. This is used to show customers what they will be paying if they select to pay by card. (Logged in users can pay by cash or balance if they have an account balance AND the booking doesn't have an affiliate uplift applied to it.)
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
numbers |
Array |
An array of taxi numbers for nearby taxi companies that aren't part of Taxicode.
|
Quote Example Response
{ "status":"OK", "card":[ { "code":"VISA", "name":"Visa Credit", "uplift":0 }, { "code":"..." } ], "journey":{ "pickup":{ "position":[ 51.4700223, -0.4542955 ], "postcode":"TW6 1BP", "string":"Heathrow Airport, London Borough of Hillingdon, United Kingdom" }, "vias":[ ], "destination":{ "position":[ 51.501737, -0.108588 ], "postcode":"SE1", "string":"Waterloo, London, United Kingdom" }, "date":1390827533, "return":false, "people":3, "hourly":false, "quote_type":"mileage", "distance":19, "duration":2931, "duration_text":"48 mins" }, "journey_id":"34965DF900982F2E48FE31A146E18710", "quotes":{ "QUOTE_8DA3D4C97E":{ "company_name":"Web3r", "company_id":1, "company_location":"Waterloo", "company_phone":"01234 567 890", "price":24.6, "meetandgreet":{ "location":"London Heathrow Airport", "price":7, "waiting_time":"60", "waiting_time_extra":"5" }, "rating":{ "ratings":7, "score":4.6 }, "vehicles":[ { "class":"standard", "count":1, "price":64, "meetandgreet_price":64, "name":"VW Sharan", "image":"https:\/\/0a253f0154a285c4c39d-737055c08ccf7a0c920fa07422559c6f.ssl.cf1.rackcdn.com\/garage_img_96_1478158873.png", "passengers":6, "big_luggage":2, "small_luggage":2, "type":{ "class":"standard", "type":"mpv" } }, { "class":"Vip", "count":1, "price":97, "meetandgreet_price":97, "waiting_time":15, "name":"BMW 7 Series VIP", "image":"https:\/\/0a253f0154a285c4c39d-737055c08ccf7a0c920fa07422559c6f.ssl.cf1.rackcdn.com\/garage_img_18_1478160158.png", "passengers":4, "big_luggage":3, "small_luggage":2, "type":{ "class":"vip", "type":"minicab" } } ] }, "QUOTE_93760FA8FD":"..." } }
<?xml version="1.0" encoding="UTF-8"?>
<TaxicodeResponse>
<status>OK</status> <card> <element value='0'> <code>VISA</code> <name>Visa Credit</name> <uplift>0</uplift> </element> <element value='1'> <code>...</code> </element> </card> <journey> <pickup> <position> <element value='0'>51.4700223</element> <element value='1'>-0.4542955</element> </position> <postcode>TW6 1BP</postcode> <string>Heathrow Airport, London Borough of Hillingdon, United Kingdom</string> </pickup> <vias> </vias> <destination> <position> <element value='0'>51.501737</element> <element value='1'>-0.108588</element> </position> <postcode>SE1</postcode> <string>Waterloo, London, United Kingdom</string> </destination> <date>1390827533</date> <return></return> <people>3</people> <hourly></hourly> <quote_type>mileage</quote_type> <distance>19</distance> <duration>2931</duration> <duration_text>48 mins</duration_text> </journey> <journey_id>34965DF900982F2E48FE31A146E18710</journey_id> <quotes> <QUOTE_8DA3D4C97E> <company_name>Web3r</company_name> <company_id>1</company_id> <company_location>Waterloo</company_location> <company_phone>01234 567 890</company_phone> <price>24.6</price> <meetandgreet> <location>London Heathrow Airport</location> <price>7</price> <waiting_time>60</waiting_time> <waiting_time_extra>5</waiting_time_extra> </meetandgreet> <rating> <ratings>7</ratings> <score>4.6</score> </rating> <vehicles> <element value='0'> <class>standard</class> <count>1</count> <price>64</price> <meetandgreet_price>64</meetandgreet_price> <name>VW Sharan</name> <image>https://0a253f0154a285c4c39d-737055c08ccf7a0c920fa07422559c6f.ssl.cf1.rackcdn.com/garage_img_96_1478158873.png</image> <passengers>6</passengers> <big_luggage>2</big_luggage> <small_luggage>2</small_luggage> <type> <class>standard</class> <type>mpv</type> </type> </element> <element value='1'> <class>Vip</class> <count>1</count> <price>97</price> <meetandgreet_price>97</meetandgreet_price> <waiting_time>15</waiting_time> <name>BMW 7 Series VIP</name> <image>https://0a253f0154a285c4c39d-737055c08ccf7a0c920fa07422559c6f.ssl.cf1.rackcdn.com/garage_img_18_1478160158.png</image> <passengers>4</passengers> <big_luggage>3</big_luggage> <small_luggage>2</small_luggage> <type> <class>vip</class> <type>minicab</type> </type> </element> </vehicles> </QUOTE_8DA3D4C97E> <QUOTE_93760FA8FD>...</QUOTE_93760FA8FD> </quotes> </TaxicodeResponse>
Array ( [status] => OK [card] => Array ( [0] => Array ( [code] => VISA [name] => Visa Credit [uplift] => 0 ) [1] => Array ( [code] => ... ) ) [journey] => Array ( [pickup] => Array ( [position] => Array ( [0] => 51.4700223 [1] => -0.4542955 ) [postcode] => TW6 1BP [string] => Heathrow Airport, London Borough of Hillingdon, United Kingdom ) [vias] => Array ( ) [destination] => Array ( [position] => Array ( [0] => 51.501737 [1] => -0.108588 ) [postcode] => SE1 [string] => Waterloo, London, United Kingdom ) [date] => 1390827533 [return] => [people] => 3 [hourly] => [quote_type] => mileage [distance] => 19 [duration] => 2931 [duration_text] => 48 mins ) [journey_id] => 34965DF900982F2E48FE31A146E18710 [quotes] => Array ( [QUOTE_8DA3D4C97E] => Array ( [company_name] => Web3r [company_id] => 1 [company_location] => Waterloo [company_phone] => 01234 567 890 [price] => 24.6 [meetandgreet] => Array ( [location] => London Heathrow Airport [price] => 7 [waiting_time] => 60 [waiting_time_extra] => 5 ) [rating] => Array ( [ratings] => 7 [score] => 4.6 ) [vehicles] => Array ( [0] => Array ( [class] => standard [count] => 1 [price] => 64 [meetandgreet_price] => 64 [name] => VW Sharan [image] => https://0a253f0154a285c4c39d-737055c08ccf7a0c920fa07422559c6f.ssl.cf1.rackcdn.com/garage_img_96_1478158873.png [passengers] => 6 [big_luggage] => 2 [small_luggage] => 2 [type] => Array ( [class] => standard [type] => mpv ) ) [1] => Array ( [class] => Vip [count] => 1 [price] => 97 [meetandgreet_price] => 97 [waiting_time] => 15 [name] => BMW 7 Series VIP [image] => https://0a253f0154a285c4c39d-737055c08ccf7a0c920fa07422559c6f.ssl.cf1.rackcdn.com/garage_img_18_1478160158.png [passengers] => 4 [big_luggage] => 3 [small_luggage] => 2 [type] => Array ( [class] => vip [type] => minicab ) ) ) ) [QUOTE_93760FA8FD] => ... ) )
array(5) { ["status"]=> string(2) "OK" ["card"]=> array(2) { [0]=> array(3) { ["code"]=> string(4) "VISA" ["name"]=> string(11) "Visa Credit" ["uplift"]=> int(0) } [1]=> array(1) { ["code"]=> string(3) "..." } } ["journey"]=> array(11) { ["pickup"]=> array(3) { ["position"]=> array(2) { [0]=> float(51.4700223) [1]=> float(-0.4542955) } ["postcode"]=> string(7) "TW6 1BP" ["string"]=> string(62) "Heathrow Airport, London Borough of Hillingdon, United Kingdom" } ["vias"]=> array(0) { } ["destination"]=> array(3) { ["position"]=> array(2) { [0]=> float(51.501737) [1]=> float(-0.108588) } ["postcode"]=> string(3) "SE1" ["string"]=> string(32) "Waterloo, London, United Kingdom" } ["date"]=> int(1390827533) ["return"]=> bool(false) ["people"]=> int(3) ["hourly"]=> bool(false) ["quote_type"]=> string(7) "mileage" ["distance"]=> int(19) ["duration"]=> int(2931) ["duration_text"]=> string(7) "48 mins" } ["journey_id"]=> string(32) "34965DF900982F2E48FE31A146E18710" ["quotes"]=> array(2) { ["QUOTE_8DA3D4C97E"]=> array(8) { ["company_name"]=> string(5) "Web3r" ["company_id"]=> int(1) ["company_location"]=> string(8) "Waterloo" ["company_phone"]=> string(13) "01234 567 890" ["price"]=> float(24.6) ["meetandgreet"]=> array(4) { ["location"]=> string(23) "London Heathrow Airport" ["price"]=> int(7) ["waiting_time"]=> string(2) "60" ["waiting_time_extra"]=> string(1) "5" } ["rating"]=> array(2) { ["ratings"]=> int(7) ["score"]=> float(4.6) } ["vehicles"]=> array(2) { [0]=> array(10) { ["class"]=> string(8) "standard" ["count"]=> int(1) ["price"]=> int(64) ["meetandgreet_price"]=> int(64) ["name"]=> string(9) "VW Sharan" ["image"]=> string(110) "https://0a253f0154a285c4c39d-737055c08ccf7a0c920fa07422559c6f.ssl.cf1.rackcdn.com/garage_img_96_1478158873.png" ["passengers"]=> int(6) ["big_luggage"]=> int(2) ["small_luggage"]=> int(2) ["type"]=> array(2) { ["class"]=> string(8) "standard" ["type"]=> string(3) "mpv" } } [1]=> array(11) { ["class"]=> string(3) "Vip" ["count"]=> int(1) ["price"]=> int(97) ["meetandgreet_price"]=> int(97) ["waiting_time"]=> int(15) ["name"]=> string(16) "BMW 7 Series VIP" ["image"]=> string(110) "https://0a253f0154a285c4c39d-737055c08ccf7a0c920fa07422559c6f.ssl.cf1.rackcdn.com/garage_img_18_1478160158.png" ["passengers"]=> int(4) ["big_luggage"]=> int(3) ["small_luggage"]=> int(2) ["type"]=> array(2) { ["class"]=> string(3) "vip" ["type"]=> string(7) "minicab" } } } } ["QUOTE_93760FA8FD"]=> string(3) "..." } }
a:5:{s:6:"status";s:2:"OK";s:4:"card";a:2:{i:0;a:3:{s:4:"code";s:4:"VISA";s:4:"name";s:11:"Visa Credit";s:6:"uplift";i:0;}i:1;a:1:{s:4:"code";s:3:"...";}}s:7:"journey";a:11:{s:6:"pickup";a:3:{s:8:"position";a:2:{i:0;d:51.470022299999997;i:1;d:-0.45429550000000002;}s:8:"postcode";s:7:"TW6 1BP";s:6:"string";s:62:"Heathrow Airport, London Borough of Hillingdon, United Kingdom";}s:4:"vias";a:0:{}s:11:"destination";a:3:{s:8:"position";a:2:{i:0;d:51.501736999999999;i:1;d:-0.108588;}s:8:"postcode";s:3:"SE1";s:6:"string";s:32:"Waterloo, London, United Kingdom";}s:4:"date";i:1390827533;s:6:"return";b:0;s:6:"people";i:3;s:6:"hourly";b:0;s:10:"quote_type";s:7:"mileage";s:8:"distance";i:19;s:8:"duration";i:2931;s:13:"duration_text";s:7:"48 mins";}s:10:"journey_id";s:32:"34965DF900982F2E48FE31A146E18710";s:6:"quotes";a:2:{s:16:"QUOTE_8DA3D4C97E";a:8:{s:12:"company_name";s:5:"Web3r";s:10:"company_id";i:1;s:16:"company_location";s:8:"Waterloo";s:13:"company_phone";s:13:"01234 567 890";s:5:"price";d:24.600000000000001;s:12:"meetandgreet";a:4:{s:8:"location";s:23:"London Heathrow Airport";s:5:"price";i:7;s:12:"waiting_time";s:2:"60";s:18:"waiting_time_extra";s:1:"5";}s:6:"rating";a:2:{s:7:"ratings";i:7;s:5:"score";d:4.5999999999999996;}s:8:"vehicles";a:2:{i:0;a:10:{s:5:"class";s:8:"standard";s:5:"count";i:1;s:5:"price";i:64;s:18:"meetandgreet_price";i:64;s:4:"name";s:9:"VW Sharan";s:5:"image";s:110:"https://0a253f0154a285c4c39d-737055c08ccf7a0c920fa07422559c6f.ssl.cf1.rackcdn.com/garage_img_96_1478158873.png";s:10:"passengers";i:6;s:11:"big_luggage";i:2;s:13:"small_luggage";i:2;s:4:"type";a:2:{s:5:"class";s:8:"standard";s:4:"type";s:3:"mpv";}}i:1;a:11:{s:5:"class";s:3:"Vip";s:5:"count";i:1;s:5:"price";i:97;s:18:"meetandgreet_price";i:97;s:12:"waiting_time";i:15;s:4:"name";s:16:"BMW 7 Series VIP";s:5:"image";s:110:"https://0a253f0154a285c4c39d-737055c08ccf7a0c920fa07422559c6f.ssl.cf1.rackcdn.com/garage_img_18_1478160158.png";s:10:"passengers";i:4;s:11:"big_luggage";i:3;s:13:"small_luggage";i:2;s:4:"type";a:2:{s:5:"class";s:3:"vip";s:4:"type";s:7:"minicab";}}}}s:16:"QUOTE_93760FA8FD";s:3:"...";}}
Booking Voucher Validation
Validation Request
https://api.taxicode.com/booking/validate_voucher/
Parameter | Type | Description | Values | Default |
---|---|---|---|---|
quote |
GET / POST |
The quote ID the voucher will be used with. | String | - |
vehicle optional |
GET / POST |
The index of the selected vehicle as provided in the vehicles array response by the quotes request. N.B. Not the ID of the vehicle, but the index of the vehicle in the array response.
|
Integer | 0 |
customer_email |
GET / POST |
The customer using the voucher code. | String | - |
voucher |
GET / POST |
The voucher code to validate. | String | - |
Validation Response
The Response | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
voucher |
Object |
Will be FALSE if the voucher code is invalid.
|
|||||||||||||||
message |
String | If voucher is FALSE this will contain the validation failure reason message. |
Valid Voucher Response
{ "voucher":{ "code":"SORRY2", "value":2, "type":"NORMAL", "message":"£2 off" } }
<?xml version="1.0" encoding="UTF-8"?>
<TaxicodeResponse>
<voucher> <code>SORRY2</code> <value>2</value> <type>NORMAL</type> <message>£2 off</message> </voucher> </TaxicodeResponse>
Array ( [voucher] => Array ( [code] => SORRY2 [value] => 2 [type] => NORMAL [message] => £2 off ) )
array(1) { ["voucher"]=> array(4) { ["code"]=> string(6) "SORRY2" ["value"]=> int(2) ["type"]=> string(6) "NORMAL" ["message"]=> string(12) "£2 off" } }
a:1:{s:7:"voucher";a:4:{s:4:"code";s:6:"SORRY2";s:5:"value";i:2;s:4:"type";s:6:"NORMAL";s:7:"message";s:12:"£2 off";}}
Invalid Voucher Response
{ "voucher":false, "message":"Voucher code does not exist." }
<?xml version="1.0" encoding="UTF-8"?>
<TaxicodeResponse>
<voucher></voucher> <message>Voucher code does not exist.</message> </TaxicodeResponse>
Array ( [voucher] => [message] => Voucher code does not exist. )
array(2) { ["voucher"]=> bool(false) ["message"]=> string(28) "Voucher code does not exist." }
a:2:{s:7:"voucher";b:0;s:7:"message";s:28:"Voucher code does not exist.";}
Create Booking Quote Checkout Session
secure/checkout_session/create
will generate a checkout session for the specified quote.Validation Request
https://api.taxicode.com/secure/checkout_session/create/{QUOTE}
{QUOTE}
should be replaced by the quote ID being booked in the checkout process.
Parameter | Type | Description | Values | Default |
---|---|---|---|---|
key required |
GET/POST |
Your API key so we can charge any affiliate uplift and attribute the booking to you. | String | - |
refererType optional |
GET/POST |
The API referer type. | String | main |
callback required |
GET |
A quote callback URL to link back to edit booking details. | String | - |
source_domain_hostname optional |
GET |
The domain hostname making the request to create a new quote booking checkout session. | String | - |
vehicle optional |
GET |
The index of the selected vehicle as provided in the vehicles array response by the quotes request. N.B. Not the ID of the vehicle, but the index of the vehicle in the array response.
|
Integer | 0 |
auth_token optional |
POST |
The logged in booking user auth token. | String | - |
test optional |
POST |
Whether this is a test booking or not. test=1 means the booking will not be sent to the actual company and will be stored on a special testing company once it's been paid for. test=0 or not setting it processes the booking as a live booking that goes to a taxi company. When setting test=1 the payment uses SagePay's and Stripe's testing servers so you should enter any test card details for SagePay or Stripe. |
1 or 0 |
0 |
Booking Quote Checkout Session Response
The Response | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
status |
OK |
Booking quote checkout session was successfully created. | ||||||||||||||||||
ERROR |
Something went wrong creating the booking quote checkout session. An error message will be provided. | |||||||||||||||||||
session |
Object |
|
||||||||||||||||||
message |
String | If status is ERROR this will contain the error message. |
Booking Quote Checkout Session Created Response
{ "status":"OK", "session":{ "state_hash":"v2_5e84d65a8b4045.42888441", "gateway_public_key":"pk_HY77889yhi9HH88H95e84d65a8b4045", "device_wallet_payment_enabled":true, "booking_ref":"TCC9ACCA213C1", "api_checkout_url":"https:\/\/{SECURE_HOST}\/\/api\/checkout_session\/v2_5e84d65a8b4045.42888441" } }
<?xml version="1.0" encoding="UTF-8"?>
<TaxicodeResponse>
<status>OK</status> <session> <state_hash>v2_5e84d65a8b4045.42888441</state_hash> <gateway_public_key>pk_HY77889yhi9HH88H95e84d65a8b4045</gateway_public_key> <device_wallet_payment_enabled>1</device_wallet_payment_enabled> <booking_ref>TCC9ACCA213C1</booking_ref> <api_checkout_url>https://{SECURE_HOST}//api/checkout_session/v2_5e84d65a8b4045.42888441</api_checkout_url> </session> </TaxicodeResponse>
Array ( [status] => OK [session] => Array ( [state_hash] => v2_5e84d65a8b4045.42888441 [gateway_public_key] => pk_HY77889yhi9HH88H95e84d65a8b4045 [device_wallet_payment_enabled] => 1 [booking_ref] => TCC9ACCA213C1 [api_checkout_url] => https://{SECURE_HOST}//api/checkout_session/v2_5e84d65a8b4045.42888441 ) )
array(2) { ["status"]=> string(2) "OK" ["session"]=> array(5) { ["state_hash"]=> string(26) "v2_5e84d65a8b4045.42888441" ["gateway_public_key"]=> string(34) "pk_HY77889yhi9HH88H95e84d65a8b4045" ["device_wallet_payment_enabled"]=> bool(true) ["booking_ref"]=> string(13) "TCC9ACCA213C1" ["api_checkout_url"]=> string(70) "https://{SECURE_HOST}//api/checkout_session/v2_5e84d65a8b4045.42888441" } }
a:2:{s:6:"status";s:2:"OK";s:7:"session";a:5:{s:10:"state_hash";s:26:"v2_5e84d65a8b4045.42888441";s:18:"gateway_public_key";s:34:"pk_HY77889yhi9HH88H95e84d65a8b4045";s:29:"device_wallet_payment_enabled";b:1;s:11:"booking_ref";s:13:"TCC9ACCA213C1";s:16:"api_checkout_url";s:70:"https://{SECURE_HOST}//api/checkout_session/v2_5e84d65a8b4045.42888441";}}
Booking Quote Checkout Session Creation Error Response
{ "status":"ERROR", "message":"Specific Error Message" }
<?xml version="1.0" encoding="UTF-8"?>
<TaxicodeResponse>
<status>ERROR</status> <message>Specific Error Message</message> </TaxicodeResponse>
Array ( [status] => ERROR [message] => Specific Error Message )
array(2) { ["status"]=> string(5) "ERROR" ["message"]=> string(22) "Specific Error Message" }
a:2:{s:6:"status";s:5:"ERROR";s:7:"message";s:22:"Specific Error Message";}
Booking Payment Intent Client Gateway Secret
Payment Intent Client Gateway Secret Request
https://api.taxicode.com/booking/client_gateway_secret/
Parameter | Type | Description | Values | Default |
---|---|---|---|---|
key required |
GET/POST |
Your API key so we can apply any affiliate uplift you may have. | String | - |
handler required |
POST |
The intended payment method handler name. | Stringjstoken_stripe |
- |
quote required |
GET / POST |
The quote ID of the journey being booked. | String | - |
vehicle optional |
GET / POST |
The index of the selected vehicle as provided in the vehicles array response by the quotes request. N.B. Not the ID of the vehicle, but the index of the vehicle in the array response.
|
Integer | 0 |
region optional e.g europe |
GET / POST |
Client region to use for the payment intent transaction. Use europe for European clients.
|
String | '' |
eur_conversion_rate required if region = europe |
GET / POST |
The conversion rate to use for the payment intent transaction for european region. example 1.19 .
|
Integer | - |
Payment Intent Client Gateway Secret Response
The Response | ||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
status |
OK |
The payment intent was successfully created. | ||||||||||||||||||||||||
ERROR |
Something went wrong creating the booking payment intent. An error message will be provided. | |||||||||||||||||||||||||
response |
Object |
|
||||||||||||||||||||||||
message |
String | If status is ERROR this will contain the error message. |
Payment Intent Client Gateway Secret Created Response
{ "status":"OK", "response":{ "intent":{ "status":"requires_source", "client_secret":"pi_1IEVXkJvCXWdJrbxZ7jgAh0p_secret_ADNMppTKOhzih6usXKcKfSBlv", "gateway":"stripe", "vendor":"taxicode" }, "amount":26.5 } }
<?xml version="1.0" encoding="UTF-8"?>
<TaxicodeResponse>
<status>OK</status> <response> <intent> <status>requires_source</status> <client_secret>pi_1IEVXkJvCXWdJrbxZ7jgAh0p_secret_ADNMppTKOhzih6usXKcKfSBlv</client_secret> <gateway>stripe</gateway> <vendor>taxicode</vendor> </intent> <amount>26.5</amount> </response> </TaxicodeResponse>
Array ( [status] => OK [response] => Array ( [intent] => Array ( [status] => requires_source [client_secret] => pi_1IEVXkJvCXWdJrbxZ7jgAh0p_secret_ADNMppTKOhzih6usXKcKfSBlv [gateway] => stripe [vendor] => taxicode ) [amount] => 26.5 ) )
array(2) { ["status"]=> string(2) "OK" ["response"]=> array(2) { ["intent"]=> array(4) { ["status"]=> string(15) "requires_source" ["client_secret"]=> string(60) "pi_1IEVXkJvCXWdJrbxZ7jgAh0p_secret_ADNMppTKOhzih6usXKcKfSBlv" ["gateway"]=> string(6) "stripe" ["vendor"]=> string(8) "taxicode" } ["amount"]=> float(26.5) } }
a:2:{s:6:"status";s:2:"OK";s:8:"response";a:2:{s:6:"intent";a:4:{s:6:"status";s:15:"requires_source";s:13:"client_secret";s:60:"pi_1IEVXkJvCXWdJrbxZ7jgAh0p_secret_ADNMppTKOhzih6usXKcKfSBlv";s:7:"gateway";s:6:"stripe";s:6:"vendor";s:8:"taxicode";}s:6:"amount";d:26.5;}}
Payment Intent Client Gateway Secret Error Response
{ "status":"ERROR", "message":"Specific Error Message" }
<?xml version="1.0" encoding="UTF-8"?>
<TaxicodeResponse>
<status>ERROR</status> <message>Specific Error Message</message> </TaxicodeResponse>
Array ( [status] => ERROR [message] => Specific Error Message )
array(2) { ["status"]=> string(5) "ERROR" ["message"]=> string(22) "Specific Error Message" }
a:2:{s:6:"status";s:5:"ERROR";s:7:"message";s:22:"Specific Error Message";}
Booking Pay
Pay Request
https://api.taxicode.com/booking/pay/
Parameter | Type | Description | Values | Default |
---|---|---|---|---|
quote |
POST |
The Quote ID that was provided by the Booking Quote Request. | String | - |
vehicle optional |
POST |
The index of the selected vehicle as provided in the vehicles array response by the quotes request. N.B. Not the ID of the vehicle, but the index of the vehicle in the array response.
|
Integer | 0 |
flight_number optional |
POST |
If the pickup is from an airport a flight number can be added to the booking details. | String | - |
business_name optional |
POST |
Business name (for business bookings). | String | - |
voucher_code optional |
POST |
Discount voucher code to be applied to the payment price. | String | - |
business_ref optional |
POST |
Optional business reference to associate with the booking. |
Stringmax length 32 characters
|
- |
notes optional |
POST |
Any additional booking notes. | String | - |
method optional |
POST |
The payment option selected. Possible payment options sent through quote response as array. Please note that all quotes can be paid for by card, some quotes can be made as a cash booking if a user is authenticated, other payment options may be made available in the future. |
authorised_payment_handler ,card ,googlepay ,applepay or cash |
card |
key required |
POST |
Your API key so we can charge any affiliate uplift and attribute the booking to you. | String | - |
test optional |
GET/POST |
Whether this is a test booking or not. test=1 means the booking will not be sent to the actual company and will be stored on a special testing company once it's been paid for. test=0 or not setting it processes the booking as a live booking that goes to a taxi company. When setting test=1 the payment uses SagePay's and Stripe's testing servers so you should enter any test card details for SagePay or Stripe. |
1 or 0 |
0 |
Customer Details - Required if user is not currently logged in. | ||||
name |
POST |
The name of the customer. | String | - |
email |
POST |
The email address of the customer for notifications about the booking progress. | String | - |
telephone |
POST |
Customers telephone number. Used to allow taxi company to contact customer if needed and notify them when they are nearby. | String | - |
Card Payment Details - Following all required if 'card' (or no) payment option selected. | ||||
card_cardholder |
POST |
The card holders name. Must be the same as the | String | - |
card_type |
POST |
The card type. |
VISA (Visa Credit),DELTA (Visa Debit),UKE (Visa Electron),MC (MasterCard),MAESTRO (Maestro) orAMEX (American Express)
|
- |
card_number |
POST |
The number printed on the front of the card. | - | |
card_start optional |
POST |
The start date of the card.Only for Maestro cards
|
Month year as: MMYY |
- |
card_expiry |
POST |
The expiry date of the card.. | Month year as: MMYY |
- |
issue_number optional |
POST |
The issue number of the card. Only for Maestro cards. | Integer | - |
card_cv2 |
POST |
The last 3 digits on the back of the signature strip on the card. | String | - |
card_address1 |
POST |
The first line of the billing address. | String | - |
card_address2 optional |
POST |
The second line of the billing address. | String | - |
city |
POST |
The town or city of the billing address. | String | - |
postcode |
POST |
The postcode or zipcode of the billing address. | String | - |
country optional |
POST |
The 2 letter ISO 3166-1 country code of the billing address. | String | GB |
state optional |
POST |
The 2 letter state code for each as defined by ISO 3166-2:US. Only needed is country is US. | String | - |
Card Payment Details - Following all required if 'googlepay' or 'applepay' payment option selected. | ||||
payment_token |
POST |
The tokenized details for the card transaction | String | - |
card_address1 |
POST |
The first line of the billing address. | String | - |
card_address2 optional |
POST |
The second line of the billing address. | String | - |
city |
POST |
The town or city of the billing address. | String | - |
postcode |
POST |
The postcode or zipcode of the billing address. | String | - |
country optional |
POST |
The 2 letter ISO 3166-1 country code of the billing address. | String | GB |
state optional |
POST |
The 2 letter state code for each as defined by ISO 3166-2:US. Only needed is country is US. | String | - |
Pay Response
The Response | ||
---|---|---|
status |
OK |
Booking was successfully created. |
3DAUTH |
Status indicates that payment requires 3D authentication. A url is provided to redirect the customer to a 3D secure authentication environment. |
|
ERROR |
The payment could not be taken. An error message will be provided. | |
FAILED |
The payment could not be taken. An error message will be provided. | |
error |
String | If status is ERROR or FAILED this will contain an error message. |
reference |
String | If status is OK this will contain the booking reference. This means the bookings has been made. |
url |
String | If status is 3DAUTH this will contain a redirect URL to forward the customer. |
Pay Example Response
{ "status":"OK", "reference":"TC22E97643" }
<?xml version="1.0" encoding="UTF-8"?>
<TaxicodeResponse>
<status>OK</status> <reference>TC22E97643</reference> </TaxicodeResponse>
Array ( [status] => OK [reference] => TC22E97643 )
array(2) { ["status"]=> string(2) "OK" ["reference"]=> string(10) "TC22E97643" }
a:2:{s:6:"status";s:2:"OK";s:9:"reference";s:10:"TC22E97643";}
Leave Customer Tip
Leave Customer Tip Request
https://api.taxicode.com/booking/leave_customer_tip/
Parameter | Type | Description | Values | Default |
---|---|---|---|---|
booking |
POST |
The booking reference (Example: TC12312312) of a booking. | String | - |
tip_amount |
POST |
The The monetary amount to leave as the tip. | Float | - |
Leave Customer Tip Response
The Response | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
status |
OK |
Everything is okay. | ||||||||||||||||||
ERROR |
If there was an error and no quotes returned. | |||||||||||||||||||
error |
String | If status is ERROR this will contain the error message. |
||||||||||||||||||
booking |
Object |
The tip charge details for the booking.
|
{ "status":"OK", "booking":{ "ref":"TC12312312", "amount":1, "transaction":"ch_xui9...", "status":"PAID", "added_on":"00:32 08-12-2024" } }
<?xml version="1.0" encoding="UTF-8"?>
<TaxicodeResponse>
<status>OK</status> <booking> <ref>TC12312312</ref> <amount>1</amount> <transaction>ch_xui9...</transaction> <status>PAID</status> <added_on>00:32 08-12-2024</added_on> </booking> </TaxicodeResponse>
Array ( [status] => OK [booking] => Array ( [ref] => TC12312312 [amount] => 1 [transaction] => ch_xui9... [status] => PAID [added_on] => 00:32 08-12-2024 ) )
array(2) { ["status"]=> string(2) "OK" ["booking"]=> array(5) { ["ref"]=> string(10) "TC12312312" ["amount"]=> float(1) ["transaction"]=> string(10) "ch_xui9..." ["status"]=> string(4) "PAID" ["added_on"]=> string(16) "00:32 08-12-2024" } }
a:2:{s:6:"status";s:2:"OK";s:7:"booking";a:5:{s:3:"ref";s:10:"TC12312312";s:6:"amount";d:1;s:11:"transaction";s:10:"ch_xui9...";s:6:"status";s:4:"PAID";s:8:"added_on";s:16:"00:32 08-12-2024";}}
Booking Journey
Journey Request
https://api.taxicode.com/booking/journey/
Parameter | Type | Description | Values | Default |
---|---|---|---|---|
id |
POST |
The ID of the journey as provided by booking/quote . |
String | - |
Journey Response
The Response | |||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
status |
OK |
Everything is okay. | |||||||||||||||||||||||||||||||||||||||||||||||||||
ERROR |
If there was an error and no quotes returned. | ||||||||||||||||||||||||||||||||||||||||||||||||||||
error |
String | If status is ERROR this will contain the error message. |
|||||||||||||||||||||||||||||||||||||||||||||||||||
journey |
Object |
|
{ "status":"OK", "journey":{ "quote_type":"mileage", "pickup":"York", "via":false, "vias":[ ], "destination":"York Station", "date":"31\/12\/2024", "return":false, "hour":"22", "mins":"30", "time":"22:30:00", "return_hour":false, "return_mins":false, "return_time":false, "passengers":3, "hourly":false, "asap":false } }
<?xml version="1.0" encoding="UTF-8"?>
<TaxicodeResponse>
<status>OK</status> <journey> <quote_type>mileage</quote_type> <pickup>York</pickup> <via></via> <vias> </vias> <destination>York Station</destination> <date>31/12/2024</date> <return></return> <hour>22</hour> <mins>30</mins> <time>22:30:00</time> <return_hour></return_hour> <return_mins></return_mins> <return_time></return_time> <passengers>3</passengers> <hourly></hourly> <asap></asap> </journey> </TaxicodeResponse>
Array ( [status] => OK [journey] => Array ( [quote_type] => mileage [pickup] => York [via] => [vias] => Array ( ) [destination] => York Station [date] => 31/12/2024 [return] => [hour] => 22 [mins] => 30 [time] => 22:30:00 [return_hour] => [return_mins] => [return_time] => [passengers] => 3 [hourly] => [asap] => ) )
array(2) { ["status"]=> string(2) "OK" ["journey"]=> array(16) { ["quote_type"]=> string(7) "mileage" ["pickup"]=> string(4) "York" ["via"]=> bool(false) ["vias"]=> array(0) { } ["destination"]=> string(12) "York Station" ["date"]=> string(10) "31/12/2024" ["return"]=> bool(false) ["hour"]=> string(2) "22" ["mins"]=> string(2) "30" ["time"]=> string(8) "22:30:00" ["return_hour"]=> bool(false) ["return_mins"]=> bool(false) ["return_time"]=> bool(false) ["passengers"]=> int(3) ["hourly"]=> bool(false) ["asap"]=> bool(false) } }
a:2:{s:6:"status";s:2:"OK";s:7:"journey";a:16:{s:10:"quote_type";s:7:"mileage";s:6:"pickup";s:4:"York";s:3:"via";b:0;s:4:"vias";a:0:{}s:11:"destination";s:12:"York Station";s:4:"date";s:10:"31/12/2024";s:6:"return";b:0;s:4:"hour";s:2:"22";s:4:"mins";s:2:"30";s:4:"time";s:8:"22:30:00";s:11:"return_hour";b:0;s:11:"return_mins";b:0;s:11:"return_time";b:0;s:10:"passengers";i:3;s:6:"hourly";b:0;s:4:"asap";b:0;}}
Booking State
booking/details
which is part of the affiliate API.State Request
https://api.taxicode.com/booking/state/
Parameter | Type | Description | Values | Default |
---|---|---|---|---|
booking |
GET / POST |
The booking reference (Example: TC12312312) of a booking. | String | - |
A comma separated list of booking references. | String | - |
State Response
The Response | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
status |
OK |
Everything is okay. | ||||||||||||
ERROR |
If there was an error and no quotes returned. | |||||||||||||
error |
String | If status is ERROR this will contain the error message. |
||||||||||||
bookings |
Object |
List of bookings statues with booking reference as key and booking object as value.
|
{ "status":"OK", "bookings":{ "TC12312312":{ "status":"Unconfirmed", "company_name":"ABC Taxis", "company_telephone":"01234 567890" }, "...":"..." } }
<?xml version="1.0" encoding="UTF-8"?>
<TaxicodeResponse>
<status>OK</status> <bookings> <TC12312312> <status>Unconfirmed</status> <company_name>ABC Taxis</company_name> <company_telephone>01234 567890</company_telephone> </TC12312312> <...>...</...> </bookings> </TaxicodeResponse>
Array ( [status] => OK [bookings] => Array ( [TC12312312] => Array ( [status] => Unconfirmed [company_name] => ABC Taxis [company_telephone] => 01234 567890 ) [...] => ... ) )
array(2) { ["status"]=> string(2) "OK" ["bookings"]=> array(2) { ["TC12312312"]=> array(3) { ["status"]=> string(11) "Unconfirmed" ["company_name"]=> string(9) "ABC Taxis" ["company_telephone"]=> string(12) "01234 567890" } ["..."]=> string(3) "..." } }
a:2:{s:6:"status";s:2:"OK";s:8:"bookings";a:2:{s:10:"TC12312312";a:3:{s:6:"status";s:11:"Unconfirmed";s:12:"company_name";s:9:"ABC Taxis";s:17:"company_telephone";s:12:"01234 567890";}s:3:"...";s:3:"...";}}
Booking Resend
Resend Request
https://api.taxicode.com/booking/resend/
Parameter | Type | Description | Values | Default |
---|---|---|---|---|
booking |
POST |
The booking reference (Example: TC12312312) of a booking. | String | - |
Resend Response
The Response | ||
---|---|---|
status |
OK |
Everything is okay and the resend request was successful. |
ERROR |
If there was an error and no quotes returned. | |
error |
String | If status is ERROR this will contain the error message. |
{ "status":"OK" }
<?xml version="1.0" encoding="UTF-8"?>
<TaxicodeResponse>
<status>OK</status> </TaxicodeResponse>
Array ( [status] => OK )
array(1) { ["status"]=> string(2) "OK" }
a:1:{s:6:"status";s:2:"OK";}
Booking Cancel
Resend Request
https://api.taxicode.com/booking/cancel/
Parameter | Type | Description | Values | Default |
---|---|---|---|---|
booking |
GET/POST |
The booking reference (Example: TC12312312) of a booking. | String | - |
key |
GET/POST |
Your API key. Must be the API key the booking was made with. | String | - |
secret |
GET/POST |
Your secret API key. Must match the API key the booking was made with. Warning This must be sent by your server, not by a client side API request for example through an APP or via javascript on a webpage. If this is how your application works please make your application make this request to your server where you can then add the secret key to the request to our API so your secret key is not exposed. |
String | - |
Resend Response
The Response | ||
---|---|---|
status |
OK |
Everything is okay and the resend request was successful. |
ERROR |
If there was an error and no quotes returned. | |
error |
String | If status is ERROR this will contain the error message. |
{ "status":"OK" }
<?xml version="1.0" encoding="UTF-8"?>
<TaxicodeResponse>
<status>OK</status> </TaxicodeResponse>
Array ( [status] => OK )
array(1) { ["status"]=> string(2) "OK" }
a:1:{s:6:"status";s:2:"OK";}
FAQ API
Categories
FAQ Categories Request
https://api.taxicode.com/faq/categories/
FAQ Categories Response
The Response | ||
---|---|---|
status |
OK |
Everything is okay. |
ERROR |
If there was an error and no categories returned. | |
error |
String | If status is ERROR this will contain the error message. |
categories |
Array | A list of available FAQ/hint categories. |
{ "status":"OK", "categories":[ "Booking Online", "Pricing", "Airport Transfers", "About Us", "hints::app" ] }
<?xml version="1.0" encoding="UTF-8"?>
<TaxicodeResponse>
<status>OK</status> <categories> <element value='0'>Booking Online</element> <element value='1'>Pricing</element> <element value='2'>Airport Transfers</element> <element value='3'>About Us</element> <element value='4'>hints::app</element> </categories> </TaxicodeResponse>
Array ( [status] => OK [categories] => Array ( [0] => Booking Online [1] => Pricing [2] => Airport Transfers [3] => About Us [4] => hints::app ) )
array(2) { ["status"]=> string(2) "OK" ["categories"]=> array(5) { [0]=> string(14) "Booking Online" [1]=> string(7) "Pricing" [2]=> string(17) "Airport Transfers" [3]=> string(8) "About Us" [4]=> string(10) "hints::app" } }
a:2:{s:6:"status";s:2:"OK";s:10:"categories";a:5:{i:0;s:14:"Booking Online";i:1;s:7:"Pricing";i:2;s:17:"Airport Transfers";i:3;s:8:"About Us";i:4;s:10:"hints::app";}}
Category
FAQ Category Request
https://api.taxicode.com/faq/category/{CATEGORY}
{CATEGORY}
should be replaced by the FAQ category being requested.
FAQ Category Response
The Response | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
status |
OK |
Everything is okay. | |||||||||
ERROR |
If there was an error and no quotes returned. | ||||||||||
error |
String | If status is ERROR this will contain the error message. |
|||||||||
faqs |
Object |
List FAQ question and answers.
|
{ "status":"OK", "faqs":[ { "question":"Are there any time restrictions?", "answer":"No, we operate 365 days a year, 7 days a week, 24 hours a day." }, { "question":"Do you provide a receipt?", "answer":"We will email you a receipt with a booking reference and contact number by email." } ] }
<?xml version="1.0" encoding="UTF-8"?>
<TaxicodeResponse>
<status>OK</status> <faqs> <element value='0'> <question>Are there any time restrictions?</question> <answer>No, we operate 365 days a year, 7 days a week, 24 hours a day.</answer> </element> <element value='1'> <question>Do you provide a receipt?</question> <answer>We will email you a receipt with a booking reference and contact number by email.</answer> </element> </faqs> </TaxicodeResponse>
Array ( [status] => OK [faqs] => Array ( [0] => Array ( [question] => Are there any time restrictions? [answer] => No, we operate 365 days a year, 7 days a week, 24 hours a day. ) [1] => Array ( [question] => Do you provide a receipt? [answer] => We will email you a receipt with a booking reference and contact number by email. ) ) )
array(2) { ["status"]=> string(2) "OK" ["faqs"]=> array(2) { [0]=> array(2) { ["question"]=> string(32) "Are there any time restrictions?" ["answer"]=> string(62) "No, we operate 365 days a year, 7 days a week, 24 hours a day." } [1]=> array(2) { ["question"]=> string(25) "Do you provide a receipt?" ["answer"]=> string(81) "We will email you a receipt with a booking reference and contact number by email." } } }
a:2:{s:6:"status";s:2:"OK";s:4:"faqs";a:2:{i:0;a:2:{s:8:"question";s:32:"Are there any time restrictions?";s:6:"answer";s:62:"No, we operate 365 days a year, 7 days a week, 24 hours a day.";}i:1;a:2:{s:8:"question";s:25:"Do you provide a receipt?";s:6:"answer";s:81:"We will email you a receipt with a booking reference and contact number by email.";}}}
Hints and Tips
Hints and Tips Request
https://api.taxicode.com/faq/hints/
Hints and Tips Response
The Response | ||
---|---|---|
status |
OK |
Everything is okay. |
ERROR |
If there was an error and no categories returned. | |
error |
String | If status is ERROR this will contain the error message. |
hints |
Array | A list of available hints. |
{ "status":"OK", "hints":[ "Taxicode is a pre-booked fixed-price service", "We search your local minicab companies to find you the best fare", "Our medium to long-distance fares are typically lower that you will find elsewhere", "You can pay by a card or by using Apple Pay or Google Wallet", "You don't need to create an account to book with us" ] }
<?xml version="1.0" encoding="UTF-8"?>
<TaxicodeResponse>
<status>OK</status> <hints> <element value='0'>Taxicode is a pre-booked fixed-price service</element> <element value='1'>We search your local minicab companies to find you the best fare</element> <element value='2'>Our medium to long-distance fares are typically lower that you will find elsewhere</element> <element value='3'>You can pay by a card or by using Apple Pay or Google Wallet</element> <element value='4'>You don't need to create an account to book with us</element> </hints> </TaxicodeResponse>
Array ( [status] => OK [hints] => Array ( [0] => Taxicode is a pre-booked fixed-price service [1] => We search your local minicab companies to find you the best fare [2] => Our medium to long-distance fares are typically lower that you will find elsewhere [3] => You can pay by a card or by using Apple Pay or Google Wallet [4] => You don't need to create an account to book with us ) )
array(2) { ["status"]=> string(2) "OK" ["hints"]=> array(5) { [0]=> string(44) "Taxicode is a pre-booked fixed-price service" [1]=> string(64) "We search your local minicab companies to find you the best fare" [2]=> string(82) "Our medium to long-distance fares are typically lower that you will find elsewhere" [3]=> string(60) "You can pay by a card or by using Apple Pay or Google Wallet" [4]=> string(51) "You don't need to create an account to book with us" } }
a:2:{s:6:"status";s:2:"OK";s:5:"hints";a:5:{i:0;s:44:"Taxicode is a pre-booked fixed-price service";i:1;s:64:"We search your local minicab companies to find you the best fare";i:2;s:82:"Our medium to long-distance fares are typically lower that you will find elsewhere";i:3;s:60:"You can pay by a card or by using Apple Pay or Google Wallet";i:4;s:51:"You don't need to create an account to book with us";}}
Affiliate API
Affiliate Details
Affiliate Details Request
https://api.taxicode.com/affiliate/
Parameter | Type | Description | Values | Default |
---|---|---|---|---|
key |
POST/GET |
Your API Key. | String | - |
secret |
POST/GET |
Your secret key. | String | - |
Affiliate Details Response
Once you've made your request you will recieve back to objects:
The Response | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
status |
OK |
Everything is okay. | ||||||||||||||||||
ERROR |
If there was an error and no details can be returned. | |||||||||||||||||||
error |
String | If status is ERROR this will contain the error message. |
||||||||||||||||||
affiliate |
Object |
|
Affiliate Details Response
{ "status":"OK", "affiliate":{ "title":"Top Airport Taxis", "image":"http:\/\/www.topairporttaxis.co.uk\/imgs\/compare\/topairporttaxis\/logo_white.png", "colour1":"098972", "colour2":"FFFFFF", "link":"http:\/\/www.topairporttaxis.co.uk\/" } }
<?xml version="1.0" encoding="UTF-8"?>
<TaxicodeResponse>
<status>OK</status> <affiliate> <title>Top Airport Taxis</title> <image>http://www.topairporttaxis.co.uk/imgs/compare/topairporttaxis/logo_white.png</image> <colour1>098972</colour1> <colour2>FFFFFF</colour2> <link>http://www.topairporttaxis.co.uk/</link> </affiliate> </TaxicodeResponse>
Array ( [status] => OK [affiliate] => Array ( [title] => Top Airport Taxis [image] => http://www.topairporttaxis.co.uk/imgs/compare/topairporttaxis/logo_white.png [colour1] => 098972 [colour2] => FFFFFF [link] => http://www.topairporttaxis.co.uk/ ) )
array(2) { ["status"]=> string(2) "OK" ["affiliate"]=> array(5) { ["title"]=> string(17) "Top Airport Taxis" ["image"]=> string(76) "http://www.topairporttaxis.co.uk/imgs/compare/topairporttaxis/logo_white.png" ["colour1"]=> string(6) "098972" ["colour2"]=> string(6) "FFFFFF" ["link"]=> string(33) "http://www.topairporttaxis.co.uk/" } }
a:2:{s:6:"status";s:2:"OK";s:9:"affiliate";a:5:{s:5:"title";s:17:"Top Airport Taxis";s:5:"image";s:76:"http://www.topairporttaxis.co.uk/imgs/compare/topairporttaxis/logo_white.png";s:7:"colour1";s:6:"098972";s:7:"colour2";s:6:"FFFFFF";s:4:"link";s:33:"http://www.topairporttaxis.co.uk/";}}
Affiliate Earnings
Affiliate Earnings Request
https://api.taxicode.com/affiliate/earnings/
Parameter | Type | Description | Values | Default |
---|---|---|---|---|
key |
POST/GET |
Your API Key. | String | - |
secret |
POST/GET |
Your secret key. | String | - |
Affiliate Earnings Response
Once you've made your request you will recieve back to objects:
The Response | ||
---|---|---|
status |
OK |
Everything is okay. |
ERROR |
If there was an error and no earnings data can be returned. | |
error |
String | If status is ERROR this will contain the error message. |
earnings |
Object | A list of years (YYYY) containing a list of months (MM) containing a list of bookings and the value they earned the affiliate. |
Affiliate Earnings Response
{ "status":"OK", "earnings":{ "2014":{ "12":{ "TC12345676":27.01, "TC12345677":6.23 } }, "2015":{ "01":{ "TC12345678":1.36, "TC12345679":1.5, "TC12345680":4.23 }, "02":{ "TC12345681":10.6, "TC12345682":9.85, "TC12345683":7.57, "TC12345684":4.23 } } } }
<?xml version="1.0" encoding="UTF-8"?>
<TaxicodeResponse>
<status>OK</status> <earnings> <element value='2014'> <element value='12'> <TC12345676>27.01</TC12345676> <TC12345677>6.23</TC12345677> </element> </element> <element value='2015'> <element value='01'> <TC12345678>1.36</TC12345678> <TC12345679>1.5</TC12345679> <TC12345680>4.23</TC12345680> </element> <element value='02'> <TC12345681>10.6</TC12345681> <TC12345682>9.85</TC12345682> <TC12345683>7.57</TC12345683> <TC12345684>4.23</TC12345684> </element> </element> </earnings> </TaxicodeResponse>
Array ( [status] => OK [earnings] => Array ( [2014] => Array ( [12] => Array ( [TC12345676] => 27.01 [TC12345677] => 6.23 ) ) [2015] => Array ( [01] => Array ( [TC12345678] => 1.36 [TC12345679] => 1.5 [TC12345680] => 4.23 ) [02] => Array ( [TC12345681] => 10.6 [TC12345682] => 9.85 [TC12345683] => 7.57 [TC12345684] => 4.23 ) ) ) )
array(2) { ["status"]=> string(2) "OK" ["earnings"]=> array(2) { [2014]=> array(1) { [12]=> array(2) { ["TC12345676"]=> float(27.01) ["TC12345677"]=> float(6.23) } } [2015]=> array(2) { ["01"]=> array(3) { ["TC12345678"]=> float(1.36) ["TC12345679"]=> float(1.5) ["TC12345680"]=> float(4.23) } ["02"]=> array(4) { ["TC12345681"]=> float(10.6) ["TC12345682"]=> float(9.85) ["TC12345683"]=> float(7.57) ["TC12345684"]=> float(4.23) } } } }
a:2:{s:6:"status";s:2:"OK";s:8:"earnings";a:2:{i:2014;a:1:{i:12;a:2:{s:10:"TC12345676";d:27.010000000000002;s:10:"TC12345677";d:6.2300000000000004;}}i:2015;a:2:{s:2:"01";a:3:{s:10:"TC12345678";d:1.3600000000000001;s:10:"TC12345679";d:1.5;s:10:"TC12345680";d:4.2300000000000004;}s:2:"02";a:4:{s:10:"TC12345681";d:10.6;s:10:"TC12345682";d:9.8499999999999996;s:10:"TC12345683";d:7.5700000000000003;s:10:"TC12345684";d:4.2300000000000004;}}}}
Affiliate Payment Due
If you are an authorised payment handler you will be due to make payments for bookings made through our API once the provider has confirmed the job was completed. We will contact you weekly to confirm the bookings that need to be paid, but you can use this API call to look up the current amount due. This will also help you automate this process. You will still need to email accounts@web3r.co.uk once you have paid with a list of booking references you have paid.
Affiliate Payment Due Request
https://api.taxicode.com/affiliate/payment_due/
Parameter | Type | Description | Values | Default |
---|---|---|---|---|
key |
POST/GET |
Your API Key. | String | - |
secret |
POST/GET |
Your secret key. | String | - |
Affiliate Payment Due Response
Once you've made your request you will recieve back to objects:
The Response | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
status |
OK |
Everything is okay. | |||||||||||||||
ERROR |
If there was an error and no earnings data can be returned. | ||||||||||||||||
error |
String | If status is ERROR this will contain the error message. |
|||||||||||||||
bookings |
Array |
Array of objects for bookings that payment is due for:
|
|||||||||||||||
total |
Float | The total amount due. |
Affiliate Earnings Response
{ "status":"OK", "bookings":[ { "booking":"TC12345680", "value":24.62, "name":"John Smith", "created":"2015-07-20 12:32:02" }, { "booking":"TC12345680", "value":54.2, "name":"Sarah Jones", "created":"2015-07-28 08:58:12" } ], "total":78.82 }
<?xml version="1.0" encoding="UTF-8"?>
<TaxicodeResponse>
<status>OK</status> <bookings> <element value='0'> <booking>TC12345680</booking> <value>24.62</value> <name>John Smith</name> <created>2015-07-20 12:32:02</created> </element> <element value='1'> <booking>TC12345680</booking> <value>54.2</value> <name>Sarah Jones</name> <created>2015-07-28 08:58:12</created> </element> </bookings> <total>78.82</total> </TaxicodeResponse>
Array ( [status] => OK [bookings] => Array ( [0] => Array ( [booking] => TC12345680 [value] => 24.62 [name] => John Smith [created] => 2015-07-20 12:32:02 ) [1] => Array ( [booking] => TC12345680 [value] => 54.2 [name] => Sarah Jones [created] => 2015-07-28 08:58:12 ) ) [total] => 78.82 )
array(3) { ["status"]=> string(2) "OK" ["bookings"]=> array(2) { [0]=> array(4) { ["booking"]=> string(10) "TC12345680" ["value"]=> float(24.62) ["name"]=> string(10) "John Smith" ["created"]=> string(19) "2015-07-20 12:32:02" } [1]=> array(4) { ["booking"]=> string(10) "TC12345680" ["value"]=> float(54.2) ["name"]=> string(11) "Sarah Jones" ["created"]=> string(19) "2015-07-28 08:58:12" } } ["total"]=> float(78.82) }
a:3:{s:6:"status";s:2:"OK";s:8:"bookings";a:2:{i:0;a:4:{s:7:"booking";s:10:"TC12345680";s:5:"value";d:24.620000000000001;s:4:"name";s:10:"John Smith";s:7:"created";s:19:"2015-07-20 12:32:02";}i:1;a:4:{s:7:"booking";s:10:"TC12345680";s:5:"value";d:54.200000000000003;s:4:"name";s:11:"Sarah Jones";s:7:"created";s:19:"2015-07-28 08:58:12";}}s:5:"total";d:78.820000000000007;}
Affiliate Booking Details
Affiliate Booking Details Request
https://api.taxicode.com/booking/details/
Parameter | Type | Description | Values | Default |
---|---|---|---|---|
key |
POST/GET |
Your API Key. | String | - |
secret |
POST/GET |
Your secret key. | String | - |
id |
POST/GET |
Your ID of the booking (Example: TC12312312) | String | - |
Affiliate Booking Details Response
Once you've made your request you will recieve back to objects:
The Response | ||
---|---|---|
status |
OK |
Everything is okay. |
ERROR |
If there was an error and no booking details can be returned. | |
error |
String | If status is ERROR this will contain the error message. |
booking |
Object | See example below. |
Affiliate Earnings Response
{ "status":"OK", "booking":{ "reference":"TC12312312", "date":"2015-01-07 16:30:00", "return":false, "pickup":{ "string":"Fleet, Hampshire, GU51", "position":[ 51.2864, -0.839153 ], "postcode":"GU51" }, "destination":{ "string":"Aldershot, Hampshire, GU51", "position":[ 51.2554, -0.767322 ], "postcode":"GU11" }, "price":13.64, "distance":5, "people":1, "company_name":"Taxi Company Name", "company_number":"01234 567890", "status":"Unconfirmed" } }
<?xml version="1.0" encoding="UTF-8"?>
<TaxicodeResponse>
<status>OK</status> <booking> <reference>TC12312312</reference> <date>2015-01-07 16:30:00</date> <return></return> <pickup> <string>Fleet, Hampshire, GU51</string> <position> <element value='0'>51.2864</element> <element value='1'>-0.839153</element> </position> <postcode>GU51</postcode> </pickup> <destination> <string>Aldershot, Hampshire, GU51</string> <position> <element value='0'>51.2554</element> <element value='1'>-0.767322</element> </position> <postcode>GU11</postcode> </destination> <price>13.64</price> <distance>5</distance> <people>1</people> <company_name>Taxi Company Name</company_name> <company_number>01234 567890</company_number> <status>Unconfirmed</status> </booking> </TaxicodeResponse>
Array ( [status] => OK [booking] => Array ( [reference] => TC12312312 [date] => 2015-01-07 16:30:00 [return] => [pickup] => Array ( [string] => Fleet, Hampshire, GU51 [position] => Array ( [0] => 51.2864 [1] => -0.839153 ) [postcode] => GU51 ) [destination] => Array ( [string] => Aldershot, Hampshire, GU51 [position] => Array ( [0] => 51.2554 [1] => -0.767322 ) [postcode] => GU11 ) [price] => 13.64 [distance] => 5 [people] => 1 [company_name] => Taxi Company Name [company_number] => 01234 567890 [status] => Unconfirmed ) )
array(2) { ["status"]=> string(2) "OK" ["booking"]=> array(11) { ["reference"]=> string(10) "TC12312312" ["date"]=> string(19) "2015-01-07 16:30:00" ["return"]=> bool(false) ["pickup"]=> array(3) { ["string"]=> string(22) "Fleet, Hampshire, GU51" ["position"]=> array(2) { [0]=> float(51.2864) [1]=> float(-0.839153) } ["postcode"]=> string(4) "GU51" } ["destination"]=> array(3) { ["string"]=> string(26) "Aldershot, Hampshire, GU51" ["position"]=> array(2) { [0]=> float(51.2554) [1]=> float(-0.767322) } ["postcode"]=> string(4) "GU11" } ["price"]=> float(13.64) ["distance"]=> int(5) ["people"]=> int(1) ["company_name"]=> string(17) "Taxi Company Name" ["company_number"]=> string(12) "01234 567890" ["status"]=> string(11) "Unconfirmed" } }
a:2:{s:6:"status";s:2:"OK";s:7:"booking";a:11:{s:9:"reference";s:10:"TC12312312";s:4:"date";s:19:"2015-01-07 16:30:00";s:6:"return";b:0;s:6:"pickup";a:3:{s:6:"string";s:22:"Fleet, Hampshire, GU51";s:8:"position";a:2:{i:0;d:51.2864;i:1;d:-0.83915300000000004;}s:8:"postcode";s:4:"GU51";}s:11:"destination";a:3:{s:6:"string";s:26:"Aldershot, Hampshire, GU51";s:8:"position";a:2:{i:0;d:51.255400000000002;i:1;d:-0.76732199999999995;}s:8:"postcode";s:4:"GU11";}s:5:"price";d:13.640000000000001;s:8:"distance";i:5;s:6:"people";i:1;s:12:"company_name";s:17:"Taxi Company Name";s:14:"company_number";s:12:"01234 567890";s:6:"status";s:11:"Unconfirmed";}}