予約の手配の事前構築済みコンポーネント

予約の手配の事前構築済みコンポーネントを使用すると、新規および既存のお客様が予約を行えます。このコンポーネントでは、生年月日の収集事前構築済みコンポーネントのカスタマイズ版を使用して予約日を収集し、電話番号の収集郵便番号の収集の事前構築済みコンポーネントを使用して、ユーザーと予約の場所に関する情報を収集します。

予約の理由と種類

このコンポーネントは、予約理由のいくつかのカテゴリをサポートし、ユーザーが選択した理由に応じてさまざまな種類の予約を提供します。

予約の理由 利用可能な予約の種類
ローン 対面、仮想、電話
住宅ローン 対面、仮想、電話
資産管理 対面、仮想、電話
クレジット カード 仮想、スマートフォン
その他 電話

予約カテゴリは、prebuilt_components_arrange_appt_reason カスタム エンティティを変更することでカスタマイズできます。各カテゴリで使用可能な予約の種類は、予約の各種類の入力パラメータを変更することで構成できます。

制限事項

一般的な事前構築済みコンポーネントの制限に加えて、この事前構築済みコンポーネントには次の制限があります。

  • このコンポーネントはデータを暗号化しません。

サンプル ダイアログ

次のサンプル ダイアログは、この事前構築されたコンポーネントによって処理される一般的なシナリオを示しています。サンプル ダイアログは、コンポーネントがテレフォニー経由で呼び出されたときの動作を示しています。これにより、Default Welcome Intent と会話開始時の最初のエージェント レスポンスがトリガーされます。

既存のユーザーが対面で予約を行う

エージェントは、ユーザーが以前に既存のユーザーとして認証されたことを確認します。ユーザーは予約の理由を説明し、対面での予約を選択します。エージェントは、ユーザーが自身の登録住所に最も近いブランチを訪れることを希望していることを確認し、ユーザーの希望日時が利用可能であることを確認します。エージェントは、日時と場所を確認して、予約を正常にスケジュールします。

ユーザー入力 エージェントの応答
予約をスケジュールする前に、いくつか質問いたします。予約の理由をお聞かせいただけますか?
資産管理について誰かとお話ししたいと考えています
電話、ビデオ通話、ブランチでの対面での予約をどれをご希望ですか?
対面で予約したい
了解しました。1600 Amphitheatre Pkwy, Mountain View, CA 94043 にあるブランチで予約しますか?
はい
ご希望の予約日をお知らせください。ご希望の月、日、年を順にお知らせください。ブランチは月曜日から金曜日の午前 9 時から午後 5 時まで、土曜日は午前 9 時から午後 1 時まで開いています。
エージェントは、生年月日の収集の事前構築済みコンポーネントを使用して、ユーザーの希望予約日を収集します。
ご希望の日付の収集が完了しました。

ご希望の時間帯をお知らせください。
午前 10 時
午前 10 時を選択しました。選択した予約時間で続行するには、「はい」と言ってください。
はい
銀行の住所 1600 Amphitheatre Pkwy, Mountain View, CA 94043 で 2023 年 9 月 23 日午前 10 時に予約をスケジュールします。間違いありませんか?
はい
予約をスケジュールしました。確認番号は 818452 です。別の予約を行いますか?
いいえ、結構です
お問い合わせいただきありがとうございます。良い一日をお過ごしください!

新しいお客様が複数の予約を行う

エージェントは、ユーザーが以前に認証されていないことを確認して、ユーザーの電話番号を収集します。ユーザーがローンについての相談の仮想予約をリクエストします。ユーザーの最初の希望日時は空いていないため、エージェントはユーザーに使用可能な時間枠を提案します。ユーザーが空いている時間帯を選択し、予約が正常にスケジュールされます。ユーザーが 2 番目の予約を行うことを確認すると、エージェントは 2 番目の予約を正常にスケジュールします。

ユーザー入力 エージェントの応答
エージェントは、電話番号の収集の事前構築済みコンポーネントを使用してユーザーの電話番号を収集します
電話番号の収集が完了しました。

予約をスケジュールする前に、いくつか質問いたします。予約の理由をお聞かせいただけますか?
ローンを組みたいと考えています
電話、ビデオ通話、ブランチでの対面での予約をどれをご希望ですか?
仮想予約で問題ありません
ご希望の予約日をお知らせください。ご希望の月、日、年を順にお知らせください。ブランチは月曜日から金曜日の午前 9 時から午後 5 時まで、土曜日は午前 9 時から午後 1 時まで開いています。
エージェントは、生年月日の収集の事前構築済みコンポーネントを使用して、ユーザーの希望予約日を収集します。
ご希望の日付の収集が完了しました。

ご希望の時間帯をお知らせください。
3:00 で大丈夫です
午後 3 時を選択しました。選択した予約時間で続行するには、「はい」と言ってください。
はい
2023 年 10 月 3 日午後 3 時にアドバイザーとの予約をスケジュールします。間違いありませんか?
この機能を使用
予約をスケジュールしました。確認番号は 754731 です。

別の予約を行いますか?
はい
予約をスケジュールする前に、いくつか質問いたします。予約の理由をお聞かせいただけますか?
クレジット カードの予約が必要です
ブランチの担当者との電話またはビデオ通話の予約をご希望ですか?
電話
ご希望の予約日をお知らせください。ご希望の月、日、年を順にお知らせください。ブランチは月曜日から金曜日の午前 9 時から午後 5 時まで、土曜日は午前 9 時から午後 1 時まで開いています。
エージェントは、生年月日の収集の事前構築済みコンポーネントを使用して、ユーザーの希望予約日を収集します。
ご希望の日付の収集が完了しました。

ご希望の時間帯をお知らせください。
午前 8 時でいかがですか?
午前 8 時を選択しました。選択した予約時間で続行するには、「はい」と言ってください。
はい
申し訳ありませんが、選択した時間枠は利用できません。2023 年 10 月 6 日午前 11 時 30 分、午後 12 時 30 分、午後 1 時 30 分、午後 3 時に空きがあります。時間枠の変更をご希望ですか?それとも予約を別の日に変更しますか?
午後 1 時 30 分にします
午後 1 時 30 分を選択しました。選択した予約時間で続行するには、「はい」と言ってください。
はい
2023 年 10 月 6 日午後 1 時 30 分にアドバイザーとの予約をスケジュールします。間違いありませんか?
はい
予約をスケジュールしました。確認番号は 714637 です。

別の予約を行いますか?
いいえ、結構です
お問い合わせいただきありがとうございます。良い一日をお過ごしください!

命名規則

この事前構築済みコンポーネントでは、次の命名規則が使用されています。

機能 形式
フロー [コンポーネント名] 予約を手配する
コンポーネントに固有のインテント prebuilt_components_[component_name]_[intent_name] prebuilt_components_arrange_appt_change_date_slot
エンティティ タイプ prebuilt_components_[component_name]_[entity_type] prebuilt_components_arrange_appt_reason
Webhook prebuilt_components_[component_name]:[webhook_action] prebuilt_components_arrange_appointment:submit_appointment

入力パラメータ

入力パラメータは、コンポーネントの特定の動作を構成するために使用されるパラメータです。このパラメータは、コンポーネントの動作を決定するためにフロー内の 1 つ以上の条件によって使用されます。フロースコープのパラメータは、後述するように、コンポーネントのスタートページで設定する必要があります。セッション スコープのパラメータは、呼び出しフローまたはこのコンポーネントのスタートページで設定できます。

この事前構築済みコンポーネントは、次の入力パラメータを受け入れます。

パラメータ名 説明 入力形式
$session.params.phone_number (省略可)認証に使用するお客様の登録電話番号。 文字列
$session.params.auth_level 発信者の認証レベルを示します。 integer
$flow.all_appointment_type すべての種類の予約に利用できる予約理由のリストを指定します。デフォルト値は ["loans", "wealth"] です。 リスト(文字列)
$flow.video_phone_appointment_type すべての種類の予約に利用できる予約理由のリストを指定します。デフォルト値は ["cards"] です。 リスト(文字列)
$flow.appointment_services ブランチの場所は不要で、ユーザーから収集されない予約の種類のリストを指定します。デフォルト値は ["video", "phone"] です。 リスト(文字列)
$flow.working_hours 支店の営業時間を指定します(例: "Monday to Friday: 9 AM to 5 PM, Saturday: 9 AM to 1 PM")。 文字列
$session.params.arrange_appointment_max_days 予約に対して許可される現在の日付からの最大日数を指定します。デフォルトでは、この値は 90 で、予約日が現在の日付から 90 日以内であれば予約できることを示します。このパラメータは、スタートページの true ルートで設定します。 integer
flow.max_retry_count ユーザーから情報を収集する際に許可する再試行回数を指定します。デフォルト値は 3 です。 integer

このコンポーネントの入力パラメータを構成するには、開いて手順を確認します。

  1. Dialogflow CX Console を開きます。
  2. ご自身の Google Cloud プロジェクトを選択します。
  3. エージェントを選択します。
  4. [Build] タブを選択します。
  5. [Flows] セクションでインポートされたコンポーネントをクリックします。
  6. [Pages] セクションで [Start Page] をクリックします。
  7. スタートページで true ルートをクリックします。
  8. [Route] ウィンドウで、必要に応じて [Parameter Presets] 値を編集します。
  9. [Save] をクリックします。

出力パラメータ

出力パラメータは、コンポーネントを終了した後もアクティブな状態を継続するセッション パラメータです。これらのパラメータには、コンポーネントによって収集される重要な情報が含まれます。この事前構築されたコンポーネントは、次の出力パラメータの値を提供します。

パラメータ名 説明 出力形式
phone_number ユーザーの識別に使用されるユーザーの電話番号(国コードなし)。 文字列
transfer_reason このパラメータは、フローが失敗した場合に終了した理由を示します。戻り値は次のいずれかです。

agent: エンドユーザーが会話中のいずれかの時点で人間のエージェントをリクエストした。

denial_of_information: エンドユーザーが、コンポーネントによってリクエストされた情報を共有することを拒否した。

max_no_input: 会話が回答なしイベントの再試行の最大回数に達した。回答なし組み込みイベントをご覧ください。

max_no_match: 会話が一致なしイベントの再試行の最大回数に達しました。一致なし組み込みイベントをご覧ください。

webhook_error: Webhook エラーが発生しました。webhook.error の組み込みイベントをご覧ください。

webhook_not_found: Webhook URL にアクセスできませんでした。webhook.error.not-found の組み込みイベントをご覧ください。
文字列

基本設定

この事前構築済みコンポーネントを設定するには:

  1. 事前構築済みコンポーネントをインポートします。
  2. 外部サービスを記述する構成を使用して、付属の柔軟な Webhook を構成します。下記の Webhook の設定をご覧ください。

Webhook の設定

このコンポーネントを使用するには、付属の Flexible Webhook を構成して外部サービスから必要な情報を取得する必要があります。

アカウントを取得

prebuilt_components_arrange_appointment:get_account Webhook は、コンポーネントによって、指定された電話番号のアカウントの詳細を取得するために使用されます(登録済みのアカウントが存在する場合)。

API リクエスト パラメータ

以下のパラメータは、コンポーネントによって API リクエストへの入力として提供されます。

パラメータ名 説明 入力形式
$session.params.phone_number ユーザーの識別に使用されるユーザーの電話番号(国コードなし)。 文字列

API レスポンス パラメータ

以下のパラメータは、コンポーネントで使用される API レスポンスから取得されます。

パラメータ名 説明 出力形式
account_count 登録されている電話番号に関連付けられているアカウントの数。 integer
cards_count 登録されている電話番号に関連付けられているカードの数。 integer
loans_count 登録された電話番号に関連付けられているローンの数。 integer
mortgage_count 登録された電話番号に関連付けられている住宅ローンの数。 integer
branch_code 登録された電話番号に関連付けられている支店コード。一意の支店の場所を識別するために使用されます。 文字列

このコンポーネントの [アカウントを取得] Webhook を構成するには、開いて手順を確認してください。

  1. Dialogflow CX Console を開きます。
  2. ご自身の Google Cloud プロジェクトを選択します。
  3. エージェントを選択します。
  4. [Manage] タブを選択します。
  5. [Webhooks] をクリックします。
  6. prebuilt_components_arrange_appointment:get_account Webhook を選択します。
  7. Dialogflow CX Webhook URL フィールドの URL を、統合するサービスのエンドポイントに置き換えます。プルダウンで適切なメソッドを選択します。
  8. Webhook に適したリクエスト形式になるように、リクエスト本文を確認して更新します。
  9. レスポンス構成を確認して更新し、Webhook のレスポンスから特定のフィールドを抽出します。パラメータ名は、コンポーネントが返されたフィールド値にアクセスするために必要であるため、変更しないでください。
  10. 必要に応じて [Authentication] の設定を確認し、更新します。
  11. [保存] をクリックします。

ブランチの取得

prebuilt_components_arrange_appointment:get_branch Webhook は、ブランチコードを指定してブランチのロケーションに関する情報を取得するためにコンポーネントによって使用されます。

API リクエスト パラメータ

以下のパラメータは、コンポーネントによって API リクエストへの入力として提供されます。

パラメータ名 説明 入力形式
$flow.branch_code 一意の支店の場所を識別するための支店コード。 文字列

API レスポンス パラメータ

以下のパラメータは、コンポーネントで使用される API レスポンスから取得されます。

パラメータ名 説明 出力形式
branch_address ブランチの住所。 文字列

このコンポーネントの [ブランチを取得] Webhook を構成するには、展開して手順を確認してください。

  1. Dialogflow CX Console を開きます。
  2. ご自身の Google Cloud プロジェクトを選択します。
  3. エージェントを選択します。
  4. [Manage] タブを選択します。
  5. [Webhooks] をクリックします。
  6. prebuilt_components_arrange_appointment:get_branch Webhook を選択します。
  7. Dialogflow CX Webhook URL フィールドの URL を、統合するサービスのエンドポイントに置き換えます。プルダウンで適切なメソッドを選択します。
  8. Webhook に適したリクエスト形式になるように、リクエスト本文を確認して更新します。
  9. レスポンス構成を確認して更新し、Webhook のレスポンスから特定のフィールドを抽出します。パラメータ名は、コンポーネントが返されたフィールド値にアクセスするために必要であるため、変更しないでください。
  10. 必要に応じて [Authentication] の設定を確認し、更新します。
  11. [保存] をクリックします。

利用可能な支店

prebuilt_components_arrange_appointment:available_branch Webhook は、指定された郵便番号で最寄りのブランチのロケーションを取得するためにコンポーネントによって使用されます。

API リクエスト パラメータ

以下のパラメータは、コンポーネントによって API リクエストへの入力として提供されます。

パラメータ名 説明 入力形式
$flow.zip_code エンドユーザーが指定した郵便番号。 文字列

API レスポンス パラメータ

以下のパラメータは、コンポーネントで使用される API レスポンスから取得されます。

パラメータ名 説明 出力形式
branch_address ブランチの住所。 文字列

このコンポーネントの [利用可能なブランチ] Webhook を構成するには、展開して手順を確認してください。

  1. Dialogflow CX Console を開きます。
  2. ご自身の Google Cloud プロジェクトを選択します。
  3. エージェントを選択します。
  4. [Manage] タブを選択します。
  5. [Webhooks] をクリックします。
  6. prebuilt_components_arrange_appointment:available_branch Webhook を選択します。
  7. Dialogflow CX Webhook URL フィールドの URL を、統合するサービスのエンドポイントに置き換えます。プルダウンで適切なメソッドを選択します。
  8. Webhook に適したリクエスト形式になるように、リクエスト本文を確認して更新します。
  9. レスポンス構成を確認して更新し、Webhook のレスポンスから特定のフィールドを抽出します。パラメータ名は、コンポーネントが返されたフィールド値にアクセスするために必要であるため、変更しないでください。
  10. 必要に応じて [Authentication] の設定を確認し、更新します。
  11. [保存] をクリックします。

利用可能なスロットを取得

prebuilt_components_arrange_appointment:get_available_slots Webhook は、ユーザーの希望日と予約の種類に対して利用可能な時間枠を確認するためにコンポーネントによって使用します。

API リクエスト パラメータ

以下のパラメータは、コンポーネントによって API リクエストへの入力として提供されます。

パラメータ名 説明 入力形式
$flow.preferred_date エンドユーザーが指定した予約の希望日(「YYYY-MM-DD」形式)。 文字列
$flow.appointment_type 予約の予約の種類 文字列
$flow.branch_code エンドユーザーが選択した一意のブランチのロケーションを識別するブランチコード。 文字列

API レスポンス パラメータ

以下のパラメータは、コンポーネントで使用される API レスポンスから取得されます。

パラメータ名 説明 出力形式
available_slots 指定された日付で利用可能な予約時間のリスト(「HH:MM XM」形式)。例: ["09:00 AM", "2:30 PM"]。利用可能な時間枠がない場合、このパラメータは空のリスト [] になります。 リスト(文字列)

このコンポーネントの [利用可能なスロットを取得] Webhook を構成するには、展開して手順を確認してください。

  1. Dialogflow CX Console を開きます。
  2. ご自身の Google Cloud プロジェクトを選択します。
  3. エージェントを選択します。
  4. [Manage] タブを選択します。
  5. [Webhooks] をクリックします。
  6. rebuilt_components_arrange_appointment:get_available_slots Webhook を選択します。
  7. Dialogflow CX Webhook URL フィールドの URL を、統合するサービスのエンドポイントに置き換えます。プルダウンで適切なメソッドを選択します。
  8. Webhook に適したリクエスト形式になるように、リクエスト本文を確認して更新します。
  9. レスポンス構成を確認して更新し、Webhook のレスポンスから特定のフィールドを抽出します。パラメータ名は、コンポーネントが返されたフィールド値にアクセスするために必要であるため、変更しないでください。
  10. 必要に応じて [Authentication] の設定を確認し、更新します。
  11. [保存] をクリックします。

予約を送信する

prebuilt_components_arrange_appointment:submit_appointment Webhook は、コンポーネントによって、ユーザーが選択した日付、時間、ブランチ、予約の理由、予約の種類の予約をスケジュールするために使用されます。

API リクエスト パラメータ

以下のパラメータは、コンポーネントによって API リクエストへの入力として提供されます。

パラメータ名 説明 入力形式
$session.params.phone_number ユーザーの識別に使用されるユーザーの電話番号(国コードなし)。 文字列
$flow.preferred_date エンドユーザーが指定した予約の希望日(「YYYY-MM-DD」形式)。 文字列
$flow.preferred_slot エンドユーザーが指定した予約の希望時間(「HH:MM XM」形式)。 文字列
$flow.appointment_reason 予約の予約理由 文字列
$flow.appointment_type 予約の予約の種類 文字列
$flow.branch_code エンドユーザーが選択した一意のブランチのロケーションを識別するブランチコード。 文字列

API レスポンス パラメータ

以下のパラメータは、コンポーネントで使用される API レスポンスから取得されます。

パラメータ名 説明 出力形式
request_number スケジュールされた予約のリクエスト番号。 integer

このコンポーネントの [予約を送信] Webhook を構成するには、展開して手順を確認してください。

  1. Dialogflow CX Console を開きます。
  2. ご自身の Google Cloud プロジェクトを選択します。
  3. エージェントを選択します。
  4. [Manage] タブを選択します。
  5. [Webhooks] をクリックします。
  6. prebuilt_components_arrange_appointment:submit_appointment Webhook を選択します。
  7. Dialogflow CX Webhook URL フィールドの URL を、統合するサービスのエンドポイントに置き換えます。プルダウンで適切なメソッドを選択します。
  8. Webhook に適したリクエスト形式になるように、リクエスト本文を確認して更新します。
  9. レスポンス構成を確認して更新し、Webhook のレスポンスから特定のフィールドを抽出します。パラメータ名は、コンポーネントが返されたフィールド値にアクセスするために必要であるため、変更しないでください。
  10. 必要に応じて [Authentication] の設定を確認し、更新します。
  11. [Save] をクリックします。

完了

これで、エージェントとその Webhook が設定され、テストの準備が整いました。