Child policies - use cases
This guide presents various scenarios for family group allocation, occupancy, and related policies, explaining how to retrieve, display, and interpret these use cases through our Demand API.
Overview
The following examples demonstrate common scenarios for family group accommodation searches, including both children and adults, with different room allocations.
Each use case provides a request and response structure, along with explanations and best practices to help you understand how to implement them effectively.
Allocation - use cases
Family group in 1 room
Two family groups are planning a holiday in Marbella, Spain (city id -391076). They would need 1 room, for:
- 2 parents with 2 children (ages 2 and 10).
- 2 parents with 3 children (ages 0, 5 and 14).
In this case, the travellers do not allocate guests to specific rooms but specify the need for 1 room in the
guest.number_of_rooms
field.
To retrieve accommodation options that meet these requirements, use the following filter in the search call:
- Use
guests.children
to specify the age of each child in the group. - In the
guests.number_of_adults
include the total number of adults (4). - Set the
guest.number_of_rooms
parameter to 1.
{
"booker": {... },
"cancellation_type": "free_cancellation",
"checkin": "2025-02-13",
"checkout": "2025-02-16",
"city": -391076,
"currency": "EUR",
"extras": [
"extra_charges",
"products"
],
"guests": {
"number_of_adults": 4,
"children": [0,2,5,10,14],
"number_of_rooms": 1
},
In this example, the traveller does not specify which guests are allocated to specific rooms, so the guests.allocation
field is not included in the request.
Family group with multiple rooms
The same family group from the previous example is now looking for multiple rooms:
One room for 2 adults and 2 children, and another for 2 adults and 3 children.
To allocate the group to multiple rooms, use the guests.allocation
field to define the number of adults per allocation and specify the children's ages in your accommodation/search request.
Example:
...
"guests": {
"allocation": [
{
"number_of_adults": 2,
"children": [2,10]
},
{
"number_of_adults": 2,
"children": [0,5,14]
}
],
"number_of_adults": 4,
"children": [0,2,5,10,14],
"number_of_rooms": 2
},
}
Recommendation - special request
When a family group requires multiple rooms (or multiple properties, such as villas), we recommend using the "special request" field located in the order/create endpoint to specify their preference for rooms to be located near each other.
This allows guests to communicate with the property about their preference for room proximity.
Example of order/create call with "special request":
"accommodation": {
"label": "Sample label",
"products": [...]
}
],
"remarks": {
"estimated_arrival_time": {
"hour": 12
},
"special_requests": "We would like to have the two rooms together."
}
},
For more details about special requests, refer to the orders/create guide.
Occupancy - use cases
Single-parent family
A single-parent family with multiple children is seeking availability in a family hotel (Hotel id: 9897851) in Spain:
- 1 adult with 2 children, aged 7 and 9.
- Checkin: 2025-02-13
- Checkout: 2025-02-14
→ Use the accommodation availability endpoint to retrieve real-time information about the availability, pricing and occupancy for the selected accommodation.
To meet these requirements:
- Include the selected
accommodation id
to return actual availability and prices. - Specify the
guest.number_of_rooms
parameter (in this case, 1 room). - Set the
guests.number_of_adults
to include the total number of adults (in this example 1). - Use
guests.children
to list the ages of the children (7 and 9).
{
"accommodation": 9897851,
"booker": {...},
"checkin": "2025-02-13",
"checkout": "2025-02-16",
"extras": [...],
"guests": {
"number_of_adults": 1,
"children": [7,9],
"number_of_rooms": 1
},
For safety reasons, children cannot be booked alone in a room without an accompanying adult. Therefore, the minimum occupancy for any room is always 1 adult.
For some products, the maximum occupancy.children
field may be null
primarily due to the absence of child rates.
One child counted as adult
For the following family group:
- 2 children (4 and 8 year old).
- 2 adults.
- And 2 rooms.
- Accommodations/search request:
When making an accommodations/search request, the product with "id": "8860603_388331868" appears to be the most suitable for the group.
{
"accommodations": [430741],
"booker": {...},
"checkin": "2025-07-27",
"checkout": "2025-07-29",
"guests": {
"number_of_adults": 2,
"children": [4,8],
"number_of_rooms": 2,
}
}
- accommodations/availability request:
However, when looking at this property's availability, for the same family group, and including allocation in the request, the response is different:
...
"guests": {
"allocation": [
{
"number_of_adults":1,
"children": [4]
},
{
"number_of_adults":1,
"children": [8]
}
],
"number_of_adults": 2,
"number_of_rooms": 2,
"children":[4,8]
},
Although the response from the accommodation/search endpoint suggests that the room can accommodate 2 adults and 2 children (total occupancy: 4), with a maximum of 3 adults, the /availability endpoint provides a different interpretation:
- It specifies that the maximum occupancy for adults is 3, and the maximum for children is 1 (total occupancy remains 4).
- Both endpoints apply the same restrictions on adult and child occupancy.
👉 However, because the /search request includes 2 adults and 2 children (exceeding the maximum number of children allowed), the response adjusts by counting 1 child as an adult to fit the accommodation’s limitations.
It provides the result as if the total number of people is 3 adults (with 1 child counted as an adult) and 1 child in the room.
Maximum number of adults and different maximum total occupancy
In this example, for a family group of 2 adults and 3 children, the accommodations/availability response shows:
- A maximum of 4 adults, with a total room's maximum occupancy of 5 (Maximum Occupancy > Maximum Adults). This means that 1 child can stay in addition to the 4 adults.
- However, up to 3 children could potentially fit in this room, as long as the total occupancy limit of 5 is not exceeded.
{
"products": [
{
"id": "43074105_397810739_0_0_0",
"commission": { ...},
"deal": { ... },
"maximum_occupancy": {
"adults": 4,
"children": 1,
"total": 5
},
"number_available": 1,
"policies": { ...}
},
...
In terms of pricing, since the maximum_occupancy.children
is set to 1:
- Only 1 child will be charged at the child rate.
- The remaining 2 children will be charged as adults.
Maximum children equal to maximum occupancy
In this example:
- The maximum number of adults is 4.
- The
maximum_occupancy.total
is set to 5. - And the
maximum_occupancy.children
is also 5.
{
"products": [
{
"id": "43074105_397810739_0_0_0",
"commission": { ...},
"deal": { ... },
"maximum_occupancy": {
"adults": 4,
"children": 5,
"total": 5
},
"number_available": 1,
"policies": { ...}
},
"price": { ... },
"room": 43074105,
"third_party_inventory": false
},
Under this configuration all children will be charged child rates, as the maximum_occupancy.children
matches the maximum_occupancy.total
, allowing the full capacity of children to stay at the property at a special rate.
No child rates - use cases
Children allowed without child rates
When querying the accommodations/availability endpoint for a selected accommodation, and including children in the request, the response may return products where the maximum_occupancy.children
field is null
.
This indicates that the property does not offer child rates, treating children as adults and applying adult rates accordingly.
Example:
In this case, a family consisting of 2 adults and 2 children (aged 2 and 5), is looking for availability in an accommodation (id: 430741) that allows children in their rooms.
The search includes 4 guests in one room, including children and adults.
{
"accommodations": [430741],
"booker": { ... },
"checkin": "2025-08-27",
"checkout": "2025-08-28",
"guests": {
"children": [2,5],
"number_of_adults": 2,
"number_of_rooms": 1
}
}
"Adults only" properties
In certain cases, properties may specify that they are "adults only".
When querying availability for such properties, you will receive a response with certain fields set as "null", which indicate that children are not allowed.
Example:
When checking availability in an "adults only" accommodation, with the following information in the request:
- Hotel ID: 91556
- Specifying 2 adults and 2 children, aged 8 and 10, in 1 room, with no allocation.
{
"accommodation": 91556,
"booker": {...},
"checkin": "2025-02-20",
"checkout": "2025-02-25",
"extras": [
"extra_charges"
],
"guests": {
"number_of_rooms": 1,
"number_of_adults": 2,
"children": [8,10]
},
Best practices for "adults only"
When looking for family group accommodation, and in order to exclude any adult only property from results, we recommend you to check use the /accommodations/details endpoint to check the minimum_guest_age
field in the response:
This field indicates the minimum age required for a guest to stay at the property:
→ Call the /accommodations/details endpoint.
- Under the
policies
object, check theminimum_guest_age
field in the response to verify whether the minimum allowed age is 18 (children are considered by default from 0 to 17, inclusive).- If the minimum age is 17 (or higher) that means that this property is "adults only".
- If the minimum age is for example 8, then all children below this age are not allowed (but the property wont be considered "adults only").
For example, if a property has minimum_guest_age: 17
, you can exclude it from searches involving children:
{
"policies": {...}
"maximum_checkin_age": null,
"minimum_checkin_age": 17,
"minimum_guest_age": 17,
"pets": {...}
},
If the minimum_age
is "0", then guests of any age are allowed in the property, and the property is not "adults only".
Child age restrictions
Some properties set specific age restrictions for children. For instance, a property may have a minimum_guest_age
policy that limits the age of children allowed to stay.
Example:
A family group is looking availability in an already known property in Madrid that is children-friendly. The accommodations/availability request includes:
- Accommodation id: 430741.
- 2 adults.
- A 2 years old child.
- They need 1 room.
Include the guests information in the request:
{
"accommodations": [430741],
"booker": {.... },
"checkin": "2025-08-27",
"checkout": "2025-08-28",
"guests": {
"number_of_adults": 2,
"children": [2],
"number_of_rooms": 1
}
The reason why there are no recommendations is due to the age restrictions set by the property.
In order to verify the applicable age restrictions set by the property:
Call the /accommodations/details endpoint using the same guests information and accommodation id (430741)
Under the
policies
object, check theminimum_age
field in the response.
{
"policies": {...}
"maximum_checkin_age": null,
"minimum_checkin_age": 18
"minimum_guest_age": 6,
"pets": {...}
},
- In this example, the minimum_age has been set to 6, therefore the 2 years old child is not allowed to stay in this property.
- Repeat again the accommodations/availability call for the same number of guests and accommodation but changing the children age to 6 years old.
Once the child’s age is adjusted to 6, the property returns valid results with child rates (if available) and the recommendation field with the best possible options for the family group, including children.
Cots and extra beds
To retrieve information about cots and extra beds, you should call the /accommodations/details endpoint and specify the extras
parameter with the rooms option.
Use the following filters in your request:
- Accommodation id
- Extra parameter: "rooms" to retrieve the room details.
{
"accommodations": [27635],
"extras": [ "rooms" ],
"languages": ["en-gb" ]
}
- For detailed information on occupancy, allocation, and child rate policies, see the child policies section.
- For best practices and guidance on using the accommodation search and availability endpoints, refer to the Search guide.