Pricing in Exely
The property sets the price for each rate plan, room type, accommodation type and date. For example:

The search provides data one year ahead of the current date. It is possible to book from 1 to 365 nights. The maximum number of days between arrivalDate and departureDate is 100. The maximum number of days between arrivalDate and current date is 365.
Gross and net prices
Only the prices that the hoteliers set up in their account are sent. We send prices without knowing whether they are gross or net. Surcharges and discounts are created on the channel side.
Filters in aggregation search
The following filters can be specified in the search/api/properties/room-stays/search method:
By meal — mealPreference.mealType field. The following values can be passed in the query:
All — displaying the accommodation option with the lowest cost for each property.
MealOnly — displaying the lowest cost accommodation option with meals included in the rate plan for each property. If there are no such accommodation options in a property, this property will not be shown.
MealPriority — displaying the lowest cost accommodation options with meals included in the rate plan for each property. If there are no such accommodation options in a property, the property will be also shown in the response.
By meal type — mealPreference.mealsIncluded field. In the query, it is possible to pass the values of possible meal types that are available in the response of the content/v1/meal-plans method, as well as in the response of the content/v1/properties method — displaying all information about available properties and content/v1/properties{propertyId} — displaying information about a specific property.
The search result shows the lowest cost accommodation options with a specific meal type included in the rate plan for each property. For example, if you specify only "BreakFast" values in the query, you can get the lowest cost accommodation options with only "BreakFast" meals included in the rate plan in the response. The response will not include the "AllInlusive" or "HalfBoard" meal types.
You can use the meal type filter only if there are meals of "MealOnly" or "MealPriority" type.
By minimum and maximum price of accommodation — pricePreference.minPrice and pricePreference.maxPrice fields.
These fields are optional. If you pass the values of the fields via API, the search result will show the accommodation options with the lowest price for all available properties according to the selected filters.
Search for early check-in, late check-out and services at extra cost for a specific accommodation
Additional functionality is available for you to search for early check-in and late check-out and services for extra cost. For details, refer to the articles “How a channel can sell early check-in and late check-out via Exely Connect” and “How a sales channel can sell extra services via Exely Connect”.
How to work with apartments
The aggregation search displays accommodation options with the lowest price within apartments that are located at different addresses. To display all apartments in the aggregation search, you need to:
in the “Main settings” for the property, select the “Apartments” type;
request Exely Customer Support team to enable the flats and apartments mode for the property;
in the room type settings for each property, specify the address: city, street, house number, littera, building, construction.
If several room types have the same address, they are considered to be located in the same building and the aggregation search for such room types will show one accommodation option with the minimum price.

Taxes and fees (except VAT)
taxAmount field contains the amount of taxes and fees paid by the guest at check-in.
Meal type in accommodation RoomStay
For one RoomStay only one meal is available. In the Exely extranet, the property can add only one service of “meal” type to a rate plan. Due to this mealPlanCode is a string data type.
What to do if the “api/search/v1/properties/ {propertyId}/room-stays” query has no errors and no response is received

Pay attention to the “arrivalDate” and “departureDate” fields — they should contain dates in the future:

Accommodation of guests in a room
The following fields are returned in the response:
roomStays.fullPlacementsName;
roomStays.roomType.placements.
The “placements” does not list specific beds, but occupancy types for guests. The response in the example below shows that two adults occupy main beds, a child of 2 years occupies a main bed as well and a child of 5 years is accommodated on an extra bed.

Children may be accommodated as guests with main occupancy — this can happen if there are no special facilities for children or if there are no children's beds available. In such cases, children are accommodated at the price for adults.
Definition of an extra bed
There is no definition of extra beds. Therefore, it is not possible to find out whether it is a sofa or, for example, a baby cot.
Availability blocks
In the search results for accommodation options, availability depends on the availability block selected by the hotelier in each rate plan. For more details, see the article "How to manage different availability blocks". Rate plans are sent to sales channels only for one availability block.
Cancellation policy
The cancelation rules set up in the Exely extranet are passed to the channels. The penalty amount may vary depending on the cancellation date, if the property has different cancellation rules set up.
The following fields are returned in the response:
roomStays.cancellationPolicy.freeCancellationPossible;
roomStays.cancellationPolicy.freeCancellationDeadline;
roomStays.cancellationPolicy.penaltyAmount.
Depending on the resulting values in the fields, the cancelation rules can be interpreted the following way:
Example 1:
freeCancellationPossible = false;
freeCancellationDeadline = null;
penaltyAmount = 100.
Booking is non-refundable, with a cancellation penalty of 100 for the current date (the penalty may be different on subsequent dates).
Example 2:
freeCancellationPossible = true;
freeCancellationDeadline = 2025-09-30T12:00;
penaltyAmount = 100.
Booking cancellation is free till 30.09.2025 12:00. After this time, the penalty will be 100
(the penalty may be different on subsequent dates).
Example 3:
freeCancellationPossible = true;
freeCancellationDeadline = null;
penaltyAmount = null.
No cancellation penalty will be charged for cancellation on any date.
Query response time statistics
Search for accommodation options for a specific property:
90 pt — 866 ms;
95 pt — 1050 ms.
Search for the lowest cost accommodation options across all available properties:
90 pt — 1111 ms;
95 pt — 1728 ms.