Last updated

Child policies - Troubleshooting

Use this guide to diagnose and resolve issues with child rates, occupancy, and pricing.


Quick triage steps

  1. Reproduce the request:
  • Capture request body, endpoint, and timestamp.
  1. Inspect the accommodations/availability response — the authoritative source for occupancy and pricing:
    • Is maximum_occupancy.children present, null, or empty?
    • Do from_age / to_age bands match expectations?
    • Does free_stay reflect the expected age band?
    • Does price.total reflect the correct calculation?
  2. Check consistency with /search
  • If behaviour differs, re-run the same payload (including allocation) against accommodations/availability.
  1. Review booking previews
    • If /orders/preview response fails, check policies.minimum_guest_age.
    • Return a clear error to travellers if the property does not accept children.

See Child policies use cases for more details.

Common problems and fixes

Children treated as adults

Symptom: The maximum_occupancy.children field is null. Children appear in the request but are priced as adults.

Likely cause: The property does not provide specific child rates.

Resolution: Show the total price and inform users that child rates are not available for this property.

No products returned for children under a certain age

Symptom: The API returns "recommendation": null, even though the property accepts children.

Likely cause: The property enforces an age restriction for guests.

Resolution: Check the minimum_guest_age in the /accommodations/details response. Adjust the request to only include children above the allowed age.

Booking attempt blocked at preview

Symptom: [orders/preview] returns an error when children are included.

Likely cause: The property is flagged as “adults only” (minimum_guest_age: 18).

Resolution: Verify if the property is flagged as "adults only" (minimum_guest_age: 18). Exclude adults-only properties when children are present in the request.

Inconsistent occupancy interpretation

Symptom: accommodations/search shows availability, but /availability rejects the same allocation.

Likely cause: The number of children exceeds the allowed child slots, so one or more children are counted as adults.

Resolution: Cross-check maximum_occupancy rules in the accommodations/availability response. If the number of children exceeds the allowed child slots, the API may count one or more children as adults. Always confirm against /availability before confirming a booking.

Free stay not applied as expected

Symptom: free_stay: true appears in the response, but the child is still shown as charged.

Likely cause: The number of children exceeds the band’s total allowance. Extra children in the band are priced as chargeable.

Resolution: Ensure your logic assigns children to bands in order, up to the band’s total. Always display price.total from the API — do not recalculate.


  • See the child policies section - For detailed information on occupancy, allocation, and child rate policies.
  • Check the Accommodation search guide - For best practices on using the accommodation search and availability endpoints.