安排预约预构建组件

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

预约原因和类型

此组件支持多种预约原因和优惠类别 不同类型的预约。

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

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

限制

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

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

示例对话框

以下示例对话框展示了由此函数处理的常见场景 预构建组件。示例对话框演示了通过电话调用组件时的行为,这会触发默认欢迎 intent 并在对话开始时发出第一个客服人员回复。

现有用户预约线下预约

代理标识用户之前已作为 现有用户。用户提供预约原因,并选择预约面对面预约。客服人员确认用户想要前往 并确认用户的 。客服人员确认时间和地点,并成功预约。

用户输入 客服人员回复
在安排预约之前,我们会询问您几个问题。可以告诉我们您预约的原因吗?
我想找人谈谈财富管理
您想通过电话、视频通话或在我们的某个分店进行面对面预约吗?
我想亲自前往
好的,您愿意预约位于 1600 Amphitheatre Pkwy, Mountain View, CA 94043 的分店吗?
请提供首选预约日期。请依次说出您偏好的月份、日期和年份。请注意,我们的分店的营业时间为:周一至周五上午 9 点至下午 5 点,周六上午 9 点至下午 1 点。
代理使用 Date of birth collection 预构建组件收集用户的首选预约日期
太好了,我们已收集您的首选日期。

请提供您的首选时间空档。
上午 10 点
您选择了上午 10:00。如要继续使用所选的预约时间,请回答“是”。
我们将于 2023 年 9 月 23 日上午 10:00 在银行的地址(1600 Amphitheatre Pkwy, Mountain View, CA 94043)安排预约。对吗?
好的,我们已为您预约。您的确认号码为 818452。您要预约其他时间吗?
不,仅此而已
感谢您与我们联系。祝您生活愉快!

新客户进行多次预约

代理识别出用户之前未经过身份验证, 收集用户的电话号码。用户请求虚拟预约 讨论贷款此用户的第一项日期和时间偏好设置不可用, 以便代理向用户提供可用的时间空档。用户选择一个空闲的时间空档,系统成功安排预约。用户确认想要预约第二次服务,客服人员成功安排了第二次服务。

用户输入 代理响应
客服人员使用电话号码收集预构建组件收集用户的电话号码
太棒了,我们已收集电话号码。

在预约服务之前,我们会问您几个问题。可以告诉我们您预约的原因吗?
我想申请贷款
您是否正在在我们的某家分支机构通过手机、视频通话或面对面预约通话?
可以通过线上预约
请提供首选预约日期。请依次说出您首选的月份、日期和年份。请注意,我们的分支机构的营业时间为周一至周五:上午 9 点到下午 5 点,周六:上午 9 点到下午 1 点。
客服人员使用出生日期收集预构建组件收集用户的首选预约日期
太棒了,我们已收集您的首选日期。

请提供您的首选时间段。
3:00 对我来说比较合适
你选择的是下午 03: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 月 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
网络钩子 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 错误。请参阅 webhook.error 内置事件

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

基本设置

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

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

网络钩子设置

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

获取账号

prebuilt_components_arrange_appointment:get_account webhook 用于 以获取所提供手机号码的账号详细信息(如果 已存在。

API 请求参数

该组件会将以下参数作为 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. 选择预构建_components_arrange_appointment:get_account 网络钩子。
  7. 将“对话式客服 (Dialogflow CX)”Webhook 网址字段中的网址替换为您要集成的服务的端点。在下拉菜单中选择适当的方法
  8. 查看并更新请求正文,为您的网络钩子构成正确的请求格式。
  9. 查看并更新响应配置,以从您的 webhook 响应中提取特定字段。请勿修改参数名称,因为组件需要这些名称才能访问返回的字段值。
  10. 根据需要查看并更新身份验证设置。
  11. 点击保存

获取分支

prebuilt_components_arrange_appointment:get_branch webhook 用于 检索某分支位置的相关信息 代码。

API 请求参数

该组件会将以下参数作为 API 请求的输入提供给 API 请求。

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

API 响应参数

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

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

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

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

可用的分支

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

API 请求参数

该组件会将以下参数作为 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. 将 Conversational Agents (Dialogflow CX) Webhook 网址 字段中的网址替换为服务的端点 哪些组件需要集成在下拉菜单中选择适当的方法
  8. 查看并更新请求正文,为您的网络钩子构成正确的请求格式。
  9. 查看并更新响应配置,以从您的 webhook 响应中提取特定字段。请勿修改参数名称,因为组件需要这些名称才能访问返回的字段值。
  10. 根据需要查看并更新身份验证设置。
  11. 点击保存

获取可用槽

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

API 请求参数

该组件会将以下参数作为 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. 选择预构建_components_arrange_appointment:get_available_slots webhook。
  7. 将“对话式客服 (Dialogflow CX)”Webhook 网址字段中的网址替换为您要集成的服务的端点。从下拉菜单中选择适当的方法
  8. 查看并更新请求正文,为您的网络钩子构成正确的请求格式。
  9. 查看并更新响应配置,以从您的 webhook 响应中提取特定字段。请勿修改参数名称,因为组件需要这些名称才能访问返回的字段值。
  10. 根据需要查看并更新身份验证设置。
  11. 点击保存

提交预约

prebuilt_components_arrange_appointment:submit_appointment 网络钩子 由组件用来为用户所选的 日期、时间、分支、预约原因和预约类型。

API 请求参数

该组件会将以下参数作为 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. 点击 Webhook
  6. 选择 prebuilt_components_arrange_appointment:submit_appointment webhook。
  7. 将“对话式客服 (Dialogflow CX)”Webhook 网址字段中的网址替换为您要集成的服务的端点。在下拉菜单中选择适当的方法
  8. 查看并更新请求正文,为您的网络钩子构成正确的请求格式。
  9. 查看并更新响应配置,以从您的 webhook 响应中提取特定字段。请勿修改参数名称,因为组件需要这些名称才能访问返回的字段值。
  10. 根据需要查看并更新身份验证设置。
  11. 点击保存

完成

您的客服人员及其网络钩子现在应该已设置完毕,可以进行测试了。