安排預約預先建構元件

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

預約原因和類型

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

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

如要自訂預約類別,請修改 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。

要預約其他時間嗎?
萬歲
預約服務前,我們會先詢問幾個問題。請問預約的原因?
我需要預約信用卡相關服務
你想預約電話或視訊通話,與分行代表聯絡嗎?
電話
請提供您偏好的預約日期。請依序說出你偏好的月份、日期和年份。請注意,我們的分行營業時間為週一至週五上午 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。

要預約其他時間嗎?
沒有了,就這樣。
感謝你與我們聯絡。祝你今天一切順利!

命名慣例

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

功能 格式 範例
Flow [元件名稱] 安排預約
元件專屬意圖 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. 在「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 網路鉤子取得指定電話號碼的帳戶詳細資料。

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「Webhook URL」欄位中的 Webhook 網址,換成要整合的服務端點。在下拉式選單中選取適當的「方法」。
  8. 查看並更新要求主體,為 Webhook 建立正確的要求格式。
  9. 查看並更新「回應設定」,從 Webhook 的回應中擷取特定欄位。請勿修改參數名稱,因為元件必須使用這些名稱才能存取傳回的欄位值。
  10. 視需要檢查並更新「驗證」設定。
  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. 按一下「Webhooks」。
  6. 選取 prebuilt_components_arrange_appointment:get_branch 網路連線掛鉤。
  7. 將 Dialogflow CX「Webhook URL」欄位中的 Webhook 網址,換成要整合的服務端點。在下拉式選單中選取適當的「方法」。
  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 網路連線掛鉤。
  7. 將 Dialogflow CX「Webhook URL」欄位中的 Webhook 網址,換成要整合的服務端點。在下拉式選單中選取適當的「方法」。
  8. 查看並更新要求主體,為 Webhook 建立正確的要求格式。
  9. 查看並更新「回應設定」,從 Webhook 的回應中擷取特定欄位。請勿修改參數名稱,因為元件必須使用這些名稱才能存取傳回的欄位值。
  10. 視需要檢查並更新「驗證」設定。
  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"]。如果沒有可用插槽,這個參數會是空白清單 []。 清單 (字串)

如要為這個元件設定「取得可用時段」Webhook,請展開查看操作說明。

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

如要為這個元件設定「提交預約」Webhook,請展開查看操作說明。

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

完成

代理程式和 Webhook 現在應已設定完成,可供測試。