RoomRatesAPI v3.0.0
Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.
Our RoomRatesAPI is utilized daily by thousands of hotels, accommodation providers, and travel technology companies across the globe. It offers full scalability and grants access to pricing data for over 3.5 million hotels worldwide. This comprehensive data includes room rates, rate plans, and meal plans from more than 100 sources, including brand.com. The RoomRatesAPI stands out for its flexibility, accuracy, and modern approach to delivering data.
The RoomRatesAPI follows the principles of REST offering a structured and intuitive approach to accessing its functionalities. The API utilizes resource-oriented URLs, providing predictable endpoints for easy navigation and interaction. Requests to the API are made using well-defined request bodies, predominantly in JSON format. Responses from the API are JSON-encoded, aligning with standard HTTP response codes, authentication methods, and HTTP verbs.
The RoomRatesAPI encompasses various endpoints, categorized into different modules to support specific functionalities:
Authentication: This module focuses on gaining access to the API, providing secure authentication mechanisms to ensure authorized usage.
Account: Users can retrieve basic information about their call settings, such as account details and configurations.
Hotel Information: This module allows users to search for and retrieve information about hotels they wish to track. Users can obtain details about each hotel's sources and track them accordingly.
Rate Shop: Users can create templates that group hotels and define specific call parameters. These templates, known as Rate Shops, can be called on demand or linked to schedules for automated data delivery.
Rates: Users can retrieve rates using either granular calls or by utilizing a previously defined Rate Shop. This functionality enables users to obtain accurate and specific rate data based on their requirements.
Schedules: Users can manage data delivery schedules, defining when and how often they want to receive rate data updates.
Hooks: This module allows users to define web hooks, enabling direct data delivery to their specified endpoints in real-time.
References: Users can retrieve data related to various dependencies, such as reference information for hotels, locations, and other relevant data.
By utilizing our RoomRatesAPI, hotels and travel tech companies can access comprehensive and reliable data, empowering them to make informed decisions in a dynamic market. The API offers flexibility, efficiency, and a wide range of functionalities to support the evolving needs of the hotel industry.
Web: Aggregate Intelligence Inc.
Authentication
- HTTP Authentication, scheme: bearer .
To access the RoomRatesAPI, every request must be authenticated with an access token (JWT). You can obtain the access token by logging in with your provided credentials. Please note that the access token is only valid for 24 hours from the time it is generated.
For all subsequent requests made to the API, you must include the obtained access token as a standard Bearer token in the request header. This ensures that your requests are properly authenticated and authorized.
Usage Workflow
HTTP Authentication scheme "Bearer" for the RoomRatesAPI
User
User Login
Code samples
# You can also use wget
curl -X POST /authtoken \
-H 'Content-Type: application/json' \
-H 'Accept: application/json'
POST /authtoken HTTP/1.1
Content-Type: application/json
Accept: application/json
const inputBody = '{
"handle": "myuser",
"password": "supersecret"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json'
};
fetch('/authtoken',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json'
}
result = RestClient.post '/authtoken',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
r = requests.post('/authtoken', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/authtoken', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/authtoken");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/authtoken", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /authtoken
This endpoint is used to authenticate the validity of a handle/password combination. When you make a POST request to this endpoint with the appropriate handle and password parameters, the system will check the provided credentials. If the authentication is successful, a valid access token will be issued, allowing you to access authorized resources and perform authenticated actions.
Body parameter
{
"handle": "myuser",
"password": "supersecret"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | userReq | false | none |
Example responses
200 Response
{
"error": false,
"token": "AXSGpLVjnef7w5XgfWdoBwbfs",
"handle": "myuser"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | userResp |
400 | Bad Request | Request data failed validation(s) | None |
401 | Unauthorized | Authentication Failed! | None |
500 | Internal Server Error | Internal Server Error | None |
Account
Get Credit
Code samples
# You can also use wget
curl -X GET /credits?accountId=string \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET /credits?accountId=string HTTP/1.1
Accept: application/json
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('/credits?accountId=string',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get '/credits',
params: {
'accountId' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('/credits', params={
'accountId': 'string'
}, headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/credits', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/credits?accountId=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/credits", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /credits
This endpoint allows you to retrieve the call limitations set for your account. These limitations are based on the commercial terms of your account and are set at the time the account was created. The response will provide information such as the "valid till" date for your account and the maximum number of calls allowed within different time durations (per second, minute, hour, day, week, and month). The parameters "pullsperday," "rateshops," "horizonmax," and "schedules" indicate the maximum limits available for features such as pulls per day, rate shops, maximum horizon, and schedules for your account.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
accountId | query | string | true | The identifier of the account |
Example responses
200 Response
{
"validtill": "2019-08-24",
"calls": {
"pullspersecond": 2,
"pullsperminute": 120,
"pullsperhour": 7200,
"pullsperday": 172800,
"pullsperweek": 1209600,
"pullspermonth": 5184000
},
"features": {
"rateshops": 10,
"horizonmax": 30,
"schedules": 5
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | creditResp |
401 | Unauthorized | Unauthorized | None |
500 | Internal Server Error | Internal server error | None |
Hotel Information
Create Souremap
Code samples
# You can also use wget
curl -X POST /sourcemaprequest \
-H 'Content-Type: application/json' \
-H 'Accept: text/plain' \
-H 'Authorization: Bearer {access-token}'
POST /sourcemaprequest HTTP/1.1
Content-Type: application/json
Accept: text/plain
const inputBody = '{
"hotelcode": 0,
"sources": [
0
],
"urls": [
"string"
]
}';
const headers = {
'Content-Type':'application/json',
'Accept':'text/plain',
'Authorization':'Bearer {access-token}'
};
fetch('/sourcemaprequest',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'text/plain',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.post '/sourcemaprequest',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'text/plain',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('/sourcemaprequest', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'text/plain',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/sourcemaprequest', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/sourcemaprequest");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"text/plain"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/sourcemaprequest", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /sourcemaprequest
This API call allows users to request the mapping of a location to a source that is not currently available in the database. The required parameters for this request are the hotelcode and the websitecode of the existing source(s) in the database, or the base URL of the desired source(s).
Status Codes:
1 - Queue: The request is in the queue and awaiting processing.
2 - Work in progress: The mapping process is currently underway.
3 - Completed: The mapping request has been successfully completed.
4 - Source already exists in our database and websitecode is available: The requested source already exists in the database, and the corresponding websitecode is available.
5 - Not Feasible: The requested mapping is not feasible.
approximatetime: This parameter provides an approximate turnaround time for processing the request. The default minimum turnaround time is 72 hours, but the actual processing time may vary based on the specific parameter values and the complexity of the mapping request.
Please include the required parameters, such as the hotelcode and websitecode(s) or base URL(s) of the desired source(s), to initiate the mapping request. The response will provide the status code indicating the current status of the request, as well as the estimated time for completion.
Example: { "hotelcode": "12345", "websitecode": "ABC123" }
Initiating a sourcemaprequest enables you to request the mapping of a specific location to a desired source. The processing time may vary, but the request will be processed as efficiently as possible.
Body parameter
{
"hotelcode": 0,
"sources": [
0
],
"urls": [
"string"
]
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | sourcemapreq | false | none |
Example responses
200 Response
{"hotelcode":0,"sources":0,"urls":["string"]}
{
"hotelcode": 0,
"sources": 0,
"urls": [
"string"
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | SourceMapRequestExampleValues |
Create Hotelinfo
Code samples
# You can also use wget
curl -X POST /hotelinfo \
-H 'Content-Type: application/json' \
-H 'Accept: text/plain' \
-H 'Authorization: Bearer {access-token}'
POST /hotelinfo HTTP/1.1
Content-Type: application/json
Accept: text/plain
const inputBody = '{
"parameters": {
"hotelcode": "string"
}
}';
const headers = {
'Content-Type':'application/json',
'Accept':'text/plain',
'Authorization':'Bearer {access-token}'
};
fetch('/hotelinfo',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'text/plain',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.post '/hotelinfo',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'text/plain',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('/hotelinfo', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'text/plain',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/hotelinfo', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/hotelinfo");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"text/plain"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/hotelinfo", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /hotelinfo
This API endpoint is used to retrieve the list of sources available for a specific hotel. The hotel code obtained from a previous call is used as a parameter in this request.
The "websitecode" is a unique ID assigned to each source in the RatesAPI. It can be used as an input parameter in rate calls to constrain the request to specified sources.
The "snapshotavailable" field indicates whether you have the option to take a snapshot of the page at the time of data retrieval. Please note that taking a snapshot may incur additional charges.
Body parameter
{
"parameters": {
"hotelcode": "string"
}
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
hotelcode | path | string | true | The unique ID of the hotel |
websitecode | query | string | false | The unique ID of a specific source |
snapshotavailable | query | boolean | false | Check if snapshot of the page is available |
body | body | hotelinfo | false | none |
Example responses
200 Response
{"hotelCode":0,"hotelName":"string","hotelGroup":"string","address":"string","city":"string","state":"string","country":"string","zip":"string","lat":"string","lng":"string","rating":"string","status":0,"currencycode":"string","propertyType":"string","time_zone":"string","time_zone_name":"string","countrycode":"string","hotelSources":[{"mapID":0,"hotelCode":0,"websiteCode":0,"baseurl":"string","createddate":"2019-08-24T14:15:22Z","modifieddate":"2019-08-24T14:15:22Z","hotelCodeNavigation":{"hotelCode":0,"hotelName":"string","hotelGroup":"string","address":"string","city":"string","state":"string","country":"string","zip":"string","lat":"string","lng":"string","rating":"string","status":0,"currencycode":"string","propertyType":"string","time_zone":"string","time_zone_name":"string","countrycode":"string","hotelSources":[],"hotelSources_backups":[{"mapID":0,"hotelCode":0,"websiteCode":0,"baseurl":"string","createddate":"2019-08-24T14:15:22Z","hotelCodeNavigation":{},"websiteCodeNavigation":{"websiteCode":0,"websiteName":"string","url":"string","channeltype":"string","status":0,"createddate":"2019-08-24T14:15:22Z","snapshot":0,"description":"string","coverage":"string","hotelSources":[{}],"hotelSources_backups":[{}]}}]},"websiteCodeNavigation":{"websiteCode":0,"websiteName":"string","url":"string","channeltype":"string","status":0,"createddate":"2019-08-24T14:15:22Z","snapshot":0,"description":"string","coverage":"string","hotelSources":[{}],"hotelSources_backups":[{"mapID":0,"hotelCode":0,"websiteCode":0,"baseurl":"string","createddate":"2019-08-24T14:15:22Z","hotelCodeNavigation":{"hotelCode":0,"hotelName":"string","hotelGroup":"string","address":"string","city":"string","state":"string","country":"string","zip":"string","lat":"string","lng":"string","rating":"string","status":0,"currencycode":"string","propertyType":"string","time_zone":"string","time_zone_name":"string","countrycode":"string","hotelSources":[],"hotelSources_backups":[{}]},"websiteCodeNavigation":{}}]}}],"hotelSources_backups":[{"mapID":0,"hotelCode":0,"websiteCode":0,"baseurl":"string","createddate":"2019-08-24T14:15:22Z","hotelCodeNavigation":{"hotelCode":0,"hotelName":"string","hotelGroup":"string","address":"string","city":"string","state":"string","country":"string","zip":"string","lat":"string","lng":"string","rating":"string","status":0,"currencycode":"string","propertyType":"string","time_zone":"string","time_zone_name":"string","countrycode":"string","hotelSources":[{"mapID":0,"hotelCode":0,"websiteCode":0,"baseurl":"string","createddate":"2019-08-24T14:15:22Z","modifieddate":"2019-08-24T14:15:22Z","hotelCodeNavigation":{},"websiteCodeNavigation":{"websiteCode":0,"websiteName":"string","url":"string","channeltype":"string","status":0,"createddate":"2019-08-24T14:15:22Z","snapshot":0,"description":"string","coverage":"string","hotelSources":[{}],"hotelSources_backups":[{}]}}],"hotelSources_backups":[]},"websiteCodeNavigation":{"websiteCode":0,"websiteName":"string","url":"string","channeltype":"string","status":0,"createddate":"2019-08-24T14:15:22Z","snapshot":0,"description":"string","coverage":"string","hotelSources":[{"mapID":0,"hotelCode":0,"websiteCode":0,"baseurl":"string","createddate":"2019-08-24T14:15:22Z","modifieddate":"2019-08-24T14:15:22Z","hotelCodeNavigation":{"hotelCode":0,"hotelName":"string","hotelGroup":"string","address":"string","city":"string","state":"string","country":"string","zip":"string","lat":"string","lng":"string","rating":"string","status":0,"currencycode":"string","propertyType":"string","time_zone":"string","time_zone_name":"string","countrycode":"string","hotelSources":[{}],"hotelSources_backups":[]},"websiteCodeNavigation":{}}],"hotelSources_backups":[{}]}}]}
{
"hotelCode": 0,
"hotelName": "string",
"hotelGroup": "string",
"address": "string",
"city": "string",
"state": "string",
"country": "string",
"zip": "string",
"lat": "string",
"lng": "string",
"rating": "string",
"status": 0,
"currencycode": "string",
"propertyType": "string",
"time_zone": "string",
"time_zone_name": "string",
"countrycode": "string",
"hotelSources": [
{
"mapID": 0,
"hotelCode": 0,
"websiteCode": 0,
"baseurl": "string",
"createddate": "2019-08-24T14:15:22Z",
"modifieddate": "2019-08-24T14:15:22Z",
"hotelCodeNavigation": {
"hotelCode": 0,
"hotelName": "string",
"hotelGroup": "string",
"address": "string",
"city": "string",
"state": "string",
"country": "string",
"zip": "string",
"lat": "string",
"lng": "string",
"rating": "string",
"status": 0,
"currencycode": "string",
"propertyType": "string",
"time_zone": "string",
"time_zone_name": "string",
"countrycode": "string",
"hotelSources": [],
"hotelSources_backups": [
{
"mapID": 0,
"hotelCode": 0,
"websiteCode": 0,
"baseurl": "string",
"createddate": "2019-08-24T14:15:22Z",
"hotelCodeNavigation": {},
"websiteCodeNavigation": {
"websiteCode": 0,
"websiteName": "string",
"url": "string",
"channeltype": "string",
"status": 0,
"createddate": "2019-08-24T14:15:22Z",
"snapshot": 0,
"description": "string",
"coverage": "string",
"hotelSources": [
{}
],
"hotelSources_backups": [
{}
]
}
}
]
},
"websiteCodeNavigation": {
"websiteCode": 0,
"websiteName": "string",
"url": "string",
"channeltype": "string",
"status": 0,
"createddate": "2019-08-24T14:15:22Z",
"snapshot": 0,
"description": "string",
"coverage": "string",
"hotelSources": [
{}
],
"hotelSources_backups": [
{
"mapID": 0,
"hotelCode": 0,
"websiteCode": 0,
"baseurl": "string",
"createddate": "2019-08-24T14:15:22Z",
"hotelCodeNavigation": {
"hotelCode": 0,
"hotelName": "string",
"hotelGroup": "string",
"address": "string",
"city": "string",
"state": "string",
"country": "string",
"zip": "string",
"lat": "string",
"lng": "string",
"rating": "string",
"status": 0,
"currencycode": "string",
"propertyType": "string",
"time_zone": "string",
"time_zone_name": "string",
"countrycode": "string",
"hotelSources": [],
"hotelSources_backups": [
{}
]
},
"websiteCodeNavigation": {}
}
]
}
}
],
"hotelSources_backups": [
{
"mapID": 0,
"hotelCode": 0,
"websiteCode": 0,
"baseurl": "string",
"createddate": "2019-08-24T14:15:22Z",
"hotelCodeNavigation": {
"hotelCode": 0,
"hotelName": "string",
"hotelGroup": "string",
"address": "string",
"city": "string",
"state": "string",
"country": "string",
"zip": "string",
"lat": "string",
"lng": "string",
"rating": "string",
"status": 0,
"currencycode": "string",
"propertyType": "string",
"time_zone": "string",
"time_zone_name": "string",
"countrycode": "string",
"hotelSources": [
{
"mapID": 0,
"hotelCode": 0,
"websiteCode": 0,
"baseurl": "string",
"createddate": "2019-08-24T14:15:22Z",
"modifieddate": "2019-08-24T14:15:22Z",
"hotelCodeNavigation": {},
"websiteCodeNavigation": {
"websiteCode": 0,
"websiteName": "string",
"url": "string",
"channeltype": "string",
"status": 0,
"createddate": "2019-08-24T14:15:22Z",
"snapshot": 0,
"description": "string",
"coverage": "string",
"hotelSources": [
{}
],
"hotelSources_backups": [
{}
]
}
}
],
"hotelSources_backups": []
},
"websiteCodeNavigation": {
"websiteCode": 0,
"websiteName": "string",
"url": "string",
"channeltype": "string",
"status": 0,
"createddate": "2019-08-24T14:15:22Z",
"snapshot": 0,
"description": "string",
"coverage": "string",
"hotelSources": [
{
"mapID": 0,
"hotelCode": 0,
"websiteCode": 0,
"baseurl": "string",
"createddate": "2019-08-24T14:15:22Z",
"modifieddate": "2019-08-24T14:15:22Z",
"hotelCodeNavigation": {
"hotelCode": 0,
"hotelName": "string",
"hotelGroup": "string",
"address": "string",
"city": "string",
"state": "string",
"country": "string",
"zip": "string",
"lat": "string",
"lng": "string",
"rating": "string",
"status": 0,
"currencycode": "string",
"propertyType": "string",
"time_zone": "string",
"time_zone_name": "string",
"countrycode": "string",
"hotelSources": [
{}
],
"hotelSources_backups": []
},
"websiteCodeNavigation": {}
}
],
"hotelSources_backups": [
{}
]
}
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | hotel |
401 | Unauthorized | Authorization has been denied for this request | None |
Get Sourcemap
Code samples
# You can also use wget
curl -X GET /sourcemaprequest/{requestid} \
-H 'Authorization: Bearer {access-token}'
GET /sourcemaprequest/{requestid} HTTP/1.1
const headers = {
'Authorization':'Bearer {access-token}'
};
fetch('/sourcemaprequest/{requestid}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get '/sourcemaprequest/{requestid}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Authorization': 'Bearer {access-token}'
}
r = requests.get('/sourcemaprequest/{requestid}', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/sourcemaprequest/{requestid}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/sourcemaprequest/{requestid}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/sourcemaprequest/{requestid}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /sourcemaprequest/{requestid}
This API endpoint is used to retrieve the status of a source mapping request based on the request ID obtained from the initial request. The response will provide the updated status of the request at that specific point in time. The structure of the response is identical to the initial response, containing the necessary details and the current status of the request.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
requestid | path | integer(int32) | true | none |
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | None |
400 | Bad Request | Error | None |
401 | Unauthorized | Authorization has been denied for this request | None |
Create Hotelmap
Code samples
# You can also use wget
curl -X POST /hotelmaprequest \
-H 'Content-Type: application/json' \
-H 'Accept: text/plain' \
-H 'Authorization: Bearer {access-token}'
POST /hotelmaprequest HTTP/1.1
Content-Type: application/json
Accept: text/plain
const inputBody = '{
"hotelname": "string",
"address": "string",
"city": "string",
"state": "string",
"country": "string",
"zip": "string",
"latitude": 0,
"longitude": 0,
"url": [
"string"
],
"websitecodes": [
0
]
}';
const headers = {
'Content-Type':'application/json',
'Accept':'text/plain',
'Authorization':'Bearer {access-token}'
};
fetch('/hotelmaprequest',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'text/plain',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.post '/hotelmaprequest',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'text/plain',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('/hotelmaprequest', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'text/plain',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/hotelmaprequest', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/hotelmaprequest");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"text/plain"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/hotelmaprequest", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /hotelmaprequest
This API endpoint allows users to submit a request for adding a new location to the API database. The request should include mandatory information such as hotel name, address, city, state, country, and zip code. Additional details like geo coordinates, reference URLs, or preferred website codes for mapping can also be provided.
Upon submitting the request, a unique request ID will be generated for tracking purposes.
Status Codes:
1 - Queued: The request is in the queue and awaiting processing.
2 - Work in progress: The request is currently being processed.
3 - Completed: The request has been successfully completed.
4 - Hotel exists: The hotel already exists in the database.
5 - Feasibility failed: Mapping to the specified address is not feasible.
6 - Source unavailable: The requested source is currently unavailable.
The parameter "referencehotelcodes" contains an array of hotel codes available within a 100-meter radius of the specified address. The "approximatetime" parameter provides an estimate of the turnaround time for the request. The default minimum time is 72 hours, but the actual time may vary depending on the provided parameters.
Body parameter
{
"hotelname": "string",
"address": "string",
"city": "string",
"state": "string",
"country": "string",
"zip": "string",
"latitude": 0,
"longitude": 0,
"url": [
"string"
],
"websitecodes": [
0
]
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | newmapreq | false | none |
Example responses
200 Response
{"hotelname":"","address":"","city":"","state":"","country":"","zip":"","latitude":0,"longitude":0,"url":["string"],"websitecodes":0}
{
"hotelname": "",
"address": "",
"city": "",
"state": "",
"country": "",
"zip": "",
"latitude": 0,
"longitude": 0,
"url": [
"string"
],
"websitecodes": 0
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | HotelMapRequestExampleValues |
400 | Bad Request | Error | None |
401 | Unauthorized | Authorization has been denied for this request | None |
Get Maprequest
Code samples
# You can also use wget
curl -X GET /maprequeststatus/{requestid} \
-H 'Authorization: Bearer {access-token}'
GET /maprequeststatus/{requestid} HTTP/1.1
const headers = {
'Authorization':'Bearer {access-token}'
};
fetch('/maprequeststatus/{requestid}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get '/maprequeststatus/{requestid}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Authorization': 'Bearer {access-token}'
}
r = requests.get('/maprequeststatus/{requestid}', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/maprequeststatus/{requestid}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/maprequeststatus/{requestid}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/maprequeststatus/{requestid}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /maprequeststatus/{requestid}
This API endpoint is used to check the status of a mapping request made through the /hotelmaprequest method. The request ID is passed as the input parameter, and the response structure is identical to the response received from the /hotelmaprequest method.
By using this method, users can track the progress and current status of their mapping request.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
requestid | path | integer(int32) | true | none |
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | None |
400 | Bad Request | Error | None |
401 | Unauthorized | Authorization has been denied for this request | None |
Create Hotel
Code samples
# You can also use wget
curl -X POST /hotels \
-H 'Content-Type: application/json' \
-H 'Accept: text/plain' \
-H 'Authorization: Bearer {access-token}'
POST /hotels HTTP/1.1
Content-Type: application/json
Accept: text/plain
const inputBody = '{
"hotelname": "",
"country": "United States of America",
"city": "",
"state": "",
"zip": "",
"keyword": ""
}';
const headers = {
'Content-Type':'application/json',
'Accept':'text/plain',
'Authorization':'Bearer {access-token}'
};
fetch('/hotels',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'text/plain',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.post '/hotels',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'text/plain',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('/hotels', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'text/plain',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/hotels', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/hotels");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"text/plain"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/hotels", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /hotels
This API endpoint is used to retrieve a list of all hotels available in the RatesAPI for rate retrieval. The request should include the mandatory parameters of either "country" or "hotelname". Other parameters are optional.
The "hotelcode" is a unique ID assigned to each hotel location and is required for all rate retrieval calls made through this API.
Example: To retrieve hotels in the United States of America: { "country": "United States of America" }
To retrieve hotels with the name "Hyatt": { "hotelname": "Hyatt" }
If the desired hotel is not available in our database, please connect with us, and we will strive to make it available within 24 hours.
Body parameter
{
"hotelname": "",
"country": "United States of America",
"city": "",
"state": "",
"zip": "",
"keyword": ""
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | hotelsearch | false | none |
Example responses
200 Response
{"hotelname":"","country":"United States of America","city":"","state":"","zip":"","keyword":""}
{
"hotelname": "",
"country": "United States of America",
"city": "",
"state": "",
"zip": "",
"keyword": ""
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | HotelExamplevalues |
401 | Unauthorized | Authorization has been denied for this request | None |
Rateshop
Create Rateshop
Code samples
# You can also use wget
curl -X POST /rateshop \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
POST /rateshop HTTP/1.1
Content-Type: application/json
Accept: application/json
const inputBody = '{
"rateshopname": "string",
"los": 0,
"occupancy": 0,
"currency": "string",
"currencies": [
"string"
],
"fetchtype": 0,
"horizon": 0,
"hotelcodes": [
0
],
"compsets": [
{
"hotelcode": 0,
"competitorhotelcodes": [
0
]
}
],
"sources": [
0
],
"horizonexpression": "2-10, 11, 13, 15, 20-25",
"pos": 0
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('/rateshop',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.post '/rateshop',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('/rateshop', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/rateshop', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/rateshop");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/rateshop", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /rateshop
This API call is used to create a new RateShop, which is a collection of hotels and related parameters that define what data should be retrieved.
The following parameters are required:
rateshopname: Your custom name for the RateShop.
los: Length of stay for the rates requested. The maximum allowed value is 10.
occupancy: Room occupancy for the rate requested.
currency: The currency in which the rate should be fetched. horizon: How many consecutive days from the call date to retrieve data for (days out). The maximum value is 365.
horizonexpression: A customizable horizon to define specific day(s) in the future. Examples include date ranges, odd days, or a mix of specific days.
source: The sources to be included in the call.
fetchtype: The parameter receives an integer value of 1 or 2. Value 1 fetches rates with currency one by one from the currencies parameter and stops if the currency and rate are available. Value 2 fetches all currencies from the source.
hotelscodes vs compsets: Using hotelcodes, you can group an arbitrary set of hotels. Using compsets, you can differentiate hotels as subject hotels and competitor hotels, with each subject linked to a set of competitor hotels.
The following fields are optional or can be specified during the Rate method in conjunction with the rateshopid. Any parameter passed in the Rate method overrides the corresponding definition already defined in the Rateshop.
Note: Rateshopname, los, and occupancy are mandatory fields.
Please contact our support team if you need specific POS (Point of Sale) or for any further assistance. The POS feature may be available at an additional charge.
Body parameter
{
"rateshopname": "string",
"los": 0,
"occupancy": 0,
"currency": "string",
"currencies": [
"string"
],
"fetchtype": 0,
"horizon": 0,
"hotelcodes": [
0
],
"compsets": [
{
"hotelcode": 0,
"competitorhotelcodes": [
0
]
}
],
"sources": [
0
],
"horizonexpression": "2-10, 11, 13, 15, 20-25",
"pos": 0
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | newrateshop | false | none |
Example responses
200 Response
{
"error": false,
"rateshop": {
"rateshopname": "string",
"los": 0,
"occupancy": 0,
"currency": "string",
"currencies": [
"string"
],
"fetchtype": 0,
"horizon": 0,
"hotelcodes": 0,
"compsets": {
"hotelcode": 0,
"competitorhotelcodes": [
0
]
},
"sources": 0,
"horizonexpression": [
"string"
],
"pos": 0
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | RateshopExampleValues |
400 | Bad Request | Error | None |
401 | Unauthorized | Authorization has been denied for this request | None |
429 | Too Many Requests | You have exceeded your access limit | None |
Get Rateshops
Code samples
# You can also use wget
curl -X GET /rateshoplist \
-H 'Authorization: Bearer {access-token}'
GET /rateshoplist HTTP/1.1
const headers = {
'Authorization':'Bearer {access-token}'
};
fetch('/rateshoplist',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get '/rateshoplist',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Authorization': 'Bearer {access-token}'
}
r = requests.get('/rateshoplist', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/rateshoplist', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/rateshoplist");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/rateshoplist", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /rateshoplist
This API call allows you to retrieve the list of rateshops that have been created in your account. It provides an overview of the rateshops and their details, allowing you to manage and access the information as needed.
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | None |
400 | Bad Request | Error | None |
401 | Unauthorized | Authorization has been denied for this request | None |
429 | Too Many Requests | You have exceeded your access limit | None |
Get Rateshop
Code samples
# You can also use wget
curl -X GET /rateshop/{rateshopid} \
-H 'Authorization: Bearer {access-token}'
GET /rateshop/{rateshopid} HTTP/1.1
const headers = {
'Authorization':'Bearer {access-token}'
};
fetch('/rateshop/{rateshopid}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get '/rateshop/{rateshopid}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Authorization': 'Bearer {access-token}'
}
r = requests.get('/rateshop/{rateshopid}', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/rateshop/{rateshopid}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/rateshop/{rateshopid}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/rateshop/{rateshopid}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /rateshop/{rateshopid}
This API call accepts the rateshopid as the input parameter and retrieves the configuration details for the specified rateshop. It provides information about the rateshop's settings, parameters, and other relevant data, allowing you to access and analyze the specific rateshop's configuration.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
rateshopid | path | integer(int32) | true | none |
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | None |
400 | Bad Request | Error | None |
401 | Unauthorized | Authorization has been denied for this request | None |
429 | Too Many Requests | You have exceeded your access limit | None |
Update Rateshop
Code samples
# You can also use wget
curl -X PUT /rateshop/{rateshopid} \
-H 'Content-Type: application/json' \
-H 'Accept: text/plain' \
-H 'Authorization: Bearer {access-token}'
PUT /rateshop/{rateshopid} HTTP/1.1
Content-Type: application/json
Accept: text/plain
const inputBody = '{
"rateshopname": "string",
"los": 0,
"occupancy": 0,
"currency": "string",
"currencies": [
"string"
],
"fetchtype": 0,
"horizon": 0,
"hotelcodes": [
0
],
"compsets": [
{
"hotelcode": 0,
"competitorhotelcodes": [
0
]
}
],
"sources": [
0
],
"horizonexpression": "2-10, 11, 13, 15, 20-25",
"pos": 0
}';
const headers = {
'Content-Type':'application/json',
'Accept':'text/plain',
'Authorization':'Bearer {access-token}'
};
fetch('/rateshop/{rateshopid}',
{
method: 'PUT',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'text/plain',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.put '/rateshop/{rateshopid}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'text/plain',
'Authorization': 'Bearer {access-token}'
}
r = requests.put('/rateshop/{rateshopid}', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'text/plain',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('PUT','/rateshop/{rateshopid}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/rateshop/{rateshopid}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PUT");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"text/plain"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PUT", "/rateshop/{rateshopid}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT /rateshop/{rateshopid}
This API call enables the user to update the details of an existing RateShop associated with the specified rateshopid. It allows for modifications to be made to the RateShop's settings, parameters, or any other relevant information, providing flexibility in managing and adjusting the configuration of the rateshop as needed.
Body parameter
{
"rateshopname": "string",
"los": 0,
"occupancy": 0,
"currency": "string",
"currencies": [
"string"
],
"fetchtype": 0,
"horizon": 0,
"hotelcodes": [
0
],
"compsets": [
{
"hotelcode": 0,
"competitorhotelcodes": [
0
]
}
],
"sources": [
0
],
"horizonexpression": "2-10, 11, 13, 15, 20-25",
"pos": 0
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
rateshopid | path | integer(int32) | true | none |
body | body | newrateshop | false | none |
Example responses
200 Response
{"error":false,"rateshop":{"rateshopname":"string","los":0,"occupancy":0,"currency":"string","currencies":["string"],"fetchtype":0,"horizon":0,"hotelcodes":0,"compsets":{"hotelcode":0,"competitorhotelcodes":[0]},"sources":0,"horizonexpression":["string"],"pos":0}}
{
"error": false,
"rateshop": {
"rateshopname": "string",
"los": 0,
"occupancy": 0,
"currency": "string",
"currencies": [
"string"
],
"fetchtype": 0,
"horizon": 0,
"hotelcodes": 0,
"compsets": {
"hotelcode": 0,
"competitorhotelcodes": [
0
]
},
"sources": 0,
"horizonexpression": [
"string"
],
"pos": 0
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | RateshopExampleValues |
400 | Bad Request | Error | None |
401 | Unauthorized | Authorization has been denied for this request | None |
429 | Too Many Requests | You have exceeded your access limit | None |
Delete Rateshop
Code samples
# You can also use wget
curl -X DELETE /rateshop/{rateshopid} \
-H 'Authorization: Bearer {access-token}'
DELETE /rateshop/{rateshopid} HTTP/1.1
const headers = {
'Authorization':'Bearer {access-token}'
};
fetch('/rateshop/{rateshopid}',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.delete '/rateshop/{rateshopid}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Authorization': 'Bearer {access-token}'
}
r = requests.delete('/rateshop/{rateshopid}', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('DELETE','/rateshop/{rateshopid}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/rateshop/{rateshopid}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("DELETE");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("DELETE", "/rateshop/{rateshopid}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE /rateshop/{rateshopid}
This API call allows you to remove a specific RateShop from your account. By providing the rateshopid as a parameter, you can delete the corresponding RateShop and its associated configuration from your account. The API will return the status of the request, confirming the successful deletion of the RateShop.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
rateshopid | path | integer(int32) | true | none |
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Successfully deleted | None |
400 | Bad Request | Error | None |
401 | Unauthorized | Authorization has been denied for this request | None |
429 | Too Many Requests | You have exceeded your access limit | None |
Rates
Create Hotelrates
Code samples
# You can also use wget
curl -X POST /hotelrates \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer {access-token}'
POST /hotelrates HTTP/1.1
Content-Type: application/json
const inputBody = '{
"hotelcode": 0,
"checkin": "2019-08-24T14:15:22Z",
"checkout": "2019-08-24T14:15:22Z",
"guests": 0,
"currency": "string",
"websitecode": 0,
"pos": 0,
"snapshot": true
}';
const headers = {
'Content-Type':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('/hotelrates',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.post '/hotelrates',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('/hotelrates', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/hotelrates', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/hotelrates");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/hotelrates", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /hotelrates
This API call allows you to make a granular request for a single rate. By providing specific input parameters, you can customize the rate retrieval process according to your application's logic, resulting in increased speed and flexibility.
The input parameters for this API call are as follows:
hotelcode: The unique code assigned to the hotel you wish to retrieve rates for.
checkin: The specific check-in date.
checkout: The specific check-out date.
guests: The occupancy details for the room.
currency: The currency in which the price should be fetched. websitecode: The source ID assigned to the source you want to retrieve rates from.
snapshot: Set this toggle to "true" if you want to enable screen capture for the call. The default value is set to "false".
pos: This parameter determines the region from which the call should be made. The default value is '0'. Contact our support team for specific POS requirements, as additional charges may apply.
The output parameters of this API call include:
onsiterate: The actual rate at which the hotel room is available.
netrate: The net rate of the hotel room before any discounts.
maxoccupancy: The maximum number of guests the specific room can accommodate.
ispromo: A value indicating whether the room has promotions, offers, or discounts available (Y - Available, N - Not Available).
taxtype: The tax information fetched from the pricing page.
taxstatus: A value indicating the tax status, with possible values of -1, 1, 2, and 3. -1 denotes tax information not available, 1 denotes tax included in the rate, 2 denotes tax not included in the rate, and 3 denotes tax partially included in the rate.
taxamount: The taxable value associated with the rate.
israteperstay: A value indicating whether the rate published is per night (N) or per stay (Y). This parameter is particularly useful when the length of stay (LOS) is greater than 1.
For more details on other parameters such as currency, roomtypecode, conditionscode, and mealplancode, please refer to the "Reference" section at the bottom of this document. You can also consult your RatesAPI packet or make individual method calls to retrieve a list of codes and their descriptions.
Body parameter
{
"hotelcode": 0,
"checkin": "2019-08-24T14:15:22Z",
"checkout": "2019-08-24T14:15:22Z",
"guests": 0,
"currency": "string",
"websitecode": 0,
"pos": 0,
"snapshot": true
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
intern | query | boolean | false | none |
queueid | query | integer(int32) | false | none |
subjectcode | query | integer(int32) | false | none |
orefid | query | string | false | none |
username | query | string | false | none |
body | body | ratereq | false | none |
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | None |
400 | Bad Request | Error fetching result from Source | None |
401 | Unauthorized | Authorization has been denied for this request | None |
429 | Too Many Requests | You have exceeded your access limit | None |
Get Runstatus
Code samples
# You can also use wget
curl -X GET /runstatus/{queueid} \
-H 'Authorization: Bearer {access-token}'
GET /runstatus/{queueid} HTTP/1.1
const headers = {
'Authorization':'Bearer {access-token}'
};
fetch('/runstatus/{queueid}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get '/runstatus/{queueid}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Authorization': 'Bearer {access-token}'
}
r = requests.get('/runstatus/{queueid}', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/runstatus/{queueid}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/runstatus/{queueid}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/runstatus/{queueid}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /runstatus/{queueid}
This API call allows you to retrieve the status of a Rateshop run request by providing the queue ID as the input parameter.
The status codes returned by this method are as follows:
1 - In-progress: The Rateshop run request is currently in progress.
2 - Completed: The Rateshop run request has been successfully completed.
3 - Terminated with errors: The Rateshop run request was terminated due to errors.
4 - Terminated, No credits available: The Rateshop run request was terminated because there were no available credits.
5 - Rerun in-progress: The Rateshop run request is currently being rerun. Use this API call to check the status of a Rateshop run request and handle the corresponding status codes accordingly.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
queueid | path | integer(int32) | true | none |
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | None |
Create Runrateshop
Code samples
# You can also use wget
curl -X POST /runrateshop \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer {access-token}'
POST /runrateshop HTTP/1.1
Content-Type: application/json
const inputBody = '{
"rateshopid": 0,
"startdate": "2019-08-24",
"horizon": 0,
"horizonexpression": "string",
"sources": [
0
],
"hotelcodes": [
0
],
"compsets": [
{
"hotelcode": 0,
"competitorhotelcodes": [
0
]
}
]
}';
const headers = {
'Content-Type':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('/runrateshop',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.post '/runrateshop',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('/runrateshop', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/runrateshop', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/runrateshop");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/runrateshop", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /runrateshop
This API call is used to retrieve rates using the configuration parameters defined during the creation of a RateShop. The rateshopid is the only mandatory parameter required for this call.
Additional parameters:
queueid: The unique ID for running a RateShop.
approximatetime: The estimated time before all the rates are retrieved.
Although it is possible to define all request parameters during RateShop creation, you have the flexibility to override those parameters at runtime. This allows you to customize certain parameters specific to each RateShop run, even if they were initially defined during creation.
Use this API call to run a RateShop and retrieve rates based on the defined configuration parameters.
Body parameter
{
"rateshopid": 0,
"startdate": "2019-08-24",
"horizon": 0,
"horizonexpression": "string",
"sources": [
0
],
"hotelcodes": [
0
],
"compsets": [
{
"hotelcode": 0,
"competitorhotelcodes": [
0
]
}
]
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | pullpackage | false | none |
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | None |
400 | Bad Request | Error | None |
401 | Unauthorized | Authorization has been denied for this request | None |
429 | Too Many Requests | You have exceed your request limit | None |
Create Ratesbyqueue
Code samples
# You can also use wget
curl -X POST /ratesbyqueue/{queueid} \
-H 'Authorization: Bearer {access-token}'
POST /ratesbyqueue/{queueid} HTTP/1.1
const headers = {
'Authorization':'Bearer {access-token}'
};
fetch('/ratesbyqueue/{queueid}',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.post '/ratesbyqueue/{queueid}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Authorization': 'Bearer {access-token}'
}
r = requests.post('/ratesbyqueue/{queueid}', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/ratesbyqueue/{queueid}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/ratesbyqueue/{queueid}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/ratesbyqueue/{queueid}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /ratesbyqueue/{queueid}
This API call allows you to review the running status of a RateShop and retrieve the current data. If all calls in the RateShop have been executed and the queue is complete, the retrieved data will be returned as the response.
Parameters:
- queueid: The unique ID of the running RateShop.
Output parameters:
hotelcode: The hotelcode for the hotel being shopped.
checkin: The specific date for the check-in.
checkout: The specific date for the check-out.
guests: The occupancy for the room.
currency: The currency to fetch the price in.
websitecode: The sourceid assigned to the source being shopped.
snapshot: Toggle true to enable screen capture for a call. The default value is False.
pos: The region from which the rateshop call was made.
maxoccupancy: The maximum number of guests the specific room can accommodate.
ispromo: Y/N values indicating whether the room has promotions/offers/discounts available (Y - Available / N - Not Available).
taxtype: Contains the tax information fetched from the pricing page.
taxstatus: Possible values are -1, 1, 2, 3, where -1 denotes tax information not available, 1 denotes tax included in the rate, 2 denotes tax not included in the rate, and 3* ** denotes tax partially included in the rate.
taxamount: Contains the taxable value.
israteperstay: Possible values are N and Y, where N denotes the rate published is 'rate per night' and Y denotes the rate is 'rate per stay'. This parameter is useful when the length of stay (los) is greater than 1.
Refer to the "Reference" section at the bottom of this document for information on other parameters like currency, roomtypecode, conditionscode, and mealplancode.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
queueid | path | integer(int32) | true | none |
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | None |
Schedules
create Schedule
Code samples
# You can also use wget
curl -X POST /schedule \
-H 'Content-Type: application/json' \
-H 'Accept: text/plain' \
-H 'Authorization: Bearer {access-token}'
POST /schedule HTTP/1.1
Content-Type: application/json
Accept: text/plain
const inputBody = '{
"schedulename": "X-Mas",
"rateshopid": 0,
"year": "*",
"month": "*",
"dow": "*",
"day": "*",
"hour": "1",
"minute": "*",
"seconds": "*",
"status": 1,
"startdate": "2019-08-24",
"enddate": "2019-08-24"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'text/plain',
'Authorization':'Bearer {access-token}'
};
fetch('/schedule',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'text/plain',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.post '/schedule',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'text/plain',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('/schedule', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'text/plain',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/schedule', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/schedule");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"text/plain"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/schedule", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /schedule
This API call allows a user to create a time-table for running a specific Rateshop at a predetermined date and time on a set schedule. The user can also define the mode of delivery, either through a Web-Hook or using a queueid.
Parameters: * year: Specifies the year for the schedule. Options include: * "" (empty string):No specification * "2016": One year only * "2016, 2017": Runs for 2 years
month: Specifies the month(s) for the schedule. Options include:
- "" (empty string): Runs for all 12 months in a year
- "1": January
- "2": February
- "3": March
- "4": April
- "5": May
- "6": June
- "7": July
- "8": August
- "9": September
- "10": October
- "11": November
- "12": December
- "1,3,5": Runs every Monday, Wednesday, and Friday
day: Specifies the day(s) for the schedule. Options include:
- "" (empty string): All days in a month
- 1-31: Any day index in a calendar month. Can be passed as an expression like "1,3,5"
hour: Specifies the hour of the day for invoking the rateshop. Can be any value from 0-23. If the value is "" (empty string), it is considered undefined and can be run anytime within 24 hours.
minute: Specifies the minute within the hour for invoking the rateshop. Can be any value from 0-59. If the value is "" (empty string), it is considered undefined and can be run anytime within the defined hour.
seconds: Specifies the second within the minute for invoking the rateshop. Can be any value from 0-59. If the value is "" (empty string), it is considered undefined and can be run anytime within the defined minute.
Body parameter
{
"schedulename": "X-Mas",
"rateshopid": 0,
"year": "*",
"month": "*",
"dow": "*",
"day": "*",
"hour": "1",
"minute": "*",
"seconds": "*",
"status": 1,
"startdate": "2019-08-24",
"enddate": "2019-08-24"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | newschedule | false | none |
Example responses
200 Response
{"schedulename":"X-Mas","rateshopid":0,"year":"*","month":"*","dow":"*","day":"*","hour":"1","minute":"*","seconds":"*","status":1,"startdate":"2023-02-16","enddate":"2023-02-16"}
{
"schedulename": "X-Mas",
"rateshopid": 0,
"year": "*",
"month": "*",
"dow": "*",
"day": "*",
"hour": "1",
"minute": "*",
"seconds": "*",
"status": 1,
"startdate": "2023-02-16",
"enddate": "2023-02-16"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | ScheduleExampleValues |
400 | Bad Request | Error | None |
401 | Unauthorized | Authorization has been denied for this request | None |
429 | Too Many Requests | You have exceeded your access limit | None |
Get Schedule
Code samples
# You can also use wget
curl -X GET /schedule/{scheduleid} \
-H 'Authorization: Bearer {access-token}'
GET /schedule/{scheduleid} HTTP/1.1
const headers = {
'Authorization':'Bearer {access-token}'
};
fetch('/schedule/{scheduleid}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get '/schedule/{scheduleid}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Authorization': 'Bearer {access-token}'
}
r = requests.get('/schedule/{scheduleid}', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/schedule/{scheduleid}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/schedule/{scheduleid}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/schedule/{scheduleid}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /schedule/{scheduleid}
This API call retrieves the schedule configuration using the scheduleid as a mandatory parameter. It allows you to fetch the details and settings of a specific schedule based on its unique identifier.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
scheduleid | path | integer(int32) | true | none |
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | None |
400 | Bad Request | Error | None |
401 | Unauthorized | Authorization has been denied for this request | None |
429 | Too Many Requests | You have exceeded your access limit | None |
Update Schedule
Code samples
# You can also use wget
curl -X PUT /schedule/{scheduleid} \
-H 'Content-Type: application/json' \
-H 'Accept: text/plain' \
-H 'Authorization: Bearer {access-token}'
PUT /schedule/{scheduleid} HTTP/1.1
Content-Type: application/json
Accept: text/plain
const inputBody = '{
"schedulename": "X-Mas",
"rateshopid": 0,
"year": "*",
"month": "*",
"dow": "*",
"day": "*",
"hour": "1",
"minute": "*",
"seconds": "*",
"status": 1,
"startdate": "2019-08-24",
"enddate": "2019-08-24"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'text/plain',
'Authorization':'Bearer {access-token}'
};
fetch('/schedule/{scheduleid}',
{
method: 'PUT',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'text/plain',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.put '/schedule/{scheduleid}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'text/plain',
'Authorization': 'Bearer {access-token}'
}
r = requests.put('/schedule/{scheduleid}', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'text/plain',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('PUT','/schedule/{scheduleid}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/schedule/{scheduleid}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PUT");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"text/plain"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PUT", "/schedule/{scheduleid}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT /schedule/{scheduleid}
This API call deletes a schedule from your account. It accepts the scheduleid as a parameter and returns the status of the request. It allows you to remove a specific schedule from your account based on its unique identifier.
Body parameter
{
"schedulename": "X-Mas",
"rateshopid": 0,
"year": "*",
"month": "*",
"dow": "*",
"day": "*",
"hour": "1",
"minute": "*",
"seconds": "*",
"status": 1,
"startdate": "2019-08-24",
"enddate": "2019-08-24"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
scheduleid | path | integer(int32) | true | none |
body | body | newschedule | false | none |
Example responses
200 Response
{"schedulename":"X-Mas","rateshopid":0,"year":"*","month":"*","dow":"*","day":"*","hour":"1","minute":"*","seconds":"*","status":1,"startdate":"2023-02-16","enddate":"2023-02-16"}
{
"schedulename": "X-Mas",
"rateshopid": 0,
"year": "*",
"month": "*",
"dow": "*",
"day": "*",
"hour": "1",
"minute": "*",
"seconds": "*",
"status": 1,
"startdate": "2023-02-16",
"enddate": "2023-02-16"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | ScheduleExampleValues |
400 | Bad Request | Error | None |
401 | Unauthorized | Authorization has been denied for this request | None |
429 | Too Many Requests | You have exceeded your access limit | None |
Delete Schedule
Code samples
# You can also use wget
curl -X DELETE /schedule/{scheduleid} \
-H 'Authorization: Bearer {access-token}'
DELETE /schedule/{scheduleid} HTTP/1.1
const headers = {
'Authorization':'Bearer {access-token}'
};
fetch('/schedule/{scheduleid}',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.delete '/schedule/{scheduleid}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Authorization': 'Bearer {access-token}'
}
r = requests.delete('/schedule/{scheduleid}', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('DELETE','/schedule/{scheduleid}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/schedule/{scheduleid}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("DELETE");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("DELETE", "/schedule/{scheduleid}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE /schedule/{scheduleid}
This API call deletes a schedule from your account. It accepts the scheduleid as a parameter and returns the status of the request. It allows you to remove a specific schedule from your account based on its unique identifier.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
scheduleid | path | integer(int32) | true | none |
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | None |
400 | Bad Request | Error | None |
401 | Unauthorized | Authorization has been denied for this request | None |
429 | Too Many Requests | You have exceeded your access limit | None |
Create Schedulelog
Code samples
# You can also use wget
curl -X POST /schedulelog \
-H 'Content-Type: application/json' \
-H 'Accept: text/plain' \
-H 'Authorization: Bearer {access-token}'
POST /schedulelog HTTP/1.1
Content-Type: application/json
Accept: text/plain
const inputBody = '{
"scheduleid": 0,
"startdate": "2019-08-24",
"enddate": "2019-08-24"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'text/plain',
'Authorization':'Bearer {access-token}'
};
fetch('/schedulelog',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'text/plain',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.post '/schedulelog',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'text/plain',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('/schedulelog', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'text/plain',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/schedulelog', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/schedulelog");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"text/plain"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/schedulelog", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /schedulelog
This API call allows you to retrieve the schedule log of active queueids. By default, the call will retrieve the schedules executed on the current date. You can filter the results using parameters such as rateshopid, scheduleid, startdate, and enddate to narrow down the log entries based on specific criteria.
Body parameter
{
"scheduleid": 0,
"startdate": "2019-08-24",
"enddate": "2019-08-24"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | schedulelogreq | false | none |
Example responses
200 Response
{"scheduleid":0,"startdate":"2023-02-16","enddate":0}
{
"scheduleid": 0,
"startdate": "2023-02-16",
"enddate": 0
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | SchedulelogExamplevalues |
400 | Bad Request | Error | None |
401 | Unauthorized | Authorization has been denied for this request | None |
429 | Too Many Requests | You have exceeded your access limit | None |
Get Schedules
Code samples
# You can also use wget
curl -X GET /schedulelist \
-H 'Authorization: Bearer {access-token}'
GET /schedulelist HTTP/1.1
const headers = {
'Authorization':'Bearer {access-token}'
};
fetch('/schedulelist',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get '/schedulelist',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Authorization': 'Bearer {access-token}'
}
r = requests.get('/schedulelist', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/schedulelist', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/schedulelist");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/schedulelist", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /schedulelist
This API call allows you to retrieve the list of schedules defined in your account. It provides information about all the schedules that have been created, allowing you to view and manage your scheduled tasks efficiently.
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | None |
400 | Bad Request | Error | None |
401 | Unauthorized | Authorization has been denied for this request | None |
429 | Too Many Requests | You have exceeded your access limit | None |
Hooks
Create Queuealerts
Code samples
# You can also use wget
curl -X POST /hooks/queuealerts \
-H 'Content-Type: application/json' \
-H 'Accept: text/plain' \
-H 'Authorization: Bearer {access-token}'
POST /hooks/queuealerts HTTP/1.1
Content-Type: application/json
Accept: text/plain
const inputBody = '{
"endpoint": "string",
"authtype": "string",
"username": "string",
"password": "string",
"token": "string"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'text/plain',
'Authorization':'Bearer {access-token}'
};
fetch('/hooks/queuealerts',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'text/plain',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.post '/hooks/queuealerts',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'text/plain',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('/hooks/queuealerts', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'text/plain',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/hooks/queuealerts', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/hooks/queuealerts");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"text/plain"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/hooks/queuealerts", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /hooks/queuealerts
This API call enables the use of a Web Hook to deliver Queue status updates to a designated end-point. By defining a hook, you can receive notifications regarding the successful completion or termination of a Queue, whether it be due to error or any other reason. The hook will send a POST request containing the following JSON Schema to your specified end-point.
Body parameter
{
"endpoint": "string",
"authtype": "string",
"username": "string",
"password": "string",
"token": "string"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | ratehookreq | false | none |
Example responses
200 Response
{"endpoint":"","authtype":"","username":"","password":"","token":""}
{
"endpoint": "",
"authtype": "",
"username": "",
"password": "",
"token": ""
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | QueueAlertsExampleValue |
400 | Bad Request | Error | None |
401 | Unauthorized | Authorization has been denied for this request | None |
429 | Too Many Requests | You have exceeded your access limit | None |
Create Rate
Code samples
# You can also use wget
curl -X POST /hooks/rate \
-H 'Content-Type: application/json' \
-H 'Accept: text/plain' \
-H 'Authorization: Bearer {access-token}'
POST /hooks/rate HTTP/1.1
Content-Type: application/json
Accept: text/plain
const inputBody = '{
"endpoint": "string",
"authtype": "string",
"username": "string",
"password": "string",
"token": "string"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'text/plain',
'Authorization':'Bearer {access-token}'
};
fetch('/hooks/rate',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'text/plain',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.post '/hooks/rate',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'text/plain',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('/hooks/rate', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'text/plain',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/hooks/rate', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/hooks/rate");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"text/plain"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/hooks/rate", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /hooks/rate
This API call allows you to utilize a WebHook for delivering data generated by your RateShop to a specified end-point. By defining a hook, the rates will be automatically sent to the configured end-point. The hook will send a POST request containing the following JSON Schema to your specified end-point.
Body parameter
{
"endpoint": "string",
"authtype": "string",
"username": "string",
"password": "string",
"token": "string"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | ratehookreq | false | none |
Example responses
200 Response
{"endpoint":"","authtype":"","username":"","password":"","token":""}
{
"endpoint": "",
"authtype": "",
"username": "",
"password": "",
"token": ""
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | HooksRateExamplevalue |
400 | Bad Request | Error | None |
401 | Unauthorized | Authorization has been denied for this request | None |
429 | Too Many Requests | You have exceeded your access limit | None |
References
Get Currencies
Code samples
# You can also use wget
curl -X GET /currencies \
-H 'Authorization: Bearer {access-token}'
GET /currencies HTTP/1.1
const headers = {
'Authorization':'Bearer {access-token}'
};
fetch('/currencies',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get '/currencies',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Authorization': 'Bearer {access-token}'
}
r = requests.get('/currencies', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/currencies', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/currencies");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/currencies", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /currencies
This API call retrieves a list of supported currencies and their acceptable formats in the RatesAPI. The currency names obtained from this call can be used when specifying the currency parameter in the /rateshop method to indicate the desired currency for the search.
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | None |
Get Countries
Code samples
# You can also use wget
curl -X GET /countries \
-H 'Authorization: Bearer {access-token}'
GET /countries HTTP/1.1
const headers = {
'Authorization':'Bearer {access-token}'
};
fetch('/countries',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get '/countries',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Authorization': 'Bearer {access-token}'
}
r = requests.get('/countries', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/countries', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/countries");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/countries", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /countries
This API call retrieves a list of supported country names and their acceptable formats in the RatesAPI. The country names obtained from this call can be used when specifying the country parameter in the /hotels method to search for hotels with a specific hotelcode.
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | None |
Get Sources
Code samples
# You can also use wget
curl -X GET /sources \
-H 'Authorization: Bearer {access-token}'
GET /sources HTTP/1.1
const headers = {
'Authorization':'Bearer {access-token}'
};
fetch('/sources',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get '/sources',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Authorization': 'Bearer {access-token}'
}
r = requests.get('/sources', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/sources', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/sources");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/sources", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /sources
This API call retrieves a list of available sources in the RatesAPI along with their unique identifiers. The source IDs obtained from this call can be used when defining a RateShop to specify a particular source for rate retrieval.
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | None |
Get Roomtypes
Code samples
# You can also use wget
curl -X GET /roomtypes \
-H 'Authorization: Bearer {access-token}'
GET /roomtypes HTTP/1.1
const headers = {
'Authorization':'Bearer {access-token}'
};
fetch('/roomtypes',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get '/roomtypes',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Authorization': 'Bearer {access-token}'
}
r = requests.get('/roomtypes', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/roomtypes', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/roomtypes");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/roomtypes", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /roomtypes
This API call retrieves a list of room type categories in the RatesAPI along with their unique identifiers. The room types are categorized into broad categories for comparison purposes.
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | None |
Get Mealplans
Code samples
# You can also use wget
curl -X GET /mealplans \
-H 'Authorization: Bearer {access-token}'
GET /mealplans HTTP/1.1
const headers = {
'Authorization':'Bearer {access-token}'
};
fetch('/mealplans',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get '/mealplans',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Authorization': 'Bearer {access-token}'
}
r = requests.get('/mealplans', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/mealplans', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/mealplans");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/mealplans", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /mealplans
This API call retrieves a list of meal plan categories in the RatesAPI along with their unique identifiers. The meal plans are categorized into broad categories for comparison purposes.
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | None |
Get Conditions
Code samples
# You can also use wget
curl -X GET /conditions \
-H 'Authorization: Bearer {access-token}'
GET /conditions HTTP/1.1
const headers = {
'Authorization':'Bearer {access-token}'
};
fetch('/conditions',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get '/conditions',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Authorization': 'Bearer {access-token}'
}
r = requests.get('/conditions', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/conditions', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/conditions");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/conditions", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /conditions
This API call retrieves a list of booking condition categories in the RatesAPI along with their unique identifiers. The booking conditions are categorized into broad categories for comparison purposes.
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | None |
Get Statuscodes
Code samples
# You can also use wget
curl -X GET /statuscodes \
-H 'Authorization: Bearer {access-token}'
GET /statuscodes HTTP/1.1
const headers = {
'Authorization':'Bearer {access-token}'
};
fetch('/statuscodes',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get '/statuscodes',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Authorization': 'Bearer {access-token}'
}
r = requests.get('/statuscodes', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/statuscodes', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/statuscodes");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/statuscodes", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /statuscodes
This API call retrieves a list of status codes that you may encounter when using any of the calls in the Rates section of the RatesAPI. The status codes provide information about the execution status and outcomes of the API calls.
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | None |
Get Pos
Code samples
# You can also use wget
curl -X GET /pos \
-H 'Authorization: Bearer {access-token}'
GET /pos HTTP/1.1
const headers = {
'Authorization':'Bearer {access-token}'
};
fetch('/pos',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get '/pos',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Authorization': 'Bearer {access-token}'
}
r = requests.get('/pos', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/pos', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/pos");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/pos", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /pos
This API call returns a list of supported Point of Sale (POS) regions in the RatesAPI. The POS regions represent different geographical locations or markets where the rates and availability data can be sourced from. Each POS region has a unique identifier assigned to it, which can be used in other API calls to specify the region from which the rates should be retrieved.
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | None |
Meta Search
Get Metacountries
Code samples
# You can also use wget
curl -X GET /meta/countries \
-H 'Authorization: Bearer {access-token}'
GET /meta/countries HTTP/1.1
const headers = {
'Authorization':'Bearer {access-token}'
};
fetch('/meta/countries',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get '/meta/countries',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Authorization': 'Bearer {access-token}'
}
r = requests.get('/meta/countries', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/meta/countries', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/meta/countries");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/meta/countries", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /meta/countries
This API call retrieves a list of supported country names and their corresponding formats that are acceptable in the RatesAPI. It is useful when using the /hotels method to search for a specific hotel code and needing to provide the country parameter. The country names provided in the response can be used as input while specifying the country in the RatesAPI requests.
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | None |
Get Metasources
Code samples
# You can also use wget
curl -X GET /meta/sources \
-H 'Authorization: Bearer {access-token}'
GET /meta/sources HTTP/1.1
const headers = {
'Authorization':'Bearer {access-token}'
};
fetch('/meta/sources',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get '/meta/sources',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Authorization': 'Bearer {access-token}'
}
r = requests.get('/meta/sources', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/meta/sources', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/meta/sources");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/meta/sources", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /meta/sources
This API call retrieves a list of available sources and their corresponding unique identifiers in the RatesAPI. It is used to identify and specify a particular source when defining a RateShop. The response will provide you with the list of sources along with their assigned IDs, which can be used to reference a specific source in your RateShop configurations.
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | None |
get Metaststuscodes
Code samples
# You can also use wget
curl -X GET /meta/statuscodes \
-H 'Authorization: Bearer {access-token}'
GET /meta/statuscodes HTTP/1.1
const headers = {
'Authorization':'Bearer {access-token}'
};
fetch('/meta/statuscodes',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get '/meta/statuscodes',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Authorization': 'Bearer {access-token}'
}
r = requests.get('/meta/statuscodes', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/meta/statuscodes', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/meta/statuscodes");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/meta/statuscodes", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /meta/statuscodes
This API call allows you to retrieve a list of status codes that you may encounter when using any API calls in the Rates section. These status codes provide information about the outcome or result of your API requests. By referring to this list, you can understand the meaning and interpretation of each status code and take appropriate actions based on the response received. This is helpful for error handling, troubleshooting, and ensuring the proper flow of your application when interacting with the RoomRatesAPI.
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | None |
Create Metahotels
Code samples
# You can also use wget
curl -X POST /meta/hotels \
-H 'Content-Type: application/json' \
-H 'Accept: text/plain' \
-H 'Authorization: Bearer {access-token}'
POST /meta/hotels HTTP/1.1
Content-Type: application/json
Accept: text/plain
const inputBody = '{
"hotelname": "",
"country": "United States of America",
"city": "",
"state": "",
"zip": "",
"keyword": ""
}';
const headers = {
'Content-Type':'application/json',
'Accept':'text/plain',
'Authorization':'Bearer {access-token}'
};
fetch('/meta/hotels',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'text/plain',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.post '/meta/hotels',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'text/plain',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('/meta/hotels', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'text/plain',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/meta/hotels', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/meta/hotels");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"text/plain"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/meta/hotels", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /meta/hotels
This API call allows you to retrieve a list of all hotels available in the RatesAPI for rate retrieval. You can specify the country or hotel name as mandatory parameters to filter the results. The hotel code, which is a unique identifier assigned to each hotel location, is required for all rate retrieval calls made using this API.
Example usage: To retrieve hotels in a specific country: { "country": "United States of America" }
To retrieve hotels by name: { "hotelname": "Hyatt" }
Please note that all other parameters for filtering the results are optional. If a hotel you wish to retrieve rates for is not currently available in our database, please connect with us and we will endeavor to make it available within the next 24 hours
Body parameter
{
"hotelname": "",
"country": "United States of America",
"city": "",
"state": "",
"zip": "",
"keyword": ""
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | hotelsearch | false | none |
Example responses
200 Response
{"hotelname":"","country":"United States of America","city":"","state":"","zip":"","keyword":""}
{
"hotelname": "",
"country": "United States of America",
"city": "",
"state": "",
"zip": "",
"keyword": ""
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | HotelExamplevalues |
401 | Unauthorized | Authorization has been denied for this request | None |
Create Metahotelinfo
Code samples
# You can also use wget
curl -X POST /meta/hotelinfo \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer {access-token}'
POST /meta/hotelinfo HTTP/1.1
Content-Type: application/json
const inputBody = '{
"parameters": {
"hotelcode": "string"
}
}';
const headers = {
'Content-Type':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('/meta/hotelinfo',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.post '/meta/hotelinfo',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('/meta/hotelinfo', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/meta/hotelinfo', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/meta/hotelinfo");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/meta/hotelinfo", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /meta/hotelinfo
This API call allows you to retrieve the list of sources available for a specific hotel using the hotel code obtained from a previous call.
To make this request, provide the hotel code as a parameter. The hotel code is a unique identifier assigned to each hotel in the RatesAPI.
Example: { "hotelcode": 14118 }
Upon successful execution, the response will include information such as the website code, which is the unique identifier assigned to each source in the RatesAPI. This code can be used as an input parameter in rate calls to constrain the retrieval to specified sources.
Additionally, the response may include the field "snapshotavailable," which indicates whether you can take a snapshot of the page at the time of data retrieval. Please note that taking a snapshot may incur additional charges. For more information about snapshot availability and associated costs, please feel free to contact us.
Body parameter
{
"parameters": {
"hotelcode": "string"
}
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | hotelinfo | false | none |
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | None |
401 | Unauthorized | Authorization has been denied for this request | None |
Create Metarates
Code samples
# You can also use wget
curl -X POST /meta/rates \
-H 'Content-Type: application/json' \
-H 'Accept: text/plain' \
-H 'Authorization: Bearer {access-token}'
POST /meta/rates HTTP/1.1
Content-Type: application/json
Accept: text/plain
const inputBody = '{
"hotelcode": 0,
"websitecode": 0,
"checkin": "2019-08-24T14:15:22Z",
"checkout": "2019-08-24T14:15:22Z",
"pos": 0
}';
const headers = {
'Content-Type':'application/json',
'Accept':'text/plain',
'Authorization':'Bearer {access-token}'
};
fetch('/meta/rates',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'text/plain',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.post '/meta/rates',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'text/plain',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('/meta/rates', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'text/plain',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/meta/rates', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/meta/rates");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"text/plain"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/meta/rates", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /meta/rates
This API call enables you to make a specific request for rates of a single hotel. It provides customization options while ensuring a faster response time. However, it requires implementing the necessary logic for rate retrieval within your application.
To make this request, you need to build the logic in your application for retrieving rates based on your specific requirements. This allows you to customize the rate retrieval process according to your needs. Please note that implementing the logic for rate retrieval is your responsibility, but it offers the advantage of increased speed in obtaining the rates you desire.
Feel free to specify the necessary parameters, such as hotel code, check-in and check-out dates, occupancy details, currency, and other relevant information to retrieve the rates for a specific hotel.
Example: { "hotelcode": "12345", "checkin": "2023-06-25", "checkout": "2023-06-28", "guests": "2", "currency": "USD" }
Implementing the logic to retrieve rates ensures greater flexibility and customization while optimizing the speed of response for your rate requests.
Body parameter
{
"hotelcode": 0,
"websitecode": 0,
"checkin": "2019-08-24T14:15:22Z",
"checkout": "2019-08-24T14:15:22Z",
"pos": 0
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | metareq | false | none |
Example responses
200 Response
{"checkout":"2023-03-08","checkin":"2023-03-07","hotelcode":0,"websitecode":0}
{
"checkout": "2023-03-08",
"checkin": "2023-03-07",
"hotelcode": 0,
"websitecode": 0
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | MetarespExample |
400 | Bad Request | Error | None |
401 | Unauthorized | Authorization has been denied for this request | None |
Schemas
userReq
{
"handle": "myuser",
"password": "supersecret"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
handle | string | true | none | Request an user by. |
password | string | true | none | Secret |
userResp
{
"error": false,
"token": "AXSGpLVjnef7w5XgfWdoBwbfs",
"handle": "myuser"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
error | boolean | false | none | none |
token | string | false | none | Represents an access token. |
handle | string | false | none | Represents a handle. |
Enumerated Values
Property | Value |
---|---|
error | false |
creditResp
{
"validtill": "2019-08-24",
"calls": {
"pullspersecond": 2,
"pullsperminute": 120,
"pullsperhour": 7200,
"pullsperday": 172800,
"pullsperweek": 1209600,
"pullspermonth": 5184000
},
"features": {
"rateshops": 10,
"horizonmax": 30,
"schedules": 5
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
validtill | string(date) | false | none | none |
calls | object | false | none | none |
» pullspersecond | integer | false | none | The maximum allowed number of API pulls per second. |
» pullsperminute | integer | false | none | The maximum allowed number of API pulls per minute. |
» pullsperhour | integer | false | none | The maximum allowed number of API pulls per hour. |
» pullsperday | integer | false | none | The maximum allowed number of API pulls per day. |
» pullsperweek | integer | false | none | The maximum allowed number of API pulls per week. |
» pullspermonth | integer | false | none | The maximum allowed number of API pulls per month. |
features | object | false | none | none |
» rateshops | integer | false | none | The maximum number of rate shops allowed. |
» horizonmax | integer | false | none | The maximum allowed horizon value. |
» schedules | integer | false | none | The maximum number of schedules allowed. |
ratehookreq
{
"endpoint": "string",
"authtype": "string",
"username": "string",
"password": "string",
"token": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
endpoint | string | false | none | none |
authtype | string | false | none | none |
username | string | false | none | none |
password | string | false | none | none |
token | string | false | none | none |
ratehookresp
{
"requestid": "string",
"message": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
requestid | string | false | none | none |
message | string | false | none | none |
hotelsearch
{
"hotelname": "",
"country": "United States of America",
"city": "",
"state": "",
"zip": "",
"keyword": ""
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
hotelname | string | false | none | none |
country | string | false | none | none |
city | string | false | none | none |
state | string | false | none | none |
zip | string | false | none | none |
keyword | string | false | none | none |
hotelsresp
{
"hotelcode": 0,
"hotelname": "string",
"address": "string",
"city": "string",
"state": "string",
"zip": "string",
"country": "string",
"starrating": "string",
"lat": 0,
"lng": 0
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
hotelcode | number | false | none | none |
hotelname | string | false | none | none |
address | string | false | none | none |
city | string | false | none | none |
state | string | false | none | none |
zip | string | false | none | none |
country | string | false | none | none |
starrating | string | false | none | none |
lat | number | false | none | none |
lng | number | false | none | none |
pullpackage
{
"rateshopid": 0,
"startdate": "2019-08-24",
"horizon": 0,
"horizonexpression": "string",
"sources": [
0
],
"hotelcodes": [
0
],
"compsets": [
{
"hotelcode": 0,
"competitorhotelcodes": [
0
]
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
rateshopid | number | false | none | none |
startdate | string(date) | false | none | none |
horizon | number | false | none | none |
horizonexpression | string | false | none | none |
sources | [number] | false | none | none |
hotelcodes | [number] | false | none | none |
compsets | [object] | false | none | none |
» hotelcode | number | false | none | none |
» competitorhotelcodes | [number] | false | none | none |
ratepullresp
{
"queueid": 0,
"approximatetime": "string",
"status_code": 0,
"status_msg": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
queueid | number | false | none | none |
approximatetime | string | false | none | none |
status_code | integer | false | none | none |
status_msg | string | false | none | none |
hotelinfo
{
"parameters": {
"hotelcode": "string"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
parameters | object | false | none | none |
» hotelcode | string | false | none | The unique ID of the hotel |
hotelinforesp
{
"hotelcode": 0,
"hotelname": "string",
"address": "string",
"city": "string",
"state": "string",
"zip": "string",
"country": "string",
"starrating": "string",
"lat": 0,
"long": 0,
"sources": {
"websitecode": 0,
"websitename": "string",
"url": "string",
"channeltype": "string",
"snapshotavailable": true
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
hotelcode | number | false | none | none |
hotelname | string | false | none | none |
address | string | false | none | none |
city | string | false | none | none |
state | string | false | none | none |
zip | string | false | none | none |
country | string | false | none | none |
starrating | string | false | none | none |
lat | number | false | none | none |
long | number | false | none | none |
sources | object | false | none | none |
» websitecode | number | false | none | none |
» websitename | string | false | none | none |
» url | string | false | none | none |
» channeltype | string | false | none | none |
» snapshotavailable | boolean | false | none | none |
rateshopinfo
{
"rateshopid": 0,
"rateshopname": "string",
"los": 0,
"occupancy": 0,
"currency": "string",
"currencies": [
"string"
],
"fetchtype": 0,
"horizon": 0,
"hotelcodes": [
0
],
"compsets": [
{
"hotelcode": 0,
"competitorhotelcodes": [
0
]
}
],
"sources": [
0
],
"horizonexpression": "string",
"pos": 0
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
rateshopid | number | false | none | none |
rateshopname | string | false | none | none |
los | integer | false | none | none |
occupancy | integer | false | none | none |
currency | string | false | none | none |
currencies | [string] | false | none | none |
fetchtype | integer | false | none | none |
horizon | integer | false | none | none |
hotelcodes | [number] | false | none | none |
compsets | [object] | false | none | none |
» hotelcode | number | false | none | none |
» competitorhotelcodes | [number] | false | none | none |
sources | [integer] | false | none | none |
horizonexpression | string | false | none | none |
pos | number | false | none | none |
rateresp
{
"hotelcode": 0,
"websitecode": 0,
"dtcollected": "2019-08-24",
"ratedate": "2019-08-24",
"los": 0,
"guests": 0,
"roomtype": "string",
"onsiterate": 0,
"netrate": 0,
"currency": "string",
"ratedescription": "string",
"sourceurl": "string",
"roomamenities": "string",
"maxoccupancy": 0,
"ispromo": true,
"closed": "string",
"checkin": "2019-08-24",
"checkout": "2019-08-24",
"discount": 0,
"promoname": "string",
"searchkeyword": "string",
"roomtypecode": 0,
"conditionscode": 0,
"mealplancode": 0,
"taxstatus": 0,
"taxtype": "string",
"taxamount": 0,
"pos": 0,
"requestorigin": "string",
"israteperstay": "string",
"status_code": 0,
"snapshoturl": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
hotelcode | number | false | none | none |
websitecode | number | false | none | none |
dtcollected | string(date) | false | none | none |
ratedate | string(date) | false | none | none |
los | number | false | none | none |
guests | number | false | none | none |
roomtype | string | false | none | none |
onsiterate | number | false | none | none |
netrate | number | false | none | none |
currency | string | false | none | none |
ratedescription | string | false | none | none |
sourceurl | string | false | none | none |
roomamenities | string | false | none | none |
maxoccupancy | number | false | none | none |
ispromo | boolean | false | none | none |
closed | string | false | none | none |
checkin | string(date) | false | none | none |
checkout | string(date) | false | none | none |
discount | number | false | none | none |
promoname | string | false | none | none |
searchkeyword | string | false | none | none |
roomtypecode | number | false | none | none |
conditionscode | number | false | none | none |
mealplancode | number | false | none | none |
taxstatus | number | false | none | none |
taxtype | string | false | none | none |
taxamount | number | false | none | none |
pos | number | false | none | none |
requestorigin | string | false | none | none |
israteperstay | string | false | none | none |
status_code | number | false | none | none |
snapshoturl | string | false | none | none |
pullresp
{
"queueid": 0,
"hotelcode": 0,
"subjecthotelcode": 0,
"websitecode": 0,
"dtcollected": "2019-08-24",
"ratedate": "2019-08-24",
"los": 0,
"guests": 0,
"roomtype": "string",
"onsiterate": 0,
"netrate": 0,
"currency": "string",
"ratedescription": "string",
"sourceurl": "string",
"roomamenities": "string",
"maxoccupancy": 0,
"ispromo": true,
"closed": "string",
"checkin": "2019-08-24",
"checkout": "2019-08-24",
"discount": 0,
"promoname": "string",
"searchkeyword": "string",
"roomtypecode": 0,
"conditionscode": 0,
"mealplancode": 0,
"taxstatus": 0,
"taxtype": "string",
"taxamount": 0,
"pos": 0,
"requestorigin": "string",
"israteperstay": "string",
"status_code": 0
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
queueid | number | false | none | none |
hotelcode | number | false | none | none |
subjecthotelcode | number | false | none | none |
websitecode | number | false | none | none |
dtcollected | string(date) | false | none | none |
ratedate | string(date) | false | none | none |
los | number | false | none | none |
guests | number | false | none | none |
roomtype | string | false | none | none |
onsiterate | number | false | none | none |
netrate | number | false | none | none |
currency | string | false | none | none |
ratedescription | string | false | none | none |
sourceurl | string | false | none | none |
roomamenities | string | false | none | none |
maxoccupancy | number | false | none | none |
ispromo | boolean | false | none | none |
closed | string | false | none | none |
checkin | string(date) | false | none | none |
checkout | string(date) | false | none | none |
discount | number | false | none | none |
promoname | string | false | none | none |
searchkeyword | string | false | none | none |
roomtypecode | number | false | none | none |
conditionscode | number | false | none | none |
mealplancode | number | false | none | none |
taxstatus | number | false | none | none |
taxtype | string | false | none | none |
taxamount | number | false | none | none |
pos | number | false | none | none |
requestorigin | string | false | none | none |
israteperstay | string | false | none | none |
status_code | number | false | none | none |
newschedule
{
"schedulename": "X-Mas",
"rateshopid": 0,
"year": "*",
"month": "*",
"dow": "*",
"day": "*",
"hour": "1",
"minute": "*",
"seconds": "*",
"status": 1,
"startdate": "2019-08-24",
"enddate": "2019-08-24"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
schedulename | string | false | none | none |
rateshopid | number | false | none | none |
year | string | false | none | none |
month | string | false | none | none |
dow | string | false | none | none |
day | string | false | none | none |
hour | string | false | none | none |
minute | string | false | none | none |
seconds | string | false | none | none |
status | number | false | none | none |
startdate | string(date) | false | none | none |
enddate | string(date) | false | none | none |
Enumerated Values
Property | Value |
---|---|
status | 1 |
status | 2 |
schedule
{
"scheduleid": 0,
"schedulename": "string",
"rateshopid": 0,
"year": "string",
"month": "string",
"dow": "string",
"day": "string",
"hour": "string",
"minute": "string",
"seconds": "string",
"status": 0,
"startdate": "2019-08-24",
"enddate": "2019-08-24"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
scheduleid | number | false | none | none |
schedulename | string | false | none | none |
rateshopid | number | false | none | none |
year | string | false | none | none |
month | string | false | none | none |
dow | string | false | none | none |
day | string | false | none | none |
hour | string | false | none | none |
minute | string | false | none | none |
seconds | string | false | none | none |
status | number | false | none | none |
startdate | string(date) | false | none | none |
enddate | string(date) | false | none | none |
schedulelog
{
"scheduleid": 0,
"rateshopid": 0,
"queueid": 0,
"executedat": "2019-08-24"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
scheduleid | number | false | none | none |
rateshopid | number | false | none | none |
queueid | number | false | none | none |
executedat | string(date) | false | none | none |
countryresp
[
"string"
]
Properties
None
currencyresp
{
"currencycode": "string",
"currencyname": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
currencycode | string | false | none | none |
currencyname | string | false | none | none |
schedulelogreq
{
"scheduleid": 0,
"startdate": "2019-08-24",
"enddate": "2019-08-24"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
scheduleid | number | false | none | none |
startdate | string(date) | false | none | none |
enddate | string(date) | false | none | none |
sourceresp
{
"websitecode": 0,
"websitename": "string",
"url": "string",
"channeltype": "string",
"snapshotavailable": true
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
websitecode | number | false | none | none |
websitename | string | false | none | none |
url | string | false | none | none |
channeltype | string | false | none | none |
snapshotavailable | boolean | false | none | none |
typeresp
{
"code": 0,
"desc": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
code | number | false | none | none |
desc | string | false | none | none |
runstatusresp
{
"queueid": 0,
"rateshopid": 0,
"statuscode": 0,
"statusmessage": "string",
"creditused": 0,
"totalrows": 0
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
queueid | number | false | none | none |
rateshopid | number | false | none | none |
statuscode | number | false | none | none |
statusmessage | string | false | none | none |
creditused | number | false | none | none |
totalrows | number | false | none | none |
credit
{
"validtill": "2019-08-24",
"calls": {
"monthly": 0,
"weekly": 0,
"daily": 0,
"hourly": 0,
"minute": 0,
"second": 0
},
"pullsperday": 0,
"rateshops": {
"allowed": 0,
"used": 0,
"available": 0
},
"horizonmax": 0,
"schedules": {
"allowed": 0,
"used": 0,
"available": 0
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
validtill | string(date) | false | none | none |
calls | object | false | none | none |
» monthly | number | false | none | none |
» weekly | number | false | none | none |
» daily | number | false | none | none |
» hourly | number | false | none | none |
» minute | number | false | none | none |
» second | number | false | none | none |
pullsperday | number | false | none | none |
rateshops | object | false | none | none |
» allowed | number | false | none | none |
» used | number | false | none | none |
» available | number | false | none | none |
horizonmax | number | false | none | none |
schedules | object | false | none | none |
» allowed | number | false | none | none |
» used | number | false | none | none |
» available | number | false | none | none |
metarates
{
"hotelcode": 0,
"websitecode": 0,
"provider": "string",
"rank": 0,
"checkin": "2019-08-24",
"onsiterate": 0,
"netrate": 0,
"pricepernight": 0,
"currency": "string",
"roomtype": "string",
"roomamenities": "string",
"url": "string",
"status_code": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
hotelcode | number | false | none | none |
websitecode | number | false | none | none |
provider | string | false | none | none |
rank | number | false | none | none |
checkin | string(date) | false | none | none |
onsiterate | number | false | none | none |
netrate | number | false | none | none |
pricepernight | number | false | none | none |
currency | string | false | none | none |
roomtype | string | false | none | none |
roomamenities | string | false | none | none |
url | string | false | none | none |
status_code | string | false | none | none |
newmapresp
{
"requestid": 0,
"referencehotelcodes": [
0
],
"statuscode": 0,
"statusmsg": "string",
"approximatetime": "2019-08-24"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
requestid | integer | false | none | none |
referencehotelcodes | [integer] | false | none | none |
statuscode | integer | false | none | none |
statusmsg | string | false | none | none |
approximatetime | string(date) | false | none | none |
sourcemapreq
{
"hotelcode": 0,
"sources": [
0
],
"urls": [
"string"
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
hotelcode | integer | false | none | none |
sources | [integer] | false | none | none |
urls | [string] | false | none | none |
sourcemapresp
{
"requestid": 0,
"hotelcode": 0,
"sources": [
0
],
"urls": [
"string"
],
"status": 0,
"approximatetime": 0
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
requestid | integer | false | none | none |
hotelcode | integer | false | none | none |
sources | [integer] | false | none | none |
urls | [string] | false | none | none |
status | integer | false | none | none |
approximatetime | integer | false | none | This method provides the approximate turnaround time for the request. The default minimum is 72 hours and will vary based on parameter values |
HooksRateExamplevalue
{
"endpoint": "",
"authtype": "",
"username": "",
"password": "",
"token": ""
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
endpoint | string¦null | false | none | none |
authtype | string¦null | false | none | none |
username | string¦null | false | none | none |
password | string¦null | false | none | none |
token | string¦null | false | none | none |
HotelExamplevalues
{
"hotelname": "",
"country": "United States of America",
"city": "",
"state": "",
"zip": "",
"keyword": ""
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
hotelname | string¦null | false | none | none |
country | string¦null | false | none | none |
city | string¦null | false | none | none |
state | string¦null | false | none | none |
zip | string¦null | false | none | none |
keyword | string¦null | false | none | none |
HotelInfoReq
{
"hotelcode": 0,
"hotelcodes": [
0
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
hotelcode | integer(int32)¦null | false | none | none |
hotelcodes | [integer]¦null | false | none | none |
HotelMapRequestExampleValues
{
"hotelname": "",
"address": "",
"city": "",
"state": "",
"country": "",
"zip": "",
"latitude": 0,
"longitude": 0,
"url": [
"string"
],
"websitecodes": 0
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
hotelname | string¦null | false | none | none |
address | string¦null | false | none | none |
city | string¦null | false | none | none |
state | string¦null | false | none | none |
country | string¦null | false | none | none |
zip | string¦null | false | none | none |
latitude | integer(int32) | false | none | none |
longitude | integer(int32) | false | none | none |
url | [string]¦null | false | none | none |
websitecodes | [integer]¦null | false | none | none |
HotelSearch
{
"hotelname": "string",
"country": "string",
"city": "string",
"state": "string",
"zip": "string",
"keyword": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
hotelname | string¦null | false | none | none |
country | string¦null | false | none | none |
city | string¦null | false | none | none |
state | string¦null | false | none | none |
zip | string¦null | false | none | none |
keyword | string¦null | false | none | none |
HotelSource
{
"mapID": 0,
"hotelCode": 0,
"websiteCode": 0,
"baseurl": "string",
"createddate": "2019-08-24T14:15:22Z",
"modifieddate": "2019-08-24T14:15:22Z",
"hotelCodeNavigation": {
"hotelCode": 0,
"hotelName": "string",
"hotelGroup": "string",
"address": "string",
"city": "string",
"state": "string",
"country": "string",
"zip": "string",
"lat": "string",
"lng": "string",
"rating": "string",
"status": 0,
"currencycode": "string",
"propertyType": "string",
"time_zone": "string",
"time_zone_name": "string",
"countrycode": "string",
"hotelSources": [
{
"mapID": 0,
"hotelCode": 0,
"websiteCode": 0,
"baseurl": "string",
"createddate": "2019-08-24T14:15:22Z",
"modifieddate": "2019-08-24T14:15:22Z",
"hotelCodeNavigation": {},
"websiteCodeNavigation": {
"websiteCode": 0,
"websiteName": "string",
"url": "string",
"channeltype": "string",
"status": 0,
"createddate": "2019-08-24T14:15:22Z",
"snapshot": 0,
"description": "string",
"coverage": "string",
"hotelSources": [
{}
],
"hotelSources_backups": [
{
"mapID": 0,
"hotelCode": 0,
"websiteCode": 0,
"baseurl": "string",
"createddate": "2019-08-24T14:15:22Z",
"hotelCodeNavigation": {},
"websiteCodeNavigation": {}
}
]
}
}
],
"hotelSources_backups": [
{
"mapID": 0,
"hotelCode": 0,
"websiteCode": 0,
"baseurl": "string",
"createddate": "2019-08-24T14:15:22Z",
"hotelCodeNavigation": {},
"websiteCodeNavigation": {
"websiteCode": 0,
"websiteName": "string",
"url": "string",
"channeltype": "string",
"status": 0,
"createddate": "2019-08-24T14:15:22Z",
"snapshot": 0,
"description": "string",
"coverage": "string",
"hotelSources": [
{
"mapID": 0,
"hotelCode": 0,
"websiteCode": 0,
"baseurl": "string",
"createddate": "2019-08-24T14:15:22Z",
"modifieddate": "2019-08-24T14:15:22Z",
"hotelCodeNavigation": {},
"websiteCodeNavigation": {}
}
],
"hotelSources_backups": [
{}
]
}
}
]
},
"websiteCodeNavigation": {
"websiteCode": 0,
"websiteName": "string",
"url": "string",
"channeltype": "string",
"status": 0,
"createddate": "2019-08-24T14:15:22Z",
"snapshot": 0,
"description": "string",
"coverage": "string",
"hotelSources": [
{
"mapID": 0,
"hotelCode": 0,
"websiteCode": 0,
"baseurl": "string",
"createddate": "2019-08-24T14:15:22Z",
"modifieddate": "2019-08-24T14:15:22Z",
"hotelCodeNavigation": {
"hotelCode": 0,
"hotelName": "string",
"hotelGroup": "string",
"address": "string",
"city": "string",
"state": "string",
"country": "string",
"zip": "string",
"lat": "string",
"lng": "string",
"rating": "string",
"status": 0,
"currencycode": "string",
"propertyType": "string",
"time_zone": "string",
"time_zone_name": "string",
"countrycode": "string",
"hotelSources": [
{}
],
"hotelSources_backups": [
{
"mapID": 0,
"hotelCode": 0,
"websiteCode": 0,
"baseurl": "string",
"createddate": "2019-08-24T14:15:22Z",
"hotelCodeNavigation": {},
"websiteCodeNavigation": {}
}
]
},
"websiteCodeNavigation": {}
}
],
"hotelSources_backups": [
{
"mapID": 0,
"hotelCode": 0,
"websiteCode": 0,
"baseurl": "string",
"createddate": "2019-08-24T14:15:22Z",
"hotelCodeNavigation": {
"hotelCode": 0,
"hotelName": "string",
"hotelGroup": "string",
"address": "string",
"city": "string",
"state": "string",
"country": "string",
"zip": "string",
"lat": "string",
"lng": "string",
"rating": "string",
"status": 0,
"currencycode": "string",
"propertyType": "string",
"time_zone": "string",
"time_zone_name": "string",
"countrycode": "string",
"hotelSources": [
{
"mapID": 0,
"hotelCode": 0,
"websiteCode": 0,
"baseurl": "string",
"createddate": "2019-08-24T14:15:22Z",
"modifieddate": "2019-08-24T14:15:22Z",
"hotelCodeNavigation": {},
"websiteCodeNavigation": {}
}
],
"hotelSources_backups": [
{}
]
},
"websiteCodeNavigation": {}
}
]
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
mapID | integer(int64) | false | none | none |
hotelCode | integer(int32) | false | none | none |
websiteCode | integer(int32) | false | none | none |
baseurl | string¦null | false | none | none |
createddate | string(date-time)¦null | false | none | none |
modifieddate | string(date-time)¦null | false | none | none |
hotelCodeNavigation | hotel | false | none | none |
websiteCodeNavigation | Source | false | none | none |
HotelSources_backup
{
"mapID": 0,
"hotelCode": 0,
"websiteCode": 0,
"baseurl": "string",
"createddate": "2019-08-24T14:15:22Z",
"hotelCodeNavigation": {
"hotelCode": 0,
"hotelName": "string",
"hotelGroup": "string",
"address": "string",
"city": "string",
"state": "string",
"country": "string",
"zip": "string",
"lat": "string",
"lng": "string",
"rating": "string",
"status": 0,
"currencycode": "string",
"propertyType": "string",
"time_zone": "string",
"time_zone_name": "string",
"countrycode": "string",
"hotelSources": [
{
"mapID": 0,
"hotelCode": 0,
"websiteCode": 0,
"baseurl": "string",
"createddate": "2019-08-24T14:15:22Z",
"modifieddate": "2019-08-24T14:15:22Z",
"hotelCodeNavigation": {},
"websiteCodeNavigation": {
"websiteCode": 0,
"websiteName": "string",
"url": "string",
"channeltype": "string",
"status": 0,
"createddate": "2019-08-24T14:15:22Z",
"snapshot": 0,
"description": "string",
"coverage": "string",
"hotelSources": [
{}
],
"hotelSources_backups": [
{
"mapID": 0,
"hotelCode": 0,
"websiteCode": 0,
"baseurl": "string",
"createddate": "2019-08-24T14:15:22Z",
"hotelCodeNavigation": {},
"websiteCodeNavigation": {}
}
]
}
}
],
"hotelSources_backups": [
{
"mapID": 0,
"hotelCode": 0,
"websiteCode": 0,
"baseurl": "string",
"createddate": "2019-08-24T14:15:22Z",
"hotelCodeNavigation": {},
"websiteCodeNavigation": {
"websiteCode": 0,
"websiteName": "string",
"url": "string",
"channeltype": "string",
"status": 0,
"createddate": "2019-08-24T14:15:22Z",
"snapshot": 0,
"description": "string",
"coverage": "string",
"hotelSources": [
{
"mapID": 0,
"hotelCode": 0,
"websiteCode": 0,
"baseurl": "string",
"createddate": "2019-08-24T14:15:22Z",
"modifieddate": "2019-08-24T14:15:22Z",
"hotelCodeNavigation": {},
"websiteCodeNavigation": {}
}
],
"hotelSources_backups": [
{}
]
}
}
]
},
"websiteCodeNavigation": {
"websiteCode": 0,
"websiteName": "string",
"url": "string",
"channeltype": "string",
"status": 0,
"createddate": "2019-08-24T14:15:22Z",
"snapshot": 0,
"description": "string",
"coverage": "string",
"hotelSources": [
{
"mapID": 0,
"hotelCode": 0,
"websiteCode": 0,
"baseurl": "string",
"createddate": "2019-08-24T14:15:22Z",
"modifieddate": "2019-08-24T14:15:22Z",
"hotelCodeNavigation": {
"hotelCode": 0,
"hotelName": "string",
"hotelGroup": "string",
"address": "string",
"city": "string",
"state": "string",
"country": "string",
"zip": "string",
"lat": "string",
"lng": "string",
"rating": "string",
"status": 0,
"currencycode": "string",
"propertyType": "string",
"time_zone": "string",
"time_zone_name": "string",
"countrycode": "string",
"hotelSources": [
{}
],
"hotelSources_backups": [
{
"mapID": 0,
"hotelCode": 0,
"websiteCode": 0,
"baseurl": "string",
"createddate": "2019-08-24T14:15:22Z",
"hotelCodeNavigation": {},
"websiteCodeNavigation": {}
}
]
},
"websiteCodeNavigation": {}
}
],
"hotelSources_backups": [
{
"mapID": 0,
"hotelCode": 0,
"websiteCode": 0,
"baseurl": "string",
"createddate": "2019-08-24T14:15:22Z",
"hotelCodeNavigation": {
"hotelCode": 0,
"hotelName": "string",
"hotelGroup": "string",
"address": "string",
"city": "string",
"state": "string",
"country": "string",
"zip": "string",
"lat": "string",
"lng": "string",
"rating": "string",
"status": 0,
"currencycode": "string",
"propertyType": "string",
"time_zone": "string",
"time_zone_name": "string",
"countrycode": "string",
"hotelSources": [
{
"mapID": 0,
"hotelCode": 0,
"websiteCode": 0,
"baseurl": "string",
"createddate": "2019-08-24T14:15:22Z",
"modifieddate": "2019-08-24T14:15:22Z",
"hotelCodeNavigation": {},
"websiteCodeNavigation": {}
}
],
"hotelSources_backups": [
{}
]
},
"websiteCodeNavigation": {}
}
]
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
mapID | integer(int64) | false | none | none |
hotelCode | integer(int32) | false | none | none |
websiteCode | integer(int32) | false | none | none |
baseurl | string¦null | false | none | none |
createddate | string(date-time)¦null | false | none | none |
hotelCodeNavigation | hotel | false | none | none |
websiteCodeNavigation | Source | false | none | none |
MetarespExample
{
"checkout": "2023-03-08",
"checkin": "2023-03-07",
"hotelcode": 0,
"websitecode": 0
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
checkout | string¦null | false | none | none |
checkin | string¦null | false | none | none |
hotelcode | integer(int32) | false | none | none |
websitecode | integer(int32) | false | none | none |
QueueAlertsExampleValue
{
"endpoint": "",
"authtype": "",
"username": "",
"password": "",
"token": ""
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
endpoint | string¦null | false | none | none |
authtype | string¦null | false | none | none |
username | string¦null | false | none | none |
password | string¦null | false | none | none |
token | string¦null | false | none | none |
newrateshop
{
"rateshopname": "string",
"los": 0,
"occupancy": 0,
"currency": "string",
"currencies": [
"string"
],
"fetchtype": 0,
"horizon": 0,
"hotelcodes": [
0
],
"compsets": [
{
"hotelcode": 0,
"competitorhotelcodes": [
0
]
}
],
"sources": [
0
],
"horizonexpression": "2-10, 11, 13, 15, 20-25",
"pos": 0
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
rateshopname | string | false | none | none |
los | integer | false | none | none |
occupancy | integer | false | none | none |
currency | string | false | none | none |
currencies | [string] | false | none | none |
fetchtype | integer | false | none | none |
horizon | integer | false | none | none |
hotelcodes | [number] | false | none | none |
compsets | [object] | false | none | none |
» hotelcode | number | false | none | none |
» competitorhotelcodes | [number] | false | none | none |
sources | [integer] | false | none | none |
horizonexpression | string | false | none | none |
pos | number | false | none | none |
RateshopExampleValues
{
"error": false,
"rateshop": {
"rateshopname": "string",
"los": 0,
"occupancy": 0,
"currency": "string",
"currencies": [
"string"
],
"fetchtype": 0,
"horizon": 0,
"hotelcodes": 0,
"compsets": {
"hotelcode": 0,
"competitorhotelcodes": [
0
]
},
"sources": 0,
"horizonexpression": [
"string"
],
"pos": 0
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
error | boolean | false | none | none |
rateshop | object | false | none | none |
» rateshopname | string¦null | false | none | none |
» los | integer(int32) | false | none | none |
» occupancy | integer(int32) | false | none | none |
» currency | string¦null | false | none | none |
» currencies | [string]¦null | false | none | none |
» fetchtype | integer(int32) | false | none | none |
» horizon | integer(int32) | false | none | none |
» hotelcodes | [integer]¦null | false | none | none |
» compsets | [string]¦null | false | none | none |
» sources | [integer]¦null | false | none | none |
» horizonexpression | [string]¦null | false | none | none |
» pos | integer(int32) | false | none | none |
Enumerated Values
Property | Value |
---|---|
error | false |
ScheduleExampleValues
{
"schedulename": "X-Mas",
"rateshopid": 0,
"year": "*",
"month": "*",
"dow": "*",
"day": "*",
"hour": "1",
"minute": "*",
"seconds": "*",
"status": 1,
"startdate": "2023-02-16",
"enddate": "2023-02-16"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
schedulename | string¦null | false | none | none |
rateshopid | integer(int32) | false | none | none |
year | string¦null | false | none | none |
month | string¦null | false | none | none |
dow | string¦null | false | none | none |
day | string¦null | false | none | none |
hour | string¦null | false | none | none |
minute | string¦null | false | none | none |
seconds | string¦null | false | none | none |
status | integer(int32) | false | none | none |
startdate | string¦null | false | none | none |
enddate | string¦null | false | none | none |
SchedulelogExamplevalues
{
"scheduleid": 0,
"startdate": "2023-02-16",
"enddate": 0
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
scheduleid | integer(int32) | false | none | none |
startdate | string¦null | false | none | none |
enddate | integer(int32) | false | none | none |
Source
{
"websiteCode": 0,
"websiteName": "string",
"url": "string",
"channeltype": "string",
"status": 0,
"createddate": "2019-08-24T14:15:22Z",
"snapshot": 0,
"description": "string",
"coverage": "string",
"hotelSources": [
{
"mapID": 0,
"hotelCode": 0,
"websiteCode": 0,
"baseurl": "string",
"createddate": "2019-08-24T14:15:22Z",
"modifieddate": "2019-08-24T14:15:22Z",
"hotelCodeNavigation": {
"hotelCode": 0,
"hotelName": "string",
"hotelGroup": "string",
"address": "string",
"city": "string",
"state": "string",
"country": "string",
"zip": "string",
"lat": "string",
"lng": "string",
"rating": "string",
"status": 0,
"currencycode": "string",
"propertyType": "string",
"time_zone": "string",
"time_zone_name": "string",
"countrycode": "string",
"hotelSources": [
{}
],
"hotelSources_backups": [
{
"mapID": 0,
"hotelCode": 0,
"websiteCode": 0,
"baseurl": "string",
"createddate": "2019-08-24T14:15:22Z",
"hotelCodeNavigation": {},
"websiteCodeNavigation": {
"websiteCode": 0,
"websiteName": "string",
"url": "string",
"channeltype": "string",
"status": 0,
"createddate": "2019-08-24T14:15:22Z",
"snapshot": 0,
"description": "string",
"coverage": "string",
"hotelSources": [],
"hotelSources_backups": [
{}
]
}
}
]
},
"websiteCodeNavigation": {
"websiteCode": 0,
"websiteName": "string",
"url": "string",
"channeltype": "string",
"status": 0,
"createddate": "2019-08-24T14:15:22Z",
"snapshot": 0,
"description": "string",
"coverage": "string",
"hotelSources": [],
"hotelSources_backups": [
{
"mapID": 0,
"hotelCode": 0,
"websiteCode": 0,
"baseurl": "string",
"createddate": "2019-08-24T14:15:22Z",
"hotelCodeNavigation": {
"hotelCode": 0,
"hotelName": "string",
"hotelGroup": "string",
"address": "string",
"city": "string",
"state": "string",
"country": "string",
"zip": "string",
"lat": "string",
"lng": "string",
"rating": "string",
"status": 0,
"currencycode": "string",
"propertyType": "string",
"time_zone": "string",
"time_zone_name": "string",
"countrycode": "string",
"hotelSources": [
{}
],
"hotelSources_backups": [
{}
]
},
"websiteCodeNavigation": {}
}
]
}
}
],
"hotelSources_backups": [
{
"mapID": 0,
"hotelCode": 0,
"websiteCode": 0,
"baseurl": "string",
"createddate": "2019-08-24T14:15:22Z",
"hotelCodeNavigation": {
"hotelCode": 0,
"hotelName": "string",
"hotelGroup": "string",
"address": "string",
"city": "string",
"state": "string",
"country": "string",
"zip": "string",
"lat": "string",
"lng": "string",
"rating": "string",
"status": 0,
"currencycode": "string",
"propertyType": "string",
"time_zone": "string",
"time_zone_name": "string",
"countrycode": "string",
"hotelSources": [
{
"mapID": 0,
"hotelCode": 0,
"websiteCode": 0,
"baseurl": "string",
"createddate": "2019-08-24T14:15:22Z",
"modifieddate": "2019-08-24T14:15:22Z",
"hotelCodeNavigation": {},
"websiteCodeNavigation": {
"websiteCode": 0,
"websiteName": "string",
"url": "string",
"channeltype": "string",
"status": 0,
"createddate": "2019-08-24T14:15:22Z",
"snapshot": 0,
"description": "string",
"coverage": "string",
"hotelSources": [
{}
],
"hotelSources_backups": []
}
}
],
"hotelSources_backups": [
{}
]
},
"websiteCodeNavigation": {
"websiteCode": 0,
"websiteName": "string",
"url": "string",
"channeltype": "string",
"status": 0,
"createddate": "2019-08-24T14:15:22Z",
"snapshot": 0,
"description": "string",
"coverage": "string",
"hotelSources": [
{
"mapID": 0,
"hotelCode": 0,
"websiteCode": 0,
"baseurl": "string",
"createddate": "2019-08-24T14:15:22Z",
"modifieddate": "2019-08-24T14:15:22Z",
"hotelCodeNavigation": {
"hotelCode": 0,
"hotelName": "string",
"hotelGroup": "string",
"address": "string",
"city": "string",
"state": "string",
"country": "string",
"zip": "string",
"lat": "string",
"lng": "string",
"rating": "string",
"status": 0,
"currencycode": "string",
"propertyType": "string",
"time_zone": "string",
"time_zone_name": "string",
"countrycode": "string",
"hotelSources": [
{}
],
"hotelSources_backups": [
{}
]
},
"websiteCodeNavigation": {}
}
],
"hotelSources_backups": []
}
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
websiteCode | integer(int32) | false | none | none |
websiteName | string¦null | false | none | none |
url | string¦null | false | none | none |
channeltype | string¦null | false | none | none |
status | integer(int32)¦null | false | none | none |
createddate | string(date-time)¦null | false | none | none |
snapshot | integer(int32)¦null | false | none | none |
description | string¦null | false | none | none |
coverage | string¦null | false | none | none |
hotelSources | [HotelSource]¦null | false | none | none |
hotelSources_backups | [HotelSources_backup]¦null | false | none | none |
SourceMapRequestExampleValues
{
"hotelcode": 0,
"sources": 0,
"urls": [
"string"
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
hotelcode | integer(int32) | false | none | none |
sources | [integer]¦null | false | none | none |
urls | [string]¦null | false | none | none |
SourceMapRequestModel
{
"hotelcode": 0,
"sources": [
0
],
"urls": [
"string"
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
hotelcode | integer(int32) | true | none | none |
sources | [integer]¦null | false | none | none |
urls | [string]¦null | false | none | none |
compset
{
"hotelcode": 0,
"competitorhotelcodes": [
0
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
hotelcode | integer(int32) | false | none | none |
competitorhotelcodes | [integer]¦null | false | none | none |
hookreq
{
"endpoint": "string",
"authtype": "string",
"username": "string",
"password": "string",
"token": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
endpoint | string | true | none | none |
authtype | string¦null | false | none | none |
username | string¦null | false | none | none |
password | string¦null | false | none | none |
token | string¦null | false | none | none |
hotel
{
"hotelCode": 0,
"hotelName": "string",
"hotelGroup": "string",
"address": "string",
"city": "string",
"state": "string",
"country": "string",
"zip": "string",
"lat": "string",
"lng": "string",
"rating": "string",
"status": 0,
"currencycode": "string",
"propertyType": "string",
"time_zone": "string",
"time_zone_name": "string",
"countrycode": "string",
"hotelSources": [
{
"mapID": 0,
"hotelCode": 0,
"websiteCode": 0,
"baseurl": "string",
"createddate": "2019-08-24T14:15:22Z",
"modifieddate": "2019-08-24T14:15:22Z",
"hotelCodeNavigation": {
"hotelCode": 0,
"hotelName": "string",
"hotelGroup": "string",
"address": "string",
"city": "string",
"state": "string",
"country": "string",
"zip": "string",
"lat": "string",
"lng": "string",
"rating": "string",
"status": 0,
"currencycode": "string",
"propertyType": "string",
"time_zone": "string",
"time_zone_name": "string",
"countrycode": "string",
"hotelSources": [],
"hotelSources_backups": [
{
"mapID": 0,
"hotelCode": 0,
"websiteCode": 0,
"baseurl": "string",
"createddate": "2019-08-24T14:15:22Z",
"hotelCodeNavigation": {},
"websiteCodeNavigation": {
"websiteCode": 0,
"websiteName": "string",
"url": "string",
"channeltype": "string",
"status": 0,
"createddate": "2019-08-24T14:15:22Z",
"snapshot": 0,
"description": "string",
"coverage": "string",
"hotelSources": [
{}
],
"hotelSources_backups": [
{}
]
}
}
]
},
"websiteCodeNavigation": {
"websiteCode": 0,
"websiteName": "string",
"url": "string",
"channeltype": "string",
"status": 0,
"createddate": "2019-08-24T14:15:22Z",
"snapshot": 0,
"description": "string",
"coverage": "string",
"hotelSources": [
{}
],
"hotelSources_backups": [
{
"mapID": 0,
"hotelCode": 0,
"websiteCode": 0,
"baseurl": "string",
"createddate": "2019-08-24T14:15:22Z",
"hotelCodeNavigation": {
"hotelCode": 0,
"hotelName": "string",
"hotelGroup": "string",
"address": "string",
"city": "string",
"state": "string",
"country": "string",
"zip": "string",
"lat": "string",
"lng": "string",
"rating": "string",
"status": 0,
"currencycode": "string",
"propertyType": "string",
"time_zone": "string",
"time_zone_name": "string",
"countrycode": "string",
"hotelSources": [],
"hotelSources_backups": [
{}
]
},
"websiteCodeNavigation": {}
}
]
}
}
],
"hotelSources_backups": [
{
"mapID": 0,
"hotelCode": 0,
"websiteCode": 0,
"baseurl": "string",
"createddate": "2019-08-24T14:15:22Z",
"hotelCodeNavigation": {
"hotelCode": 0,
"hotelName": "string",
"hotelGroup": "string",
"address": "string",
"city": "string",
"state": "string",
"country": "string",
"zip": "string",
"lat": "string",
"lng": "string",
"rating": "string",
"status": 0,
"currencycode": "string",
"propertyType": "string",
"time_zone": "string",
"time_zone_name": "string",
"countrycode": "string",
"hotelSources": [
{
"mapID": 0,
"hotelCode": 0,
"websiteCode": 0,
"baseurl": "string",
"createddate": "2019-08-24T14:15:22Z",
"modifieddate": "2019-08-24T14:15:22Z",
"hotelCodeNavigation": {},
"websiteCodeNavigation": {
"websiteCode": 0,
"websiteName": "string",
"url": "string",
"channeltype": "string",
"status": 0,
"createddate": "2019-08-24T14:15:22Z",
"snapshot": 0,
"description": "string",
"coverage": "string",
"hotelSources": [
{}
],
"hotelSources_backups": [
{}
]
}
}
],
"hotelSources_backups": []
},
"websiteCodeNavigation": {
"websiteCode": 0,
"websiteName": "string",
"url": "string",
"channeltype": "string",
"status": 0,
"createddate": "2019-08-24T14:15:22Z",
"snapshot": 0,
"description": "string",
"coverage": "string",
"hotelSources": [
{
"mapID": 0,
"hotelCode": 0,
"websiteCode": 0,
"baseurl": "string",
"createddate": "2019-08-24T14:15:22Z",
"modifieddate": "2019-08-24T14:15:22Z",
"hotelCodeNavigation": {
"hotelCode": 0,
"hotelName": "string",
"hotelGroup": "string",
"address": "string",
"city": "string",
"state": "string",
"country": "string",
"zip": "string",
"lat": "string",
"lng": "string",
"rating": "string",
"status": 0,
"currencycode": "string",
"propertyType": "string",
"time_zone": "string",
"time_zone_name": "string",
"countrycode": "string",
"hotelSources": [
{}
],
"hotelSources_backups": []
},
"websiteCodeNavigation": {}
}
],
"hotelSources_backups": [
{}
]
}
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
hotelCode | integer(int32) | false | none | none |
hotelName | string¦null | false | none | none |
hotelGroup | string¦null | false | none | none |
address | string¦null | false | none | none |
city | string¦null | false | none | none |
state | string¦null | false | none | none |
country | string¦null | false | none | none |
zip | string¦null | false | none | none |
lat | string¦null | false | none | none |
lng | string¦null | false | none | none |
rating | string¦null | false | none | none |
status | integer(int32)¦null | false | none | none |
currencycode | string¦null | false | none | none |
propertyType | string¦null | false | none | none |
time_zone | string¦null | false | none | none |
time_zone_name | string¦null | false | none | none |
countrycode | string¦null | false | none | none |
hotelSources | [HotelSource]¦null | false | none | none |
hotelSources_backups | [HotelSources_backup]¦null | false | none | none |
logreq
{
"scheduleid": 0,
"startdate": "2019-08-24T14:15:22Z",
"enddate": "2019-08-24T14:15:22Z"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
scheduleid | integer(int32) | true | none | none |
startdate | string(date-time) | true | none | none |
enddate | string(date-time) | true | none | none |
metareq
{
"hotelcode": 0,
"websitecode": 0,
"checkin": "2019-08-24T14:15:22Z",
"checkout": "2019-08-24T14:15:22Z",
"pos": 0
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
hotelcode | integer(int32) | true | none | none |
websitecode | integer(int32) | true | none | none |
checkin | string(date-time) | true | none | none |
checkout | string(date-time) | true | none | none |
pos | integer(int32)¦null | false | none | none |
newmapreq
{
"hotelname": "string",
"address": "string",
"city": "string",
"state": "string",
"country": "string",
"zip": "string",
"latitude": 0,
"longitude": 0,
"url": [
"string"
],
"websitecodes": [
0
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
hotelname | string | true | none | none |
address | string¦null | false | none | none |
city | string | true | none | none |
state | string | true | none | none |
country | string | true | none | none |
zip | string | true | none | none |
latitude | number(double)¦null | false | none | none |
longitude | number(double)¦null | false | none | none |
url | [string]¦null | false | none | none |
websitecodes | [integer]¦null | false | none | none |
ratereq
{
"hotelcode": 0,
"checkin": "2019-08-24T14:15:22Z",
"checkout": "2019-08-24T14:15:22Z",
"guests": 0,
"currency": "string",
"websitecode": 0,
"pos": 0,
"snapshot": true
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
hotelcode | integer(int64) | true | none | none |
checkin | string(date-time) | true | none | none |
checkout | string(date-time) | true | none | none |
guests | integer(int32) | true | none | none |
currency | string | true | none | none |
websitecode | integer(int32) | true | none | none |
pos | integer(int32)¦null | false | none | none |
snapshot | boolean¦null | false | none | none |
rateshopreq
{
"rateshopname": "string",
"los": 1,
"occupancy": 1,
"currency": "string",
"currencies": [
"string"
],
"fetchtype": 0,
"horizon": 1,
"hotelcodes": [
0
],
"compsets": [
{
"hotelcode": 0,
"competitorhotelcodes": [
0
]
}
],
"sources": [
0
],
"horizonexpression": "string",
"horizonrange": "string",
"pos": 0
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
rateshopname | string | true | none | none |
los | integer(int32) | true | none | none |
occupancy | integer(int32) | true | none | none |
currency | string¦null | false | none | none |
currencies | [string]¦null | false | none | none |
fetchtype | integer(int32) | false | none | none |
horizon | integer(int32) | false | none | none |
hotelcodes | [integer]¦null | false | none | none |
compsets | [compset]¦null | false | none | none |
sources | [integer]¦null | false | none | none |
horizonexpression | string¦null | false | none | none |
horizonrange | string¦null | false | none | none |
pos | integer(int32)¦null | false | none | none |
runshop
{
"rateshopid": 0,
"startdate": "2019-08-24T14:15:22Z",
"horizon": 0,
"horizonexpression": "string",
"sources": [
0
],
"hotelcodes": [
0
],
"compsets": [
{
"hotelcode": 0,
"competitorhotelcodes": [
0
]
}
],
"snapshot": true
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
rateshopid | integer(int32) | true | none | none |
startdate | string(date-time)¦null | false | none | none |
horizon | integer(int32)¦null | false | none | none |
horizonexpression | string¦null | false | none | none |
sources | [integer]¦null | false | none | none |
hotelcodes | [integer]¦null | false | none | none |
compsets | [compset]¦null | false | none | none |
snapshot | boolean¦null | false | none | none |
schedulereq
{
"schedulename": "string",
"rateshopid": 0,
"year": "string",
"month": "string",
"dow": "string",
"day": "string",
"hour": "string",
"minute": "string",
"seconds": "string",
"status": 1,
"startdate": "2019-08-24T14:15:22Z",
"enddate": "2019-08-24T14:15:22Z"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
schedulename | string | true | none | none |
rateshopid | integer(int32) | true | none | none |
year | string | true | none | none |
month | string | true | none | none |
dow | string | true | none | none |
day | string | true | none | none |
hour | string | true | none | none |
minute | string | true | none | none |
seconds | string | true | none | none |
status | integer(int32) | true | none | none |
startdate | string(date-time) | true | none | none |
enddate | string(date-time)¦null | false | none | none |