The calendar API request returns the content for all the activities requested, depending on the filters being used, in the response you’ll also see the operational dates, so you can create your calendar according to the information being returned.
POST https://api.hotelbeds.com/activity-api/3.0/activities/availability
The availability search requires to include the pax distribution.
You can use any filters (see filters section) the results will be according to the filters selected.
{
"filters": [{
"searchFilterItems": [{
"type": "destination",
"value": "BCN"
}
]
}
],
"from": "2022-05-11",
"to": "2022-06-22",
"paxes": [{
"age": 30
}
],
"language": "en",
"pagination": {
"itemsPerPage": 100,
"page": 1
},
"order": "DEFAULT"
}
NODE/ATTRIBUTE |
DATA TYPE |
DESCRIPTION |
operationId |
String |
Factsheet Operational ID, informative only. |
Errors |
List |
Contains a list of errors (error code and error description). Here you can find a list of errors and their meaning |
errors/@code |
String |
Error code |
errors/@text |
String |
Error description |
pagination |
Element |
This element indicates the values for pagination |
pagination/@itemsPerPage |
Integer |
Number of items per page |
pagination/@page |
Integer |
Number of page |
pagination/@totalItems |
Integer |
Total items returned in the search including the ones in the current page. |
auditData |
Element |
This element contains internal information. You can provide it in the event of needing specific support. |
activities |
List |
List of activities available |
activities/@activityCode |
String |
Service code |
activities@country | Object | Provides the country information together with the destinations that are included in the particular country. |
activities/country/@code |
String |
Country code where the activity takes place. See Country codes in the Contents API. |
activities/country/@name | String | Country name where the activity takes place. It will be provided in the same language as the request indicated |
activities/country/@destinations | List | A list of destinations. In the response we will always return one and only one destination for the particular product. |
activities/country/destinations/@node |
String |
Destination code where the activity takes place. See Destination codes in the Contents API. |
activities/country/destinations/@name |
String |
Destination name where the activity takes place. . See Destination codes in the Contents API. |
activities/operationDays |
Object |
Days of the week where the activity can take place |
activities/operationDays/@code |
Object |
Code of the day of the week |
activities/operationDays/@name |
Object |
Name of the day of week |
activities/@modalities |
String |
Type of Passenger (ADULT, CHILD) |
activities/modalities |
List |
List of modalities for a specific activity. |
activities/modalities@code |
String |
Modality code |
activities/modalities@name |
String |
Modality name. It will be provided in the same language as the request indicated |
activities/modalities@duration |
Double |
The value duration is given in DAYS. Please note that the value provided here doesn't have to always match with the actual duration of the activity indicated in the name of the activity or modality |
activities/modalities/@question |
Double |
In case the modality has a question to be answered it will be indicated here |
activities/modalities/question/code |
Double |
Code of the activity |
activities/modalities/question/text |
Double |
Description of the question |
activities/modalities/question/required |
Double |
All the questions indicated will be always be mandatory and marked as true |
activities/modalities/@destinationCode |
Double |
Code of the destination where the activity is loaded in our system |
activities/modalities/@contract |
Double |
Code of the destination where the activity is loaded in our system |
activities/modalities/contract/@incomingOffice |
Double |
Code of the incoming office linked to the destination code in our database |
activities/modalities/contract/@code |
Double |
Code of the contract or rate on our database |
activities/modalities/contract/@name |
Double |
Name of the contract or rate |
activities/modalities/@promotions |
List |
List of promotions for a specific activity. A promotion includes a badge (see promotions/@imagePath below) and application dates. Examples of promotions are: “Free Drink”, “Free children” or not related to price elements such as “Top Seller” Integrated clients can use promotions to enhance the activities presented in their websites or apps. |
activities/modalities/promotions/@order |
Integer |
Promotion order for the list of promotions retrieved |
activities/modalities/promotions@code |
String |
Promotion code |
activities/modalities/promotions@imagePath |
String |
Promotion image path |
activities/modalities/promotions@description |
String |
Promotion description. It will be provided in the same language as the request indicated |
activities/modalities/promotions@name |
String |
Promotion name. It will be provided in the same language as the request indicated |
activities/modalities/promotions@dateFrom |
Date |
Promotion is applicable from: dateFrom |
activities/modalities/promotions@dateTo |
Date |
Promotion is applicable until: dateTo |
activities/modalities/@languages |
Date |
Language of the whole modality in case there's any |
activities/modalities/amountsFrom |
Object |
Amounts object type. Cheapest price for this modality |
activities/modalities/amountsFrom/@paxType |
String |
Type of Passenger (ADULT, CHILD) |
activities/modalities/amountsFrom/@ageFrom | Integer | Is the age from that is linked to the specific amount provided in the @amount attribute. |
activities/modalities/amountsFrom/@ageTo | Integer | Is the age To (together with the age from represent the ages in between the amount is valid) for a particular amount. |
activities/modalities/amountsFrom/@amount |
BigDecimal |
Total amount for the modality |
activities/modalities/amountsFrom/@boxOfficeAmount |
BigDecimal |
Modality amount from the box office |
activities/modalities/amountsFrom/@mandatoryApplyAmount |
BigDecimal |
Can be true or false, true means it's a binding price and cannot be sell under the boxOfficeAmount previously indicated, false means it's a non binding rate and the boxOfficeAmount is only a recommendation |
activities/modalities/@rates |
BigDecimal |
The information related with the rates is included here |
activities/modalities/rates/@rateCode |
BigDecimal |
In case this field is delivered, it will always come as STANDARD |
activities/modalities/rates/@rateClass |
BigDecimal |
The rateClass can be returned as NOR for refundable rates or NRF for non-refundable rates |
activities/modalities/rates/@freeCancellation |
BigDecimal |
Here it is indicated if the rate can be canceled at any time or not |
activities/modalities/rates/@rateDetails |
BigDecimal |
Information specific of the ratekey conditions is provided here |
activities/modalities/rates/rateDetails/@ratekey |
BigDecimal |
Ratekey token, it last 60 minuts |
activities/modalities/rates/rateDetails/@operationDates |
BigDecimal |
Range of days where the ratekey is valid |
activities/modalities/rates/rateDetails/operationDates/@from |
BigDecimal |
From day of the range of dates |
activities/modalities/rates/rateDetails/operationDates/@to |
BigDecimal |
To day of the range of dates |
activities/modalities/rates/rateDetails/operationDates/@cancellationPolicies |
Object |
CancellationPolicies object type. Modality cancellation price. Please, see an example of returned cancellation policies below to understand how the cancellation costs are calculated. |
activities/modalities/rates/rateDetails/operationDates/cancellationPolicies/@dateFrom |
Date |
Starting from the specified date, cancellation costs are applied. Each cancellation policy includes a date and an amount. That means, starting from the date, the amount is applied, please also be aware that the date and time are calculated based on local time in the destination. Please, see an example of returned cancellation policies below to understand how the cancellation costs are calculated. |
activities/modalities/rates/rateDetails/operationDates/cancellationPolicies/@amount |
BigDecimal |
Cancellation cost after the date indicated on the previous field dateFrom/@currency |
activities/modalities/rates/rateDetails/@language |
BigDecimal |
In case it is filled, it would indicate the language code and language description for each ratekey |
activities/modalities/rates/rateDetails/@session |
BigDecimal |
In case it is filled, it would the session available for each ratekey |
activities/modalities/rates/rateDetails/@minimumDuration |
BigDecimal |
Minimum duration |
activities/modalities/rates/rateDetails/@maximumDuration |
BigDecimal |
Maximun duration time |
activities/modalities/rates/rateDetails/@totalAmount |
BigDecimal |
Details of the Amount will be provide here |
activities/modalities/rates/rateDetails/totalAmount/@amount |
BigDecimal |
Price based on the passengers selected and modality chose |
activities/modalities/rates/rateDetails/totalAmount/@boxOfficeAmount |
BigDecimal |
BoxOffice price based on the passengers selected and modality chose |
activities/modalities/rates/rateDetails/totalAmount/@mandatoryApplyAmount |
BigDecimal |
Can be true or false, true means it's a binding price and cannot be sell under the boxOfficeAmount previously indicated, false means it's a non binding rate and the boxOfficeAmount is only a recommendation |
activities/modalities/rates/rateDetails/@paxAmounts |
BigDecimal |
Detail of the rates per ADULT and CHILDREN including ages range |
activities/modalities/rates/rateDetails/paxAmounts/@paxType |
BigDecimal |
The values can be either ADULT or CHILD |
activities/modalities/rates/rateDetails/paxAmounts/@ageFrom |
BigDecimal |
First age for the paxType indicated |
activities/modalities/rates/rateDetails/paxAmounts/@ageTo |
BigDecimal |
Last age for the paxType indicated |
activities/modalities/rates/rateDetails/paxAmounts/@amount |
BigDecimal |
Price per paxType |
activities/modalities/rates/rateDetails/paxAmounts/@boxOfficeAmount |
BigDecimal |
boxOfficeAmount per paxType |
activities/modalities/rates/rateDetails/paxAmounts/@mandatoryApplyAmount |
BigDecimal |
Can be true or false, true means it's a binding price and cannot be sell under the boxOfficeAmount previously indicated, false means it's a non binding rate and the boxOfficeAmount is only a recommendation |
activities/modalities/rates/rateDetails/@agencyCommission |
BigDecimal |
In case of commissionable clients the percentage will be indicated here, if it is net client it will be marked as 0. |
activities/modalities/@amountUnitType |
BigDecimal |
The values delivered can be per PAX or SERVICE, the first one is calculated depending the exact number of paxes, while the second one have a price per service |
activities/modalities/@uniqueIdentifier |
BigDecimal |
This is the unique identifier for each activity |
activities/@currencyName |
String |
Activity currency name. It will be provided in the same language as the request indicated |
activities/amountsFrom/ |
String |
Lowest amountsfrom among all the amountsfrom of the modalities |
activities/amountsFrom/@paxType |
String |
Type of Passenger (ADULT, CHILD) |
activities/amountsFrom/@ageFrom | Integer | Is the age from that is linked to the specific amount provided in the @amount attribute. |
activities/amountsFrom/@ageTo | Integer | Is the age limit that is linked to the specific amount provided in the @amount attribute. |
activities/amountsFrom/@amount |
BigDecimal |
Price from for the pax type. |
activities/amountsFrom/@boxOfficeAmount |
BigDecimal |
Box office Price from for the pax type The Box office price is the price value at the gate or counter. It is not the selling price of the activity but it can be taken into consideration for the comparison of the price if not booked in advance. |