予約者名と宿泊者名の取得について
AirHost API では、予約者情報と宿泊者情報は別オブジェクトとして返却されます。用途に応じて取得先が異なりますのでご注意ください。
■ 取得対象の違い
予約者名(Stay.booker)
→ GET /stays で取得可能(予約を行った方の情報)
宿泊者名(RoomReservation.main_guest)
→ GET /room_reservations/{id} で取得可能(実際に宿泊される代表者の情報)
■ 注意事項
予約者(booker)と宿泊者(main_guest)は常に同一とは限りません。
RoomReservation の人数関連フィールドについて(2026.05.11)
RoomReservation の人数関連フィールドは、OTAごとに異なるゲスト区分・定義をもとにマッピングされています。
AirHostでは複数のOTAから予約情報を取得していますが、各OTAで「child」「infant」および子ども区分(ChildA~D)の定義が異なります。
そのため、APIでは統一された意味を返しているのではなく、OTAごとの定義を可能な限り反映した結果を返しています。
つまり、同じフィールド名であっても、予約元OTAによって意味や解釈が異なる場合があります。
各フィールドの基本的な意味
標準人数フィールド |
|
ChildA ~ ChildD フィールド
|
|
「添い寝・子ども人数」を扱う上での重要仕様と連携時の注意点
child_d_count と添い寝の関係について | 一部OTA(楽天トラベル、一休、手間いらず)では、 | [理由]
そのため、 なお、Airbnb の |
child_count と ChildA~D の関係について | [注意点] 以下の関係は、厳密な一致を保証するものではありません。
さらに、実際には | A~D 合計が child_count より少なくなるケース(<) 年齢ベースOTA(Booking.com / Expedia / Opera など)では、AirHost側で以下のような簡易マッピングを行っています。
ただし、3歳未満や12歳超は ChildA~D に含まれません。 [例]
の場合:
となります。13歳は ChildA~D の範囲外のため除外されるためです。 |
A~D 合計が child_count より多くなるケース(>) | 日本OTA(一休・楽天トラベル・手間いらず)では、OTA側の | [例(一休)] 一休では: という扱いですが、 そのため:
[注意点]
|
清掃管理について
APIで清掃管理を行う場合 | 清掃管理システムに必要な『予約関連のデータ』を提供することは可能ですが、清掃管理機能そのものは備えておりません。 例えば、APIを介して『清掃タスクの作成』『清掃スタッフの割り当て』『清掃ステータスの更新』などを行うことはできません。これらの機能につきましては、ユーザー様のシステム側で構築・ご対応いただく必要がございます。 |
RoomReservation の料金関連フィールドについて
本ドキュメントでは、RoomReservation における料金関連フィールドについて説明します。
fee_breakdown/per_dayの重要な仕様と統合に関する考慮事項
Stay/Public APIから返される room_reservation.fee_breakdown には、type= per_day という日額レコードが含まれており、複数の per_day 金額の合計は accommodation_fee と一致しています。
トピック | 説明 | 理由 |
per_dayとNet Room Feeの関係 |
| 構成によっては、一部の料金(例:サービス料)が部屋料金にまとめられる場合があるため、 |
API仕様では、per_dayとfee_breakに対応しています | Public API仕様で定義された正式にサポートされたフィールドです。 | これにより、インテグレーターはこの分野の実装に安全に頼ることができます。 |
チャネルとソース間のアベイラビリティ |
| APIは、異なる予約ソース間で一貫したデータ構造を維持します。 |
予約状況がper_dayに与える影響 |
| 異なるキャンセルフロー(OTAと手動)は、財務ラインアイテムを異なる方法で処理し、 |
per_dayとその他の料金の関係(例:cleaning_fee、channel_fee) |
| 料金設定によって、料金が個別に項目化されるか、客室料金にまとめられるかが決まります。 |
予約作成時の1泊あたりの料金について
予約を作成または更新する際に、POST /stays(Create a Stay)またはPUT/room_reservations/{id}(Update a Room Reservation)を使用する場合、予約自体の1泊あたりの宿泊料金を指定できるフィールドはありません。
Booking Engineを統合する際には、以下の動作に注意してください。
トピック | 説明 | 理由 |
booking_fee は合計金額のみを受け付けます |
| これは、予約作成のためのパブリックAPI仕様の現在の制限です。 |
合計が毎晩どのように適用されるか | AirHostは、提出された合計を宿泊日数に均等に分割して、予約の1泊あたりの価格を設定します。 | 一泊あたりの料金が提出されていないため、システムには夜間の内訳を入力するための他の基盤がありません。 |
料金は1泊あたりの料金の代替ではありません |
| 料金はAirHostが徴収した雑費を中心に設計されました。 |
宿泊税への影響 | AirHostの自動宿泊税の計算は、 | 税金の計算は、予約記録と同じ基礎となる1泊あたりのデータから読み取られます。 |
現在の回避策 | 正確な1泊あたりの料金と税額が必要な場合は、現在手動で処理する必要があります。 | 現在、APIを介してこれを自動的に解決する方法はありません。 |
決済情報(payments)と振込データの扱い
決済データ(payments[])の仕様
決済金額( | OTAが宿泊客へ請求した予約金額(総額)です。手数料控除後にOTAから施設へ振り込まれる実際の振込額(ネット額)ではありません。
|
決済日付(
| AirHost上で決済データが作成された日付です。OTAからの実際の振込日ではありません。 |
OTA手数料の確認方法
|
|
OTA振込単位(バッチ)情報の非対応について
パブリックAPIは、OTAの入金バッチ情報(振込単位のデータ)の取得に対応していません。そのため、入金日や振込金額、および1回の振込に含まれる複数予約との紐付け情報(マッピング)をご提供することはできません。
各OTAへの配信ステータス(配信済み/未配信など)は、APIから取得できますか?
現在、各OTAへの配信ステータスをAPIから取得することには対応しておりません。
