The WebHotelier Web Services API consists of a set of callable API endpoints. To perform an action using the WebHotelier API, you need to send a request to its endpoint specifying a method and some arguments, and will receive a formatted response. The arguments, responses and error codes for each method are listed on the method's spec page.
Methods to retrieve data from the WebHotelier API require a GET request. Methods that submit, change, or destroy data require a POST. A DELETE request is also accepted for methods that destroy data. API Methods that require a particular HTTP method will return an error if you do not make your request with the correct method. HTTP Response Codes are meaningful.
The WebHotelier API attempts to conform to the design principles of Representational State Transfer (REST). Simply change the accepts header in your request to get results in the format of your choice. The documentation notes which formats are available for each method. The API presently supports the following data formats: XML, JSON, PLAIN TEXT, HTML, with some methods only accepting a subset of these formats.
By using our API you are accepting our terms of service. These terms outline your rights and responsibilities when using our APIs, so read them carefully.
All API methods follow the following format:
http[s]://rest.reserve-online.net{method_endpoint}
Example endpoint for Single-Property Availability method:
https://rest.reserve-online.net/availability/DEMO
Follow endpoint instructions for each method to construct the URL endpoint.
Unless specified otherwise, API methods are only accessible using a GET request.
All methods require the user to be logged in. At present the only way to accomplish this is via Basic HTTP access authentication. If you don't already have your credentials for a particular method, please contact us. Please note that there may be some additional security measures in place, like IP access control.
Authorization: Basic [username:password] Base64 encoded
Unless otherwise noted, all the methods support the following output formats:
TYPE | ACCEPTS HEADER | ENCODING | NOTE |
---|---|---|---|
XML | application/xml, text/xml | UTF-8 | DEFAULT |
JSON | application/json | UTF-8 | RECOMMENDED |
HTML | text/html | UTF-8 | FOR DEBUGGING PURPOSES ONLY, DO NOT PARSE |
To select a format you need to send an Accept header, for example:
Accept: application/json
All the methods can return translated data in a language of your choice. If the language requested is not supported by our system or the data is not translated yet, the system will always fallback to English. To select a language you must send an Accept-Language header with the language code or/and locale combination you want.
Accept-Language: el, en-gb