{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"390cc0c9-cae1-4bfe-94a9-87f254c96a42","name":"Vento API","description":"API is implemented as standard REST service. Every call to the API is stateless.\n\n## Invalid use\n\nFollowing cases are considered as invalid API use:\n\n- automated IDs / GUID scanning\n    \n- polling for data update - data should be gathered when requested - required by client operating target system\n    \n- multiple calls in one license at a time\n    \n\nIf invalid API usage is detected, access for license used in such case could be blocked.\n\n# Calling the API\n\n## Channel security\n\nAPI supports HTTPS protocol only with **TLS 1.2**. Older version of TLS or SSL protocols are not supported due to security concerns and GDPR regulation.\n\n## Authentication\n\nA license is required (**LicenseToken** - GUID in HTTP header).\n\n## Request / response formats\n\nServer accepts JSON (default) and XML requests. Desired serialization format must be specified in Content-Encoding HTTP Header element.\n\nRequest serialization format corresponds to response serialization format, therefore there is no option for requesting data in XML and expecting JSON response, and vice versa.\n\n## Rate limit\n\nThe number of requests is not limited.\n\n## Atomicity and data transactions\n\nEach API method call is atomic.\n\nWhen multiple methods are separately called, no transaction across these calls exists. The callee is therefore responsible for handling rollbacks or arranging request from the checks to data manipulation operations for easier rollback. Some actions can be rolled back only by issuing new \"oposite\" action - f.e. charging negative amount to the booking account.\n\n## Data access security in B2C and B2B environment\n\nCallee is reponsible for handling data received with adequate precausions, data regulations and their inteded purpose of use.\n\nIf GDPR affects data sent or received from server, callee is responsible for protecting these data from unauthorized readers. API doesn't provide any kind of data checks or one-time tokenization for data access.\n\nOne exception has been introduced for saving custom password/secret to the particular booking and then checking this secret by API method call.\n\nAPI only provides functionality for saving and validating this secret. Callee is responsible for proper implementation and application logic in API consuming application.\n\n# Retrieving response from API\n\nAll API calls are synchronous.\n\nMapping of internal error codes to standard HTTP status codes has been implemented for easier understanding of API responses.\n\nData comming from API are wrapped in envelope, see\n\n<a href=\"#data-schemes-protocol\">Data schemes - protocol</a>\n\n, this applies even for the case no data are expected - then the envelope contains only response status.\n\n## HTTP error codes handling\n\nIn the case no **response data envelope** (see\n\n<a href=\"#data-schemes-protocol\">Data schemes - Protocol</a>\n\n) is returned, you must check for HTTP status code. 200 OK is not expected as server hasn't processed the request successfully.\n\nWithout data envelope, process HTTP status codes as usual.\n\n## Successful response\n\nSuccessfully processed request is identified by **IsSuccess** attribute in **response data envelope** (see\n\n<a href=\"#data-schemes-protocol\">Data schemes - Protocol</a>\n\n) only. HTTP status code 200 OK or similar without having IsSuccess equals to **true** doesn't designate response as sucessfull - there are no exceptions. Even empty response is wrapped in response data envelope.\n\nIn the case of successul response, also check of **warnings** field in response envelope should be done, for additional processing details.\n\n## Unsuccessful response\n\nUnsuccessfully processed request is identified by **IsSuccess** attribute in **response data envelope** (see\n\n<a href=\"#data-schemes-protocol\">Data schemes - Protocol</a>\n\n) only. HTTP status code is set by error causing the request to fail.\n\nDue to very limitted HTTP status code granularity, list of **APIError** objects is returned in errorneous response (see\n\n<a href=\"#data-schemes-protocol\">Data schemes - Protocol</a>\n\n).\n\nExpected API callee reaction to each type of APIError is described under **Response error codes** in\n\n<a href=\"#error-codes\">Error codes</a>\n\nsection.\n\n# Data schemes - Protocol\n\nThese objects are used in every API call.\n\n## Response data envelope\n\nResponse data envelope is returned even for call with no particular result, thus only success / errors / warning elements should be considered.\n\n<table><tbody><tr><th></th><th>Type</th><th>Description</th></tr><tr><td><div><b>IsSuccess</b></div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>Boolean</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div><i>True</i> if the request was successful, <i>false</i> if the request was unsuccessful</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div><b>Data</b></div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>Object / Value</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>Contains the result of the request in the form according to the method used</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div><b>Errors</b></div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>APIError[]</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>Contains information about errors if the request was unsuccessful, see <b>APIError</b> object in this section for more details</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div><b>Warnings</b></div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>String[]</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>Contains possible warnings</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr></tbody></table>\n\n**Sample**\n\n```\n{\n  \"IsSuccess\": true,\n  \"Data\": { ... },\n  \"Errors\": null,\n  \"Warnings\": [ \"Partial update has been done, ETA mask set already\" ]\n}\n\n ```\n\n## APIError object\n\nAPIError object can be found in **response envelope**. For most cases you should check **MetaData** attribute for more details where most of them are presented in human-readable form, except for Missing or Invalid parameters where usually parameter name is specified if situation doesn't require furthe explanation of an error.\n\n<table><tbody><tr><th></th><th>Type</th><th>Description</th></tr><tr><td><div>ID</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>Integer</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>Integer representation of Error code</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>Code</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>String</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>See<a rel=\"noreferrer noopener nofollow\" href=\"#error-codes\" target=\"_self\" url=\"#error-codes\">Error codes</a>- <b>Response error codes</b> list</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>MetaData</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>String</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>Additional details regarding an errorneous state, mostly human readable</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr></tbody></table>\n\n**Sample**\n\n```\n{\n  \"ID\": 2002,\n  \"Code\": \"ParameterMissing\",\n  \"MetaData\": \"IDReservation\"\n}\n\n ```\n\n# Error codes\n\nList of known error codes:\n\n<table><tbody><tr><th>Error code</th><th>Error description</th></tr><tr><td><div>1</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>SystemUnderMaitenance</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>2</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>SecureConnectionRequired</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>3</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>InterfaceNotActive</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>4</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>InterfaceNotConfigured</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>404</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>EntityNotFound</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>500</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>InternalServerError</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>1001</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>InvalidLicense</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>1002</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>LincenseIsMissing</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>1003</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>LicenseToAppMismatch</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>1004</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>LicenseParallelRequest</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>2001</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>ParameterInvalid</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>2002</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>ParameterMissing</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>2003</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>ParameterOutOfRange</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>3001</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>NotSupportedOperation</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>3002</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>ExternalError</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>4000</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>UnknowError</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>4001</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>StockLocked</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>4002</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>StockProductNotFound</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>4003</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>StockProductAmountNegative</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>4004</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>EntityLocked</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>4005</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>EntityInInvalidState</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>4006</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>EntityNotEmpty</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>5007</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>InsufficientAccountBalance</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>5008</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>IncompatibleCurrency</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr></tbody></table>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":false,"owner":"7227140","team":336225,"collectionId":"390cc0c9-cae1-4bfe-94a9-87f254c96a42","publishedId":"2s93z9bhox","public":true,"publicUrl":"https://docs-vento.hoteltime.com","privateUrl":"https://go.postman.co/documentation/7227140-390cc0c9-cae1-4bfe-94a9-87f254c96a42","customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"documentationLayout":"classic-double-column","customisation":{"metaTags":[{"name":"description","value":""},{"name":"title","value":""}],"appearance":{"default":"light","themes":[{"name":"dark","logo":"https://content.pstmn.io/ea3c5eeb-9916-4a83-a103-508126441c81/SFRfbG9nb19zb2x1dGlvbnNfd2hpdGUucG5n","colors":{"top-bar":"212121","right-sidebar":"303030","highlight":"FF6C37"}},{"name":"light","logo":"https://content.pstmn.io/04432ea1-2806-46a8-be29-ac3a60f09e9b/SFRfbG9nb19zb2x1dGlvbnMucG5n","colors":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"}}]}},"version":"8.12.5","publishDate":"2025-05-13T14:44:48.000Z","activeVersionTag":"latest","documentationTheme":"light","metaTags":{"title":"","description":""},"logos":{"logoLight":"https://content.pstmn.io/04432ea1-2806-46a8-be29-ac3a60f09e9b/SFRfbG9nb19zb2x1dGlvbnMucG5n","logoDark":"https://content.pstmn.io/ea3c5eeb-9916-4a83-a103-508126441c81/SFRfbG9nb19zb2x1dGlvbnNfd2hpdGUucG5n"}},"statusCode":200},"environments":[{"name":"Vento API - Documentation","id":"5d284a24-106e-4f07-87bd-023561ea9031","owner":"7227140","values":[{"key":"url","value":"https://[server]/[application]","enabled":true},{"key":"licensetoken","value":"[guid token]","enabled":true,"type":"default"}],"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/0bf0928846992ad8e0dba2916371438db20331b5b1cdbdd38b57ba2536cbc192","favicon":"https://res.cloudinary.com/postman/image/upload/v1554990711/team/xbkmtlivbdnod0vkhrxr.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":"Vento API - Documentation","value":"7227140-5d284a24-106e-4f07-87bd-023561ea9031"}],"canonicalUrl":"https://docs-vento.hoteltime.com/view/metadata/2s93z9bhox"}