安排预约预构建组件

借助安排预约预构建组件,新客户和现有客户都可以预约。此组件使用自定义版本的出生日期收集预构建组件来收集预约日期,并使用电话号码收集和邮政编码收集预构建组件来收集有关用户和预约地点的信息。

预约原因和类型

此组件支持多种预约原因类别,并根据用户选择的原因提供不同类型的预约。

预约原因 可预约的服务类型
贷款 线下、线上、手机
抵押贷款 线下、线上、手机
财富管理 线下、线上、手机
信用卡 线上、手机
其他 电话

您可以通过修改 prebuilt_components_arrange_appt_reason 自定义实体来自定义预约类别。通过修改每种预约类型的输入参数,可以配置每个类别可用的预约类型。

限制

除了常见的预构建组件限制之外,此预构建组件还存在以下限制:

  • 此组件不会加密任何数据。

对话示例

以下示例对话展示了此预构建组件处理的常见场景。示例对话展示了通过电话调用组件时的行为,这会在对话开始时触发默认欢迎意图和第一个代理响应。

现有用户预约线下服务

代理会识别出用户之前已通过身份验证,是现有用户。用户提供预约原因,然后选择预约线下服务。代理确认用户希望前往离其注册地址最近的分行,并确认用户偏好的日期和时间有空位。智能体确认时间和地点,并成功安排预约。

用户输入 智能体回答
在安排预约之前,我们会问您几个问题。您能告诉我们预约的原因吗?
我想与某人聊聊财富管理
您是想预约手机、视频通话还是亲临我们的一家分行?
我想亲自前往
好的,您想预约位于 1600 Amphitheatre Pkwy, Mountain View, CA 94043 的分行吗?
是
请提供您希望预约的日期。请依次说出您偏好的月份、日期和年份。请注意,我们的分行营业时间为周一至周五:上午 9 点至下午 5 点;周六:上午 9 点至下午 1 点。
代理使用出生日期收集预构建组件收集用户偏好的预约日期
太棒了,我们已收集完您的首选日期。

请提供您的首选时间段。
上午 10 点
您已选择上午 10:00。如需继续使用所选预约时间,请说“是”。
是
我们将在 2023 年 9 月 23 日上午 10:00 在银行地址 1600 Amphitheatre Pkwy, Mountain View, CA 94043 安排预约。这样可以吗?
是
好的,我们已安排预约。您的确认编号为 818452。您想再预约一次吗?
没有了
感谢您与我们联系。祝您度过愉快的一天!

新客户预约多次

代理识别出用户之前未经过身份验证,并收集用户的电话号码。用户预约了虚拟预约,以便讨论贷款事宜。用户首选的日期和时间不可用,因此代理向用户提供可用的时间段。用户选择一个可预约的时间段,然后成功安排预约。用户确认要预约第二次服务,然后智能体成功安排了第二次预约。

用户输入 智能体回答
代理使用电话号码收集预构建组件收集用户的电话号码
太棒了,我们已完成电话号码收集。

在安排预约之前,我们会问您几个问题。您能告诉我们预约的原因吗?
我想申请贷款
您是想预约手机、视频通话还是前往我们的某家分行进行预约?
虚拟预约也可以
请提供您希望预约的日期。请依次说出您偏好的月份、日期和年份。请注意,我们的分行营业时间为周一至周五:上午 9 点至下午 5 点;周六:上午 9 点至下午 1 点。
代理使用出生日期收集预构建组件收集用户偏好的预约日期
太棒了,我们已收集完您的首选日期。

请提供您的首选时间段。
3:00 对我来说比较合适
您已选择下午 3 点。如需继续使用所选预约时间,请说“是”。
是
我们将在 2023 年 10 月 3 日下午 3:00 安排与顾问的预约。对吗?
好的
好的,我们已安排预约。您的确认码为 754731。

您想再预约一次吗?
是
在安排预约之前,我们会问您几个问题。您能告诉我们预约的原因吗?
我需要预约信用卡服务
您是否想预约与我们分行代表进行手机或视频通话?
电话
请提供您希望预约的日期。请依次说出您偏好的月份、日期和年份。请注意,我们的分行营业时间为周一至周五:上午 9 点至下午 5 点;周六:上午 9 点至下午 1 点。
代理使用出生日期收集预构建组件收集用户偏好的预约日期
太棒了,我们已收集完您的首选日期。

请提供您的首选时间段。
早上 8 点可以吗?
您已选择上午 8:00。如要继续使用所选预约时间,请说“是”。
是
抱歉,所选时间段不可用。我们有 2023 年 10 月 6 日上午 11:30、下午 12:30、下午 1:30 和下午 3:00 的空闲时间。您想更改时间段,还是想预约其他日期的服务?
好的,那我们定在 1:30 吧
您已选择下午 1:30。如需继续使用所选预约时间,请说“是”。
是
我们将在 2023 年 10 月 6 日下午 1:30 安排与顾问的预约。对吗?
没错
好的,我们已安排预约。您的确认码为 714637。

您想再预约一次吗?
没有了,就这些
感谢您与我们联系。祝您度过愉快的一天!

命名规则

此预构建组件使用以下命名惯例:

功能 格式 示例
Flow [组件名称] 安排预约
特定于组件的 intent prebuilt_components_[component_name]_[intent_name] prebuilt_components_arrange_appt_change_date_slot
实体类型 prebuilt_components_[component_name]_[entity_type] prebuilt_components_arrange_appt_reason
网络钩子 prebuilt_components_[component_name]:[webhook_action] prebuilt_components_arrange_appointment:submit_appointment

输入参数

输入参数是用于配置组件某些行为的参数。流程中的一���或多个条件将使用这些参数来确定组件应如何运行。必须在组件的起始页上设置流程范围的参数,如下所述。会话级范围的参数可以通过调用流程设置,也可以在此组件的起始页面上设置。

此预构建组件接受以下输入参数:

参数名称 说明 输入格式
$session.params.phone_number (可选)用于身份验证的客户注册手机号码。 字符串
$session.params.auth_level (可选)表示调用者的身份验证级别。 整数
$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 路由中设置的。 整数
flow.max_retry_count 指定在从用户处收集信息时允许的重试次数。默认值为 3。 整数

如需配置此组件的输入参数,请展开即可查看相关说明。

  1. 打开 Dialogflow CX 控制台。
  2. 选择您的 Google Cloud 项目。
  3. 选择您的代理。
  4. 选择构建标签页。
  5. 点击流部分中导入的组件。
  6. 点击页面部分中的“起始页”。
  7. 点击“开始”页面中的 true 路线。
  8. 在“路线”窗口中,根据需要修改参数预设值。
  9. 点击保存。

输出参数

输出参数是会话参数,在退出组件后仍会保持有效状态。这些参数包含组件收集的重要信息。此预构建组件可为以下输出参数提供值:

参数名称 说明 输出格式
phone_number 用户的本地手机号码(不含国家/地区代码),用于标识用户。 字符串
transfer_reason 此参数用于指明流程退出(如果未成功)的原因。返回的值为以下之一:

agent:最终用户在对话期间的某个时间点请求人工客服。

denial_of_information:最终用户拒绝分享组件请求的信息。

max_no_input:对话达到无输入事件的最大重试次数。请参阅无输入内置事件。

max_no_match:对话已达到无匹配事件的最大重试次数。请参阅“无匹配”内置事件。

webhook_error:发生了 webhook 错误。请参阅 webhook.error 内置事件。

webhook_not_found:无法访问网络钩子网址。请参阅webhook.error.not-found 内置事件。
字符串

基本设置

如需设置此预建组件,请执行以下操作:

  1. 导入预构建组件。
  2. 使用描述外部服务的配置来配置所提供的灵活的 webhook,请参阅下文中的“Webhook 设置”。

网络钩子设置

如需使用此组件,您需要配置随附的灵活的 Webhook,以便从外部服务检索所需的信息。

获取账号

如果存在已注册的账号,组件会使用 prebuilt_components_arrange_appointment:get_account Webhook 获取指定手机号码的账号详细信息。

API 请求参数

以下参数由组件提供,作为 API 请求的输入。

参数名称 说明 输入格式
$session.params.phone_number 用户的本地手机号码(不含国家/地区代码),用于标识用户。 字符串

API 响应参数

以下参数会从 API 响应中提取,供组件使用。

参数名称 说明 输出格式
account_count 与注册手机号码关联的账号数量。 整数
cards_count 与注册手机号码关联的卡数。 整数
loans_count 与注册手机号码相关联的贷款数量。 整数
mortgage_count 与注册手机号码相关联的抵押贷款数量。 整数
branch_code 与注册手机号码关联的分行代码,用于标识唯一的分行位置。 字符串

如需为此组件配置“获取账号”网络钩子,请展开即可查看相关说明。

  1. 打开 Dialogflow CX 控制台。
  2. 选择您的 Google Cloud 项目。
  3. 选择您的代理。
  4. 选择管理标签页。
  5. 点击网络钩子。
  6. 选择 prebuilt_components_arrange_appointment:get_account webhook。
  7. 将 Dialogflow CX 网络钩子网址字段中的网址替换为您要集成的服务的端点。在下拉菜单中选择合适的方法。
  8. 检查并更新请求正文,以形成适合您网络钩子的正确请求格式。
  9. 查看并更新响应配置,以从 Webhook 的响应中提取特定字段。请勿修改参数名称,因为组件需要这些名称才能访问返回的字段值。
  10. 根据需要查看并更新身份验证设置。
  11. 点击保存。

获取分支

组件使用 prebuilt_components_arrange_appointment:get_branch Webhook 来检索给定分支机构代码的分支机构位置信息。

API 请求参数

以下参数由组件提供,作为 API 请求的输入。

参数名称 说明 输入格式
$flow.branch_code 用于标识唯一分行地点的分行代码。 字符串

API 响应参数

以下参数会从 API 响应中提取,供组件使用。

参数名称 说明 输出格式
branch_address 分行的地址。 字符串

如需为此组件配置“获取分支”Webhook,请展开本部分以查看相关说明。

  1. 打开 Dialogflow CX 控制台。
  2. 选择您的 Google Cloud 项目。
  3. 选择您的代理。
  4. 选择管理标签页。
  5. 点击网络钩子。
  6. 选择预建组件 webhook:prebuilt_components_arrange_appointment:get_branch。
  7. 将 Dialogflow CX 网络钩子网址字段中的网址替换为您要集成的服务的端点。在下拉菜单中选择合适的方法。
  8. 检查并更新请求正文,以形成适合您网络钩子的正确请求格式。
  9. 查看并更新响应配置,以从 Webhook 的响应中提取特定字段。请勿修改参数名称,因为组件需要这些名称才能访问返回的字段值。
  10. 根据需要查看并更新身份验证设置。
  11. 点击保存。

可用分支

组件使用 prebuilt_components_arrange_appointment:available_branch Webhook 根据邮政编码获取最近的分行位置。

API 请求参数

以下参数由组件提供,作为 API 请求的输入。

参数名称 说明 输入格式
$flow.zip_code 最终用户提供的邮政编码。 字符串

API 响应参数

以下参数会从 API 响应中提取,供组件使用。

参数名称 说明 输出格式
branch_address 分行的地址。 字符串

如需为此组件配置“可用分支”Webhook,请展开本部分以查看相关说明。

  1. 打开 Dialogflow CX 控制台。
  2. 选择您的 Google Cloud 项目。
  3. 选择您的代理。
  4. 选择管理标签页。
  5. 点击网络钩子。
  6. 选择 prebuilt_components_arrange_appointment:available_branch webhook。
  7. 将 Dialogflow CX 网络钩子网址字段中的网址替换为您要集成的服务的端点。在下拉菜单中选择合适的方法。
  8. 检查并更新请求正文,以形成适合您网络钩子的正确请求格式。
  9. 查看并更新响应配置,以从 Webhook 的响应中提取特定字段。请勿修改参数名称,因为组件需要这些名称才能访问返回的字段值。
  10. 根据需要查看并更新身份验证设置。
  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 控制台。
  2. 选择您的 Google Cloud 项目。
  3. 选择您的代理。
  4. 选择管理标签页。
  5. 点击网络钩子。
  6. 选择 prebuilt_components_arrange_appointment:get_available_slots webhook。
  7. 将 Dialogflow CX 网络钩子网址字段中的网址替换为您要集成的服务的端点。在下拉菜单中选择合适的方法。
  8. 检查并更新请求正文,以形成适合您网络钩子的正确请求格式。
  9. 查看并更新响应配置,以从 Webhook 的响应中提取特定字段。请勿修改参数名称,因为组件需要这些名称才能访问返回的字段值。
  10. 根据需要查看并更新身份验证设置。
  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 预约的请求编号。 整数

如需为此组件配置“提交预约”Webhook,请展开本部分以查看相关说明。

  1. 打开 Dialogflow CX 控制台。
  2. 选择您的 Google Cloud 项目。
  3. 选择您的代理。
  4. 选择管理标签页。
  5. 点击网络钩子。
  6. 选择 prebuilt_components_arrange_appointment:submit_appointment webhook。
  7. 将 Dialogflow CX 网络钩子网址字段中的网址替换为您要集成的服务的端点。在下拉菜单中选择合适的方法。
  8. 检查并更新请求正文,以形成适合您网络钩子的正确请求格式。
  9. 查看并更新响应配置,以从 Webhook 的响应中提取特定字段。请勿修改参数名称,因为组件需要这些名称才能访问返回的字段值。
  10. 根据需要查看并更新身份验证设置。
  11. 点击保存。

完成

您的代理及其 webhook 现在应已设置完毕,可以进行测试了。