{"info":{"_postman_id":"dea2b591-b831-4321-a21e-70b2852d115e","name":"RidesFlyer APIs","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"description":"<html><head></head><body></body></html>","owner":"32700424","collectionId":"dea2b591-b831-4321-a21e-70b2852d115e","publishedId":"2s9YytiMEQ","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"252529"},"publishDate":"2024-02-01T11:24:50.000Z"},"item":[{"name":"Overview","item":[],"id":"10378e88-d929-49f7-8226-500a6e79fb3d","description":"<p>RidesFlyer Supplier API is a platform that allows you to manage your Drivers, Vehicles and Rides while also notifying you on any Event that takes place during transfers.</p>\n<p>If you are already working with Hoppa bookings, you are not required to implement the Webhooks &amp; new integrations section.</p>\n","_postman_id":"10378e88-d929-49f7-8226-500a6e79fb3d"},{"name":"Filters and Pagination","item":[{"name":"Filters","item":[],"id":"85524315-e1a1-479b-acc4-b19c99e3d4fa","description":"<p>Filters can be applied on GET calls for certain endpoints so you receive back only the information you require in the response body. You can use parameters that are included to the object you are filtering for, but if the parameter provided is not part of the object, it will be silently ignored.</p>\n<p>The current operators you can filter by are the following:</p>\n<ul>\n<li>eq: Equals (exact match). Used when no operator is specified.</li>\n<li>gt: Greater than.</li>\n<li>gte: Greater than or equal to.</li>\n<li>in: Any item is an exact match. Takes special syntax, so if you wanted something where a status was one of a few, you would pass ?filter[status in]=pending,processing.\\</li>\n<li>like: Case insensitive search. Does NOT support wildcards as of right now.</li>\n<li>lt: Less than.</li>\n<li>lte: Less than or equal to.</li>\n<li>neq: NOT equal.</li>\n<li>nin: NOT in.</li>\n<li>nlike: NOT like.</li>\n<li>sw: Starts with. Look for strings that being with filter value. Case insensitive.</li>\n</ul>\n<p>You can filter for a Driver who’s first name is ‘John’ and registered using the ‘<a href>johndoe@email.com</a>’ email by using the following index query:</p>\n<p>/api/v1/mobility/taxis/drivers?filter[dash]=John&amp;filter[email]=<a href=\"mailto:johndoe@email.com\">johndoe@email.com</a></p>\n","_postman_id":"85524315-e1a1-479b-acc4-b19c99e3d4fa"},{"name":"Pagination","item":[],"id":"f8c01cb4-d055-4575-8d32-a4a6331d2895","description":"<p>Pagination can be applied by using the <em>page</em> parameter. page[number] indicates the page number and page[size] is the maximum number or resources returned. These default respectively to 1 and 25.</p>\n<p>You can view the total number of pages and the number of resources available in the <em>meta</em> field returned in the request payload.</p>\n<p>For example, to get the 4th page and show 50 resources per page, you would append the following parameters to your URL:</p>\n<p>?page[number]=4&amp;page[size]=50</p>\n","_postman_id":"f8c01cb4-d055-4575-8d32-a4a6331d2895"},{"name":"Sorting","item":[],"id":"7e0b0fff-70ba-4ea5-9000-27d962df51fd","description":"<p>You can use the sort keyword to sort the result set by an object attribute. sort[attribute]=ASC indicates that the result set will be filtered by the <em>attribute</em> in an ascending order.</p>\n<p>For example you can retrieve all Drivers named ‘John’ and sorted by last name and email using the following:</p>\n<p>/api/v1/mobility/taxis/drivers?filter[firstname]=John&amp;sort[lastname]=ASC&amp;sort[email]=ASC</p>\n","_postman_id":"7e0b0fff-70ba-4ea5-9000-27d962df51fd"},{"name":"Include","item":[],"id":"55a1176e-6b48-4a7e-8732-ecbc22432e68","description":"<p>You can use the include keyword to include related resources to the returned result set you are querying. The included object must be associated to the queried object. If not, the returned data set will be empty. If there is no related resource the field will return empty to all the objects that do not have an associated object.</p>\n<p>For example you can query for Drivers and the Vehicles they are associated to by using the following query:</p>\n<p>/api/v1/mobility/taxis/drivers?includes[]=vehicles</p>\n","_postman_id":"55a1176e-6b48-4a7e-8732-ecbc22432e68"}],"id":"685b8381-c4a1-46f1-9a4d-d4dfcbe1a8c5","_postman_id":"685b8381-c4a1-46f1-9a4d-d4dfcbe1a8c5","description":""},{"name":"Authentication","item":[{"name":"Authentication","event":[{"listen":"test","script":{"exec":["const jsonData = pm.response.json();","","if (jsonData.access_token) {","    pm.environment.set(\"token\", jsonData.access_token);","    pm.environment.set(\"JWT\", jsonData.access_token);","}"],"type":"text/javascript","id":"7f6a3d7d-b844-4e86-a469-26bd613c9446"}}],"id":"29f1dd54-6a6d-4745-8757-7686921df96d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"{{x-api-key}}"},{"key":"password","value":"{{x-api-secret}}"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/x-www-form-urlencoded"}],"body":{"mode":"urlencoded","urlencoded":[{"key":"grant_type","value":"client_credentials"}]},"url":"{{auth_base_url}}/oauth/token","description":"<p>Use the Authentication request to get a Bearer token that needs to be used in the Authorisation header.</p>\n<p>The Authentication API is using your API Keys to authenticate your request. Contact our support team at <a href=\"https://\">techsupport@ridesflyer.com</a> for your API Keys.</p>\n<h3 id=\"authorization\"><strong>Authorization</strong></h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Name</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Mandatory</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Username</td>\n<td>string</td>\n<td>Y</td>\n<td>The API key provided to you on sign up</td>\n</tr>\n<tr>\n<td>Password</td>\n<td>string</td>\n<td>Y</td>\n<td>The API key provided to you on sign up</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"params\"><strong>Params</strong></h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Name</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Mandatory</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>grant_type</td>\n<td>string</td>\n<td>Y</td>\n<td>Should always be <em>client_credentials</em></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["oauth","token"],"host":["{{auth_base_url}}"],"query":[],"variable":[]}},"response":[{"id":"0ab9d474-d926-4f98-8437-26a1a93a9d51","name":"Authentication","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/x-www-form-urlencoded"}],"body":{"mode":"urlencoded","urlencoded":[{"key":"grant_type","value":"client_credentials"}]},"url":"{{auth_base_url}}/oauth/token"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx"},{"key":"Date","value":"Thu, 07 Sep 2023 14:24:47 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"222"},{"key":"Connection","value":"keep-alive"},{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"X-Correlation-Id","value":"51e31499-dd3f-4e47-9c0e-5ccf239902e4"},{"key":"cache-control","value":"no-store"},{"key":"pragma","value":"no-cache"},{"key":"ETag","value":"W/\"de-MWZldKK/SMiXfSCRDgYZoTCvIys\""},{"key":"X-Response-Time","value":"13.606"}],"cookie":[],"responseTime":null,"body":"{\n    \"access_token\": \"2b913a09ccdd172df35e5b757e3cc4bdac359dad\",\n    \"token_type\": \"Bearer\",\n    \"expires_in\": 3599,\n    \"clientId\": \"45b559bd-c26e-45a6-a2ab-33f0aa688cd5\",\n    \"userId\": null,\n    \"account\": 1,\n    \"access_expires_at\": \"2023-09-07T15:24:47.501Z\"\n}"}],"_postman_id":"29f1dd54-6a6d-4745-8757-7686921df96d"}],"id":"a772b561-4806-4217-addb-d09545c455a3","description":"<p>Authentication is the first step you need to take before managing your Drivers and Vehicles.</p>\n<p>The RidesFlyer API is using Bearer Authentication for all API requests. To get your Bearer Token, you must first authenticate to the Authentication API, by your API keys. The Authentication API is using Basic Auth.</p>\n<p>Your API Keys are provided to you by sending an email to our support team.</p>\n","_postman_id":"a772b561-4806-4217-addb-d09545c455a3"},{"name":"Drivers","item":[{"name":"Add Driver","id":"984a0d65-696d-412c-9751-525253a1b27f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"data\": {\n        \"type\": \"user\",\n        \"attributes\": {\n            \"title\": \"title\",\n            \"email\": \"email\",\n            \"phonenumber\": \"+4012345678\",\n            \"firstname\": \"first_name\",\n            \"lastname\": \"last_name\"\n        }\n    }\n}","options":{"raw":{"language":"json"}}},"url":"{{ridesflyer_api_base_url}}/api/v1/mobility/taxis/drivers","description":"<p>You can use the Add Driver endpoint to define a new user.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Name</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Mandatory</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>type</td>\n<td>string</td>\n<td>Y</td>\n<td>Should always be <em>user</em></td>\n</tr>\n<tr>\n<td>title</td>\n<td>string</td>\n<td>Y</td>\n<td>Can be any of: <em>MR</em>, <em>MRS</em>, <em>MS</em>, <em>DR</em>, <em>PROF</em>, <em>NONE</em></td>\n</tr>\n<tr>\n<td>email</td>\n<td>string</td>\n<td>Y</td>\n<td>User email</td>\n</tr>\n<tr>\n<td>phonenumber</td>\n<td>string</td>\n<td>Y</td>\n<td>Driver contact phone number including the country code, prefixed with \"+\".</td>\n</tr>\n<tr>\n<td>firstname</td>\n<td>string</td>\n<td>Y</td>\n<td>User first name</td>\n</tr>\n<tr>\n<td>lastname</td>\n<td>string</td>\n<td>Y</td>\n<td>User last name</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","v1","mobility","taxis","drivers"],"host":["{{ridesflyer_api_base_url}}"],"query":[],"variable":[]}},"response":[{"id":"fc7e95eb-62ff-4777-81a0-a786173d9f2f","name":"create user","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"data\": {\n        \"type\": \"user\",\n        \"attributes\": {\n            \"title\": \"MR\",\n            \"email\": \"user@email.com\",\n            \"firstname\": \"Cullen\",\n            \"lastname\": \"Hermann\"\n        }\n    }\n}","options":{"raw":{"language":"json"}}},"url":"{{ridesflyer_api_base_url}}/api/v1/mobility/taxis/drivers"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"X-Correlation-Id","value":"1b3ad654-24eb-4e53-a4b9-f51652318a1b"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"64"},{"key":"ETag","value":"W/\"40-ySHMlvK4zyknS/dQmjj5muFKI+k\""},{"key":"X-Response-Time","value":"241.307"},{"key":"Date","value":"Mon, 04 Sep 2023 02:09:05 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"err\": null,\n    \"data\": {\n        \"id\": 25\n    },\n    \"message\": \"success\"\n}"}],"_postman_id":"984a0d65-696d-412c-9751-525253a1b27f"},{"name":"Update Driver","id":"3c78960d-5d3f-4748-b363-8e1130bf3fd7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\n    \"data\": {\n        \"type\": \"user\",\n        \"attributes\": {\n            \"title\": \"title\",\n            \"email\": \"email\",\n            \"phonenumber\": \"+4012345678\",\n            \"firstname\": \"first_name\",\n            \"lastname\": \"last_name\"\n        }\n    }\n}","options":{"raw":{"language":"json"}}},"url":"{{ridesflyer_api_base_url}}/api/v1/mobility/taxis/drivers/:DriverID","description":"<p>You can use the Update Driver endpoint to update the attributes of an existing user, by passing the DriverID in the URL.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Name</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Mandatory</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>type</td>\n<td>string</td>\n<td>Y</td>\n<td>Should always be <em>user</em></td>\n</tr>\n<tr>\n<td>title</td>\n<td>string</td>\n<td>Y</td>\n<td>Can be any of: <em>MR</em>, <em>MRS</em>, <em>MS</em>, <em>DR</em>, <em>PROF</em>, <em>NONE</em></td>\n</tr>\n<tr>\n<td>email</td>\n<td>string</td>\n<td>Y</td>\n<td>User email</td>\n</tr>\n<tr>\n<td>phonenumber</td>\n<td>string</td>\n<td>Y</td>\n<td>Driver contact phone number including the country code, prefixed with \"+\".</td>\n</tr>\n<tr>\n<td>firstname</td>\n<td>string</td>\n<td>Y</td>\n<td>User first name</td>\n</tr>\n<tr>\n<td>lastname</td>\n<td>string</td>\n<td>Y</td>\n<td>User last name</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","v1","mobility","taxis","drivers",":DriverID"],"host":["{{ridesflyer_api_base_url}}"],"query":[],"variable":[{"type":"any","value":null,"key":"DriverID"}]}},"response":[{"id":"41d8fd73-3434-416a-8b72-407c1d7ffb40","name":"update user","originalRequest":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\n    \"data\": {\n        \"type\": \"user\",\n        \"attributes\": {\n            \"title\": \"MR\",\n            \"email\": \"user@email.com\",\n            \"firstname\": \"Mireille\",\n            \"lastname\": \"Stamm\"\n        }\n    }\n}","options":{"raw":{"language":"json"}}},"url":"{{ridesflyer_api_base_url}}/api/v1/mobility/taxis/drivers/16"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"X-Correlation-Id","value":"c9e94db9-7b9c-4dfe-bf74-fe7c17bcf1e9"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"64"},{"key":"ETag","value":"W/\"40-t/EWprRohBPfaJ6nhz8MNyoWJ90\""},{"key":"X-Response-Time","value":"135.302"},{"key":"Date","value":"Mon, 04 Sep 2023 02:34:59 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"err\": null,\n    \"data\": {\n        \"id\": 16\n    },\n    \"message\": \"success\"\n}"}],"_postman_id":"3c78960d-5d3f-4748-b363-8e1130bf3fd7"},{"name":"View Drivers","id":"b7e5aac5-77ae-468d-9bf6-57774528050a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"{{ridesflyer_api_base_url}}/api/v1/mobility/taxis/drivers","description":"<p>You can use the Get Drivers endpoint to retrieve all the available Drivers.</p>\n","urlObject":{"path":["api","v1","mobility","taxis","drivers"],"host":["{{ridesflyer_api_base_url}}"],"query":[],"variable":[]}},"response":[{"id":"8319eb90-d929-473a-a4b1-c54c543a0f9c","name":"Get drivers","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{ridesflyer_api_base_url}}/api/v1/mobility/taxis/drivers?filter[id]=16","host":["{{ridesflyer_api_base_url}}"],"path":["api","v1","mobility","taxis","drivers"],"query":[{"key":"filter[id]","value":"16"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"X-Correlation-Id","value":"9ae4f6d8-c589-49c6-91e9-31bd1977d8e2"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"363"},{"key":"ETag","value":"W/\"16b-sVPAWTFhUQdGQNNeHiCLzfHp5Co\""},{"key":"X-Response-Time","value":"264.428"},{"key":"Date","value":"Mon, 04 Sep 2023 02:59:32 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": [\n        {\n            \"id\": 16,\n            \"deletedBy\": null,\n            \"deletedAt\": null,\n            \"createdAt\": \"2023-09-04T02:33:32.000Z\",\n            \"modifiedAt\": \"2023-09-04T02:49:28.000Z\",\n            \"title\": \"MR\",\n            \"email\": \"user@email.com\",\n            \"firstname\": \"Arch\",\n            \"phonenumber\": null,\n            \"lastname\": \"Botsford\",\n            \"user\": null,\n            \"status\": \"ACTIVE\"\n        }\n    ],\n    \"metadata\": {\n        \"page\": {\n            \"size\": 10,\n            \"number\": 1\n        },\n        \"totalCount\": 1,\n        \"hasNextPage\": false,\n        \"hasPreviousPage\": false\n    }\n}"}],"_postman_id":"b7e5aac5-77ae-468d-9bf6-57774528050a"},{"name":"View Driver","id":"04a92105-c347-4d11-a814-1f69da6d2279","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"{{ridesflyer_api_base_url}}/api/v1/mobility/taxis/drivers?filter[id]=:DriverID","description":"<p>You can use the Get Driver endpoint to retrieve details on a Driver, by passing the DriverID</p>\n","urlObject":{"path":["api","v1","mobility","taxis","drivers"],"host":["{{ridesflyer_api_base_url}}"],"query":[{"key":"filter[id]","value":":DriverID"}],"variable":[]}},"response":[{"id":"e830319d-2374-41e9-9286-b0f8eee7f719","name":"Get drivers","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{ridesflyer_api_base_url}}/api/v1/mobility/taxis/drivers?filter[id]=16","host":["{{ridesflyer_api_base_url}}"],"path":["api","v1","mobility","taxis","drivers"],"query":[{"key":"filter[id]","value":"16"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"X-Correlation-Id","value":"9ae4f6d8-c589-49c6-91e9-31bd1977d8e2"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"363"},{"key":"ETag","value":"W/\"16b-sVPAWTFhUQdGQNNeHiCLzfHp5Co\""},{"key":"X-Response-Time","value":"264.428"},{"key":"Date","value":"Mon, 04 Sep 2023 02:59:32 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": [\n        {\n            \"id\": 16,\n            \"deletedBy\": null,\n            \"deletedAt\": null,\n            \"createdAt\": \"2023-09-04T02:33:32.000Z\",\n            \"modifiedAt\": \"2023-09-04T02:49:28.000Z\",\n            \"title\": \"MR\",\n            \"email\": \"user@email.com\",\n            \"firstname\": \"Arch\",\n            \"phonenumber\": null,\n            \"lastname\": \"Botsford\",\n            \"user\": null,\n            \"status\": \"ACTIVE\"\n        }\n    ],\n    \"metadata\": {\n        \"page\": {\n            \"size\": 10,\n            \"number\": 1\n        },\n        \"totalCount\": 1,\n        \"hasNextPage\": false,\n        \"hasPreviousPage\": false\n    }\n}"}],"_postman_id":"04a92105-c347-4d11-a814-1f69da6d2279"},{"name":"Change Status","id":"d15f1521-46d8-4667-a61a-51766d43c934","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"data\": {\n        \"type\": \"user\",\n        \"attributes\": {\n            \"status\": \"status\"\n        }\n    }\n}","options":{"raw":{"language":"json"}}},"url":"{{ridesflyer_api_base_url}}/api/v1/mobility/taxis/drivers/:DriverID","description":"<p>You can use the Change Status endpoint to update the status of a Driver.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><br />  <br /><strong>Name</strong>  <br />  <br /></th>\n<th><br />  <br /><strong>Type</strong>  <br />  <br /></th>\n<th><br />  <br /><strong>Mandatory</strong>  <br />  <br /></th>\n<th><br />  <br /><strong>Description</strong>  <br />  <br /></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><br />  <br />type  <br />  <br /></td>\n<td><br />  <br />string  <br />  <br /></td>\n<td><br />  <br />Y  <br />  <br /></td>\n<td><br />  <br />Should always be <em>user</em>  <br />  <br /></td>\n</tr>\n<tr>\n<td><br />  <br />status  <br />  <br /></td>\n<td><br />  <br />string  <br />  <br /></td>\n<td><br />  <br />Y  <br />  <br /></td>\n<td><br />  <br />Can be any of: <em>ACTIVE</em>, <em>IN_ACTIVE</em>  <br />  <br /></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","v1","mobility","taxis","drivers",":DriverID"],"host":["{{ridesflyer_api_base_url}}"],"query":[],"variable":[{"id":"482b6413-a6ef-4c3c-8a63-f14519e9ead9","type":"any","value":null,"key":"DriverID"}]}},"response":[{"id":"15e63f80-69dd-4b55-8e88-8f3a84898981","name":"Change Status","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"data\": {\n        \"type\": \"user\",\n        \"attributes\": {\n            \"status\": \"IN_ACTIVE\"\n        }\n    }\n}","options":{"raw":{"language":"json"}}},"url":"{{ridesflyer_api_base_url}}/api/v1/mobility/taxis/drivers/15"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"X-Correlation-Id","value":"9303a3ae-4bd5-49f9-af20-4d25ef21cb26"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"64"},{"key":"ETag","value":"W/\"40-OY09xgQeU/ThrMCTv0h6Js0u17s\""},{"key":"X-Response-Time","value":"156.003"},{"key":"Date","value":"Mon, 04 Sep 2023 02:49:36 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"err\": null,\n    \"data\": {\n        \"id\": 15\n    },\n    \"message\": \"success\"\n}"}],"_postman_id":"d15f1521-46d8-4667-a61a-51766d43c934"}],"id":"abad8073-fee2-45d3-8361-48bef993b3b4","_postman_id":"abad8073-fee2-45d3-8361-48bef993b3b4","description":""},{"name":"Vehicles","item":[{"name":"Add Vehicle","id":"e10a5e07-4a6a-4c69-b87d-98873be7f8e1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"data\": {\n        \"type\": \"vehicle\",\n        \"attributes\": {\n            \"driver\": \"driverID\",\n            \"registration\": \"registration\",\n            \"model\": \"model\",\n            \"make\": \"make\", \n            \"age\": \"age_class\",\n            \"colour\": \"colour\"\n        }\n    }\n}","options":{"raw":{"language":"json"}}},"url":"{{ridesflyer_api_base_url}}/api/v1/mobility/taxis/vehicles","description":"<p>You can use the Add Vehicle endpoint to define a new Vehicle. The new Vehicle is assigned to a Driver by passing the Driver ID.</p>\n<p>The Vehicle should be registered for each Driver if it is used by more than one, with the Driver ID passed accordingly.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Name</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Mandatory</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>type</td>\n<td>string</td>\n<td>Y</td>\n<td>Should always be <em>vehicle</em></td>\n</tr>\n<tr>\n<td>driver</td>\n<td>numeric</td>\n<td>Y</td>\n<td>The <em>ID</em> of the driver returned by the Create Driver endpoint.</td>\n</tr>\n<tr>\n<td>registration</td>\n<td>string</td>\n<td>Y</td>\n<td>Vehicle registration plates</td>\n</tr>\n<tr>\n<td>make</td>\n<td>string</td>\n<td>Y</td>\n<td>Vehicle brand, e.g. <em>Mercedes-Benz</em></td>\n</tr>\n<tr>\n<td>model</td>\n<td>string</td>\n<td>Y</td>\n<td>Vehicle model, e.g. <em>E-Class</em></td>\n</tr>\n<tr>\n<td>age</td>\n<td>string</td>\n<td>Y</td>\n<td>Either <em>LESS_THAN_5</em> or <em>GREATER_THAN_5</em></td>\n</tr>\n<tr>\n<td>colour</td>\n<td>string</td>\n<td>Y</td>\n<td>Vehicle colour, e.g. <em>black</em></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","v1","mobility","taxis","vehicles"],"host":["{{ridesflyer_api_base_url}}"],"query":[],"variable":[]}},"response":[{"id":"bcc19064-0d97-43cd-8183-6cad58325303","name":"Add vehicle","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"data\": {\n        \"type\": \"vehicle\",\n        \"attributes\": {\n            \"driver\": \"16\",\n            \"registration\": \"test\",\n            \"model\": \"test\",\n            \"make\": \"test\", \n            \"age\": \"LESS_THAN_5\",\n            \"colour\": \"test\"\n        }\n    }\n}","options":{"raw":{"language":"json"}}},"url":"{{ridesflyer_api_base_url}}/api/v1/mobility/taxis/vehicles"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"X-Correlation-Id","value":"c832e70d-0816-4a65-b880-0a3d1e6a66df"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"63"},{"key":"ETag","value":"W/\"3f-u6sjpQqOnz7QlXGHED35FDnPPhk\""},{"key":"X-Response-Time","value":"166.488"},{"key":"Date","value":"Mon, 04 Sep 2023 03:15:37 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"err\": null,\n    \"data\": {\n        \"id\": 9\n    },\n    \"message\": \"success\"\n}"}],"_postman_id":"e10a5e07-4a6a-4c69-b87d-98873be7f8e1"},{"name":"Update Vehicle","id":"dfc1e582-657f-4fec-9c10-ce173732a3ce","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\n    \"data\": {\n        \"type\": \"vehicle\",\n        \"attributes\": { \n            \"isDefault\": true,\n            \"registration\": \"registration\",\n            \"model\": \"model\",\n            \"make\": \"make\", \n            \"age\": \"age_class\",\n            \"colour\": \"colour\"\n        }\n    }\n}","options":{"raw":{"language":"json"}}},"url":"{{ridesflyer_api_base_url}}/api/v1/mobility/taxis/vehicles/:vehicleID","description":"<p>You can use the Update Vehicle endpoint to update the attributes of an existing Vehicle, by passing the VehicleID in the URL.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Name</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Mandatory</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>type</td>\n<td>string</td>\n<td>Y</td>\n<td>Should always be <em>vehicle</em></td>\n</tr>\n<tr>\n<td>isDefault</td>\n<td>boolean</td>\n<td>Y</td>\n<td>Select Vehicle as default</td>\n</tr>\n<tr>\n<td>registration</td>\n<td>string</td>\n<td>Y</td>\n<td>Vehicle registration plates</td>\n</tr>\n<tr>\n<td>make</td>\n<td>string</td>\n<td>Y</td>\n<td>Vehicle brand, e.g. <em>Mercedes-Benz</em></td>\n</tr>\n<tr>\n<td>model</td>\n<td>string</td>\n<td>Y</td>\n<td>Vehicle model, e.g. <em>E-Class</em></td>\n</tr>\n<tr>\n<td>age</td>\n<td>string</td>\n<td>Y</td>\n<td>Either <em>LESS_THAN_5</em> or <em>GREATER_THAN_5</em></td>\n</tr>\n<tr>\n<td>colour</td>\n<td>string</td>\n<td>Y</td>\n<td>Vehicle colour, e.g. <em>black</em></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","v1","mobility","taxis","vehicles",":vehicleID"],"host":["{{ridesflyer_api_base_url}}"],"query":[],"variable":[{"id":"75e533e7-7a07-439c-af46-9fe8f890ace5","type":"any","value":null,"key":"vehicleID"}]}},"response":[{"id":"afb04501-c918-4ec0-b96d-311ae7d818e2","name":"Update Vehicle","originalRequest":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\n    \"data\": {\n        \"type\": \"vehicle\",\n        \"attributes\": { \n            \"registration\": \"test\",\n            \"isDefault\": true,\n            \"model\": \"test\",\n            \"make\": \"testq\",\n            \"age\": \"GREATER_THAN_5\",\n            \"colour\": \"test\"\n        }\n    }\n}","options":{"raw":{"language":"json"}}},"url":"{{ridesflyer_api_base_url}}/api/v1/mobility/taxis/vehicles/9"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"X-Correlation-Id","value":"b61c879f-b231-43b9-88ba-04cc0dd24e84"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"63"},{"key":"ETag","value":"W/\"3f-u6sjpQqOnz7QlXGHED35FDnPPhk\""},{"key":"X-Response-Time","value":"175.601"},{"key":"Date","value":"Mon, 04 Sep 2023 03:39:34 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"err\": null,\n    \"data\": {\n        \"id\": 9\n    },\n    \"message\": \"success\"\n}"}],"_postman_id":"dfc1e582-657f-4fec-9c10-ce173732a3ce"},{"name":"Archive Vehicle","id":"7367123b-bc03-4c60-b7b4-343bb962503a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"DELETE","header":[],"url":"{{ridesflyer_api_base_url}}/api/v1/mobility/taxis/vehicles/:VehicleID","description":"<p>You can use the Archive Vehicle endpoint to archive a Vehicle by providing the VehicleID. If the archived Vehicle is the default Vehicle, there will not be an automatic assignment to another Vehicle as default.</p>\n","urlObject":{"path":["api","v1","mobility","taxis","vehicles",":VehicleID"],"host":["{{ridesflyer_api_base_url}}"],"query":[],"variable":[{"id":"13ae2762-8b1b-4287-a46c-e433073502a5","type":"any","value":null,"key":"VehicleID"}]}},"response":[{"id":"2704f2fb-014e-470d-9808-41ea89930ce4","name":"Archive Vehicle","originalRequest":{"method":"DELETE","header":[],"url":"{{ridesflyer_api_base_url}}/api/v1/mobility/taxis/vehicles/9"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"X-Correlation-Id","value":"5e36340e-a6a3-4f0a-a57a-c72f10918755"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"59"},{"key":"ETag","value":"W/\"3b-GRmHAjXHJTUjMZ+jfUqOqCg+uqE\""},{"key":"X-Response-Time","value":"214.274"},{"key":"Date","value":"Mon, 04 Sep 2023 03:42:50 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"err\": null,\n    \"data\": null,\n    \"message\": \"success\"\n}"}],"_postman_id":"7367123b-bc03-4c60-b7b4-343bb962503a"},{"name":"View Vehicles","id":"cb1c8bc0-fde1-4607-a189-fa1a7702c923","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"{{ridesflyer_api_base_url}}/api/v1/mobility/taxis/vehicles","description":"<p>You can use the View Vehicles endpoint to retrieve all the available Vehicles.</p>\n","urlObject":{"path":["api","v1","mobility","taxis","vehicles"],"host":["{{ridesflyer_api_base_url}}"],"query":[],"variable":[]}},"response":[{"id":"254b1c63-d521-4c9a-8fc3-0ad9dfda1f5c","name":"View Vehicles","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{ridesflyer_api_base_url}}/api/v1/mobility/taxis/vehicles?sort[isDefault]=DESC","host":["{{ridesflyer_api_base_url}}"],"path":["api","v1","mobility","taxis","vehicles"],"query":[{"key":"sort[isDefault]","value":"DESC"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"X-Correlation-Id","value":"a623d1bc-c93e-4e0b-8208-4de0b670c5c0"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"419"},{"key":"ETag","value":"W/\"1a3-2F8zMuhItTdb8zYwMIedulYrE20\""},{"key":"X-Response-Time","value":"105.446"},{"key":"Date","value":"Mon, 04 Sep 2023 03:45:59 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": [\n        {\n            \"id\": 9,\n            \"deletedBy\": \"9 - automated\",\n            \"deletedAt\": \"2023-09-04T03:42:51.000Z\",\n            \"createdAt\": \"2023-09-04T03:15:37.000Z\",\n            \"modifiedAt\": \"2023-09-04T03:42:51.000Z\",\n            \"registration\": \"test\",\n            \"make\": \"testq\",\n            \"model\": \"test\",\n            \"colour\": \"test\",\n            \"isDefault\": true,\n            \"avatar\": null,\n            \"driver\": 16,\n            \"status\": \"ACTIVE\",\n            \"age\": \"GREATER_THAN_5\"\n        }\n    ],\n    \"metadata\": {\n        \"page\": {\n            \"size\": 10,\n            \"number\": 1\n        },\n        \"totalCount\": 1,\n        \"hasNextPage\": false,\n        \"hasPreviousPage\": false\n    }\n}"}],"_postman_id":"cb1c8bc0-fde1-4607-a189-fa1a7702c923"}],"id":"58ef3d39-c484-4ab5-be3d-874a1941e4f5","description":"<p>After defining your Drivers, you can use the Vehicles endpoints to register your vehicles and assign Drivers to them.</p>\n<p>Using the Vehicles endpoints you can Create, View and Update your Vehicles.</p>\n","_postman_id":"58ef3d39-c484-4ab5-be3d-874a1941e4f5"},{"name":"Bookings","item":[{"name":"View Booking","id":"53c60a29-deb3-47aa-aa8b-1bf3f720f31f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"{{ridesflyer_api_base_url}}/api/v1/mobility/taxis/bookings/:BookingRef","description":"<p>You can view a Booking’s details by providing the Booking reference.</p>\n","urlObject":{"path":["api","v1","mobility","taxis","bookings",":BookingRef"],"host":["{{ridesflyer_api_base_url}}"],"query":[{"disabled":true,"key":"id","value":"123456"}],"variable":[{"id":"d4087583-327f-4e16-912d-f2a1ae3ff14b","type":"any","value":"","key":"BookingRef"}]}},"response":[{"id":"83099a60-91d1-40d2-96fe-a2fad11ab8d5","name":"view booking","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{ridesflyer_api_base_url}}/api/v1/mobility/taxis/bookings/T_Z1111295","host":["{{ridesflyer_api_base_url}}"],"path":["api","v1","mobility","taxis","bookings","T_Z1111295"],"query":[{"key":"id","value":"123456","disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx"},{"key":"Date","value":"Fri, 08 Sep 2023 09:59:08 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"3126"},{"key":"Connection","value":"keep-alive"},{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"X-Correlation-Id","value":"4e4f08a5-4112-493b-8151-591b70462cc6"},{"key":"ETag","value":"W/\"c36-0zkMucOFwLiVNP+Yubdo1TgT8ag\""},{"key":"X-Response-Time","value":"270.801"},{"key":"Access-Control-Allow-Methods","value":"GET, POST, PUT, DELETE, OPTIONS, PATCH"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"BookingRef\": \"BookingRef\",\n        \"BookingDate\": \"31/08/2023\",\n        \"BookingStatus\": \"Confirmed\",\n        \"DeparturePointCode\": \"BCN\",\n        \"ArrivalPointCode\": \"0ED\",\n        \"VehicleID\": 0,\n        \"Vehicle\": \"STANDARD\",\n        \"VehicleCode\": \"0000\",\n        \"VehicleType\": 2,\n        \"MinCapacity\": 1,\n        \"MaxCapacity\": 3,\n        \"MinStops\": 0,\n        \"MaxStops\": 0,\n        \"NumberOfBags\": 1,\n        \"TransferCode\": \"000000*00000*0000\",\n        \"SectorType\": \"SINGLE\",\n        \"LastName\": \"Doe\",\n        \"FirstName\": \"John\",\n        \"Title\": \"Mr\",\n        \"Phone\": \"\",\n        \"Mobile\": \"+4411111111\",\n        \"CountryCode\": \"\",\n        \"Email\": \"\",\n        \"UserReference\": \"\",\n        \"Adults\": 3,\n        \"Children\": 0,\n        \"Infants\": 0,\n        \"DeparturePointType\": \"AP\",\n        \"ArrivalPointType\": \"RT\",\n        \"TransferDescription\": \"\",\n        \"HolidayValue\": 180.21,\n        \"CommissionValue\": 0,\n        \"VATValue\": 0,\n        \"InvoiceValue\": 180.21,\n        \"CurrencyCode\": \"GBP\",\n        \"PropertyName\": \"Calella, Spain\",\n        \"Duration\": 0,\n        \"AccommodationAddress\": \"\",\n        \"AccommodationAddress2\": \"\",\n        \"CancellationFee\": 180.21,\n        \"CardFees\": 0,\n        \"SpecialRequest\": \"Need a pet friendly car\",\n        \"CancelStatus\": 0,\n        \"ChaseID\": \"\",\n        \"SupplierName\": \"Test Supplier\",\n        \"SupplierTel\": \"0044 000 000 000\",\n        \"OutboundOrigin\": \"Barcelona El Prat Airport (BCN)\",\n        \"OutboundDestination\": \"Calella, Spain\",\n        \"DepPoint\": \"N/A\",\n        \"DepInfo\": \"BA123\",\n        \"DepExtraInfo\": \"N/A\",\n        \"OutboundJourneyTime\": \"\",\n        \"ArrDate\": \"09/09/2023\",\n        \"ArrTime\": \"14:00\",\n        \"ArNumUnits\": 1,\n        \"arVehicleDesc\": \"1 X STANDARD\",\n        \"ReturnOrigin\": \"Calella, Spain\",\n        \"ReturnDestination\": \"Barcelona El Prat Airport (BCN)\",\n        \"RetPoint\": \"N/A\",\n        \"RetInfo\": \"\",\n        \"RetExtraInfo\": \"\",\n        \"ReturnJourneyTime\": \"\",\n        \"RetDate\": \"\",\n        \"RetTime\": \"\",\n        \"DeNumUnits\": 1,\n        \"deVehicleDesc\": \"1 X STANDARD\",\n        \"Instructions2\": \"\",\n        \"TransferFlag\": 1,\n        \"Deposit\": 0,\n        \"Balance\": 0,\n        \"DueDate\": \"\",\n        \"GlobalDiscountPercent\": 0,\n        \"SpecificDiscountPercent\": 0,\n        \"ExtrasTotal\": 0,\n        \"J1_SpLoc\": \"\",\n        \"J1_SpLoc_Address1\": \"\",\n        \"J1_SpLoc_Address2\": \"\",\n        \"OriginalPrice\": 180.21,\n        \"Disclaimer\": \"\",\n        \"CCHoldStatus\": 1,\n        \"VehicleImage\": \"\",\n        \"ExtrasXML\": null,\n        \"SupplierID\": 5078,\n        \"SearchType\": \"GEO\",\n        \"Emergency_Number\": \"\",\n        \"Resort_Office_Number\": \"\",\n        \"Office_Hours_Week\": \"\",\n        \"Office_Hours_Weekend\": \"\",\n        \"BookRef3rd\": \"\",\n        \"ProductType\": 1,\n        \"CalcJ1PickupTime\": 1,\n        \"CalcJ2PickupTime\": 1,\n        \"Luggage_Big\": 3,\n        \"Luggage_Small\": 3,\n        \"MarketingSMSOptin\": 0,\n        \"ClientID\": \"0\",\n        \"Newsletter\": 0,\n        \"VI_Journey1\": \"\",\n        \"AltPickupLoc\": \"\",\n        \"VehicleNameEN\": \"Private transfer (1  -3 people)\",\n        \"Company_Logo\": \"\",\n        \"OrgSellPrice\": 0,\n        \"ServiceFee\": 0,\n        \"Pre_OnD_Flag\": 0,\n        \"v2\": {\n            \"id\": 38,\n            \"deletedBy\": null,\n            \"deletedAt\": null,\n            \"createdAt\": \"2023-08-31T11:31:13.000Z\",\n            \"modifiedAt\": null,\n            \"status\": \"CREATED\",\n            \"notificationStatus\": \"PENDING\",\n            \"driverStatus\": \"PENDING\",\n            \"externalBookingReference\": \"44225562\",\n            \"ipAddress\": \"90.200.137.200\",\n            \"dbserver\": \"10.10.12.30\",\n            \"tgrsId\": \"20\",\n            \"account\": null,\n            \"transactionId\": null,\n            \"externalStateHash\": null,\n            \"pickupDateTime\": null,\n            \"pickupDateTimeZone\": null,\n            \"bookedDate\": null,\n            \"reference\": \"BookingRef\",\n            \"externalCustomerReference\": \"87654321\",\n            \"searchResultId\": \"1A9401847B8A4DE088DC0EA386FB040E20230831122934120-8036523\",\n            \"comment\": \"Need a pet friendly car\",\n            \"cancellationReason\": null,\n            \"flightNumber\": \"BA123\",\n            \"ammendedDate\": null,\n            \"cancellationDate\": null,\n            \"nextCheckDate\": \"2023-08-31 12:31:13.00608+01\",\n            \"passengerCount\": null,\n            \"latTo\": 0,\n            \"longTo\": 0,\n            \"latFrom\": 0,\n            \"longFrom\": 0,\n            \"price\": null\n        },\n        \"reference\": \"T_Z1111295__j1\",\n        \"time\": \"1400\",\n        \"date\": \"09/09/2023\",\n        \"pickup\": \"Barcelona El Prat Airport (BCN)\",\n        \"dropoff\": \"Calella, Spain\"\n    }\n]"}],"_postman_id":"53c60a29-deb3-47aa-aa8b-1bf3f720f31f"},{"name":"Update Meeting Instructions","id":"7759d447-f4c2-4f63-a57a-c16a60b435f2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"scope\": \"booking.rides.instructions\",\n    \"action\": \"UPDATE\",\n    \"payload\": {\n        \"bookingReference\": \"HOPPABOOKINGREF\",\n        \"pickupInstructions\": [\n            \"J1 pickupInstructions\",\n            \"J2 pickupInstructions\"\n        ]\n    }\n}","options":{"raw":{"language":"json"}}},"url":"{{ridesflyer_api_base_url}}/api/v1/mobility/taxis/events/partners","description":"<p>Update meeting instructions for each ride.</p>\n","urlObject":{"path":["api","v1","mobility","taxis","events","partners"],"host":["{{ridesflyer_api_base_url}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"7759d447-f4c2-4f63-a57a-c16a60b435f2"}],"id":"319853ad-d764-4b3d-a577-5d0663aafbb7","description":"<p>A Booking is a reservation made by an Agent that will be available in your Partner platform. When receiving a booking you can attach a Ride to it for each of its legs.</p>\n","_postman_id":"319853ad-d764-4b3d-a577-5d0663aafbb7"},{"name":"Rides","item":[{"name":"Add Ride","id":"a2137534-fc38-4f04-be57-49ed61a51d8e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"data\": {\n        \"type\": \"rides\",\n        \"attributes\": {\n            \"reference\": \"bookingref__j1 or bookingref__j2\",\n            \"driver\": \"driverID\"\n        }\n    }\n}","options":{"raw":{"language":"json"}}},"url":"{{ridesflyer_api_base_url}}/api/v1/mobility/taxis/rides/","description":"<p>You can use the Create Ride endpoint to define a new Ride and assign a Driver to it. It is important to note that a Driver must already exist.</p>\n<p>If a Booking is a round trip then two separate Rides must be created, one for each leg.</p>\n<p>The format of a Ride Reference is the combined reference of the Booking plus the ‘<strong>j1’ or ‘</strong>j2’ suffix, depending on whether the Ride is the departure or return trip. E.g. if a round trip Booking has a Booking Reference B0001 then the two Rides should be created as B0001__j1 and B0001__j2</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Name</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Mandatory</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>type</td>\n<td>string</td>\n<td>Y</td>\n<td>Should always be <em>rides</em></td>\n</tr>\n<tr>\n<td>reference</td>\n<td>string</td>\n<td>Y</td>\n<td>The Booking Reference of the ride plus ‘<strong>j1’ or ‘</strong>j2’ suffix</td>\n</tr>\n<tr>\n<td>driver</td>\n<td>numeric</td>\n<td>Y</td>\n<td>The Driver ID</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","v1","mobility","taxis","rides",""],"host":["{{ridesflyer_api_base_url}}"],"query":[],"variable":[]}},"response":[{"id":"79b9e66c-3abf-4519-9be4-60b2af6498fa","name":"Add Ride","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"data\": {\n        \"type\": \"rides\",\n        \"attributes\": {\n            \"reference\": \"T_Z1111295__j1\",\n            \"driver\": DRIVER_ID\n        }\n    }\n}","options":{"raw":{"language":"json"}}},"url":"{{ridesflyer_api_base_url}}/api/v1/mobility/taxis/rides/"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx"},{"key":"Date","value":"Fri, 08 Sep 2023 10:02:21 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"64"},{"key":"Connection","value":"keep-alive"},{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"X-Correlation-Id","value":"7362e4b5-8aeb-479c-b018-1107ae89400d"},{"key":"ETag","value":"W/\"40-8FGLQVJ4KOm68qMkBhukgnSwKYY\""},{"key":"X-Response-Time","value":"58.881"},{"key":"Access-Control-Allow-Methods","value":"GET, POST, PUT, DELETE, OPTIONS, PATCH"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"err\": null,\n    \"data\": {\n        \"id\": 14\n    },\n    \"message\": \"success\"\n}"}],"_postman_id":"a2137534-fc38-4f04-be57-49ed61a51d8e"},{"name":"Add Vehicle","id":"8961e160-19f6-466a-8dfd-b7c1ba8869c5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\n    \"data\": {\n        \"type\": \"rides\",\n        \"attributes\": {\n            \"action\": \"vehicle\",\n            \"vehicle\": \"vehicleID\",\n            \"driver\": \"driverID\"\n        }\n    }\n}","options":{"raw":{"language":"json"}}},"url":"{{ridesflyer_api_base_url}}/api/v1/mobility/taxis/rides/:RideID","description":"<p>Using the Add Vehicle endpoint, you can assign a Vehicle to a Ride created via the Add Ride endpoint. It is important to note that the assigned Vehicle must already exist.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Name</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Mandatory</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>type</td>\n<td>string</td>\n<td>Y</td>\n<td>Should always be <em>rides</em></td>\n</tr>\n<tr>\n<td>action</td>\n<td>string</td>\n<td>Y</td>\n<td>Should always be <em>vehicle</em></td>\n</tr>\n<tr>\n<td>driver</td>\n<td>numeric</td>\n<td>Y</td>\n<td>The Driver ID</td>\n</tr>\n<tr>\n<td>vehicle</td>\n<td>numeric</td>\n<td>Y</td>\n<td>The Vehicle ID</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","v1","mobility","taxis","rides",":RideID"],"host":["{{ridesflyer_api_base_url}}"],"query":[],"variable":[{"id":"a4efa982-58a4-4435-b7ee-ef96a779eb45","type":"any","value":"","key":"RideID"}]}},"response":[{"id":"1bb4666d-0b06-4d63-8bf5-a9b2254edb48","name":"Add vehicle to Ride","originalRequest":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\n    \"data\": {\n        \"type\": \"rides\",\n        \"attributes\": {\n            \"action\": \"vehicle\",\n            \"vehicle\": 13,\n            \"driver\": 16\n        }\n    }\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"{{ridesflyer_api_base_url}}/api/v1/mobility/taxis/rides/:RideID","host":["{{ridesflyer_api_base_url}}"],"path":["api","v1","mobility","taxis","rides",":RideID"],"variable":[{"key":"RideID","value":"14"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx"},{"key":"Date","value":"Fri, 08 Sep 2023 10:03:19 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"339"},{"key":"Connection","value":"keep-alive"},{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"X-Correlation-Id","value":"8766bd18-4563-4ba0-808a-d0f9ac6c4f73"},{"key":"ETag","value":"W/\"153-icn/ipchWHXDbkv8tt0aQnN9qiE\""},{"key":"X-Response-Time","value":"50.454"},{"key":"Access-Control-Allow-Methods","value":"GET, POST, PUT, DELETE, OPTIONS, PATCH"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"err\": null,\n    \"data\": {\n        \"id\": 14,\n        \"vehicle\": {\n            \"id\": 13,\n            \"deletedBy\": null,\n            \"deletedAt\": null,\n            \"createdAt\": \"2023-09-08T09:58:50.000Z\",\n            \"modifiedAt\": null,\n            \"registration\": \"AAA000\",\n            \"make\": \"Mercedes-Benz\",\n            \"model\": \"E-Class\",\n            \"colour\": \"black\",\n            \"isDefault\": false,\n            \"avatar\": null,\n            \"driver\": 16,\n            \"status\": \"ACTIVE\",\n            \"age\": \"LESS_THAN_5\"\n        }\n    },\n    \"message\": \"success\"\n}"}],"_postman_id":"8961e160-19f6-466a-8dfd-b7c1ba8869c5"},{"name":"View Rides","id":"b4157d11-8803-43a5-ac19-3fe46f3cd0c1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"{{ridesflyer_api_base_url}}/api/v1/mobility/taxis/rides","description":"<p>You can use the View Rides endpoint to retrieve all the available Rides.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Param</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Mandatory</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>filter[bookingDate][$gt]</td>\n<td>date</td>\n<td>N</td>\n<td>Next dates are retrieved based on this date.  <br />  <br />Use the format 2025-12-25</td>\n</tr>\n<tr>\n<td>includes[]</td>\n<td>string</td>\n<td>N</td>\n<td>Filters from</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","v1","mobility","taxis","rides"],"host":["{{ridesflyer_api_base_url}}"],"query":[],"variable":[]}},"response":[{"id":"7782eaea-86fb-49fb-a238-e480daae6669","name":"view rides","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{ridesflyer_api_base_url}}/api/v1/mobility/taxis/rides?filter[bookingDate][$gt]=24/03/2021&includes[]=vehicle","host":["{{ridesflyer_api_base_url}}"],"path":["api","v1","mobility","taxis","rides"],"query":[{"key":"filter[bookingDate][$gt]","value":"24/03/2021"},{"key":"includes[]","value":"vehicle"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx"},{"key":"Date","value":"Fri, 08 Sep 2023 07:23:53 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"6687"},{"key":"Connection","value":"keep-alive"},{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"X-Correlation-Id","value":"e9a8664f-46eb-4f07-82f6-5512d2be81de"},{"key":"ETag","value":"W/\"1a1f-gZA+FM6IMmd5jUlYFK9VfsEkdQ4\""},{"key":"X-Response-Time","value":"43.196"},{"key":"Access-Control-Allow-Methods","value":"GET, POST, PUT, DELETE, OPTIONS, PATCH"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": [\n        {\n            \"id\": 9,\n            \"deletedBy\": null,\n            \"deletedAt\": null,\n            \"createdAt\": \"2023-08-11T08:05:43.000Z\",\n            \"modifiedAt\": \"2023-08-31T09:13:48.000Z\",\n            \"status\": \"COMPLETED\",\n            \"ongoingStatus\": \"COMPLETED\",\n            \"bookingReference\": \"Booking_Reference\",\n            \"externalBookingReference\": \"44225562\",\n            \"externalCustomerReference\": \"87654321\",\n            \"externalBookingStateHash\": null,\n            \"tripReference\": \"Booking_Reference__j1\",\n            \"duration\": \"0\",\n            \"passengers\": 4,\n            \"adults\": 4,\n            \"bookingDate\": \"24/10/2023\",\n            \"bookingDateTime\": \"2023-10-24T14:00:00.000Z\",\n            \"bookingTime\": \"1400\",\n            \"clientName\": \"Mr John Doe\",\n            \"clientTelephone\": \"+440000000\",\n            \"dropoffLocation\": \"Calella, Spain\",\n            \"pickupLocation\": \"Barcelona El Prat Airport (BCN)\",\n            \"infants\": 0,\n            \"numberOfBags\": \"1\",\n            \"children\": 0,\n            \"latTo\": 0,\n            \"longTo\": 0,\n            \"latFrom\": 0,\n            \"longFrom\": 0,\n            \"supplierBookingId\": null,\n            \"arVehicleDesc\": \"Private transfer (1  -4 people)\",\n            \"driver\": 6,\n            \"company\": 231,\n            \"vehicle\": {\n                \"id\": 6,\n                \"deletedBy\": null,\n                \"deletedAt\": null,\n                \"createdAt\": \"2023-07-18T09:37:58.000Z\",\n                \"modifiedAt\": null,\n                \"registration\": \"TEST001\",\n                \"make\": \"Ferrari\",\n                \"model\": \"Yellow\",\n                \"colour\": \"Fish see\",\n                \"isDefault\": false,\n                \"avatar\": null,\n                \"driver\": 12,\n                \"status\": \"ACTIVE\",\n                \"age\": \"LESS_THAN_5\"\n            },\n            \"supplierName\": \"Test Supplier\",\n            \"tgrsId\": \"20\",\n            \"account\": null\n        }\n    ],\n    \"metadata\": {\n        \"page\": {\n            \"size\": 10,\n            \"number\": 1\n        },\n        \"totalCount\": 6,\n        \"hasNextPage\": false,\n        \"hasPreviousPage\": false\n    }\n}"}],"_postman_id":"b4157d11-8803-43a5-ac19-3fe46f3cd0c1"},{"name":"Create Ride Event","id":"4362a3f7-fcc1-4a47-ab48-7b8889efa797","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\n    \"data\": {\n        \"type\": \"rides\",\n        \"attributes\": {\n            \"action\": \"events\",\n            \"driver\": \"driverID\",\n            \"events\": {\n                \"longitude\": \"lat\",\n                \"latitude\": \"long\",\n                \"status\": \"event_status\"\n            }\n        }\n    }\n}","options":{"raw":{"language":"json"}}},"url":"{{ridesflyer_api_base_url}}/api/v1/mobility/taxis/rides/:RideID","description":"<p>You can use the Create Ride Event endpoint to create an Event that will be shared to the agent. The Events that can be fired can be one of: ACCEPTED, STARTED, ARRIVED_AT_PICKUP, CONFIRM_LOCATION, IN_PROGRESS, CALLED, DESTINATION_REACHED, COMPLETED, CANCELLED, REJECTED, NO_SHOW.</p>\n<p>Ride events can be sent in 5 minute intervals.</p>\n<p>The mandatory events that need to be sent to consider a ride fulfilled are ACCEPTED, STARTED, ARRIVED_AT_PICKUP and COMPLETED.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Name</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Mandatory</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>type</td>\n<td>string</td>\n<td>Y</td>\n<td>Should always be <em>rides</em></td>\n</tr>\n<tr>\n<td>action</td>\n<td>string</td>\n<td>Y</td>\n<td>Should always be <em>events</em></td>\n</tr>\n<tr>\n<td>driver</td>\n<td>numeric</td>\n<td>Y</td>\n<td>The Driver ID</td>\n</tr>\n<tr>\n<td>longitude</td>\n<td>string</td>\n<td>Y</td>\n<td>The longitude of the event location</td>\n</tr>\n<tr>\n<td>latitude</td>\n<td>string</td>\n<td>Y</td>\n<td>The latitude of the event location</td>\n</tr>\n<tr>\n<td>status</td>\n<td>string</td>\n<td>Y</td>\n<td>Can be any of <em>ACCEPTED, STARTED, ARRIVED_AT_PICKUP, CONFIRM_LOCATION, IN_PROGRESS, CALLED, DESTINATION_REACHED, COMPLETED, CANCELLED, REJECTED, NO_SHOW</em></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","v1","mobility","taxis","rides",":RideID"],"host":["{{ridesflyer_api_base_url}}"],"query":[],"variable":[{"type":"any","value":"","key":"RideID"}]}},"response":[{"id":"78c34bb6-91bb-412c-9967-13252469cf9b","name":"Create Ride event","originalRequest":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\n    \"data\": {\n        \"type\": \"rides\",\n        \"attributes\": {\n            \"action\": \"events\",\n            \"driver\": 16,\n            \"events\": {\n                \"longitude\": \"50.111\",\n                \"latitude\": \"50.222\",\n                \"status\": \"ACCEPTED\"\n            }\n        }\n    }\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"{{ridesflyer_api_base_url}}/api/v1/mobility/taxis/rides/:RideID","host":["{{ridesflyer_api_base_url}}"],"path":["api","v1","mobility","taxis","rides",":RideID"],"variable":[{"key":"RideID","value":"14"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx"},{"key":"Date","value":"Fri, 08 Sep 2023 10:05:15 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"237"},{"key":"Connection","value":"keep-alive"},{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"X-Correlation-Id","value":"a9f669fb-849c-4952-b5e9-4d6c8e36bdcf"},{"key":"ETag","value":"W/\"ed-UtHNVB/41n/kkvkLZ6c+jKs8MI4\""},{"key":"X-Response-Time","value":"58.822"},{"key":"Access-Control-Allow-Methods","value":"GET, POST, PUT, DELETE, OPTIONS, PATCH"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"err\": null,\n    \"data\": {\n        \"id\": 14,\n        \"event\": {\n            \"id\": 66,\n            \"deletedBy\": null,\n            \"deletedAt\": null,\n            \"createdAt\": \"2023-08-31T13:47:49.000Z\",\n            \"modifiedAt\": null,\n            \"status\": \"ACCEPTED\",\n            \"latitude\": null,\n            \"longitude\": null,\n            \"rides\": 14\n        }\n    },\n    \"message\": \"success\"\n}"}],"_postman_id":"4362a3f7-fcc1-4a47-ab48-7b8889efa797"},{"name":"Ride Events","id":"4db69a95-9fea-461f-b080-d3e867e2ebc2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"{{ridesflyer_api_base_url}}/api/v1/mobility/taxis/rides/events/:RideID","description":"<p>You can retrieve available Ride Events created for an existing Ride by providing the Ride ID.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Name</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Mandatory</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>type</td>\n<td>string</td>\n<td>Y</td>\n<td>Should always be <em>rides</em></td>\n</tr>\n<tr>\n<td>reference</td>\n<td>string</td>\n<td>Y</td>\n<td>The Booking Reference of the ride</td>\n</tr>\n<tr>\n<td>driver</td>\n<td>numeric</td>\n<td>Y</td>\n<td>The Driver ID</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","v1","mobility","taxis","rides","events",":RideID"],"host":["{{ridesflyer_api_base_url}}"],"query":[],"variable":[{"id":"55ed25ef-507d-45ab-8bc7-4b0e249c177b","type":"any","value":"","key":"RideID"}]}},"response":[{"id":"8ae94bab-555b-4570-bd8e-758889ead851","name":"Ride Events","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{ridesflyer_api_base_url}}/api/v1/mobility/taxis/rides/events/:RideID","host":["{{ridesflyer_api_base_url}}"],"path":["api","v1","mobility","taxis","rides","events",":RideID"],"variable":[{"key":"RideID","value":"14"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx"},{"key":"Date","value":"Fri, 08 Sep 2023 19:45:51 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"647"},{"key":"Connection","value":"keep-alive"},{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"X-Correlation-Id","value":"3654c57d-114f-42b8-9d37-18c01d34c3e7"},{"key":"ETag","value":"W/\"287-SW+T7qKXl/L8XsekyIccOU7kq3I\""},{"key":"X-Response-Time","value":"30.779"},{"key":"Access-Control-Allow-Methods","value":"GET, POST, PUT, DELETE, OPTIONS, PATCH"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": [\n        {\n            \"id\": 66,\n            \"deletedBy\": null,\n            \"deletedAt\": null,\n            \"createdAt\": \"2023-08-31T13:47:49.000Z\",\n            \"modifiedAt\": null,\n            \"status\": \"ACCEPTED\",\n            \"latitude\": null,\n            \"longitude\": null,\n            \"rides\": 14\n        },\n        {\n            \"id\": 67,\n            \"deletedBy\": null,\n            \"deletedAt\": null,\n            \"createdAt\": \"2023-08-31T14:01:18.000Z\",\n            \"modifiedAt\": null,\n            \"status\": \"STARTED\",\n            \"latitude\": \"37.785834\",\n            \"longitude\": \"-122.406417\",\n            \"rides\": 14\n        },\n        {\n            \"id\": 68,\n            \"deletedBy\": null,\n            \"deletedAt\": null,\n            \"createdAt\": \"2023-08-31T14:01:22.000Z\",\n            \"modifiedAt\": null,\n            \"status\": \"ARRIVED_AT_PICKUP\",\n            \"latitude\": \"37.785834\",\n            \"longitude\": \"-122.406417\",\n            \"rides\": 14\n        }\n    ],\n    \"metadata\": {\n        \"page\": {\n            \"size\": 10,\n            \"number\": 1\n        },\n        \"totalCount\": 3,\n        \"hasNextPage\": false,\n        \"hasPreviousPage\": false\n    }\n}"}],"_postman_id":"4db69a95-9fea-461f-b080-d3e867e2ebc2"}],"id":"308736bd-1f1a-4a71-a7c2-3f3c311fb4ff","description":"<p>A Ride is either a one way transfer that has been booked and shown in your profile. Each Ride is associated with a Booking and represents one leg of the route. If a Booking includes a return trip, then one Ride should be generated for each trip. Each Ride must have a Driver and a Vehicle associated to it.</p>\n<p>Using the Rides endpoints you can Create, View and Update your Rides. You can also create and view your Ride events. Ride events are push notifications that help an Agent track the status of a Ride.</p>\n","_postman_id":"308736bd-1f1a-4a71-a7c2-3f3c311fb4ff"},{"name":"Webhooks & new integrations","item":[{"name":"Authentication","event":[{"listen":"test","script":{"exec":["const jsonData = pm.response.json();","","if (jsonData.access_token) {","    pm.environment.set(\"token\", jsonData.access_token);","    pm.environment.set(\"JWT\", jsonData.access_token);","}"],"type":"text/javascript","id":"a3b03230-415a-4694-8bbd-93d8c087b8af"}}],"id":"00726343-8135-44c3-9d10-f2ab08a12c26","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"{{x-api-key}}"},{"key":"password","value":"{{x-api-secret}}"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/x-www-form-urlencoded"}],"body":{"mode":"urlencoded","urlencoded":[{"key":"grant_type","value":"client_credentials"}]},"url":"{{partner_base_url}}/oauth/token","description":"<p>RidesFlyer API uses Bearer Authentication to authenticate the webhook requests when contacting your registered endpoints. Depending on the response expiration rate, access tokens are renewed.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Name</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Mandatory</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>access_token</td>\n<td>string</td>\n<td>Y</td>\n<td>The access token used to authenticate RidesFlyer webhooks</td>\n</tr>\n<tr>\n<td>token_type</td>\n<td>string</td>\n<td>Y</td>\n<td>Must be <em>Bearer</em></td>\n</tr>\n<tr>\n<td>access_expires_at</td>\n<td>string</td>\n<td>Y</td>\n<td>Token expire rate following ISO 8601</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["oauth","token"],"host":["{{partner_base_url}}"],"query":[],"variable":[]}},"response":[{"id":"42ec7842-339a-4ee4-8d38-760f0c996277","name":"authentication","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/x-www-form-urlencoded"}],"body":{"mode":"urlencoded","urlencoded":[{"key":"grant_type","value":"client_credentials"}]},"url":"{{auth_base_url}}/oauth/token"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx"},{"key":"Date","value":"Tue, 03 Oct 2023 09:29:10 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"130"},{"key":"Connection","value":"keep-alive"},{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"X-Correlation-Id","value":"5e2d31c4-f9a1-445b-bd8d-dd017ec13c8b"},{"key":"ETag","value":"W/\"82-3toIOhlfxhoDFuAm01S/ekxZmAQ\""},{"key":"X-Response-Time","value":"4.064"}],"cookie":[],"responseTime":null,"body":"{\n    \"access_token\": \"2b913a09ccdd172df35e5b757e3cc4bdac359dad\",\n    \"token_type\": \"Bearer\",\n    \"access_expires_at\": \"2023-09-07T15:24:47.501Z\"\n}"}],"_postman_id":"00726343-8135-44c3-9d10-f2ab08a12c26"},{"name":"Status","id":"63b3c471-012c-411d-9c3f-4dc2f1f038f2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"{{partner_base_url}}/:bookingref","description":"<p>After a booking has been made, the RidesFlyer API will start querying your registered API for status changes of a transfer. The transfer is queried by the RidesFlyer booking reference. The transfer querying concludes upon the completion of the transfer. The available transfer statuses are: SEARCHING, STARTED, ARRIVED_AT_PICKUP, IN_PROGRESS, COMPLETED, CANCELLED and FAILED.</p>\n<p>When a Booking is made, the transfer’s status is set to <em>SEARCHING</em> indicating that a Driver and a Vehicle should be assigned to the transfer. RidesFlyer API will query your registered endpoint every one (1) minute until the transfer is acknowledged (driver and vehicle assigned and status changed to <em>STARTED</em>). After that RidesFlyer API will query your registered endpoint every fifteen(15) minutes to retrieve transfer updates until the transfer status is updated to <em>COMPLETED</em> or <em>FAILED</em>.</p>\n<p>The mandatory events that need to be sent to consider a ride fulfilled are ACCEPTED, STARTED, ARRIVED_AT_PICKUP and COMPLETED.</p>\n<p>To ensure events delivery, the mandatory Ride information mush be provided. Including Vehicle and Driver information. Please use the <a href=\"https://docs.ridesflyer.com/#a2137534-fc38-4f04-be57-49ed61a51d8e\">Create Ride endpoint</a> to associate Driver and Vehicle to a Ride.</p>\n<p>Passengers must be aware of the status of the transfer either via SMS updates or other means of live feed e.g. website. To communicate the status to the passenger, the phoneNumber field in the Booking webhook may be used.</p>\n<p>The expected response when RidesFlyer API is querying your registered endpoint should include the following fields:</p>\n<p>NOTE: When the RidesFlyer API queries your API, it appends <code>__j1</code> or <code>__j2</code> (for bookings with a return date) to the booking reference to query for first or second trip satuses.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Name</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Mandatory</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>status</td>\n<td>string</td>\n<td>Y</td>\n<td>Transfer status should be one of: <em>SEARCHING,</em> ACCEPTED, <em>STARTED, ARRIVED_AT_PICKUP, IN_PROGRESS, COMPLETED, CANCELLED and FAILED</em></td>\n</tr>\n<tr>\n<td>bookingReference</td>\n<td>string</td>\n<td>Y</td>\n<td>Your booking reference</td>\n</tr>\n<tr>\n<td>driver</td>\n<td>object</td>\n<td>Y*</td>\n<td>The allocated driver details</td>\n</tr>\n<tr>\n<td>name</td>\n<td>string</td>\n<td>Y</td>\n<td>Driver full name</td>\n</tr>\n<tr>\n<td>license</td>\n<td>string</td>\n<td>Y</td>\n<td>Driver license</td>\n</tr>\n<tr>\n<td>image</td>\n<td>string</td>\n<td>N</td>\n<td>Driver image url</td>\n</tr>\n<tr>\n<td>contact</td>\n<td>string</td>\n<td>Y</td>\n<td>Driver mobile number</td>\n</tr>\n<tr>\n<td>vehicle</td>\n<td>object</td>\n<td>Y</td>\n<td>Registered vehicle details</td>\n</tr>\n<tr>\n<td>class</td>\n<td>string</td>\n<td>Y</td>\n<td>Vehicle class</td>\n</tr>\n<tr>\n<td>reg</td>\n<td>string</td>\n<td>Y</td>\n<td>Vehicle registration number</td>\n</tr>\n<tr>\n<td>model</td>\n<td>string</td>\n<td>Y</td>\n<td>Vehicle make and model</td>\n</tr>\n<tr>\n<td>color</td>\n<td>string</td>\n<td>Y</td>\n<td>Vehicle color</td>\n</tr>\n<tr>\n<td>pricing</td>\n<td>object</td>\n<td>Y*</td>\n<td>List of transfer charges</td>\n</tr>\n<tr>\n<td>net</td>\n<td>string</td>\n<td>Y</td>\n<td>Total transfer net cost</td>\n</tr>\n<tr>\n<td>tax</td>\n<td>string</td>\n<td>Y</td>\n<td>Total transfer tax</td>\n</tr>\n<tr>\n<td>total</td>\n<td>string</td>\n<td>Y</td>\n<td>Total transfer charge</td>\n</tr>\n<tr>\n<td>currency</td>\n<td>string</td>\n<td>Y</td>\n<td>Charge currency</td>\n</tr>\n<tr>\n<td>prices</td>\n<td>array</td>\n<td>Y</td>\n<td>List of transfer charges, including additional charges</td>\n</tr>\n<tr>\n<td>name</td>\n<td>string**</td>\n<td>Y</td>\n<td>Charge naming (e.g. waiting time, parking fee, promo, etc.)</td>\n</tr>\n<tr>\n<td>type</td>\n<td>string</td>\n<td>Y</td>\n<td>Charge type. Refer to types section for available charge types.</td>\n</tr>\n<tr>\n<td>tax</td>\n<td>string**</td>\n<td>Y</td>\n<td>Tax type</td>\n</tr>\n<tr>\n<td>rate</td>\n<td>numeric</td>\n<td>Y</td>\n<td>Charge per unit</td>\n</tr>\n<tr>\n<td>amount</td>\n<td>numeric</td>\n<td>Y</td>\n<td>Total units charged</td>\n</tr>\n<tr>\n<td>unit</td>\n<td>string*</td>\n<td>Y</td>\n<td>Measurement unit (e.g. minutes, miles, etc.)</td>\n</tr>\n<tr>\n<td>charge</td>\n<td>numeric</td>\n<td>Y</td>\n<td>Total charge</td>\n</tr>\n<tr>\n<td>taxes</td>\n<td>array</td>\n<td>Y</td>\n<td>Tax breakdown</td>\n</tr>\n<tr>\n<td>name</td>\n<td>string**</td>\n<td>Y</td>\n<td>Tax name describing tax type</td>\n</tr>\n<tr>\n<td>description</td>\n<td>string**</td>\n<td>Y</td>\n<td>Tax description (e.g. VAT)</td>\n</tr>\n<tr>\n<td>rate</td>\n<td>numeric</td>\n<td>Y</td>\n<td>Tax rate as percentage of charge total (e.g. 20)</td>\n</tr>\n<tr>\n<td>net</td>\n<td>string</td>\n<td>Y</td>\n<td>Charge total</td>\n</tr>\n<tr>\n<td>unit</td>\n<td>string</td>\n<td>Y</td>\n<td>Rate unit (<em>fixed</em> or <em>percentage</em>)</td>\n</tr>\n<tr>\n<td>charge</td>\n<td>string</td>\n<td>Y</td>\n<td>Tax charged</td>\n</tr>\n</tbody>\n</table>\n</div><p>*: Mandatory if Booking status is not <em>SEARCHING</em>.</p>\n<p>**: Free text</p>\n","urlObject":{"path":[":bookingref"],"host":["{{partner_base_url}}"],"query":[],"variable":[{"type":"any","value":"","key":"bookingref"}]}},"response":[{"id":"070161b5-f754-448c-860c-010ff6f128d0","name":"Status","originalRequest":{"method":"GET","header":[],"url":{"raw":"http://test.server.url/book/api/v1/mobility/taxis/events/partners/:bookingref","protocol":"http","host":["test","server","url"],"path":["book","api","v1","mobility","taxis","events","partners",":bookingref"],"variable":[{"key":"bookingref","value":""}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Date","value":"Fri, 06 Oct 2023 08:16:10 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"COMPLETED\",\n    \"bookingReference\": \"BOOKINGREFERENCE\",\n    \"driver\": {\n        \"name\": \"John Doe\",\n        \"license\": \"88999\",\n        \"image\": \"https://test.server.url/images/drivers/83453.jpg\",\n        \"contact\": \"447712555666\",\n        \"vehicle\": {\n            \"class\": \"vip_e\",\n            \"reg\": \"4DD L33\",\n            \"model\": \"Ford Galaxy\",\n            \"color\": \"Black\"\n        }\n    },\n    \"pricing\": {\n        \"net\": \"78.00\",\n        \"tax\": \"15.60\",\n        \"total\": \"93.60\",\n        \"currency\": \"USD\",\n        \"prices\": [\n            {\n                \"name\": \"Journey Mileage\",\n                \"type\": \"BASE\",\n                \"tax\": \"V20\",\n                \"rate\": 2.5,\n                \"amount\": 30,\n                \"unit\": \"miles\",\n                \"charge\": 75.00\n            },\n            {\n                \"name\": \"Waiting Time\",\n                \"type\": \"WAIT\",\n                \"tax\": \"V20\",\n                \"amount\": 20,\n                \"rate\": 0.25,\n                \"unit\": \"minutes\",\n                \"charge\": 5.00\n            },\n            {\n                \"name\": \"Admin\",\n                \"type\": \"ADMIN\",\n                \"tax\": \"V20\",\n                \"amount\": 80,\n                \"rate\": 10,\n                \"unit\": \"percent\",\n                \"charge\": 8.00\n            },\n            {\n                \"name\": \"Promo Code\",\n                \"type\": \"ADJUST\",\n                \"tax\": \"V20\",\n                \"amount\": -10,\n                \"rate\": 1,\n                \"unit\": \"fixed\",\n                \"charge\": -10.00\n            },\n            {\n                \"name\": \"Parking\",\n                \"type\": \"EXTRA\",\n                \"tax\": \"0\",\n                \"amount\": 1,\n                \"charge\": 2.50\n            }\n        ],\n        \"taxes\": [\n            {\n                \"name\": \"V20\",\n                \"description\": \"VAT\",\n                \"rate\": 20,\n                \"net\": \"78.00\",\n                \"unit\": \"percent\",\n                \"charge\": \"15.60\"\n            }\n        ]\n    }\n}"}],"_postman_id":"63b3c471-012c-411d-9c3f-4dc2f1f038f2"},{"name":"Search","id":"afab7629-529b-406e-b351-f6f306394316","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"passengers\": {\n        \"adults\": 1,\n        \"children\": 1,\n        \"infants\": \"\",\n        \"total\": 3\n    },\n    \"pickupDateTime\": \"2023-09-21T12:00:00Z\",\n    \"pickupTimezone\": \"Europe/Paris\",\n    \"drivingDistanceInKm\": 3.51,\n    \"isReturn\": true,\n    \"asap\": true,\n    \"sessionid\": \"session123\",\n    \"stops\": [\n        {\n            \"latitude\": 40.7128,\n            \"longitude\": -74.0060,\n            \"address\": \"123 Main St\",\n            \"postcode\": \"54321\",\n            \"country\": \"USA\",\n            \"type\": \"Address\",\n            \"mode\": \"pickup\",\n            \"city\": \"New York\"\n        },\n        {\n            \"latitude\": 51.5074,\n            \"longitude\": -0.1278,\n            \"address\": \"456 Elm St\",\n            \"mode\": \"stop_1\",\n            \"postcode\": \"98765\",\n            \"country\": \"UK\",\n            \"type\": \"Airport\",\n            \"iata\": \"LHR\",\n            \"terminal\": \"Terminal 1\"\n        }\n    ],\n    \"regularBags\": 2,\n    \"largeBags\": 1\n}","options":{"raw":{"language":"json"}}},"url":"{{partner_base_url}}/search","description":"<p>When a search is performed via the RidesFlyer API the Search event will be triggered to notify your endpoint of the search criteria such as origin, destination, passenger number and pickup time.</p>\n<p>Each search is defined by number of Stops. Transfer destinations are listed by order of travel in the Stops array, with the first entry being the pickup and last entry being the drop off locations.</p>\n<p>Every search to your API should return a Search ID related to the search, as well as quotes for each of the different service types you offer (e.g. economy, luxury).</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Name</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>adults</td>\n<td>numeric</td>\n<td>Number of adult passengers</td>\n</tr>\n<tr>\n<td>children</td>\n<td>numeric</td>\n<td>Number of children (2-13 years)</td>\n</tr>\n<tr>\n<td>infants</td>\n<td>numeric</td>\n<td>Number of infants (0-2 years)</td>\n</tr>\n<tr>\n<td>total</td>\n<td>numeric</td>\n<td>The total number of passengers</td>\n</tr>\n<tr>\n<td>pickupDateTime</td>\n<td>datetime</td>\n<td>Date and time of pickup in ISO 8601 format (UTC)</td>\n</tr>\n<tr>\n<td>pickupTimezone</td>\n<td>string</td>\n<td>The timezone of pickup time</td>\n</tr>\n<tr>\n<td>drivingDistanceInKm</td>\n<td>numeric</td>\n<td>Trip driving distance in Km</td>\n</tr>\n<tr>\n<td>isReturn</td>\n<td>boolean</td>\n<td>Indicates whether the transfer includes a return trip</td>\n</tr>\n<tr>\n<td>returnDateTime</td>\n<td>datetime</td>\n<td>Date and time of return trip pickup in ISO 8601 format. Available if isReturn=1.</td>\n</tr>\n<tr>\n<td>returnTimezone</td>\n<td>string</td>\n<td>The timezone of pickup time. Available if isReturn=1.</td>\n</tr>\n<tr>\n<td>asap</td>\n<td>boolean</td>\n<td>Indicates whether the transfer is on demand or scheduled</td>\n</tr>\n<tr>\n<td>sessionid</td>\n<td>string</td>\n<td>The SearchID dictated by the API</td>\n</tr>\n<tr>\n<td>stops</td>\n<td>array</td>\n<td>List of transfer destinations by travel order</td>\n</tr>\n<tr>\n<td>latitude</td>\n<td>numeric</td>\n<td>Geocode of Stop</td>\n</tr>\n<tr>\n<td>longitude</td>\n<td>numeric</td>\n<td>Geocode of Stop</td>\n</tr>\n<tr>\n<td>address</td>\n<td>string</td>\n<td>Stop address</td>\n</tr>\n<tr>\n<td>postcode</td>\n<td>string</td>\n<td>Stop post code</td>\n</tr>\n<tr>\n<td>city</td>\n<td>string</td>\n<td>Stop city</td>\n</tr>\n<tr>\n<td>country</td>\n<td>string</td>\n<td>Stop country</td>\n</tr>\n<tr>\n<td>type</td>\n<td>string</td>\n<td>Indicates the Stop type, e.g. Airport, Port, Address, etc.</td>\n</tr>\n<tr>\n<td>mode</td>\n<td>string</td>\n<td>Indicates the type of stop.</td>\n</tr>\n<tr>\n<td>iata</td>\n<td>string</td>\n<td>Airport IATA. Sent only if Stop type is Airport</td>\n</tr>\n<tr>\n<td>terminal</td>\n<td>string</td>\n<td>Airport terminal. Sent only if Stop type is Airport</td>\n</tr>\n<tr>\n<td>regularbags</td>\n<td>numeric</td>\n<td>Number of regular luggage</td>\n</tr>\n<tr>\n<td>largebags</td>\n<td>numeric</td>\n<td>Number of large luggage</td>\n</tr>\n</tbody>\n</table>\n</div><p>Your API should respond with a list of available quotes identified by <em>quote_id</em>. Depending on your offered services, you can return multiple quotes. The quote selected by the client will be sent in the Booking webhook.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Name</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>vehicle_index</td>\n<td>numeric</td>\n<td>Quote indexing</td>\n</tr>\n<tr>\n<td>quote_id</td>\n<td>string</td>\n<td>Quote identifier used to book</td>\n</tr>\n<tr>\n<td>buy_currency</td>\n<td>string</td>\n<td>Pricing currency</td>\n</tr>\n<tr>\n<td>price</td>\n<td>numeric</td>\n<td>Transfer price (excludes any additional optional service)</td>\n</tr>\n<tr>\n<td>expires_at</td>\n<td>numeric</td>\n<td>Minutes after which the quote expires</td>\n</tr>\n<tr>\n<td>canx_hours</td>\n<td>numeric</td>\n<td>Hours prior to which cancellation is accepted</td>\n</tr>\n<tr>\n<td>canx_percent</td>\n<td>numeric</td>\n<td>Percentage of cancellation paid to client</td>\n</tr>\n<tr>\n<td>company_logo_url</td>\n<td>string</td>\n<td>Company logo</td>\n</tr>\n<tr>\n<td>company_name</td>\n<td>string</td>\n<td>Company name</td>\n</tr>\n<tr>\n<td>company_phone</td>\n<td>string</td>\n<td>Company phone</td>\n</tr>\n<tr>\n<td>company_terms_url</td>\n<td>string</td>\n<td>Company terms</td>\n</tr>\n<tr>\n<td>distance</td>\n<td>numeric</td>\n<td>Trip distance in km</td>\n</tr>\n<tr>\n<td>duration</td>\n<td>numeric</td>\n<td>Trip duration in minutes</td>\n</tr>\n<tr>\n<td>pickup_estimate</td>\n<td>numeric</td>\n<td>Estimated time for driver to reach client location</td>\n</tr>\n<tr>\n<td>max_stops</td>\n<td>numeric</td>\n<td>Should always be 1</td>\n</tr>\n<tr>\n<td>min_stops</td>\n<td>numeric</td>\n<td>Should always be 1</td>\n</tr>\n<tr>\n<td>vehicle_class</td>\n<td>string</td>\n<td>The vehicle class. Please refer to Types section for available vehicle classes</td>\n</tr>\n<tr>\n<td>vehicle_code</td>\n<td>string</td>\n<td>The vehicle class. Please refer to Types section for available vehicle codes</td>\n</tr>\n<tr>\n<td>vehicle_image_url</td>\n<td>string</td>\n<td>Vehicle image</td>\n</tr>\n<tr>\n<td>vehicle_make</td>\n<td>string</td>\n<td>Vehicle brand, e.g. <em>Mercedes-Benz</em></td>\n</tr>\n<tr>\n<td>vehicle_index</td>\n<td>numeric</td>\n<td>Position in result set</td>\n</tr>\n<tr>\n<td>vehicle_name</td>\n<td>string</td>\n<td>Vehicle name</td>\n</tr>\n<tr>\n<td>num_units</td>\n<td>numeric</td>\n<td>Number of vehicle units to book</td>\n</tr>\n<tr>\n<td>occupancy_from</td>\n<td>numeric</td>\n<td>Minimum number of seats</td>\n</tr>\n<tr>\n<td>occupancy_to</td>\n<td>numeric</td>\n<td>Maximum number of seats</td>\n</tr>\n<tr>\n<td>luggage_big</td>\n<td>numeric</td>\n<td>Maximum luggage capacity</td>\n</tr>\n<tr>\n<td>luggage_small</td>\n<td>numeric</td>\n<td>Maximum small luggage capacity</td>\n</tr>\n<tr>\n<td>transfer_type</td>\n<td>string</td>\n<td>Should be “Private”</td>\n</tr>\n<tr>\n<td>trip_type</td>\n<td>numeric</td>\n<td>Single(1) or return (2)</td>\n</tr>\n<tr>\n<td>extras</td>\n<td>object</td>\n<td>Additional services offered during booking</td>\n</tr>\n<tr>\n<td>code</td>\n<td>string</td>\n<td>Extras code as defined during signup</td>\n</tr>\n<tr>\n<td>quantity</td>\n<td>numeric</td>\n<td>Bookable seats</td>\n</tr>\n<tr>\n<td>price</td>\n<td>numeric</td>\n<td>Price per seat. Currency follows buy_currency variable.</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["search"],"host":["{{partner_base_url}}"],"query":[],"variable":[]}},"response":[{"id":"06b57f57-eaec-4195-beee-6b59943b0bf2","name":"search","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"passengers\": {\n        \"adults\": 1,\n        \"children\": 1,\n        \"infants\": \"\",\n        \"total\": 3\n    },\n    \"pickupDateTime\": \"2023-09-21T12:00:00Z\",\n    \"pickupTimezone\": \"Europe/Paris\",\n    \"isReturn\": true,\n    \"returnDateTime\": \"2023-09-25T15:00:00Z\",\n    \"returnTimezone\": \"Europe/Paris\",\n    \"drivingDistanceInKm\": 3.51,\n    \"asap\": true,\n    \"sessionid\": \"session123\",\n    \"stops\": [\n        {\n            \"latitude\": 40.7128,\n            \"longitude\": -74.0060,\n            \"address\": \"123 Main St\",\n            \"postcode\": \"54321\",\n            \"country\": \"USA\",\n            \"type\": \"Address\",\n            \"mode\": \"pickup\",\n            \"city\": \"New York\"\n        },\n        {\n            \"latitude\": 51.5074,\n            \"longitude\": -0.1278,\n            \"address\": \"456 Elm St\",\n            \"mode\": \"stop_1\",\n            \"postcode\": \"98765\",\n            \"country\": \"UK\",\n            \"type\": \"Airport\",\n            \"iata\": \"LHR\",\n            \"terminal\": \"Terminal 1\"\n        }\n    ],\n    \"regularBags\": 2,\n    \"largeBags\": 1\n}","options":{"raw":{"language":"json"}}},"url":"http://webhook.test.url/search"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Date","value":"Fri, 06 Oct 2023 07:29:31 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"searchResultId\": \"YourSearchResultID\",\n    \"rides\": [\n        {\n            \"vehicle_index\": 0,\n            \"quote_id\": \"821a878626263b796eb\",\n            \"buy_currency\": \"GBP\",\n            \"price\": 200.9,\n            \"expires_at\": 20,\n            \"company_logo_url\": \"https://test.logo.url/image\",\n            \"company_name\": \"Test company\",\n            \"company_phone\": \"+44(0) 1483 802408\",\n            \"distance\": \"24\",\n            \"duration\": 10,\n            \"max_stops\": 1,\n            \"min_stops\": 1,\n            \"num_units\": 1,\n            \"occupancy_from\": 1,\n            \"occupancy_to\": 4,\n            \"transfer_type\": \"Private\",\n            \"trip_type\": 1,\n            \"vehicle_class\": \"Economy\",\n            \"vehicle_image_url\": \"https://test.logo.url/image\",\n            \"vehicle_make\": \"Sedan\",\n            \"vehicle_name\": \"Regular\",\n            \"luggage_big\": 1,\n            \"luggage_small\": 2,\n            \"pickup_estimate\": 10,\n            \"canx_hours\": 24,\n            \"canx_percent\": 100,\n            \"extras\": [\n                {\n                    \"code\":\"baby_seat\",\n                    \"quantity\": 2,\n                    \"price\": 10.5\n                },\n                {\n                    \"code\":\"child_booster_seat\",\n                    \"quantity\": 2,\n                    \"price\": 11.5\n                }\n            ],\n            \"company_terms_url\": \"https://test.logo.url/tnc\"\n        },\n        {\n            \"vehicle_index\": 0,\n            \"buy_currency\": \"GBP\",\n            \"price\": 200.9,\n            \"expires_at\": 20,\n            \"company_logo_url\": \"https://test.logo.url/image\",\n            \"company_name\": \"Test company\",\n            \"company_phone\": \"+44(0) 1483 802408\",\n            \"quote_id\": \"821a878626263b796eb\",\n            \"distance\": \"24\",\n            \"duration\": 10,\n            \"max_stops\": 1,\n            \"min_stops\": 1,\n            \"num_units\": 1,\n            \"occupancy_from\": 1,\n            \"occupancy_to\": 4,\n            \"transfer_type\": \"Private\",\n            \"trip_type\": 1,\n            \"vehicle_class\": \"Luxury Car\",\n            \"vehicle_code\":\"luxury_car\",\n            \"vehicle_image_url\": \"https://test.logo.url/image\",\n            \"vehicle_make\": \"Sedan\",\n            \"vehicle_name\": \"Regular\",\n            \"luggage_big\": 1,\n            \"luggage_small\": 2,\n            \"pickup_estimate\": 10,\n            \"canx_hours\": 24,\n            \"canx_percent\": 100,\n            \"extras\": [\n                {\n                    \"code\":\"baby_seat\",\n                    \"seats\": 2,\n                    \"price\": 10.5\n                },\n                {\n                    \"code\":\"child_booster_seat\",\n                    \"seats\": 2,\n                    \"price\": 11.5\n                }\n            ],\n            \"company_terms_url\": \"https://test.logo.url/tnc\"\n        },\n    ]\n}"}],"_postman_id":"afab7629-529b-406e-b351-f6f306394316"},{"name":"Book","id":"ef071ed4-b3fe-407b-8d58-9a28c38d88bf","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"bookingReference\": \"BOOKINGREF\",\n    \"searchResultId\": \"{{searchResultId}}\",\n    \"quote_id\": \"6eb160b91680bd83\",\n    \"leadPassenger\": {\n        \"title\": \"Mr\",\n        \"firstName\": \"John\",\n        \"lastName\": \"Doe\",\n        \"phoneNumber\": \"+441632960881\",\n        \"customerId\": \"191e8c71a3f2c19\"\n    },\n    \"flightNumber\": \"BA123\",\n    \"comment\": \"Need a pet friendly car\",\n    \"extras\": [\n        {\n            \"code\": \"child_booster_seat\",\n            \"quantity\": 1\n        },\n        {\n            \"code\": \"baby_seat\",\n            \"quantity\": 1\n        }\n    ]\n}","options":{"raw":{"language":"json"}}},"url":"{{partner_base_url}}/book","description":"<p>RidesFlyer API will notify your endpoint if whenever a client is booking with you. The Booking event includes details on lead passenger, and flight information. Additional ancillaries requested by the client are included as Extras. The Extra object includes the Extra code and quantity booked.</p>\n<p>Once a booking is made, RidesFlyer will generate Rides for your booking (Bookingref__j1 for one way trip and optionally Bookingref__j2 if a return trip). You must populate the mandatory Ride information using <a href=\"https://docs.ridesflyer.com/#a2137534-fc38-4f04-be57-49ed61a51d8e\">Add Ride endpoint</a>. This includes Driver and Vehicle information for each transfer leg.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Name</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>bookingReference</td>\n<td>string</td>\n<td>The booking reference</td>\n</tr>\n<tr>\n<td>searchResultId</td>\n<td>string</td>\n<td>The ID provided (if applicable) by your API</td>\n</tr>\n<tr>\n<td>quote_id</td>\n<td>string</td>\n<td>Quote ID provided by your API</td>\n</tr>\n<tr>\n<td>title</td>\n<td>string</td>\n<td>Passenger title</td>\n</tr>\n<tr>\n<td>firstName</td>\n<td>string</td>\n<td>Passenger first name</td>\n</tr>\n<tr>\n<td>lastName</td>\n<td>string</td>\n<td>Passenger last name</td>\n</tr>\n<tr>\n<td>phoneNumber</td>\n<td>string</td>\n<td>Passenger phone number</td>\n</tr>\n<tr>\n<td>customerId</td>\n<td>string</td>\n<td>Passenger customer ID</td>\n</tr>\n<tr>\n<td>flightNumber</td>\n<td>string</td>\n<td>Flight number provided if destination is an airport</td>\n</tr>\n<tr>\n<td>comment</td>\n<td>string</td>\n<td>Passenger additional comments</td>\n</tr>\n<tr>\n<td>extras</td>\n<td>array</td>\n<td>Array of Extra objects</td>\n</tr>\n<tr>\n<td>code</td>\n<td>string</td>\n<td>Extra's code</td>\n</tr>\n<tr>\n<td>quantity</td>\n<td>numeric</td>\n<td>Extra’s quantity</td>\n</tr>\n<tr>\n<td>pickupInstructions</td>\n<td>array</td>\n<td>Ana optional property containing an array of pickup instructions</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["book"],"host":["{{partner_base_url}}"],"query":[],"variable":[]}},"response":[{"id":"eee09077-a38c-4ab7-a907-21c6eecfdffa","name":"book","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"bookingReference\": \"BOOKINGREF\",\n    \"searchResultId\": \"{{searchResultId}}\",\n    \"quote_id\": \"6eb160b91680bd83\",\n    \"leadPassenger\": {\n        \"title\": \"Mr\",\n        \"firstName\": \"John\",\n        \"lastName\": \"Doe\",\n        \"phoneNumber\": \"+441632960881\",\n        \"customerId\": \"191e8c71a3f2c19\"\n    },\n    \"flightNumber\": \"BA123\",\n    \"comment\": \"Need a pet friendly car\",\n    \"extras\": [\n        {\n            \"code\": \"child_booster_seat\",\n            \"quantity\": 1\n        },\n        {\n            \"code\": \"baby_seat\",\n            \"quantity\": 1\n        }\n    ]\n}","options":{"raw":{"language":"json"}}},"url":"http://webhook.test.url/book"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Date","value":"Fri, 06 Oct 2023 07:40:14 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"supplierReferenceId\": \"YOUR_BOOKINGREF\",\n    \"pickupInstructions\": [\"Stay in front of the terminal\"]\n}"}],"_postman_id":"ef071ed4-b3fe-407b-8d58-9a28c38d88bf"},{"name":"Cancel","id":"da93534a-2ec4-4995-91f8-3fd7f26f1633","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"bookingReference\": \"BOOKINGREF\",\n    \"reason\": \"Need a pet friendly car\"\n}","options":{"raw":{"language":"json"}}},"url":"{{partner_base_url}}/cancel","description":"<p>RidesFlyer API will notify your endpoint if whenever a client cancels a transfer. The Cancel event includes the cancellation reason.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Name</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>bookingReference</td>\n<td>string</td>\n<td>The booking reference</td>\n</tr>\n<tr>\n<td>reason</td>\n<td>string</td>\n<td>The cancellation reason</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["cancel"],"host":["{{partner_base_url}}"],"query":[],"variable":[]}},"response":[{"id":"08749858-3528-476b-8a08-490eaa447349","name":"cancel","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"bookingReference\": \"BOOKINGREF\",\n    \"reason\": \"Need a pet friendly car\"\n}","options":{"raw":{"language":"json"}}},"url":"http://webhook.test.url/book"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Date","value":"Fri, 06 Oct 2023 07:44:55 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"supplierReferenceId\": 123455\n}"}],"_postman_id":"da93534a-2ec4-4995-91f8-3fd7f26f1633"}],"id":"088079a7-1439-440d-a799-6cd69c45a90b","description":"<p>This section is aimed for suppliers that are not currently working with Hoppa and do not have access to our <a href=\"https://partners.hoppa.com/\">Partner Platform</a>. If you already receive Hoppa bookings, <strong>you are not required to implement this section</strong>.</p>\n<p>The RidesFlyer API notifies you of events via webhooks. Webhooks allow asynchronous tracking of events like Searches, Bookings and Cancellations. Each webhook event is an API call to your registered endpoint and a specific response should be sent to indicate whether the webhook has been successfully received or not. Contact our support team to register your endpoints.</p>\n","_postman_id":"088079a7-1439-440d-a799-6cd69c45a90b"},{"name":"Go Live","item":[],"id":"0e947971-e6f3-4f1a-a3d3-9caa3339a782","description":"<p>This guide will show you the steps to validate your integration with RidesFlyer API before moving to a production environment. Depending on your use case, the testing and Certification process includes validating either or both of the following scenarios separately.</p>\n<h5 id=\"driver-and-ride-management\">Driver and Ride management</h5>\n<p>To validate your integration with the Driver and Ride management APIs, you need to verify that the processes of creating Drivers and Rides are following best practices. To do so please reach out to <a href=\"https://mailto:techsupport@hoppa.com\">techsupport@hoppa.com</a> to schedule a call with our team and get certified.</p>\n<p>During certification, you will need to go through the following points in your app:</p>\n<ul>\n<li><p>Authentication and token renewal.</p>\n</li>\n<li><p>Driver creation with a valid phone number that is reachable by clients.</p>\n</li>\n<li><p>Ride creation, vehicle and driver assignment flow.</p>\n</li>\n<li><p>Simulate a transfer using Ride events from pickup to drop off.</p>\n</li>\n</ul>\n<h5 id=\"booking-webhook-events\">Booking Webhook events</h5>\n<p>As part of getting certified, you need to provide the implemented endpoints for us to register and also test. Please ensure you provide credentials for your sandbox environment. Please reach out to <a href=\"https://mailto:techsupport@hoppa.com\">techsupport@hoppa.com</a> with the above information.</p>\n<p>Please note that Driver and Ride management should also be implemented to get certified, excluding transfer simulation using Ride events (optional).</p>\n<p>The testing flow includes:</p>\n<ul>\n<li><p>Authentication on your API using provided credentials.</p>\n</li>\n<li><p>Searching your API for available transfers (including Extras).</p>\n</li>\n<li><p>Booking a transfer on your API.</p>\n</li>\n<li><p>Driver creation with a valid phone number that is reachable by clients.</p>\n</li>\n<li><p>Ride creation, vehicle and driver assignment flow.</p>\n</li>\n<li><p>Tracking transfer events using your API from pickup to drop off.</p>\n</li>\n</ul>\n<h5 id=\"going-live\">Going Live</h5>\n<p>After getting certified our team will provide you with your account live credentials and the live endpoints.</p>\n","_postman_id":"0e947971-e6f3-4f1a-a3d3-9caa3339a782"},{"name":"Types","item":[],"id":"a32ea478-a6e0-4d86-86ad-51e5f7ed6236","description":"<h2 id=\"types\">Types</h2>\n<p>Please refer below to the different object types used by RidesFlyer API.</p>\n<h3 id=\"vehicle-class\">Vehicle Class</h3>\n<p>You can use the vehicle classes below to identify your vehicle.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Class</strong></th>\n<th><strong>Vehicle Code</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Economy</td>\n<td>private_car</td>\n</tr>\n<tr>\n<td>Executive Car</td>\n<td>executive_car</td>\n</tr>\n<tr>\n<td>Luxury Car</td>\n<td>luxury_car</td>\n</tr>\n<tr>\n<td>Luxury MPV</td>\n<td>luxury_mpv</td>\n</tr>\n<tr>\n<td>Private Car</td>\n<td>private_car</td>\n</tr>\n<tr>\n<td>Taxi</td>\n<td>private_car</td>\n</tr>\n<tr>\n<td>Private Electric</td>\n<td>private_car</td>\n</tr>\n<tr>\n<td>Private MPV</td>\n<td>private_mpv</td>\n</tr>\n<tr>\n<td>Executive Electric</td>\n<td>executive_car</td>\n</tr>\n<tr>\n<td>Business SUV</td>\n<td>executive_suv</td>\n</tr>\n<tr>\n<td>Business Transfer</td>\n<td>executive_car</td>\n</tr>\n<tr>\n<td>Business MPV</td>\n<td>executive_mpv</td>\n</tr>\n<tr>\n<td>Mini Bus</td>\n<td>private_minibus</td>\n</tr>\n<tr>\n<td>Coach</td>\n<td>private_coach</td>\n</tr>\n<tr>\n<td>Limousine</td>\n<td>luxury_car</td>\n</tr>\n<tr>\n<td>Shared Shuttle</td>\n<td>shared_shuttle</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"price-types\">Price Types</h3>\n<p>You can use the price types below to define your charges</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>PricesType</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>WAIT</td>\n<td>Waiting</td>\n</tr>\n<tr>\n<td>BASE</td>\n<td>Base cost</td>\n</tr>\n<tr>\n<td>ADMIN</td>\n<td>Administration cost</td>\n</tr>\n<tr>\n<td>ADJUST</td>\n<td>Promosions/Discounts</td>\n</tr>\n<tr>\n<td>EXTRA</td>\n<td>Addons/extras cost</td>\n</tr>\n</tbody>\n</table>\n</div>","_postman_id":"a32ea478-a6e0-4d86-86ad-51e5f7ed6236"}]}