Child policies - Troubleshooting
Use this guide to diagnose and resolve issues with child rates, occupancy, and pricing.
Quick triage steps
- Reproduce the request:
- Capture request body, endpoint, and timestamp.
- 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?
- Is
- Check consistency with /search
- If behaviour differs, re-run the same payload (including
allocation
) against accommodations/availability.
- 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.
- If /orders/preview response fails, check
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.