> This is a page from the ElevenLabs documentation. For an index of the documentation, fetch https://elevenlabs.io/docs/llms.txt.

# Hostaway

以下の[Webhookツール](/docs/ja/reception-ai/integrations/webhooks)を使うと、受付担当は発信者が希望する日程についてHostawayのリスティングのカレンダーを確認し、キャビンやユニットの空き状況、1泊あたりの料金、最低宿泊日数を案内できます。Hostawayの公開APIが発行するアクセストークンは24か月間有効なため、ツールからHostawayを直接呼び出します。

> **Note**
>
> 受付担当は予約の作成や既存予約の検索はできません。カレンダーを確認して
> 予約リクエストを受け付けた後、担当チームが[通話後の要約](/docs/ja/reception-ai/features/notifications)をもとに宿泊を確定します。

## 始める前に

### APIキーを作成する

Hostawayダッシュボードで、**設定** → **Hostaway API** を開き、新しいAPIキーを作成します。名前を`Reception.ai`とし、パートナーには **Hostaway Public API** を選択します。キーをコピーしてください。Hostawayで表示されるのは一度だけです。**設定** にも表示されている **アカウントID** を控えます。

### アクセストークンを取得する

ターミナルでキーをアクセストークンと交換します。`ACCOUNT_ID`と`API_KEY`を置き換えてください。

```bash
curl -X POST 'https://api.hostaway.com/v1/accessTokens' \
  -H 'Content-type: application/x-www-form-urlencoded' \
  -d 'grant_type=client_credentials&client_id=ACCOUNT_ID&client_secret=API_KEY&scope=general'
```

レスポンスから`access_token`の値をコピーします。有効期間は24か月です。

> **Warning**
>
> アクセストークンを使うと、ゲスト情報やドアコードを含め、Hostawayアカウント内のすべての情報を読み取り、変更できます。
> 共有ドキュメントやオンラインツールには貼り付けないでください。漏えいした場合はトークンを無効化し、
> HostawayでAPIキーを削除してください。

### リスティングIDを確認する

`YOUR_TOKEN`を置き換え、トークンを使ってリスティングの一覧を取得します。

```bash
curl 'https://api.hostaway.com/v1/listings?limit=100' \
  -H 'Authorization: Bearer YOUR_TOKEN'
```

レスポンス内の各リスティングには`id`と`name`があります。受付担当が確認する各リスティングのIDを控えます。

## ツールを作成する

**インテグレーション** に移動し、**インテグレーションを追加** を選択して、**Webhookツール** を選びます。

| フィールド            | 値                                                                                                                   |
| ---------------- | ------------------------------------------------------------------------------------------------------------------- |
| **名前**           | `check_hostaway_calendar`                                                                                           |
| **説明**           | 「発信者が希望する日程で宿泊施設が空いているか、1泊あたりの料金と最低宿泊日数を確認します。宿泊施設を利用可能と案内する前に使用してください。」                                            |
| **メソッド**         | GET                                                                                                                 |
| **URL**          | `https://api.hostaway.com/v1/listings/{listing_id}/calendar`                                                        |
| **リクエストヘッダー**    | `Authorization`：`Bearer `の後にアクセストークンを続け、**タイプ** を **シークレット** に設定                                                    |
| **パスパラメーター**     | `listing_id`（文字列、必須）：「Cedar Cabinには`11111`、Lakeside Cabinには`22222`を使用してください。」                                       |
| **クエリパラメーター**    | `startDate`（文字列、必須）：「到着日（YYYY-MM-DD形式）。」  `endDate`（文字列、必須）：「宿泊最終日（YYYY-MM-DD形式）。」  `includeResources`（文字列、固定値）：`0` |
| **エージェントへの割り当て** | **受付担当**                                                                                                            |

キャビン名とIDを実際のものに置き換え、リスティングごとに1行追加します。**有効化** を選択します。

Hostawayは1泊ごとに1件のエントリを返します。`status`が`available`なら、その日は空いています。各日には`price`と`minimumStay`も含まれます。

> **Warning**
>
> `includeResources`は`0`に固定してください。`1`にすると、Hostawayは各日の予約情報を追加し、
> ゲストの名前、電話番号、メールアドレスが受付担当に表示されます。

### テストする

予約済みとわかっている日程のキャビンについて質問し、次に空きがあるとわかっている日程について質問して、[受付担当をテスト](/docs/ja/reception-ai/receptionist/testing)します。回答をHostawayのカレンダーと比較してください。

> **Tip**
>
> 宿泊リクエスト用の[手順](/docs/ja/reception-ai/receptionist/rules-and-procedures)を追加します。宿泊施設、到着日と出発日、宿泊人数を確認して
> カレンダーを調べた後、担当チーム向けに発信者の名前、電話番号、メールアドレスを聞き取るよう設定します。受付担当が
> 予約の確定を約束しないよう、ルールを追加してください。

## 制限事項

* 受付担当は予約を作成、変更、キャンセルできません。各宿泊予約は担当チームが確定します。
* 一度に確認できるリスティングは1件です。別のキャビンを提案する場合は、1件ずつ順番に確認します。
* 1泊あたりの料金には清掃料金、税金、割引が含まれないため、受付担当は目安としてのみ案内する必要があります。
* このツールは既存の予約を検索しません。Hostawayの予約情報とリスティング情報にはドアコードやWi-Fiパスワードが含まれるため、このガイドでは受付担当からアクセスできないようにしています。ZapierのHostawayアプリも同じ情報を返し、予約や空き状況を確認するアクションはありません。
* アクセストークンは24か月後に使用できなくなります。それまでに新しいトークンを作成し、ヘッダーを更新してください。

## トラブルシューティング

| 問題                       | 確認事項                                                                           |
| ------------------------ | ------------------------------------------------------------------------------ |
| Hostawayから401または403が返される | ヘッダーの値は`Bearer`、半角スペース、アクセストークンの順にする必要があります。APIキーではありません。有効期限が切れていないか確認してください。 |
| 間違ったキャビンが確認される           | `listing_id`の説明にあるリスティングIDが、実際のリスティングと一致しているか確認します。                            |
| 予約済みの日が空きとして表示される        | Hostawayのカレンダーを確認します。ブロック済みまたは予約済みの日は、`status`が`available`以外になります。             |
| 受付担当が最低宿泊日数より短い宿泊を案内する   | 到着日の`minimumStay`を確認するよう、ツールの説明で指示します。                                         |