Last updated

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     
  },    
Important

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.
  1. 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,
          
    }  
}
  1. 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 the minimum_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.

age-restrictions

In order to verify the applicable age restrictions set by the property:

  1. Call the /accommodations/details endpoint using the same guests information and accommodation id (430741)

  2. Under the policies object, check the minimum_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.
  1. 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.