安排预约预构建组件

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

预约原因和类型

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

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

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

限制

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

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

对话示例

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

现有用户预约现场服务

代理识别出用户之前已作为现有用户通过身份验证。用户提供预约原因,并选择预约面对面服务。代理确认用户希望前往距离其注册地址最近的分行,并确认用户首选的日期和时间可用。代理确认时间和地点,并成功安排预约。

用户输入 智能体回答
在预约之前,我们会询问您几个问题。能告诉我们您预约的原因吗?
我想找人咨询财富管理
您想预约手机、视频通话还是到店咨询?
我想亲自去
好的,您想在位于 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 点对我来说比较合适
您已选择下午 3:00。如要继续使用所选预约时间,请说“是”。
是
我们将安排您于 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-06 下午 1:30 与我们的顾问会谈。对吗?
没错
好的,我们已安排好预约。您的确认码为 714637。

您想再预约一个时间吗?
没有了
感谢您与我们联系。祝您度过愉快的一天!

命名规则

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

功能 格式 示例
Flow [Component Name] 安排预约
组件特定 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. 点击页面部分中的“Start Page”。
  7. 点击“Start Page”中的 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 与注册手机号码关联的分行代码,用于标识唯一的分行位置。 字符串

如需为此组件配置“获取账号”Webhook,请展开查看说明。

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

完成

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