安排預約預先建構元件

「安排預約」預建元件可讓新顧客和現有顧客預約。這個元件會使用自訂版本的出生日期收集預建元件來收集預約日期,並使用電話號碼收集和郵遞區號收集預建元件來收集使用者和預約地點的相關資訊。

預約原因和類型

這個元件支援多種預約原因類別,並根據使用者選取的原因提供不同類型的預約。

預約原因 可用的預約類型
貸款 現場、線上、電話
抵押貸款 現場、線上、電話
財富管理 現場、線上、電話
信用卡 線上、電話
其他 電話

如要自訂預約類別,請修改 prebuilt_components_arrange_appt_reason 自訂實體。如要設定各類別可用的預約類型,請修改各預約類型的輸入參數。

限制

除了常見的預建元件限制外,這項預建元件還有下列限制:

  • 這個元件不會加密任何資料。

對話範例

下列對話範例說明這項預建元件處理的常見情境。範例對話會示範透過電話呼叫元件時的行為,這會觸發預設歡迎意圖,並在對話開始時觸發第一個代理回覆。

現有使用者預約現場服務

代理程式會辨識出使用者先前已通過驗證,是現有使用者。使用者提供預約原因,並選擇預約現場。服務專員確認使用者想前往離註冊地址最近的分行,並確認使用者偏好的日期和時間是否可行。代理確認時間和地點,並成功安排預約。

使用者輸入內容 代理回覆
預約前,我們會先詢問幾個問題,可以說明預約原因嗎?
我想與專人討論財富管理
您想預約電話、視訊通話,還是親自前往我們的分行?
我想親自前往
好的,你想預約 1600 Amphitheatre Pkwy, Mountain View, CA 94043 分行的服務嗎?
是
請提供偏好的預約日期。請說出你偏好的月份,接著說出日期和年份。請注意,我們的分行營業時間為週一至週五上午 9 點至下午 5 點,週六上午 9 點至下午 1 點。
代理使用收集出生日期預建元件,收集使用者偏好的預約日期
太好了,我們已收集到你偏好的日期。

請提供你偏好的時段。
上午 10 點
你選取的時間是上午 10:00。如要繼續使用所選預約時間,請說「是」。
是
我們將預約 2023-09-23 上午 10:00,地點在銀行地址 1600 Amphitheatre Pkwy, Mountain View, CA 94043。這樣正確嗎?
是
好的,預約已完成。您的確認編號是 818452。要預約其他時段嗎?
沒有了,就這樣。
感謝你與我們聯絡。祝你有愉快的一天!

新顧客預約多個時段

虛擬服務專員會辨識出使用者先前未經驗證,並收集使用者的電話號碼。使用者要求預約線上諮詢,討論貸款事宜。使用者首選的日期和時間無法預約,因此代理提供可預約的時段。使用者選取可預約的時段,並成功預約。使用者確認要預約第二次,代理也成功安排第二次預約。

使用者輸入內容 代理回覆
虛擬服務專員使用電話號碼收集預先建構元件收集使用者的電話號碼
太好了,電話號碼收集完畢。

預約前,我們會先詢問幾個問題。可以說明預約原因嗎?
我想申請貸款
您想預約電話、視訊通話,還是親自前往分行?
線上預約
請提供偏好的預約日期。請說出你偏好的月份,接著說出日期和年份。請注意,我們的分行營業時間為週一至週五上午 9 點至下午 5 點,週六上午 9 點至下午 1 點。
代理使用預先建構的收集出生日期元件,收集使用者偏好的預約日期
太好了,我們已收集到你偏好的日期。

請提供你偏好的時段。
3 點對我來說很合適
你選取了下午 3:00。如要繼續使用所選預約時間,請說「是」。
是
我們將安排您在 2023-10-03 下午 3:00 與顧問會談。對嗎?
好,我要啟用
好的,預約已完成。你的確認碼是 754731。

要預約其他時段嗎?
Yeah
預約前,我們會先詢問幾個問題,可以說明預約原因嗎?
我需要預約辦理信用卡
您想預約與分行代表進行電話或視訊通話嗎?
電話
請提供偏好的預約日期。請說出你偏好的月份,接著說出日期和年份。請注意,我們的分行營業時間為週一至週五上午 9 點至下午 5 點,週六上午 9 點至下午 1 點。
代理使用收集出生日期預建元件,收集使用者偏好的預約日期
太好了,我們已收集到你偏好的日期。

請提供你偏好的時段。
早上 8 點方便嗎?
你選取的時間是上午 8 點。如要繼續使用所選預約時間,請說「是」。
是
很抱歉,所選時段無法使用。2023-10-06 的 11:30 AM、12:30 PM、01:30 PM 和 03:00 PM 都有空檔。您要變更時段,還是預約其他日期?
好,那就 1:30 吧
你選取了下午 1:30。如要繼續預約所選時間,請說「是」。
是
我們將安排你與顧問在 2023-10-06 下午 1:30 會談。對嗎?
沒錯
好的,預約已完成。你的確認碼是 714637。

要預約其他時段嗎?
沒有了,就這樣
感謝你與我們聯絡。祝你有愉快的一天!

命名慣例

這個預建元件採用下列命名慣例:

功能 格式 範例
Flow [Component Name] 安排預約
元件專屬意圖 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. 在「Flows」(流程) 部分,點選匯入的元件。
  6. 按一下「Pages」部分中的「Start Page」。
  7. 在「Start Page」中,點選「true」路徑。
  8. 在「Route」視窗中,視需要編輯「Parameter Presets」值。
  9. 按一下「儲存」。

輸出參數

輸出參數是工作階段參數,在退出元件後仍會保持有效。這些參數包含元件收集的重要資訊。這個預建元件會提供下列輸出參數的值:

參數名稱 說明 輸出格式
phone_number 使用者的當地電話號碼 (不含國家/地區代碼),用於識別使用者。 字串
transfer_reason 如果流程未成功,這個參數會指出流程退出的原因。傳回的值為下列其中一項:

agent:使用者在對話期間要求與真人服務專員交談。

denial_of_information:使用者拒絕提供元件要求的資訊。

max_no_input:對話達到無輸入事件的重試次數上限。請參閱「無輸入內建事件」。

max_no_match:對話已達不相符事件的重試次數上限。請參閱不相符內建事件。

webhook_error:發生 Webhook 錯誤。請參閱「webhook.error 內建事件」。

webhook_not_found:無法連上 Webhook 網址。請參閱「webhook.error.not-found 內建事件」。
字串

基本設定

如要設定這項預建元件,請按照下列步驟操作:

  1. 匯入預先建構的元件。
  2. 使用描述外部服務的設定,設定提供的彈性 Webhook,請參閱下方的 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 與註冊電話號碼相關聯的分行代碼,用於識別專屬分行位置。 字串

如要為這個元件設定 Get 帳戶 Webhook,請展開查看操作說明。

  1. 開啟 Dialogflow CX 控制台。
  2. 選擇 Google Cloud 雲端專案。
  3. 選取代理。
  4. 選取「管理」分頁標籤。
  5. 按一下「Webhooks」。
  6. 選取 prebuilt_components_arrange_appointment:get_account Webhook。
  7. 將 Dialogflow CX「Webhook 網址」欄位中的網址,替換成要整合的服務端點。在下拉式選單中選取適當的「Method」。
  8. 查看並更新要求主體,為 Webhook 建立適當的要求格式。
  9. 查看並更新回應設定,從 Webhook 的回應中擷取特定欄位。請勿修改參數名稱,因為元件需要這些名稱才能存取傳回的欄位值。
  10. 視需要查看及更新「驗證」設定。
  11. 按一下「儲存」。

取得分支版本

元件會使用 prebuilt_components_arrange_appointment:get_branch Webhook,根據分行代碼擷取分行位置資訊。

API 要求參數

元件會提供下列參數,做為 API 要求的輸入內容。

參數名稱 說明 輸入格式
$flow.branch_code 分行代碼,用於識別特定分行地點。 字串

API 回應參數

系統會從 API 回應中擷取下列參數,供元件使用。

參數名稱 說明 輸出格式
branch_address 分行地址。 字串

如要為這個元件設定 Get branch Webhook,請展開查看操作說明。

  1. 開啟 Dialogflow CX 控制台。
  2. 選擇 Google Cloud 雲端專案。
  3. 選取代理。
  4. 選取「管理」分頁標籤。
  5. 按一下「Webhooks」。
  6. 選取 prebuilt_components_arrange_appointment:get_branch Webhook。
  7. 將 Dialogflow CX「Webhook 網址」欄位中的網址,替換成要整合的服務端點。在下拉式選單中選取適當的「Method」。
  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「Webhook 網址」欄位中的網址,替換成要整合的服務端點。在下拉式選單中選取適當的「Method」。
  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「Webhook 網址」欄位中的網址,替換成要整合的服務端點。在下拉式選單中選取適當的「Method」。
  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「Webhook 網址」欄位中的網址,替換成要整合的服務端點。在下拉式選單中選取適當的「Method」。
  8. 查看並更新要求主體,為 Webhook 建立適當的要求格式。
  9. 查看並更新回應設定,從 Webhook 的回應中擷取特定欄位。請勿修改參數名稱,因為元件需要這些名稱才能存取傳回的欄位值。
  10. 視需要查看及更新「驗證」設定。
  11. 按一下「儲存」。

完成

代理和 Webhook 應已設定完成,可以開始測試。