Availability (In Progress)

RhomTrip provides two primary availability endpoints:

Availability Calendar endpoint is optimized to return a single object per day, making it ideal for querying large date ranges to populate an availability calendar.

Availability Check endpoint, however, may be somewhat slower as it returns an object for each specific departure time (or day).

Availability Calendar

Availability Calendar

post

This endpoint checks the availability of a product within a specified date range. It determines if the product is available each day within the date range, starting at a specific time.

Authorizations
Body
localDateStartstringRequired

Start date to query for (YYYY-MM-DD)

Example: 2025-12-17
localDateEndstringRequired

End date to query for (YYYY-MM-DD)

Example: 2025-12-17
optionIdstringRequired

The option id.

Example: DEFAULT
productIdstringRequired

The product id.

Example: {"[object Object]":null}
startTimestringRequired

This time specifies when to start checking availability in HH:mm format

Example: 23:00
Responses
200
Array of Availabilities
application/json
post
JS
const myHeaders = new Headers();
myHeaders.append("Content-Type", "application/json");

const raw = JSON.stringify({
  "productId": "65981a24d09fc62f079ed751",
  "localDateStart": "2024-05-26",
  "localDateEnd": "2025-04-22",
  "startTime": "00:00",
  "optionId": "DEFAULT",
  "units": [
    {
      "id": "ADULT",
      "quantity": 1
    },
    {
      "id": "CHILD",
      "quantity": 0
    },
    {
      "id": "SENIOR",
      "quantity": 0
    }
  ],
  "dropoff": {
    "name": "dfgdf",
    "latitude": 55.83372316484121,
    "longitude": -4.442355496093746,
    "googlePlaceId": ""
  }
});

const requestOptions = {
  method: "POST",
  headers: myHeaders,
  body: raw,
  redirect: "follow"
};

fetch('/availability/calendar', requestOptions)
  .then((response) => response.text())
  .then((result) => console.log(result))
  .catch((error) => console.error(error));
200

Array of Availabilities

[
  {
    "id": "2024-09-30T14:00:00+00:00",
    "openingHours": [],
    "status": "AVAILABLE",
    "available": true,
    "capacity": 2,
    "localDate": "2024-09-30",
    "startTime": "14:00",
    "pricing": {
      "basePrice": 47.03,
      "netPrice": 69.16,
      "fees": [
        {
          "name": "Night Fees",
          "net": 15,
          "description": "Night Fees"
        }
      ],
      "totalPrice": 84.16
    }
  }
]

Availability Check

Availability Check

post

Check real-time availability and pricing for a product depending on the date, pax-mix, start time and/or product option. - Note This service should only be used to determine the availability of a product immediately prior to booking. Bulk operations pertaining to product availability; e.g., generating a calendar of availability for a product, should use the availability schedule endpoints.

Authorizations
Body
localDateStartstringRequired

Start date to query for (YYYY-MM-DD)

Example: 2025-12-17
optionIdstringRequired

The option id.

Example: DEFAULT
productIdstringRequired

The product id.

Example: {"[object Object]":null}
startTimestringOptional

This time specifies when to start checking availability in HH:mm format

Example: 23:00
Responses
200
Array of Availability
application/json
post
JS
const myHeaders = new Headers();
myHeaders.append("Content-Type", "application/json");

const raw = JSON.stringify({
  "productId": "65981a24d09fc62f079ed751",
  "localDateStart": "2024-05-26",
  "startTime": "00:00",
  "optionId": "DEFAULT",
  "units": [
    {
      "id": "ADULT",
      "quantity": 1
    },
    {
      "id": "CHILD",
      "quantity": 0
    },
    {
      "id": "SENIOR",
      "quantity": 0
    }
  ],
  "dropoff": {
    "name": "dfgdf",
    "latitude": 55.83372316484121,
    "longitude": -4.442355496093746,
    "googlePlaceId": ""
  }
});

const requestOptions = {
  method: "POST",
  headers: myHeaders,
  body: raw,
  redirect: "follow"
};

fetch('/availability', requestOptions)
  .then((response) => response.text())
  .then((result) => console.log(result))
  .catch((error) => console.error(error));
200

Array of Availability

[
  {
    "id": "2024-09-30T14:00:00+00:00",
    "openingHours": [],
    "status": "AVAILABLE",
    "available": true,
    "capacity": 2,
    "localDate": "2024-09-30",
    "startTime": "14:00",
    "pricing": {
      "basePrice": 47.03,
      "netPrice": 69.16,
      "fees": [
        {
          "name": "Night Fees",
          "net": 15,
          "description": "Night Fees"
        }
      ],
      "totalPrice": 84.16
    }
  }
]

Last updated