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.
