安排預約時間預先建構元件可讓新客和現有顧客預約時間。這個元件會使用生日收集預先建構元件的自訂版本收集預約日期,並使用電話號碼收集和郵遞區號收集預先建構元件收集使用者和預約地點的相關資訊。
預約原因和類型
這個元件支援多種預約原因類別,並根據使用者選取的原因提供不同類型的預約。
| 預約原因 | 可預約的服務類型 |
|---|---|
| 貸款 | 現場、線上、電話 |
| 抵押貸款 | 現場、線上、電話 |
| 財富管理 | 現場、線上、電話 |
| 信用卡 | 虛擬、電話 |
| 其他 | 電話號碼 |
如要自訂預約類別,請修改 prebuilt_components_arrange_appt_reason 自訂實體。如要為每個類別設定可預約的服務類型,請修改各服務類型的輸入參數。
限制
除了常見的預先建構元件限制外,這個預先建構元件還有下列限制:
- 這個元件不會加密任何資料。
對話方塊範例
下列範例對話方塊展示了這個預先建構元件處理的常見情境。範例對話會示範透過電話呼叫元件時的行為,這會觸發預設歡迎意圖,並在對話開始時提供第一個代理程式回應。
現有使用者預約現場服務
代理程式會識別出使用者先前已驗證為現有使用者。使用者提供預約原因,並選取預約實體預約。服務專員確認使用者想前往離註冊地址最近的分行,並確認使用者偏好的日期和時間是否可預約。專員確認時間和地點,並順利排定預約時間。
| 使用者輸入內容 | 代理回覆 |
|---|---|
| 預約服務前,我們會先詢問幾個問題。請問預約的原因? | |
| 我想與人討論財富管理 | |
| 你要預約電話、視訊通話,還是親自前往分行? | |
| 我想親自前往 | |
| 好的,你要在位於 1600 Amphitheatre Pkwy, Mountain View, CA 94043 的分行預約嗎? | |
| 是 | |
| 請提供您偏好的預約日期。請依序說出你偏好的月份、日期和年份。請注意,我們的分行營業時間為週一至週五上午 9 點至下午 5 點,週六上午 9 點至下午 1 點。 | |
| 代理程式使用出生日期收集預先建構的元件,收集使用者偏好的預約日期 | |
| 好的,我們已收集您偏好的日期。 請提供您偏好的時段。 |
|
| 上午 10 點 | |
| 你已選取上午 10 點。如要繼續預約這個時段,請說「是」。 | |
| 是 | |
| 我們將於 2023 年 9 月 23 日上午 10 點,在銀行地址 1600 Amphitheatre Pkwy, Mountain View, CA 94043 安排預約。這樣沒問題嗎? | |
| 是 | |
| 好的,我們已預約時間。確認編號為 818452。要預約其他時間嗎? | |
| 沒有,就這樣 | |
| 感謝你與我們聯絡。祝你今天一切順利! |
新顧客預約多項服務
代理程式會判斷使用者先前未通過驗證,並收集使用者的電話號碼。使用者要求進行虛擬預約,討論貸款事宜。使用者偏好的日期和時間無法預約,因此服務專員會提供可預約的時段。使用者選取可預約的時段,並成功預約。使用者確認要預約第二次預約,代理人成功安排第二次預約。
| 使用者輸入內容 | 代理回覆 |
|---|---|
| 服務專員使用電話號碼收集預先建構的元件收集使用者電話號碼 | |
| 太棒了,我們已收集電話號碼。 預約服務前,我們會先問你幾個問題。請問預約的原因? |
|
| 我想申請貸款 | |
| 你要預約電話、視訊通話,還是親自前往分行? | |
| 線上預約即可 | |
| 請提供您偏好的預約日期。請依序說出你偏好的月份、日期和年份。請注意,我們的分行營業時間為週一至週五上午 9 點至下午 5 點,週六上午 9 點至下午 1 點。 | |
| 代理程式使用出生日期收集預先建構的元件,收集使用者偏好的預約日期 | |
| 好的,我們已收集您偏好的日期。 請提供您偏好的時段。 |
|
| 3 點對我來說很方便 | |
| 你已選取下午 3 點。如要繼續預約所選時段,請說「是」。 | |
| 是 | |
| 我們將於 2023 年 10 月 3 日下午 3 點安排與顧問的預約時間。對嗎? | |
| 好,我要啟用 | |
| 好的,我們已預約時間。你的確認號碼是 754731。 要預約其他時間嗎? |
|
| Yeah | |
| 預約服務前,我們會先詢問幾個問題。請問預約的原因? | |
| 我需要預約信用卡服務 | |
| 您是否想預約電話或視訊通話,與分行代表聯絡? | |
| 電話號碼 | |
| 請提供您偏好的預約日期。請依序說出你偏好的月份、日期和年份。請注意,我們的分行營業時間為週一至週五上午 9 點至下午 5 點,週六上午 9 點至下午 1 點。 | |
| 代理程式使用出生日期收集預先建構的元件,收集使用者偏好的預約日期 | |
| 好的,我們已收集您偏好的日期。 請提供您偏好的時段。 |
|
| 早上 8 點可以嗎? | |
| 你已選取上午 8 點。如要繼續使用所選預約時間,請說「是」。 | |
| 是 | |
| 很抱歉,所選時段已額滿。2023 年 10 月 6 日的空檔時間為上午 11:30、下午 12:30、下午 1:30 和下午 3:00。要變更時段或預約其他日期的服務嗎? | |
| 好的,那就 1:30 吧 | |
| 你已選取下午 1:30。如要繼續預約所選時段,請說「是」。 | |
| 是 | |
| 我們將於 2023 年 10 月 6 日下午 1:30 安排與顧問會面。對嗎? | |
| 沒錯 | |
| 好的,我們已預約時間。你的確認編號是 714637。 要預約其他時間嗎? |
|
| 沒有,就這樣 | |
| 感謝你與我們聯絡。祝你今天一切順利! |
命名慣例
這個預先建構的元件採用下列命名慣例:
| 功能 | 格式 | 範例 |
|---|---|---|
| 心流狀態 | [元件名稱] | 安排預約 |
| 元件專屬意圖 | 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。 |
整數 |
如要設定這個元件的輸入參數,請展開查看操作說明。
- 開啟 Dialogflow CX 控制台。
- 選擇 Google Cloud 專案。
- 選取代理程式。
- 選取「Build」(建構) 分頁標籤。
- 在「流程」部分中,按一下匯入的元件。
- 按一下「頁面」部分中的「開始頁面」。
- 在「開始頁面」中,按一下「true」路徑。
- 在「Route」視窗中,視需要編輯「Parameter Presets」值。
- 按一下「儲存」。
輸出參數
輸出參數是工作階段參數,在結束元件後仍會保持啟用狀態。這些參數包含元件收集的重要資訊。這個預先建構的元件會提供下列輸出參數的值:
| 參數名稱 | 說明 | 輸出格式 |
|---|---|---|
| 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 內建事件」。 |
字串 |
基本設定
如要設定這個預先建構的元件,請按照下列步驟操作:
- 匯入預先建構的元件。
- 設定提供的彈性 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 | 與已註冊電話號碼相關聯的分行代碼,用於識別專屬分行地點。 | 字串 |
如要設定這個元件的「取得帳戶」Webhook,請展開查看操作說明。
- 開啟 Dialogflow CX 控制台。
- 選擇 Google Cloud 專案。
- 選取代理程式。
- 選取「管理」分頁標籤。
- 按一下「Webhooks」。
- 選取 prebuilt_components_arrange_appointment:get_account webhook。
- 將 Dialogflow CX「Webhook URL」欄位中的網址,換成要整合的服務端點。在下拉式選單中選取適當的「方法」。
- 查看並更新要求主體,為 Webhook 建立正確的要求格式。
- 查看並更新「回應設定」,從 Webhook 的回應中擷取特定欄位。請勿修改參數名稱,因為元件需要這些名稱才能存取傳回的欄位值。
- 視需要檢查並更新「驗證」設定。
- 按一下「儲存」。
取得分支版本
元件會使用 prebuilt_components_arrange_appointment:get_branch 網路鉤子,根據分店代碼擷取分店位置的相關資訊。
API 要求參數
元件會提供下列參數,做為 API 要求的輸入內容。
| 參數名稱 | 說明 | 輸入格式 |
|---|---|---|
| $flow.branch_code | 分行代碼,用於識別特定分行地點。 | 字串 |
API 回應參數
系統會從 API 回應中擷取下列參數,供元件使用。
| 參數名稱 | 說明 | 輸出格式 |
|---|---|---|
| branch_address | 分行地址。 | 字串 |
如要為這個元件設定「取得分支」Webhook,請展開查看操作說明。
- 開啟 Dialogflow CX 控制台。
- 選擇 Google Cloud 專案。
- 選取代理程式。
- 選取「管理」分頁標籤。
- 按一下「Webhooks」。
- 選取 prebuilt_components_arrange_appointment:get_branch 網路服務掛鉤。
- 將 Dialogflow CX「Webhook URL」欄位中的網址,換成要整合的服務端點。在下拉式選單中選取適當的「方法」。
- 查看並更新要求主體,為 Webhook 建立正確的要求格式。
- 查看並更新「回應設定」,從 Webhook 的回應中擷取特定欄位。請勿修改參數名稱,因為元件需要這些名稱才能存取傳回的欄位值。
- 視需要檢查並更新「驗證」設定。
- 按一下「儲存」。
可用分支
元件會使用 prebuilt_components_arrange_appointment:available_branch Webhook,根據郵遞區號取得最近的分店位置。
API 要求參數
元件會提供下列參數,做為 API 要求的輸入內容。
| 參數名稱 | 說明 | 輸入格式 |
|---|---|---|
| $flow.zip_code | 使用者提供的郵遞區號。 | 字串 |
API 回應參數
系統會從 API 回應中擷取下列參數,供元件使用。
| 參數名稱 | 說明 | 輸出格式 |
|---|---|---|
| branch_address | 分行地址。 | 字串 |
如要為這個元件設定「可用分支版本」Webhook,請展開查看操作說明。
- 開啟 Dialogflow CX 控制台。
- 選擇 Google Cloud 專案。
- 選取代理程式。
- 選取「管理」分頁標籤。
- 按一下「Webhooks」。
- 選取 prebuilt_components_arrange_appointment:available_branch 網路連線掛鉤。
- 將 Dialogflow CX「Webhook URL」欄位中的網址,換成要整合的服務端點。在下拉式選單中選取適當的「方法」。
- 查看並更新要求主體,為 Webhook 建立正確的要求格式。
- 查看並更新「回應設定」,從 Webhook 的回應中擷取特定欄位。請勿修改參數名稱,因為元件需要這些名稱才能存取傳回的欄位值。
- 視需要檢查並更新「驗證」設定。
- 按一下「儲存」。
取得可用運算單元
元件會使用 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"]。如果沒有可用插槽,這個參數會是空白清單 []。 |
清單 (字串) |
如要為這個元件設定「取得可用時段」Webhook,請展開查看操作說明。
- 開啟 Dialogflow CX 控制台。
- 選擇 Google Cloud 專案。
- 選取代理程式。
- 選取「管理」分頁標籤。
- 按一下「Webhooks」。
- 選取 prebuilt_components_arrange_appointment:get_available_slots 網路連線掛鉤。
- 將 Dialogflow CX「Webhook URL」欄位中的網址,換成要整合的服務端點。在下拉式選單中選取適當的「方法」。
- 查看並更新要求主體,為 Webhook 建立正確的要求格式。
- 查看並更新「回應設定」,從 Webhook 的回應中擷取特定欄位。請勿修改參數名稱,因為元件需要這些名稱才能存取傳回的欄位值。
- 視需要檢查並更新「驗證」設定。
- 按一下「儲存」。
提交預約
元件會使用 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 | 預約時間的預約編號。 | 整數 |
如要為這個元件設定「提交預約」Webhook,請展開查看操作說明。
- 開啟 Dialogflow CX 控制台。
- 選擇 Google Cloud 專案。
- 選取代理程式。
- 選取「管理」分頁標籤。
- 按一下「Webhooks」。
- 選取 prebuilt_components_arrange_appointment:submit_appointment 網路鉤子。
- 將 Dialogflow CX「Webhook URL」欄位中的網址,換成要整合的服務端點。在下拉式選單中選取適當的「方法」。
- 查看並更新要求主體,為 Webhook 建立正確的要求格式。
- 查看並更新「回應設定」,從 Webhook 的回應中擷取特定欄位。請勿修改參數名稱,因為元件需要這些名稱才能存取傳回的欄位值。
- 視需要檢查並更新「驗證」設定。
- 按一下「儲存」。
完成
代理程式和 Webhook 現在應已設定完成,可供測試。