排列预约预构建组件

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

预约原因和类型

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

预约原因 可用的预约类型
贷款 线下、线上、手机
抵押贷款 线下、线上、手机
财富管理 线下、线上、手机
信用卡 虚拟、手机
其他 Phone

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

限制

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

  • 该组件不加密任何数据。

示例对话框

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

现有用户当面预约

代理会识别该用户之前已作为现有用户进行身份验证。用户给出预约原因,然后选择预约面对面服务。代理确认用户想要前往距离其注册地址最近的分支,并确认用户的首选日期和时间是否可用。客服人员确认时间和地点,并成功安排预约。

用户输入 代理响应
在安排预约之前,我们会询问您几个问题。能告诉我们您预约的原因吗?
我想找人探讨财富管理
您是否希望通过我们的某个分支机构进行手机、视频通话或当面预约?
我想亲临现场
好的,请问您在 1600 Amphitheatre Pkwy, Mountain View, CA 94043 的分店预约了吗?
请提供您的首选预约日期。请说出你喜欢的月份,然后依次说出日期和年份。请注意,我们的分支机构在周一至周五上午 9 点至下午 5 点营业,周六:上午 9 点至下午 1 点。
代理使用 Date of 出生日期收集 预构建组件收集用户的首选预约日期
太好了,我们已完成收集您首选的日期的流程。

请提供您的首选时间段。
10:00
你已选择上午 10:00。如要继续处理所选的预约时间,请说“是”。
我们定于 2023 年 9 月 23 日上午 10:00 在银行地址 1600 Amphitheatre Pkwy, Mountain View, CA 94043 预约,对吗?
好的,我们已经预约了时间。您的确认码为 818452。您要再预约一个时间吗?
没有,就这样吧
感谢您与我们联系。祝您度过愉快的一天!

新客户预约多次

代理识别用户之前未经过身份验证,并收集用户的电话号码。用户申请虚拟预约来讨论贷款。用户首选的日期和时间偏好不可用,因此代理为用户提供了可用的时间空档。用户选择一个可用的时间空档,并成功安排预约。用户确认想要进行第二次预约,代理则成功安排了第二次预约。

用户输入 代理响应
代理使用电话号码收集预构建组件收集用户的电话号码
太好了,我们已完成电话号码收集。

在安排预约之前,我们会问您几个问题。能告诉我们您预约的原因吗?
我想申请贷款
您是否希望通过我们的某个分支机构进行手机、视频通话或当面预约?
可以虚拟预约
请提供您的首选预约日期。请说出你喜欢的月份,然后依次说出日期和年份。请注意,我们的分支机构在周一至周五上午 9 点至下午 5 点营业,周六:上午 9 点至下午 1 点。
代理使用 Date of 出生日期收集 预构建组件收集用户的首选预约日期
太好了,我们已完成收集您首选的日期的流程。

请提供您的首选时间段。
我觉得 3:00 比较好
你已选择下午 3:00。如要继续处理所选的预约时间,请说“是”。
我们将于 2023 年 10 月 3 日下午 03:00 与我们的顾问预约服务。对吗?
好的
好的,我们已经预约了时间。您的确认号码是 754731。

要预约其他时间吗?
在安排预约之前,我们会询问您几个问题。能告诉我们您预约的原因吗?
我需要预约信用卡
您是否在寻找与我们的某个分行代表进行手机或视频通话预约?
Phone
请提供您的首选预约日期。请说出你喜欢的月份,然后依次说出日期和年份。请注意,我们的分支机构在周一至周五上午 9 点至下午 5 点营业,周六:上午 9 点至下午 1 点。
代理使用 Date of 出生日期收集 预构建组件收集用户的首选预约日期
太好了,我们已完成收集您首选的日期的流程。

请提供您的首选时间段。
上午 8 点怎么样?
您已选择上午 08:00。如要继续处理所选的预约时间,请说“是”。
抱歉,所选的时段不可用。服务时间为上午 11:30、中午 12:30、下午 01:30 和 2023 年 10 月 6 日下午 03:00。您是想更改时间空档还是改约其他日期?
好的,我们 1:30 吧
你已选择“下午 1:30”。如要继续处理所选的预约时间,请说“是”。
我们将于 2023 年 10 月 6 日下午 01:30 与我们的顾问预约服务。对吗?
没错
好的,我们已经预约了时间。您的确认号码是 714637。

要预约其他时间吗?
不,就这样吧
感谢您与我们联系。祝您度过愉快的一天!

命名惯例

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

特征 形式 示例
[组件名称] 安排预约
组件专用 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
Webhook 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. 选择 Build 标签页。
  5. 部分中点击导入的组件。
  6. 点击网页部分中的初始页。
  7. 点击初始页中的 true 路由。
  8. 在“路由”窗口中,根据需要修改参数预设值。
  9. 点击保存

输出参数

输出参数是在退出组件后将保持活跃状态的会话参数。这些参数包含该组件收集的重要信息。此预构建组件提供了以下输出参数的值:

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

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

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

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

max_no_match:对话已达到无匹配事件的重试次数上限。请参阅无匹配的内置事件

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

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

基本设置

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

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

网络钩子设置

为了使用此组件,您需要配置所包含的灵活网络钩子,以从外部服务中检索所需信息。

获取账号

如果存在已注册帐号,则组件会使用 prebuilt_components_arrange_appointment:get_account 网络钩子获取所提供的手机号码的帐号详细信息。

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. 点击 Webhook
  6. 选择 build_components_arrange_appointment:get_account 网络钩子。
  7. 将 Dialogflow 网络钩子网址字段中的网址替换为您要集成的服务的端点。从下拉菜单中选择合适的方法
  8. 查看并更新请求正文,以构成网络钩子的正确请求格式。
  9. 查看并更新响应配置,以从 webhook 的响应中提取特定字段。请勿修改参数名称,因为组件必须使用这些参数名称才能访问返回的字段值。
  10. 查看并视需要更新 Authentication 设置。
  11. 点击保存

获取分支

在给定分支代码的情况下,组件会使用 prebuilt_components_arrange_appointment:get_branch 网络钩子来检索有关分支位置的信息。

API 请求参数

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

参数名称 说明 输入格式
$flow.branch_code 标识唯一分支位置的分支代码。 字符串

API 响应参数

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

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

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

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

可用分支

该组件使用 prebuilt_components_arrange_appointment:available_branch 网络钩子,根据给定邮政编码获取最近的分支位置。

API 请求参数

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

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

API 响应参数

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

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

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

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

获取可用的槽

该组件使用 prebuilt_components_arrange_appointment:get_available_slots 网络钩子来检查用户首选日期和预约类型的可用时间空档。

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"]。如果没有可用的槽,此参数为空列表 [] 列表(字符串)

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

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

提交预约

该组件会使用 prebuilt_components_arrange_appointment:submit_appointment 网络钩子为用户选定的日期、时间、分支、预约原因和预约类型安排预约。

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 已安排预约的请求编号。 整数

如需为此组件配置“提交预约”网络钩子,请展开查看相关说明。

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

完成

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