{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"ac55e7f6-773e-46b3-8d7b-ce697a829188","name":"RMS Channel API","description":"<img src=\"https://content.pstmn.io/356953fb-6d2e-4c61-a50f-7e2d66d76abc/aW1hZ2UucG5n\" alt=\"\" height=\"262\" width=\"665\">\n\n# Overview\n\nRMS Channel API is an XML over SOAP interface delivered over secure HTTP (HTTPS), used to connect Online Travel Agencies and other distribution channels with RMS, allowing\n\n- RMS to push real-time availability, rates & inventory to the connecting partner; and\n    \n- Partners to push reservations, modifications & cancellations to RMS\n    \n\nIt uses the hotel codes, room codes, and rate codes provided by the partner, so property users must first configure their property, room types, and rate plans on the connecting partner's system, then map them to their counterparts in RMS in order to establish connection.\n\nIf you are a web developer, or if your requirements extend beyond basic ARI and reservations, our REST API may be better suited to meet your needs. In addition to providing both PUSH and PULL methods for ARI, RMS REST API also act as a gateway to the RMS database where partners can query for, create, and update a broad subset of data.\n\nFor more information about RMS REST API, please visit the link provided below:  \n[https://app.swaggerhub.com/apis-docs/RMSHospitality/RMS_REST_API/](https://app.swaggerhub.com/apis-docs/RMSHospitality/RMS_REST_API/)\n\n---\n\n# Supported Operations\n\n## 1\\. Mapping Retrieval API\n\nStartFragment\n\nThe Mapping Retrieval API facilitates the retrieval of room types and rate plans from the booking channel to be mapped with corresponding counterparts in RMS. The API consists of two methods:\n\n- `OTA_HotelDescriptiveInfoRQ`: This method allows querying for room types.\n    \n- `OTA_HotelRatePlanNotifRQ`: This method allows querying for rate plans.\n    \n\n### Direction\n\nThe data flow is from RMS to the booking channel.\n\n### Description\n\nThe Mapping Retrieval API provides a seamless integration between RMS and the booking channel by automatically populating the UI with combinations of rooms and rates retrieved from the channel, allowing property users to easily map these combinations with their counterparts in RMS.\n\nIt's important to note that the implementation of this API is optional. If mapping retrieval is not implemented, property users can manually enter channel room/rate codes into RMS for mapping.\n\n## 2\\. Rates & Availability API\n\nThe Rates & Availability API enables the synchronization of rates, availability, and inventory between RMS and the booking channel. This API consists of the following methods:\n\n- `OTA_HotelBookingRuleNotifRQ`: This method is used to communicate rules and restrictions affecting the availability status.\n    \n- `OTA_HotelRateAmountNotifRQ`: This method is used to synchronize occupancy-based rates.\n    \n- `OTA_HotelInvCountNotifRQ`: This method is used to synchronize inventory.\n    \n\n### Direction\n\nThe data flow is from RMS to the booking channel.\n\n### Description\n\nThe Rates & Availability API allows RMS to provide live updates of availability, rates, and inventory for all mapped room/rate combinations to the connected booking channel.\n\nTo ensure parity between the booking channel and RMS, we will send ARI data for the next two years upon initial connection, and subsequent changes are transmitted as delta updates.\n\n## 3\\. Reservations API\n\nThe Reservations API enables the communication of reservation data between the booking channel and RMS. This API includes the following methods:\n\n- `OTA_HotelResNotifRQ`: This method is used to communicate new reservation data.\n    \n- `OTA_HotelResModifyNotifRQ`: This method is used to communicate reservation modification data.\n    \n- `OTA_CancelRQ`: This method is used to communicate reservation cancellation data.\n    \n\n### Direction\n\nThe data flow is from the booking channel to RMS.\n\n### Description\n\nThe Reservations API allows partners to push reservation notification requests, including booking creation, modification, and cancellation data, to RMS for both single and group reservations\n\n---\n\n# Getting Started\n\n1. Set up a single endpoint for receiving push notifications from RMS, and submit the completed form here [https://forms.gle/yGZJgdwLAYASKoHz7](https://forms.gle/yGZJgdwLAYASKoHz7) so we can configure your channel in our test and production environments\n    \n2. Once your channel is published to our test environment, you will receive an email with all the information needed to start development, including:\n    \n    - List of rooms/rates mapped to your channel in our test environment\n        \n    - Link to the API Portal where you can trigger ARI requests from our demo database to your system for testing during development\n        \n    - Credentials for API authentication & portal access\n        \n3. When development is complete, please submit the \"Channel Summary\" form here [https://forms.gle/7avK1Da3ZaMsKrsC8](https://forms.gle/7avK1Da3ZaMsKrsC8) to finalize the list of functionalities implemented and arrange a suitable time for certification. We will test the quality of your implementation to ensure all message types are implemented correctly.\n    \n4. After certification, we will publish the integration to production for one nominated property to pilot the connection for a 7-day period.\n    \n5. Upon successful completion of the pilot phase, the integration process will be considered complete and the channel will be opened up to all properties in production.\n    \n\n---\n\n# Developer Guide\n\nThe following sections describe the methods provided by RMS Channel API, and assumes a working knowledge of:\n\n- Hypertext Transfer Protocol (HTTP)\n    \n- Simple Object Access Protocol (SOAP)\n    \n- XML Messaging\n    \n- Webservices\n    \n\nWhile every effort has been made to ensure the information presented is accurate and current, it should be noted that information may have changed since publication. Where errors or inaccuracies are brought to our attention, a reasonable effort will be made to correct them.\n\n---\n\nRMS Channel API is an XML over SOAP (version 1.1) interface delivered over secure HTTP (HTTPS), with each SOAP message comprised of the following elements:\n\n- Envelope encapsulating the header & body to identify the XML document as a SOAP message\n    \n- Header following the HTNG (Hospitality Technology Next Generation [https://www.htng.org](https://www.htng.org)) format for authenticating a message to the receiving system via username & password (developers will receive the values for these elements during implementation)\n    \n- Body containing the XML document based on OTA (Open Travel Alliance [http://www.opentravel.org](http://www.opentravel.org)) 2004A specification standards\n    \n\n#### **SOAP Message with HTNG Header Example**\n\n``` xml\n<soap:Envelope xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">\n    <soap:Header>\n        <HTNGHeader xmlns=\"http://htng.org/1.1/Header/\">\n            <From>\n                <Credential>\n                    <userName>username</userName>\n                    <password>password</password>\n                </Credential>\n            </From>\n        </HTNGHeader>\n    </soap:Header>\n    <soap:Body>\n           //OTA Request omitted for brevity\n   </soap:Body>\n</soap:Envelope>\n\n ```","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":false,"owner":"5809543","team":365891,"collectionId":"ac55e7f6-773e-46b3-8d7b-ce697a829188","publishedId":"UV5Ro1RJ","public":true,"publicUrl":"https://documenter-api.postman.tech/view/5809543/UV5Ro1RJ","privateUrl":"https://go.postman.co/documentation/5809543-ac55e7f6-773e-46b3-8d7b-ce697a829188","customColor":{"top-bar":"32cdcd","right-sidebar":"303030","highlight":"84E1E1"},"documentationLayout":"classic-double-column","customisation":null,"version":"8.10.1","publishDate":"2021-12-09T03:51:13.000Z","activeVersionTag":"latest","documentationTheme":"light","metaTags":{},"logos":{}},"statusCode":200},"environments":[],"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/13782608432307d2b19e99ed666b99cd209e2b65489bc5e9905e6b713022a005","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"}],"canonicalUrl":"https://documenter.gw.postman.com/view/metadata/UV5Ro1RJ"}