{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"af7fdf07-36d1-4713-bb8c-c65e83d05020","name":"CBT API","description":"The following documentation contains a description of the CBT API (Corporate Booking Tool API) product. It aims to provide instructions with examples for Developers working on product integration into customers’ IBE / CBT (Internet Booking Engine / Corporate Booking Tool). Both can be generally referred to as OBT (Online Booking Tool).\n\nPrior to the beginning of any work on CBT API integration, contact our sales department ([sales@cee-systems.com](https://mailto:sales@cee-systems.com)) for the completion of a partnership agreement. When the integration is completed, certification may be required.\n\nWithin this documentation, we are going to refer to any online booking tool as to ‘CBT’ or 'IBE', whereas both are considered to be the same unless further noted.\n\nCBT is a Travel Management Company (TMC) managed online booking tool facilitating the process of booking and managing trips for Corporations.\n\nCBT API is specifically designed to be integrated into any CBT / IBE providing it with given functionalities - **CBT API Travel Policy Assessment Process** and **CBT API Approval Process**.\n\nThe features of the product fulfil customers’ expectations and provide CBT with extensive and required corporate functionality. The system covers Air module at the moment.\n\n\\[Overview diagrams\\]([https://www.draw.io/?lightbox=1&amp;highlight=0000ff&amp;layers=1&amp;nav=1&amp;title=CBT](https://www.draw.io/?lightbox=1&highlight=0000ff&layers=1&nav=1&title=CBT) API Corporate Settings(5).drawio#U[https://drive.google.com/a/travelportgds.cz/uc?id=0B0EpmVicedBwYVAyM2pTOGNRUl9weU1zSWVuY3Y5LXFvOUxZ&amp;export=download](https://drive.google.com/a/travelportgds.cz/uc?id=0B0EpmVicedBwYVAyM2pTOGNRUl9weU1zSWVuY3Y5LXFvOUxZ&export=download))\n\n[Use cases examples](#20782db1-e661-434e-8be5-a0d21dc153cd)\n\n# Glossary\n\n- `Administrator` - **Corporate** employee with assigned Admin role, **Agency** Implementation Manager or CBT API (developer) Implementation Manager, who is familiar with CBT Travel Policy logic and Approval Workflow (can be identical to Travel Arranger)\n    \n- `Agency` - Travel Management Company managing a CBT for its customers\n    \n- `Corporation` - Corporate client or Company which consumes the content and services of **CBT** being contracted by Agency\n    \n- `Cost Centre` - A virtual organisation (Corporate) unit allocating travel expenses\n    \n- `Destination` - Every provider can have a dedicated list of destinations. CBT API accepts IATA airport codes **only**. If your software uses IATA city codes, e.g. LON, a list of specific IATA airport codes is required\n    \n- `External System` - One of the multiple Global Distribution Systems - e.g. Galileo (Travelport) or Travelfusion, also can be referred to as Supplier\n    \n- `Grade` - Working position defined by **Corporate** structure (e.g. Senior, Junior, C-Level)\n    \n- `Guest` - Person which can be registered with **Travel Arranger** or **Traveller** (Person who travels with an employee, e.g. external consultant or family member)\n    \n- `Journey` is a part of a **Trip** and consists of one or multiple (flight) **Segments**\n    \n- `Manager` - **Corporate** employee with trip approval rights\n    \n- `Provider` - Specific External System / Supplier (Galileo, Travelfusion etc.)\n    \n- `Reason Code` - A reason for violating the **Travel Policy** rule (can be defined by number or string code)\n    \n- `Region` - A group of destinations that can be managed via API\n    \n- `Segment` is the smallest, atomic part of **Trip**. It's basically a single flight between two destinations\n    \n- `Travel Arranger` - **IBE/CBT** consumer who directly uses the application, usually organises and manages bookings for others (Travellers)\n    \n- `Travel Policy` - a group of **Travel Policy Rules**\n    \n- `Travel Policy Rule` - a single condition of any **Travel Policy** (e.g. Rule 1: Flights allowed only within Europe (Region) in Economy class and Cost Limit 15K, Rule 2: International flights have Cost Limit 35K)\n    \n- `Travel Policy Rule Parameter` - A **Travel Policy Rule** condition (e.g. just Economy Cabin Class is allowed)\n    \n- `Travel Policy Rule Selector` -A part of **Travel Policy Rule** that defines if the Rule will be applied for a given itinerary\n    \n- `Travel Reason` - A specific reason selected by Traveller during the booking process to justify and explain the trip purpose\n    \n- `Traveller` - Owner of a user profile in CBT and the person who actually travels (e.g. Corporate client employee)\n    \n- `Trip` is a group of **Journeys** that consists of (flight) **Segments**. (e.g. a round **Trip** from Prague to London consists of two **Journeys** (outbound from Prague to London and inbound from London to Prague)\n    \n\n# Entities\n\nEvery entity is identified by a unique `Id` (40-symbol-long hash).\n\n- Agencies\n    \n    - ApiKeys\n        \n    - [Corporates](#323148ce-b4a5-44a6-a7eb-0cbfd0abf8f0)\n        \n        - [Users](#7e84656b-e563-413a-b0df-c55e2d83b926)\n            \n        - [Managers Groups](#66645654-bb1e-4b74-a10e-f5c33522225c)\n            \n        - [Policies](#2c968236-87cc-4cc3-84c0-849c77ce9d90)\n            \n        - [Cost Centres](#4f7ad8c4-75bf-455b-83fb-959ffce7c8d7)\n            \n        - [Grades](#835a7dcd-936e-4672-bed3-3de192db77c8)\n            \n        - [Travel Reasons](#fc811435-b501-43eb-ae4a-bc943f71ca53)\n            \n        - [Regions](#4c994d9d-260e-4a45-aafa-2c43c283021c)\n            \n        - [Reason Codes](#c1d9b0ed-6827-411e-8839-9ee81ea28b47)\n            \n\nCBT API interacts directly only with the **Corporates** part of the structure tree. Agencies and ApiKeys are internal structures to provide authorization.\n\n# Authorisation\n\nRequests must contain header `x-api-key`. ApiKey is generated and connected to Agency. One Agency can handle multiple API Keys.\n\n# Structure\n\nAll requests to CBT API are children of the base path `/corporates`.\n\nJSON body schema described in this documentation refers to the [Joi validation syntax](https://hapi.dev/family/joi/)\n\n# Responses\n\nThere are the following possible response body types:\n\n1. Single resource item directly as the root of the response\n    \n    ```\n     {\n      \"CorporateId\": \"ecbeb084359df46847efe10a43c22f9fb7429b2d\",\n      \"Id\": \"75376ce1bd645fa91cf558d8be365017ae010670\",\n      \"Email\": \"mason.willms@acme.com\"\n      ...\n     }\n    \n     ```\n    \n2. Multiple items with cursor pagination\n    \n    - [List Corporates](#900f1ec5-96c6-4056-8cc6-c5cb348b66e9)\n        \n    - [List Policies](#ddaf401e-4595-4843-8ff3-0e0147610e35)\n        \n    - [List Users](#1c1daf8b-2d2a-4733-9762-780ebfa27333)\n        \n        ```\n          {\n          \"data\": [\n            {\n                \"CorporateId\": \"ecbeb084359df46847efe10a43c22f9fb7429b2d\",\n                \"Id\": \"75376ce1bd645fa91cf558d8be365017ae010670\",\n                \"Email\": \"mason.willms@acme.com\",\n                ...\n            },\n            {\n                \"CorporateId\": \"ecbeb084359df46847efe10a43c22f9fb7429b2d\",\n                \"Id\": \"7d99debad1ea0a8d1e4a30aa50a9b7e40f6df14c\",\n                \"Email\": \"sheila.macejkovic@acme.com\" \n                ...\n            }\n          ],\n          \"cursor\": \"7olxk10wB7zkNnALmnZ0OeCOCfgj5kmFXzC08pnXqA3YBi9k8Dqv4DSdurasAmYFWK4ka/La6rt0vrWQ2mE41c8kj8oxCcG/R7CnjT+MAGkWWlswpgJYmTGyzbNMH2IpHC5dOOnpzfz/Cot2Yx2xWA==\"\n          }\n        \n         ```\n        \n3. Multiple items without cursor pagination\n    \n    - [List Cost Centres](#9f3a3226-5749-4fa4-809a-2de83af471d8)\n        \n    - [List Grades](#e7cbf81c-5ee4-4860-9097-7cce87628a03)\n        \n    - [List Travel Reasons](#8d7bd440-e505-445a-adab-cad7d159255e)\n        \n    - [List Regions](#8a05614c-b862-4ff1-a727-4184ce6fb1b4)\n        \n    - [List Reason Codes](#5f213193-b6b6-4d14-9bac-65cae0dbf923)\n        \n    - [List Managers Group](#1e4f2575-8149-4155-ac6c-7b2f5e9010d9)\n        \n        ```\n          [\n          {\n            \"Id\": \"1a8ad90df7505ee6280a7bb2d7d5ad8181ecd0b1\",\n            \"Name\": \"Editors\"\n          },\n          {\n            \"Id\": \"ace8f62bf756ef47a9bcab6cffb1e97e44a7e0b2\",\n            \"Name\": \"Managers\"\n          }\n          ]\n        \n         ```\n        \n4. Error response\n    \n    ```\n     {\n      \"error\": \"User with Id 75376ce1bd645fa91cf558d8be365017ae010670a not found\"\n     }\n    \n     ```\n    \n5. Empty response only with status code\n    \n\n# Common request body schema\n\nId\n\n```\nstring().length(idLength)\n\n ```\n\nIATAAirport\n\n```\nstring().regex(/^[A-Z]{3}$/)\n\n ```\n\nIATACarrier\n\n```\nstring().regex(/^[A-Z0-9]{2}$/)\n\n ```\n\nIATAPlane\n\n```\nstring().regex(/^[A-Z0-9]{3}$/)\n\n ```","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":false,"owner":"1576979","collectionId":"af7fdf07-36d1-4713-bb8c-c65e83d05020","publishedId":"SW7UcAwG","public":true,"publicUrl":"https://cbt-api-doc.cee-systems.com","privateUrl":"https://go.postman.co/documentation/1576979-af7fdf07-36d1-4713-bb8c-c65e83d05020","customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"EF5B25"},"documentationLayout":"classic-double-column","customisation":null,"version":"8.10.1","publishDate":"2021-07-20T12:17:08.000Z","activeVersionTag":"latest","documentationTheme":"light","metaTags":{},"logos":{}},"statusCode":200},"environments":[{"name":"CBT API Prod server","id":"24351b38-be87-4d39-a730-28dea77a458c","owner":"7744352","values":[{"key":"baseUrl","value":"https://cbt-api.cee-systems.com/v1/","enabled":true},{"key":"rootApiKey","value":"oUskTIt58O34DGQ55E3sA3jLlXYW5QfT8TInAQ2n","enabled":true},{"key":"apiKey","value":"","enabled":true}],"published":true}],"user":{"authenticated":false,"permissions":{"publish":false}},"run":{"button":{"js":"https://run.pstmn.io/button.js","css":"https://run.pstmn.io/button.css"}},"web":"https://www.getpostman.com/","team":{"logo":"https://res.cloudinary.com/postman/image/upload/t_team_logo_pubdoc/v1/team/8b3c875678dc72e04e7df1629cc5afdfc0317fe701eaf3ea70484fd1d88d2b18","favicon":"https://cee-systems.com/favicon.ico"},"isEnvFetchError":false,"languages":"[{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"HttpClient\"},{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"RestSharp\"},{\"key\":\"curl\",\"label\":\"cURL\",\"variant\":\"cURL\"},{\"key\":\"dart\",\"label\":\"Dart\",\"variant\":\"http\"},{\"key\":\"go\",\"label\":\"Go\",\"variant\":\"Native\"},{\"key\":\"http\",\"label\":\"HTTP\",\"variant\":\"HTTP\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"OkHttp\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"Unirest\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"Fetch\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"jQuery\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"XHR\"},{\"key\":\"c\",\"label\":\"C\",\"variant\":\"libcurl\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Axios\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Native\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Request\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Unirest\"},{\"key\":\"objective-c\",\"label\":\"Objective-C\",\"variant\":\"NSURLSession\"},{\"key\":\"ocaml\",\"label\":\"OCaml\",\"variant\":\"Cohttp\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"cURL\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"Guzzle\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"HTTP_Request2\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"pecl_http\"},{\"key\":\"powershell\",\"label\":\"PowerShell\",\"variant\":\"RestMethod\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"http.client\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"Requests\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"httr\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"RCurl\"},{\"key\":\"ruby\",\"label\":\"Ruby\",\"variant\":\"Net::HTTP\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"Httpie\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"wget\"},{\"key\":\"swift\",\"label\":\"Swift\",\"variant\":\"URLSession\"}]","languageSettings":[{"key":"csharp","label":"C#","variant":"HttpClient"},{"key":"csharp","label":"C#","variant":"RestSharp"},{"key":"curl","label":"cURL","variant":"cURL"},{"key":"dart","label":"Dart","variant":"http"},{"key":"go","label":"Go","variant":"Native"},{"key":"http","label":"HTTP","variant":"HTTP"},{"key":"java","label":"Java","variant":"OkHttp"},{"key":"java","label":"Java","variant":"Unirest"},{"key":"javascript","label":"JavaScript","variant":"Fetch"},{"key":"javascript","label":"JavaScript","variant":"jQuery"},{"key":"javascript","label":"JavaScript","variant":"XHR"},{"key":"c","label":"C","variant":"libcurl"},{"key":"nodejs","label":"NodeJs","variant":"Axios"},{"key":"nodejs","label":"NodeJs","variant":"Native"},{"key":"nodejs","label":"NodeJs","variant":"Request"},{"key":"nodejs","label":"NodeJs","variant":"Unirest"},{"key":"objective-c","label":"Objective-C","variant":"NSURLSession"},{"key":"ocaml","label":"OCaml","variant":"Cohttp"},{"key":"php","label":"PHP","variant":"cURL"},{"key":"php","label":"PHP","variant":"Guzzle"},{"key":"php","label":"PHP","variant":"HTTP_Request2"},{"key":"php","label":"PHP","variant":"pecl_http"},{"key":"powershell","label":"PowerShell","variant":"RestMethod"},{"key":"python","label":"Python","variant":"http.client"},{"key":"python","label":"Python","variant":"Requests"},{"key":"r","label":"R","variant":"httr"},{"key":"r","label":"R","variant":"RCurl"},{"key":"ruby","label":"Ruby","variant":"Net::HTTP"},{"key":"shell","label":"Shell","variant":"Httpie"},{"key":"shell","label":"Shell","variant":"wget"},{"key":"swift","label":"Swift","variant":"URLSession"}],"languageOptions":[{"label":"C# - HttpClient","value":"csharp - HttpClient - C#"},{"label":"C# - RestSharp","value":"csharp - RestSharp - C#"},{"label":"cURL - cURL","value":"curl - cURL - cURL"},{"label":"Dart - http","value":"dart - http - Dart"},{"label":"Go - Native","value":"go - Native - Go"},{"label":"HTTP - HTTP","value":"http - HTTP - HTTP"},{"label":"Java - OkHttp","value":"java - OkHttp - Java"},{"label":"Java - Unirest","value":"java - Unirest - Java"},{"label":"JavaScript - Fetch","value":"javascript - Fetch - JavaScript"},{"label":"JavaScript - jQuery","value":"javascript - jQuery - JavaScript"},{"label":"JavaScript - XHR","value":"javascript - XHR - JavaScript"},{"label":"C - libcurl","value":"c - libcurl - C"},{"label":"NodeJs - Axios","value":"nodejs - Axios - NodeJs"},{"label":"NodeJs - Native","value":"nodejs - Native - NodeJs"},{"label":"NodeJs - Request","value":"nodejs - Request - NodeJs"},{"label":"NodeJs - Unirest","value":"nodejs - Unirest - NodeJs"},{"label":"Objective-C - NSURLSession","value":"objective-c - NSURLSession - Objective-C"},{"label":"OCaml - Cohttp","value":"ocaml - Cohttp - OCaml"},{"label":"PHP - cURL","value":"php - cURL - PHP"},{"label":"PHP - Guzzle","value":"php - Guzzle - PHP"},{"label":"PHP - HTTP_Request2","value":"php - HTTP_Request2 - PHP"},{"label":"PHP - pecl_http","value":"php - pecl_http - PHP"},{"label":"PowerShell - RestMethod","value":"powershell - RestMethod - PowerShell"},{"label":"Python - http.client","value":"python - http.client - Python"},{"label":"Python - Requests","value":"python - Requests - Python"},{"label":"R - httr","value":"r - httr - R"},{"label":"R - RCurl","value":"r - RCurl - R"},{"label":"Ruby - Net::HTTP","value":"ruby - Net::HTTP - Ruby"},{"label":"Shell - Httpie","value":"shell - Httpie - Shell"},{"label":"Shell - wget","value":"shell - wget - Shell"},{"label":"Swift - URLSession","value":"swift - URLSession - Swift"}],"layoutOptions":[{"value":"classic-single-column","label":"Single Column"},{"value":"classic-double-column","label":"Double Column"}],"versionOptions":[],"environmentOptions":[{"value":"0","label":"No Environment"},{"label":"CBT API Prod server","value":"7744352-24351b38-be87-4d39-a730-28dea77a458c"}],"canonicalUrl":"https://cbt-api-doc.cee-systems.com/view/metadata/SW7UcAwG"}