{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"0640f72e-211f-495e-a43b-64e0361a263b","name":"Cruise Rest API (v1)","description":"# Introduction\n\nMultireisen Rest API is a collection of several request to search for specific travel related services (flights, hotels, cruises, etc.), manage previously created bookings or download some static data.\n\n\n# Overview\nBefore you can access to the API you need to request access to our service by following this link: https://multireisen.com/agencyregister/\n\nWe also have tool for downloading static data, documentation and creating easily payload data for this Rest API. Check out our developer site: http://api.multireisen.test/tester/ You can access it with your Multireisen account.\n\n## Variables\nYou can use the following variables in Postman:\n\n**Environmental variables**\n* { {host} }: Multireisen Rest API end point (for development please use this: http://api2-test.multireisen.com)\n* { {loginEmail} }: your Multireisen account identifier (email)\n* { {loginPassword} }: your Multireisen account password\n* { {version} }: API version\n\n**Global variables**\n* {{accessToken}}: after calling getAccessToken request this variable will automatically populated with the current token value\n* {{itemId}}: auto populated with the result list with the 2nd item's itemId\n* {{solutionId}}: auto populated with the selected item's 1st solutionId\n* {{categoryId}}: auto populated with the selected item's 1st categoryId\n* {{bookingId}}: auto populated with booked itemId and/or with the 1st booked item from the booking list\n* {{bookingItemId}}: auto populated with 1st booking item from the selected booking\n\n# Authentication\nOnce you have your Multireisen account you can start using our service. Each request must use Basic Authentication method, by given your username (email) and password in the HTTP header. Before you can proceed with calling any request you must obtain an AccessToken with the GetAccessToken request. Once you successfully got it, AccessToken must be presented in the HTTP header in every single requests. Be notified about that, the AccessToken is valid only for 30 minutes which means you have to complete your task within this timeframe to successfully create a booking. AccessToken is like your session identifier. Every time you need to do a new search (and a new booking) request a new token to avoid data conflicts! For General static data request or using the Booking service (managing your existing bookings) you can use the same token until it is not expire.\n\n# Request Headers\nWith HTTP headers you can control how you POST and receive data, which API version do you want to use.\n\n* AccessToken: must presented in all request (except getToken)\n* Version: the API version you want to use (if not presented, the default will be the current stable version).\n* Accept: it defines what kind of response format you need. Supported values:\n  * application/json : for JSON response format\n  * text/xml : for XML response format\n* ContentType: for POST request it defines the body format. Accepted formats:\n  * application/json\n  * text/xml\n\nWith our POST request builder tool you can easily create request payloads in JSON or XML formats too.\nTry it at: http://api.multireisen.test/tester/index.php?service=cruise\n\n# Polling\nYou are limited to send consecutive requests not more frequently than **2 seconds** with the same AccessToken.\n\n# Versions\nCurrent stable version is: v1\n\n# Error codes\nCode | Description\n------------ | -------------\n1 | Invalid login credentials\n2 | AccessToken is missing. Call /gettoken request first.\n3 | AccessToken is expired. Call /gettoken request to get new.\n4 | Invalid IP address\n5 | Empty request\n6 | New request is not allowed within short period\n7 | Maximum allowed simultaneous threads exceeded\n8 | AccessToken is already in use\n9 | Monthly search request quota exceeded\n10 | Unable to process request body\n11 | XML parser error\n20 | Not supported request\n100 | No results\n101 | Item not found\n102 | Unable to select item\n106 | Id is missing from the URL\n200 | Invalid request URL\n300 | Booking already made with this token, please search again\n301 | Call Step 4 before proceed\n310 | Payment ID is missing\n500 | All necessary voucher info are presented in the booking details\n501 | Document is not issued yet\n505 | You are not allowed to cancel this booking\n800 | Parameter \"guests\" value must be greater than 0\n801 | Parameter \"guestage\" must presented and it has to be an array\n802 | Parameter count \"guestage\" must be equal with the value of \"guests\"\n1020 | Departure dates are not specified\n1021 | Departure dates are in the past\n1023 | Departure dates are crossing each other\n1024 | Unknown destination\n1025 | Unknown departure port\n1026 | Unknown cruise line\n1027 | Unknown ship\n4000 | No data specified\n4001 | Title not specified\n4002 | Firstname not specified\n4003 | Lastname not specified\n4004 | Birthdate not specified\n4005 | Birthdate not valid for infant\n4006 | Birthdate not valid for child\n4007 | Birthdate not valid for adult\n4008 | Passport number not specified\n4009 | Passport expiration not specified\n4010 | Passport expired\n4011 | The age and birthdate of the child does not match\n4012 | Nationality not specified\n4020 | Phone not specified\n4021 | Email not specified\n4022 | Email is not valid\n4023 | Country not specified\n4024 | Zip not specified\n4025 | City not specified\n4026 | Address not specified\n4027 | Invoice name not specified\n4028 | Invalid number of adults\n4029 | Invalid number of children\n4030 | Invalid number of infants\n4031 | State not specified\n5001 | Price has changed\n5005 | Supplier error\n6000 | No paymode selected\n6001 | Invalid paymode\n8001 | Invalid bookingId\n8002 | Invalid bookingItemId\n8010 | Could not issue the tickets. Check payment!\n\n\n# Constants\n\n**Booking status**\n\nValue | Description\n------------ | -------------\nNO | Unsuccessful booking or no booking has made\nC | Booking confirmed\nX | Booking cancelled\nP | Booking is pending\nRJ | Booking rejected\nCP | Cancel is pending\n\n**Document (eTicket or voucher) status**\n\nValue | Description\n------------ | -------------\nNO | Document is not issued\nI | Document issued\nV | Document voided","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":false,"owner":"4167029","team":5918839,"collectionId":"0640f72e-211f-495e-a43b-64e0361a263b","publishedId":"RVuAD7sV","public":true,"publicUrl":"https://documenter-api.postman.tech/view/4167029/RVuAD7sV","privateUrl":"https://go.postman.co/documentation/4167029-0640f72e-211f-495e-a43b-64e0361a263b","customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"EF5B25"},"documentationLayout":"classic-double-column","version":"8.10.1","publishDate":"2018-07-20T11:50:57.000Z","activeVersionTag":"latest","documentationTheme":"light","metaTags":{},"logos":{}},"statusCode":200},"environments":[{"name":"Development","id":"08b12ce5-8b13-44c6-9036-3b2eae9bced0","owner":"4167029","values":[{"key":"host","value":"api2-test.multireisen.com","enabled":true},{"key":"loginEmail","value":"","enabled":true},{"key":"loginPassword","value":"","enabled":true},{"key":"version","value":"v1","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/dc964c26ee9b6c5130bd41a9d83fb17fc64b21339ad9dd794650b3a0a555cef1","favicon":""},"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":"Development","value":"4167029-08b12ce5-8b13-44c6-9036-3b2eae9bced0"}],"canonicalUrl":"https://documenter.gw.postman.com/view/metadata/RVuAD7sV"}