[ 概要 ]
AirHost API から予約情報を取得して、会計処理や清掃管理など、AirHost PMS が提供しない機能を社内システムとして開発したい場合の開発手順を説明します。
基本的に予約情報は読み取り専用です。チェックインアプリを作成するための API ではありません。 事前チェックインやセルフチェックイン機能をご希望の場合には、AirHost が提供するチェックインオプションをご利用下さい。
注意1:AirHost API を利用して、OTA 予約を含む全ての予約情報を取得することが可能ですが、予約情報の更新に関しては API 経由で御社システムから作成した予約に限られます。
注意2:ゲストへのメッセージ送信を計画している場合、実現は難しいことをご理解下さい。 理由としては、Airbnb や Booking.com、楽天トラベルなど API 経由でないとメッセージ送受信が出来ない OTA に関しては、予約情報にメールアドレスの情報が含まれないためです。
注意3:予約情報の取得は可能ですが、事前チェックインで取得した宿泊者情報やゲストとのメッセージのやり取りの情報などは取得できません。
[ 詳細 ]
実装イメージ
AirHost API から取得した施設・予約データは、必ず社内システムのデータベース内にコピーを保持するように設計して下さい。 都度 API 経由でリアルタイムデータを取得するような実装は出来ません。
処理手順
初期データ取得
GET /properties をコールして、全施設の情報を取得して、ローカル DB 内にコピーを保持します。
GET /stays をコールして、予約データを取得して、ローカル DB 内にコピーを保持します。
最新データの維持
ローカル DB 内に保持した施設・予約情報を最新の状態に保つためには、GET /feeds を5分毎などの間隔でコールして、"event" 情報を確認、必要に応じてローカル DB に反映します。
フルスキャン
1日一回程度、GET /stays で全ての未来予約を取得することでデータの一貫性を保証頂くことが出来ます。
社内システムページへの情報の表示
社内システムへの情報表示は、すべてローカル DB 内にあるデータを利用して処理を行うようにして下さい。 都度 AirHost API をコールするような設計にすると、アクセス制限で動作しなくなります。
予約データの作成
POST /stays をコールすることで、社内システム側から API 経由で予約データを作成することも出来ます。
POST /stays 経由で作成した予約情報に関しては、PUT /room_reservations/{id} から更新することも可能です。 ※ OTA 予約など他の予約は更新出来ません。
API ドキュメントと利用可能なエンドポイント
API ドキュメント:https://airhost.stoplight.io/docs/airhost-public-api-doc/branches/japanese/b8pf0iy7p7mrw-
※「社内システム用 API」パッケージで利用可能な API は、以下のみになります。
GET /properties
POST /stays
GET /feeds (availabilities.update 以外の全イベントが利用可能)
POST /commit_feeds
GET /stays (OTA 予約を含む全予約を取得可能)
POST /stays
PUT /room_reservations/{id} (POST /stays で作成した予約のみ対象)