> ## Documentation Index
> Fetch the complete documentation index at: https://chatbotx.io/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Tạo và quản lý Appointment Scheduling

> Tạo Appointment Scheduling trong ChatbotX để quản lý lịch, nhận đặt hẹn, gửi nhắc lịch và kiểm tra thời gian trống trong cuộc trò chuyện.

**Appointment Scheduling** giúp bạn tạo lịch nhận cuộc hẹn và cho phép khách chọn thời gian phù hợp. Bạn có thể dùng tính năng này cho lịch tư vấn, demo sản phẩm, chăm sóc khách hàng hoặc các buổi hẹn trực tuyến.

Mỗi lịch hẹn có thời gian làm việc, múi giờ, địa điểm, thông báo và giới hạn riêng. Bạn cũng có thể cho khách đặt lịch, hủy lịch hoặc kiểm tra thời gian còn trống ngay trong cuộc trò chuyện.

## Mở Appointment Scheduling

<Steps>
  <Step title="Mở Tools">
    Từ menu bên trái, chọn **Tools**.
  </Step>

  <Step title="Chọn Appointment Scheduling">
    Nhấn vào thẻ **Appointment Scheduling** để mở trang quản lý lịch hẹn.

    <Frame>
      <img src="https://mintcdn.com/chatbotx/iGPGSGugPuwXXbpm/images/appointment_scheduling_tool.png?fit=max&auto=format&n=iGPGSGugPuwXXbpm&q=85&s=90ed074d3c67a24fd6e11fea700243f4" alt="Appointment Scheduling Tool" width="3099" height="1821" data-path="images/appointment_scheduling_tool.png" />
    </Frame>
  </Step>

  <Step title="Chọn khu vực cần quản lý">
    Trang Appointment Scheduling gồm ba tab:

    * **Calendars**: Tạo và cấu hình lịch nhận cuộc hẹn.
    * **Appointments**: Theo dõi các cuộc hẹn khách đã đặt.
    * **External Calendars**: Kết nối và quản lý lịch bên ngoài.
  </Step>
</Steps>

## Tạo và quản lý Calendar

Tab **Calendars** hiển thị danh sách các lịch đã tạo. Bạn có thể tìm lịch theo tên, kiểm tra trạng thái hoặc nhấn **Add** để tạo lịch mới.

<Frame>
  <img src="https://mintcdn.com/chatbotx/iGPGSGugPuwXXbpm/images/appointment_calendars_list.png?fit=max&auto=format&n=iGPGSGugPuwXXbpm&q=85&s=47c5c87ad3c4f15df67bc03e4594c935" alt="Appointment Calendars List" width="2537" height="924" data-path="images/appointment_calendars_list.png" />
</Frame>

Bảng quản lý gồm các thành phần:

| Thành phần         | Chức năng                            |
| ------------------ | ------------------------------------ |
| **Search name...** | Tìm Calendar theo tên.               |
| **Name**           | Hiển thị tên của Calendar.           |
| **Status**         | Bật hoặc tắt khả năng nhận lịch hẹn. |
| **Actions**        | Mở các thao tác quản lý Calendar.    |
| **Add**            | Tạo Calendar mới.                    |

Menu **Actions** cho phép bạn chỉnh sửa, sao chép, lấy Booking Link hoặc xóa Calendar. Bạn phải gắn Booking Link vào một Flow và gửi Flow đó cho khách. Nhờ vậy, ChatbotX nhận diện đúng Contact mở liên kết và đặt lịch.

### Khai báo thông tin cuộc hẹn

Trong phần **What is your appointment**, nhập thông tin giúp bạn nhận biết Calendar và giúp khách hiểu nội dung buổi hẹn.

<Frame>
  <img src="https://mintcdn.com/chatbotx/iGPGSGugPuwXXbpm/images/appointment_calendar_details.png?fit=max&auto=format&n=iGPGSGugPuwXXbpm&q=85&s=fe55b391c4ba88b9cfd556afd5907f80" alt="Appointment Calendar Details" width="2450" height="892" data-path="images/appointment_calendar_details.png" />
</Frame>

* **Name**: Tên cuộc hẹn, ví dụ `Tư vấn giải pháp ChatbotX`.
* **Description (optional)**: Mô tả nội dung, mục tiêu hoặc thông tin khách cần chuẩn bị trước buổi hẹn.

Đặt tên ngắn và rõ ràng. Phần mô tả nên cho khách biết buổi hẹn sẽ trao đổi nội dung gì và họ cần chuẩn bị thông tin nào.

### Thiết lập thời gian có thể đặt lịch

Phần **When can people book?** xác định ngày và giờ bạn nhận cuộc hẹn. Mỗi ngày trong tuần có thể dùng khung giờ riêng.

<Frame>
  <img src="https://mintcdn.com/chatbotx/iGPGSGugPuwXXbpm/images/appointment_weekly_availability.png?fit=max&auto=format&n=iGPGSGugPuwXXbpm&q=85&s=c673ebdd074ba51e5f82ea2aff257947" alt="Appointment Weekly Availability" width="2453" height="727" data-path="images/appointment_weekly_availability.png" />
</Frame>

Nhấn **Edit** dưới một ngày để thay đổi giờ bắt đầu và kết thúc. Chọn đúng **Timezone** để thời gian hiển thị nhất quán cho lịch của bạn.

Trong cửa sổ chỉnh sửa ngày, mỗi dòng gồm **Start Time** và **End Time**. Nhấn **Add Interval** nếu bạn cần tạo nhiều khoảng nhận lịch trong cùng một ngày.

<Frame>
  <img src="https://mintcdn.com/chatbotx/iGPGSGugPuwXXbpm/images/appointment_daily_time_intervals.png?fit=max&auto=format&n=iGPGSGugPuwXXbpm&q=85&s=100a534c380cfb3044229ef491142d3c" alt="Appointment Daily Time Intervals" width="2506" height="968" data-path="images/appointment_daily_time_intervals.png" />
</Frame>

Ví dụ: bạn có thể nhận lịch từ 09:00 đến 12:00, nghỉ trưa, sau đó nhận tiếp từ 13:30 đến 17:00. Nhấn biểu tượng thùng rác để xóa một khoảng giờ và nhấn **Save** để lưu.

### Chọn địa điểm diễn ra cuộc hẹn

Phần **Where will the appointment happen?** cho phép chọn hình thức tổ chức và nhập thông tin khách cần dùng để tham gia cuộc hẹn.

**Location Type** có ba lựa chọn:

* **In-Person Meeting**: Cuộc hẹn trực tiếp. Nhập địa chỉ gặp trong **Detail (optional)**.
* **Phone Call**: Cuộc hẹn qua điện thoại. Nhập số điện thoại hoặc hướng dẫn liên hệ.
* **Online Meeting**: Cuộc hẹn trực tuyến. Nhập liên kết Google Meet, Zoom hoặc phòng họp khác.

<Frame>
  <img src="https://mintcdn.com/chatbotx/iGPGSGugPuwXXbpm/images/appointment_location_settings.png?fit=max&auto=format&n=iGPGSGugPuwXXbpm&q=85&s=a2b09235da8822816b7624fee32bc0fe" alt="Appointment Location Settings" width="2484" height="565" data-path="images/appointment_location_settings.png" />
</Frame>

### Cấu hình tin nhắn xác nhận và nhắc lịch

Ngay sau khi bạn tạo một **Appointment Calendar**, ChatbotX tự tạo hai Flow, tức hai kịch bản tin nhắn tự động, theo tên lịch hẹn:

| Kịch bản được tạo                              | Mục đích                                         | Vị trí sử dụng trong Notifications |
| ---------------------------------------------- | ------------------------------------------------ | ---------------------------------- |
| **Booking confirmation - \[Appointment name]** | Gửi thông báo sau khi khách đặt lịch thành công. | **Confirmation Flow**              |
| **Reminder - \[Appointment name]**             | Gửi lời nhắc trước thời gian diễn ra cuộc hẹn.   | **Reminders**                      |

Hai kịch bản này xuất hiện trong danh sách [Flows](/docs/vi/automation/flows). Bạn có thể mở từng kịch bản để sửa nội dung tin nhắn trước khi chọn trong phần **Notifications**.

Khi khách sử dụng **Open booking page** hoặc **Open availability page**, ChatbotX tự động gửi Flow đã chọn sau khi khách hoàn tất thao tác đặt lịch hoặc kiểm tra thời gian trống. Nếu chọn **None**, ChatbotX không gửi thông báo tương ứng. Bạn thay đổi lựa chọn trong phần **Notifications** của Appointment Calendar.

Phần **Notifications** cho phép bạn chọn nội dung mà khách nhận được sau khi đặt lịch, hủy lịch hoặc trước khi cuộc hẹn bắt đầu:

* **Confirmation Message (optional)**: Nội dung hiển thị trên trang xác nhận sau khi khách đặt lịch thành công. Đây không phải tin nhắn tự động gửi trong cuộc trò chuyện.
* **Confirmation Flow (optional)**: Chọn **Booking confirmation - \[Appointment name]**, một Flow khác hoặc **None**. Flow đã chọn chạy sau khi cuộc hẹn được xác nhận.
* **Cancellation Flow (optional)**: Chọn Flow gửi tin khi cuộc hẹn bị hủy hoặc chọn **None** nếu không cần thông báo.
* **Reminders**: Chọn **Reminder - \[Appointment name]**, một Flow khác hoặc **None**. Nếu dùng Flow, nhập khoảng thời gian và chọn **Minutes before**, **Hours before** hoặc **Days before**.

<Frame>
  <img src="https://mintcdn.com/chatbotx/iGPGSGugPuwXXbpm/images/appointment_automatic_notification_flows.png?fit=max&auto=format&n=iGPGSGugPuwXXbpm&q=85&s=ff92d2d7ee653aab154a13ae3d1f2443" alt="Appointment Automatic Notification Flows" width="2458" height="1574" data-path="images/appointment_automatic_notification_flows.png" />
</Frame>

<Note>
  Hai Flow được tạo tự động chỉ là kịch bản mẫu. Tại **Confirmation Flow**, **Cancellation Flow** và **Reminders**, bạn có thể chọn một Flow khác hoặc **None** độc lập cho từng loại thông báo.
</Note>

Nhấn dấu **+** để thêm nhiều mốc nhắc lịch. Ví dụ: gửi một lời nhắc trước một ngày, một lời nhắc trước một giờ và lời nhắc cuối trước 10 phút. Nhấn biểu tượng thùng rác để xóa mốc không còn sử dụng.

### Thiết lập giới hạn đặt lịch

Phần **Restrictions** giúp kiểm soát thời lượng, số lượng và thời điểm khách có thể đặt lịch.

| Thiết lập                            | Chức năng                                                                                 |
| ------------------------------------ | ----------------------------------------------------------------------------------------- |
| **Appointment duration**             | Đặt thời lượng của mỗi cuộc hẹn.                                                          |
| **Add time after your appointments** | Tạo thời gian nghỉ giữa hai cuộc hẹn liên tiếp.                                           |
| **People can schedule**              | Chọn phạm vi ngày mà khách được phép đặt lịch.                                            |
| **Maximum appointments per user**    | Giới hạn số cuộc hẹn của mỗi khách hoặc chọn Unlimited.                                   |
| **Rolling days**                     | Giới hạn số ngày trong tương lai được mở để đặt lịch.                                     |
| **Minimum days in advance**          | Yêu cầu khách đặt trước một số ngày nhất định.                                            |
| **Daily limit**                      | Bật giới hạn tổng số cuộc hẹn trong một ngày. Khi bật, nhập số lượng tại **Max Per Day**. |
| **Allow Group Meeting**              | Cho phép nhiều khách đặt cùng một khung giờ. Khi bật, nhập sức chứa tại **Max Per Slot**. |

<Frame>
  <img src="https://mintcdn.com/chatbotx/iGPGSGugPuwXXbpm/images/appointment_restriction_settings.png?fit=max&auto=format&n=iGPGSGugPuwXXbpm&q=85&s=eb59837efdfa575c07ea266f4240d0c4" alt="Appointment Restriction Settings" width="2456" height="1502" data-path="images/appointment_restriction_settings.png" />
</Frame>

Trong ví dụ trên, mỗi cuộc hẹn kéo dài 5 phút và có 5 phút nghỉ sau cuộc hẹn. Khách được đặt trong 30 ngày tới, mỗi khách tối đa 5 cuộc hẹn. Calendar nhận tối đa 8 cuộc hẹn mỗi ngày và 2 khách trong cùng một khung giờ.

### Chọn External Calendar

Phần **Connect Google Calendar** cho phép gắn một lịch ngoài vào Calendar đang cấu hình. Trường **External Calendar (optional)** hiển thị các lịch đã kết nối; giữ **None** nếu bạn chưa muốn sử dụng lịch ngoài.

<Frame>
  <img src="https://mintcdn.com/chatbotx/iGPGSGugPuwXXbpm/images/appointment_external_calendar_selection.png?fit=max&auto=format&n=iGPGSGugPuwXXbpm&q=85&s=0760efba4a63497eac195fdf280e3a1f" alt="Appointment External Calendar Selection" width="2488" height="408" data-path="images/appointment_external_calendar_selection.png" />
</Frame>

Nếu danh sách chưa có lịch cần dùng, hãy mở phần [External Calendars](#external-calendars) để kết nối Google Calendar trước.

### Lưu và bật lịch hẹn

Sau khi hoàn tất các phần cấu hình, hãy lưu Calendar. Quay lại tab **Calendars** và bật **Status** để Calendar bắt đầu nhận lịch hẹn.

Khi lịch đã hoạt động, hãy gắn [Booking Link](#sử-dụng-booking-link) vào Flow hoặc thêm [Appointment Scheduling vào Flow](#sử-dụng-appointment-scheduling-trong-flow). Gửi Flow cho khách để ChatbotX nhận diện người đặt lịch. Cuộc hẹn mới sau đó xuất hiện trong Calendar đã chọn.

## Quản lý cuộc hẹn và lịch bên ngoài

### Theo dõi Appointments

Vào **Tools** > **Appointment Scheduling** và chọn tab **Appointments** để xem danh sách lịch hẹn của tất cả khách. Chọn **Next** để xem lịch sắp tới hoặc **Past** để xem lịch đã qua. Ô **Search by name...** giúp tìm cuộc hẹn theo tên khách.

<Frame>
  <img src="https://mintcdn.com/chatbotx/iGPGSGugPuwXXbpm/images/appointment_list.png?fit=max&auto=format&n=iGPGSGugPuwXXbpm&q=85&s=c78ad1aad1c6417fb392b4898115608e" alt="Appointment List" width="2542" height="1099" data-path="images/appointment_list.png" />
</Frame>

Bảng Appointments hiển thị:

| Cột          | Nội dung                                        |
| ------------ | ----------------------------------------------- |
| **Name**     | Tên khách đã đặt lịch.                          |
| **Date**     | Ngày và giờ của cuộc hẹn.                       |
| **Status**   | Trạng thái như **Scheduled** hoặc **Canceled**. |
| **Calendar** | Calendar nhận cuộc hẹn.                         |
| **Actions**  | Mở trang chi tiết hoặc hủy cuộc hẹn.            |

Mở menu **Actions** và chọn **View** để xem chi tiết. Chọn **Cancel** nếu bạn cần hủy một cuộc hẹn đang được lên lịch.

Trang chi tiết hiển thị trạng thái, tên Calendar, Confirmation Message, người tham gia, thời gian, Timezone và địa điểm. Nếu cuộc hẹn diễn ra trực tuyến, trường **Location** hiển thị liên kết phòng họp.

<Frame>
  <img src="https://mintcdn.com/chatbotx/iGPGSGugPuwXXbpm/images/appointment_details_view.png?fit=max&auto=format&n=iGPGSGugPuwXXbpm&q=85&s=ecb3a99e2f348a6ac35823ed197344d8" alt="Appointment Details View" width="1433" height="1145" data-path="images/appointment_details_view.png" />
</Frame>

Nhấn **Cancel appointment** để hủy cuộc hẹn ngay tại trang chi tiết. Sau khi hủy, trạng thái được cập nhật. Nếu đã chọn nội dung tại **Cancellation Flow**, ChatbotX cũng gửi thông báo hủy lịch cho khách.

### Xem lịch hẹn của khách trong Inbox

Nhân viên có thể xem lịch hẹn của từng khách ngay trong [Inbox](/docs/vi/inbox/conversations) mà không cần mở lại trang **Appointment Scheduling**.

Mở cuộc trò chuyện của khách, sau đó tìm mục **Appointments** trong bảng thông tin Contact bên phải. Mở rộng mục này để xem ngày giờ cuộc hẹn và tên Calendar tương ứng.

<Frame>
  <img src="https://mintcdn.com/chatbotx/iGPGSGugPuwXXbpm/images/appointment_contact_inbox_sidebar.png?fit=max&auto=format&n=iGPGSGugPuwXXbpm&q=85&s=e08a4c4d981fd1ecaf2b2f0518469656" alt="Appointment Contact Inbox Sidebar" width="3157" height="1825" data-path="images/appointment_contact_inbox_sidebar.png" />
</Frame>

Thông tin này giúp nhân viên kiểm tra lịch đã đặt trong khi đang trao đổi với khách. Nhân viên có thể dựa vào đó để xác nhận thời gian hoặc hỗ trợ khách thay đổi lịch.

Để tìm kiếm hoặc quản lý lịch hẹn của tất cả khách, hãy quay lại phần [Theo dõi Appointments](#theo-dõi-appointments).

### External Calendars

Tab **External Calendars** dùng để kết nối Google Calendar với Appointment Scheduling. Nhấn **Connect Google**, đăng nhập tài khoản Google và hoàn tất cấp quyền kết nối.

<Frame>
  <img src="https://mintcdn.com/chatbotx/iGPGSGugPuwXXbpm/images/appointment_external_calendars.png?fit=max&auto=format&n=iGPGSGugPuwXXbpm&q=85&s=2f18d4f664e66dc5a72635c8aa92211a" alt="Appointment External Calendars" width="2555" height="969" data-path="images/appointment_external_calendars.png" />
</Frame>

Sau khi kết nối thành công, bảng hiển thị:

* **Provider**: Nhà cung cấp lịch được kết nối.
* **Email**: Tài khoản Google dùng để kết nối.
* **Calendar ID**: Mã nhận dạng của Google Calendar.
* **Connected**: Trạng thái kết nối.
* **Date**: Thời điểm tạo kết nối.
* **Actions**: Các thao tác quản lý kết nối.

Kết nối đúng Google Calendar giúp ChatbotX đối chiếu thời gian bận trước khi hiển thị khung giờ cho khách. Sau đó, quay lại Calendar đang cấu hình và chọn lịch trong **External Calendar (optional)**.

## Sử dụng Booking Link

Mở menu **Actions** của Calendar và chọn **Get Link** để sao chép Booking Link. Gắn liên kết vào tin nhắn hoặc nút bên trong một Flow, sau đó để Flow gửi liên kết cho khách trong cuộc trò chuyện.

ChatbotX dựa vào ngữ cảnh gửi của Flow để nhận diện Contact mở Booking Link. Không gửi riêng liên kết qua email, đăng lên website hoặc chia sẻ ngoài Flow vì ChatbotX sẽ không xác định được Contact nào đang đặt lịch.

<Frame>
  <img src="https://mintcdn.com/chatbotx/iGPGSGugPuwXXbpm/images/appointment_get_booking_link.png?fit=max&auto=format&n=iGPGSGugPuwXXbpm&q=85&s=6e16c04611a95e97a8ce2631d4538454" alt="Appointment Get Booking Link" width="2590" height="779" data-path="images/appointment_get_booking_link.png" />
</Frame>

Khi mở liên kết từ Flow, khách nhìn thấy tên và mô tả cuộc hẹn. Khách thực hiện các thao tác sau:

* Chọn **Timezone** phù hợp.
* Chọn ngày còn nhận lịch trên Calendar.
* Chọn một khung giờ còn trống. Mỗi lựa chọn hiển thị giờ bắt đầu và giờ kết thúc.
* Kiểm tra thời gian đã chọn, sau đó nhấn **Book appointment**.

Sau khi xác nhận, ChatbotX lưu cuộc hẹn và gửi các tin nhắn xác nhận hoặc nhắc lịch mà bạn đã thiết lập.

Bạn có thể kiểm tra cuộc hẹn vừa tạo trong tab [Appointments](#theo-dõi-appointments) hoặc trong mục [Appointments của Contact tại Inbox](#xem-lịch-hẹn-của-khách-trong-inbox).

## Sử dụng Appointment Scheduling trong Flow

Trong [Flow Builder](/docs/vi/automation/flows), nhóm **Appointment Scheduling** có năm Actions. **Book appointment** và **Check availability** nhận dữ liệu từ Custom Field, xử lý yêu cầu và lưu kết quả vào trường phản hồi. Hai Actions **Open booking page** và **Open availability page** gửi nội dung kèm nút để khách mở trang chọn thời gian.

### Lấy thời gian bằng Get User Data

Thêm block **Get User Data** trước Action Appointment Scheduling. Hỏi khách giá trị mà Action tiếp theo cần sử dụng và lưu câu trả lời vào [Custom Field](/docs/vi/automation/custom-fields):

* **Date time**: Ngày và giờ cuộc hẹn mà **Book appointment** sử dụng. Ví dụ: `date_time`.
* **Start time**: Thời điểm bắt đầu khoảng cần kiểm tra của **Check availability**. Ví dụ: `start_date`.
* **End time**: Thời điểm kết thúc khoảng cần kiểm tra của **Check availability**. Ví dụ: `end_date`.

Sau khi **Get User Data** lưu câu trả lời, nối block này với **Book appointment** hoặc **Check availability**. Hai Actions đọc trực tiếp các giá trị trong Custom Field nên không gửi nút và không mở trang chọn thời gian cho khách.

### Thêm Appointment Scheduling vào block Send Message

<Steps>
  <Step title="Mở block Send Message">
    Tạo hoặc mở một block **Send Message**, sau đó nhấn **Create** ở cuối bảng cấu hình.
  </Step>

  <Step title="Mở nhóm Actions">
    Trong menu vừa hiển thị, chọn **Actions**.
  </Step>

  <Step title="Chọn Appointment Scheduling">
    Chọn **Appointment Scheduling** để thêm thao tác đặt lịch vào block **Send Message**, sau đó nhấn **Edit**.
  </Step>
</Steps>

<Frame>
  <img src="https://mintcdn.com/chatbotx/iGPGSGugPuwXXbpm/images/appointment_flow_builder_action_location.png?fit=max&auto=format&n=iGPGSGugPuwXXbpm&q=85&s=4a52417fac6489c73cb3e6ec6bfe94b0" alt="Appointment Flow Builder Action Location" width="2933" height="1820" data-path="images/appointment_flow_builder_action_location.png" />
</Frame>

Trong cửa sổ cấu hình, trường **Mode** có năm lựa chọn:

| Lựa chọn                   | Chức năng                                                                    |
| -------------------------- | ---------------------------------------------------------------------------- |
| **Book appointment**       | Đặt một cuộc hẹn mới trên Appointment Calendar đã chọn.                      |
| **Cancel appointment**     | Hủy cuộc hẹn thuộc Appointment Calendar đã chọn.                             |
| **Check availability**     | Kiểm tra khoảng thời gian còn trống và lưu kết quả để dùng ở bước tiếp theo. |
| **Open booking page**      | Gửi nội dung kèm nút để khách mở trang đặt lịch.                             |
| **Open availability page** | Gửi nội dung kèm nút để khách mở trang kiểm tra thời gian trống.             |

### Book appointment

Chọn **Book appointment** để tạo cuộc hẹn từ dữ liệu đã thu thập:

* **Appointment Calendar**: chọn lịch hẹn đã cấu hình trong Tools.
* **Date time**: chọn Custom Field chứa ngày và giờ cuộc hẹn. Ví dụ: `date_time`.
* **Save response to a custom field**: chọn Custom Field dùng để lưu kết quả tạo cuộc hẹn. Ví dụ: `response_appointment`.

<Frame>
  <img src="https://mintcdn.com/chatbotx/LuP9bkwUzrjxFKn_/images/appointment_book_appointment_action_settings.png?fit=max&auto=format&n=LuP9bkwUzrjxFKn_&q=85&s=02010242f14007f15e0d87570b93ee58" alt="Configure Book appointment mode in Flow Builder" width="3184" height="1823" data-path="images/appointment_book_appointment_action_settings.png" />
</Frame>

Khi cuộc trò chuyện đến Action này, ChatbotX đọc ngày giờ trong Custom Field, tạo cuộc hẹn trên Calendar và lưu phản hồi vào trường kết quả.

### Cancel appointment

Chọn **Cancel appointment**, sau đó chọn **Appointment Calendar** chứa cuộc hẹn cần hủy. Khi khách đến bước này trong cuộc trò chuyện, ChatbotX hủy cuộc hẹn thuộc lịch đã chọn.

Nếu đã chọn nội dung tại **Cancellation Flow**, ChatbotX gửi thông báo hủy lịch cho khách theo thiết lập của Calendar.

<Frame>
  <img src="https://mintcdn.com/chatbotx/iGPGSGugPuwXXbpm/images/appointment_cancel_action_settings.png?fit=max&auto=format&n=iGPGSGugPuwXXbpm&q=85&s=9d251d3a565a6553d6cd80b8ad8483d0" alt="Appointment Cancel Action Settings" width="3186" height="1822" data-path="images/appointment_cancel_action_settings.png" />
</Frame>

### Check availability

Chọn **Check availability** để kiểm tra các khung giờ còn trống trên Appointment Calendar:

* **Appointment Calendar**: chọn lịch cần kiểm tra.
* **Start time**: chọn Custom Field chứa thời điểm bắt đầu khoảng cần kiểm tra. Ví dụ: `start_date`.
* **End time**: chọn Custom Field chứa thời điểm kết thúc khoảng cần kiểm tra. Ví dụ: `end_date`.
* **Use result for AI**: cho phép AI sử dụng kết quả kiểm tra khi tạo câu trả lời.
* **Save response to a custom field**: chọn trường lưu kết quả kiểm tra, ví dụ `response_appointment`, để sử dụng trong tin nhắn tiếp theo.

<Frame>
  <img src="https://mintcdn.com/chatbotx/iGPGSGugPuwXXbpm/images/appointment_check_availability_settings.png?fit=max&auto=format&n=iGPGSGugPuwXXbpm&q=85&s=d25e0291aea4762d7e3e6ca43c40a916" alt="Appointment Check Availability Settings" width="3187" height="1820" data-path="images/appointment_check_availability_settings.png" />
</Frame>

Khi cuộc trò chuyện đến Action này, ChatbotX đọc thời gian bắt đầu và kết thúc trong các Custom Field, kiểm tra Calendar rồi lưu phản hồi.

### Open booking page

Chọn **Open booking page** và chọn **Appointment Calendar** cần hiển thị.

<Frame>
  <img src="https://mintlify.s3.us-west-1.amazonaws.com/chatbotx/images/appointment_open_booking_page_action_settings.png" alt="Configure Open booking page mode in Flow Builder" />
</Frame>

Khi khách đi qua Action này, ChatbotX gửi nội dung kèm nút **Select Date** trong cuộc trò chuyện.

Khách nhấn nút để mở trang đặt lịch, chọn Timezone, ngày và khung giờ còn trống, sau đó nhấn **Book appointment**. ChatbotX nhận diện Contact từ cuộc trò chuyện và lưu cuộc hẹn vào Calendar đã chọn.

Action này không có nhánh **Success** hoặc **Error**. Sau khi khách hoàn tất đặt lịch, ChatbotX tự động gửi thông báo đã thiết lập trong phần [Cấu hình tin nhắn xác nhận và nhắc lịch](#cấu-hình-tin-nhắn-xác-nhận-và-nhắc-lịch).

<Frame>
  <img src="https://mintcdn.com/chatbotx/iGPGSGugPuwXXbpm/images/appointment_booking_page.png?fit=max&auto=format&n=iGPGSGugPuwXXbpm&q=85&s=5e4ab3389c96899c424768d2d25526ee" alt="Appointment Booking Page" width="3150" height="1817" data-path="images/appointment_booking_page.png" />
</Frame>

### Open availability page

Chọn **Open availability page** và chọn **Appointment Calendar** cần kiểm tra.

<Frame>
  <img src="https://mintlify.s3.us-west-1.amazonaws.com/chatbotx/images/appointment_open_availability_page_action_settings.png" alt="Configure Open availability page mode in Flow Builder" />
</Frame>

Khi khách đi qua Action này, ChatbotX gửi nội dung kèm nút **Check Availability**.

Khách nhấn nút để mở trang kiểm tra, chọn **Start Date**, **End Date** và múi giờ rồi nhấn **Confirm**. Trang này chỉ kiểm tra thời gian trống trong khoảng đã chọn, không tạo cuộc hẹn.

Action này không có nhánh **Success** hoặc **Error**. Sau khi khách hoàn tất kiểm tra, ChatbotX tự động gửi thông báo đã thiết lập trong phần [Cấu hình tin nhắn xác nhận và nhắc lịch](#cấu-hình-tin-nhắn-xác-nhận-và-nhắc-lịch).

<Frame>
  <img src="https://mintcdn.com/chatbotx/iGPGSGugPuwXXbpm/images/appointment_check_availability_page.png?fit=max&auto=format&n=iGPGSGugPuwXXbpm&q=85&s=c3998088dba92030881861aa7f99f727" alt="Appointment Check Availability Page" width="3810" height="1817" data-path="images/appointment_check_availability_page.png" />
</Frame>

### Gửi tin nhắn theo kết quả

Sau khi lưu, ba Actions **Book appointment**, **Cancel appointment** và **Check availability** hiển thị hai điểm nối theo kết quả:

* **Success**: Action đã hoàn thành thao tác đặt lịch, hủy lịch hoặc kiểm tra thời gian trống.
* **Error**: ChatbotX không thể hoàn thành yêu cầu, chẳng hạn khung giờ vừa được người khác đặt.

Nối mỗi điểm này tới một block **Send Text** riêng. Khách sẽ nhận được đúng tin nhắn tương ứng với kết quả vừa xảy ra.

<Frame>
  <img src="https://mintcdn.com/chatbotx/iGPGSGugPuwXXbpm/images/appointment_action_result_branches.png?fit=max&auto=format&n=iGPGSGugPuwXXbpm&q=85&s=4154cd95cae6a9f43d075aa86b615a30" alt="Appointment Action Result Branches" width="3184" height="1824" data-path="images/appointment_action_result_branches.png" />
</Frame>

Ví dụ nội dung cho từng chế độ:

| Lựa chọn               | Tin nhắn khi thành công                                                          | Tin nhắn khi không thành công                                                  |
| ---------------------- | -------------------------------------------------------------------------------- | ------------------------------------------------------------------------------ |
| **Book appointment**   | “Lịch hẹn của bạn đã được đặt thành công. Vui lòng kiểm tra thông tin xác nhận.” | “Khung giờ này hiện không thể đặt. Vui lòng chọn một thời gian khác.”          |
| **Cancel appointment** | “Lịch hẹn của bạn đã được hủy thành công.”                                       | “Không thể hủy lịch hẹn. Vui lòng kiểm tra lại hoặc liên hệ nhân viên hỗ trợ.” |
| **Check availability** | “Đây là các khung giờ còn trống. Vui lòng chọn thời gian phù hợp với bạn.”       | “Hiện chưa thể kiểm tra thời gian trống. Vui lòng thử lại sau.”                |

<Tip>
  Với **Check availability**, bạn có thể chèn trường đã lưu kết quả hoặc cho AI dùng kết quả đó để trả lời khách.
</Tip>

## Ví dụ sử dụng

Một kịch bản đặt lịch tư vấn có thể thực hiện theo trình tự:

<Steps>
  <Step title="Hỏi nhu cầu của khách">
    Bot thu thập chủ đề khách muốn trao đổi. **Get User Data** lưu ngày giờ mong muốn vào Custom Field.
  </Step>

  <Step title="Kiểm tra thời gian trống">
    **Check availability** tìm các khung giờ phù hợp trên Calendar.
  </Step>

  <Step title="Đặt cuộc hẹn">
    **Book appointment** đọc ngày giờ trong Custom Field, tạo cuộc hẹn và lưu phản hồi.
  </Step>

  <Step title="Gửi xác nhận và nhắc lịch">
    ChatbotX gửi tin xác nhận sau khi đặt thành công và gửi lời nhắc trước giờ hẹn.
  </Step>
</Steps>
