Retrieving the Booker Name and Guest Name
In the AirHost API, booker information and guest information are returned as separate objects.
Please note that the source of the information differs depending on your use case.
■ Differences in what information is retrieved:
Reservation name (Stay.booker)
→ Can be retrieved with GET /stays (information of the person who made the reservation)
Guest name (RoomReservation.main_guest)
→ Can be obtained via GET /room_reservations/{id} (Information of the representative who will actually be staying)
■ Important Note:
The person who made the reservation (booker) and the guest (main_guest) are not always the same person.
About the Guest Count Fields in RoomReservation (2026-05-11)
The guest count fields in RoomReservation are mapped based on the guest categories and definitions used by each OTA.
AirHost imports reservation data from multiple OTAs, but each OTA defines child, infant, and child categories (ChildA–ChildD) differently.
As a result, the API does not return standardized definitions for these fields. Instead, it returns values that reflect each OTA's definitions as closely as possible.
Therefore, even when the field names are the same, their meaning and interpretation may differ depending on the source OTA.
Basic Meaning of Each Field
Category | Description |
Standard Guest Count Fields |
|
ChildA–ChildD Fields
|
|
Important Specifications and Integration Considerations for Handling Co-Sleeping Children and Guest Counts
Topic | Description | Reason |
Relationship Between | For some OTAs (such as Rakuten Travel, Ikkyu, and Temairazu), | - Age-based OTAs such as Booking.com, Expedia, and Opera do not generate
Therefore, |
Regarding the relationship between child_count and ChildA-D | [Notes] The following relationships do not guarantee a strict correspondence.
Furthermore, there are cases where it's | Cases where the sum of A-D is less than child_count (<) Age-based OTAs (such as Booking.com, Expedia, and Opera) perform the following simplified mapping on the AirHost side:
However, children under 3 years old and over 12 years old are not included in Child A-D. [example]
in the case of:
This is because 13-year-olds are excluded as they fall outside the range of Child A to D. |
Cases where the sum of A-D is greater than child_count (>) | Japanese online travel agencies (OTAs) such as Ikkyu, Rakuten Travel, and Temairazu | [Example (Ikkyu)] At Ikkyu: This is how it's treated, but Therefore,
[Notes]
|
Cleaning Management
Scenario | Description |
Using the API for Cleaning Management | AirHost can provide the reservation-related data required by your cleaning management system. However, AirHost does not include cleaning management functionality itself.
For example, the API cannot be used to:
These functions must be implemented and managed within your own system.
|
About the Fee-Related Fields in RoomReservation
Important Specifications and Integration Considerations for fee_breakdown / per_day
The room_reservation.fee_breakdown returned by Stay/Public API contains the daily amount record with type = per_day , and the sum of multiple per_day amounts is consistent with accommodation_fee .
Topic | Description | Reason |
Relationship Between |
If there are fee items with
To calculate the net room fee, such included fees should be subtracted. | Some fees (e.g., service fees) may be bundled into the room rate depending on configuration, so |
API Specification Support for | It is a formally supported field defined in the Public API specification. | This ensures that integrators can safely rely on this field for implementation. |
Availability Across Channels and Sources |
| The API maintains a consistent data structure across different reservation sources. |
Impact of Reservation Status on | The presence of
| Different cancellation flows (OTA vs manual) handle financial line items differently, affecting whether |
Relationship Between |
| Fee configuration determines whether charges are itemized separately or bundled into the room rate. |
About Per-Night Room Rates When Creating a Reservation
When creating or updating a reservation via POST /stays (Create a Stay) or PUT /room_reservations/{id} (Update a Room Reservation), there is currently no field that lets you specify a per-night room rate for the reservation itself.
Please be aware of the following behavior when integrating your Booking Engine.
Topic | Description | Reason |
booking_fee only accepts a total amount |
| This is a current limitation of the Public API specification for reservation creation. |
How the total is applied to each night | AirHost automatically splits the submitted total evenly across the number of nights to populate the reservation's per-night pricing.
| Because no per-night rate is submitted, the system has no other basis for populating a nightly breakdown. |
charges is not a substitute for per-night rates |
| charges was designed around AirHost-collected miscellaneous fees. Treating it as a substitute for nightly rates would affect other integrators who use charges for its intended purpose without submitting per-night data. |
Impact on accommodation tax | Since AirHost's automatic accommodation tax calculation is based on the same per-night pricing derived from | The tax calculation reads from the same underlying per-night data as the reservation record. |
Current workaround | If accurate per-night pricing and tax amounts are required, this currently needs to be handled manually: | There is no way to resolve this automatically via the API at present.
|
Handling Payment Information (payments) and Transfer Data
Payment Data (payments[]) Specifications
Payment amount ( | This is the total booking amount charged by the OTA to the guest. It is not the actual transfer amount (net amount) remitted by the OTA to the property after deducting fees.
|
Settlement date (
| This is the date on which the payment data was created in AirHost. It is not the actual date on which the OTA transferred the funds. |
How to check OTA fees
| OTA fees are not included in |
OTA Transfer Batch Information Not Supported
The Public API does not support retrieving OTA payment batch information (data grouped by transfer). Therefore, we cannot provide the payment date, transfer amount, or mapping information that links multiple bookings included in a single transfer.
Can the distribution status for each OTA (e.g., sent/not sent) be retrieved via the API?
Currently, the API does not support retrieving the distribution status for each OTA.
Retrieving Room Numbers
It is possible to retrieve room numbers, but they cannot be obtained directly from room_reservations.
In room_reservations, the assigned room is returned as room_unit.id.
You can then call GET /properties/{id} and look for a matching ID within room_types[].room_units[] to retrieve the corresponding room_no.
If a specific room has not yet been assigned to the reservation, room_unit will be empty, and the room number cannot be retrieved.
Currently, the Public API does not provide a dedicated endpoint for retrieving Room Unit information individually.
FAQ
Registering Reservations on Fully Booked Dates
Q. What response is returned when a new reservation is registered for dates that are already fully booked?
A. Even if a reservation is registered for dates that are already fully booked, the reservation will still be saved and marked as Overlapped.
Therefore, you should check the reservation status included in the response rather than relying solely on the HTTP status code.
Recovery When the Feed Retention Period (7 Days) Is Exceeded
Q. How can the system be recovered if the 7-day Feed retention period has been exceeded?
A. Past Feed events older than the 7-day retention period cannot be restored.
Request to Increase API Rate Limits
Q. Is it possible to increase the current API rate limit of 120 requests per minute per partner?
A. Currently, this limit cannot be lifted for individual integrations.
However, you can reduce the load on API requests using the following methods:
Distribute processing by using a request queue.
Expand the scope of data retrieved in a single query.
Implement retry logic when the rate limit is reached.
Retrieving OTA Distribution Status
Q. Is it possible to retrieve the distribution status for each OTA (e.g., distributed or not distributed) via the API?
A. Currently, retrieving distribution statuses for individual OTAs via the API is not supported.
