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

# US-OWN-05: Tạo và quản lý cuộc hẹn định danh thú cưng

Là chủ nuôi thú cưng, tôi muốn tạo một cuộc hẹn định danh trước khi đến clinic để nhân viên clinic có thể hỗ trợ tạo hồ sơ thú cưng và thực hiện toàn bộ quy trình định danh và cấy chip.

## Mục tiêu

* Chủ nuôi tạo cuộc hẹn định danh trước khi đến clinic.
* Hệ thống sinh mã QR duy nhất từ: **Chủ nuôi + Clinic + Thời điểm tạo hẹn**.
* Chủ nuôi mang **tất cả thú cưng cần định danh** đến clinic trong cùng một lần hẹn.
* Chủ nuôi quản lý lịch sử cuộc hẹn, có thể hủy cuộc hẹn khi chưa check-in.

## Điều kiện tiên quyết

* Chủ nuôi đã đăng ký tài khoản và đăng nhập vào ứng dụng ILU PET.
* Chủ nuôi có ít nhất một thú cưng cần định danh (chưa có hoặc đã có hồ sơ trên hệ thống đều được).

## Tiêu chí chấp nhận

### Tạo cuộc hẹn định danh

Sau khi chọn clinic từ danh sách hỗ trợ, hệ thống tự động sinh mã QR dựa trên:

* Thông tin tài khoản của chủ nuôi (đã đăng ký)
* Clinic đã chọn
* Thời điểm nhấn **Tạo cuộc hẹn**

Mỗi cuộc hẹn (Appointment) bao gồm các trường thông tin sau:

* Mã appointment (ID duy nhất)
* Tên chủ nuôi
* Clinic đã chọn
* Thời gian tạo hẹn
* Trạng thái hiện tại

> [!NOTE]
>
> Hệ thống không yêu cầu chủ nuôi chọn thú cưng trước khi tạo hẹn. Khi đến
> clinic, nhân viên sẽ hỗ trợ tạo hồ sơ và định danh cho từng thú cưng tại
> chỗ.

### Chia sẻ và xuất trình mã định danh

* **QR Code:** Chủ nuôi có thể xem, chụp màn hình và xuất trình mã QR trực tiếp tại quầy clinic.
* **Mã số định danh:** Hệ thống hiển thị thêm mã số để chủ nuôi có thể đọc cho nhân viên clinic nhập thủ công nếu cần.
* **Chia sẻ:** Chủ nuôi có thể chia sẻ mã định danh cho người thân để họ đưa thú cưng đi thay.

### Quản lý cuộc hẹn

Màn hình **Cuộc hẹn của tôi** hiển thị toàn bộ lịch sử các cuộc hẹn, cập nhật trạng thái theo thời gian thực:

| Trạng thái | Ý nghĩa |
| - | - |
| Chờ đến | Mới tạo, chủ nuôi chưa đến clinic |
| Trong hàng đợi | Nhân viên đã tiếp nhận hồ sơ, đang chờ thực hiện định danh |
| Đã hoàn tất | Các thú cưng được chọn đã định danh xong, hoặc Clinic đã kết thúc sớm cuộc hẹn |
| Đã hủy | Cuộc hẹn đã bị hủy bởi chủ nuôi |
| Đã hết hạn | Quá 4 ngày hiệu lực mà chưa check-in |

#### Hủy cuộc hẹn

**Điều kiện được phép hủy:**

* Cuộc hẹn đang ở trạng thái **Chờ đến** (chủ nuôi chưa đến clinic).
* Cuộc hẹn còn trong thời hạn hiệu lực (4 ngày kể từ ngày tạo).

**Không thể hủy khi:**

* Cuộc hẹn đã chuyển sang trạng thái **Trong hàng đợi** hoặc các trạng thái sau đó.

**Sau khi hủy thành công:**

* Cuộc hẹn chuyển sang trạng thái **Đã hủy**.
* Hệ thống gửi thông báo đến clinic (nếu cần).
* Chủ nuôi có thể tạo cuộc hẹn mới ngay lập tức.

## Quy trình vận hành

**1. Chọn clinic**

Chủ nuôi tìm và chọn phòng khám muốn đến thực hiện định danh trên ứng
dụng.

**2. Tạo cuộc hẹn**

Chủ nuôi nhấn nút **Tạo cuộc hẹn**. Hệ thống tự động sinh mã QR duy
nhất.

**3. Lưu và xuất trình mã QR**

Chủ nuôi lưu mã QR vào thiết bị hoặc chia sẻ cho người đi thay, sau đó
xuất trình tại clinic.

**4. Check-in tại clinic**

Nhân viên clinic quét mã QR và xác nhận check-in. Nhân viên sẽ tiến hành
xác minh và thực hiện quy trình định danh.

### Quy trình hủy cuộc hẹn

**1. Xem danh sách**

Chủ nuôi vào mục **Cuộc hẹn của tôi** trong ứng dụng.

**2. Chọn cuộc hẹn**

Chủ nuôi nhấn vào cuộc hẹn đang ở trạng thái **Chờ đến**.

**3. Xác nhận hủy**

Chủ nuôi nhấn **Hủy hẹn** và xác nhận trên hộp thoại cảnh báo.

**4. Hoàn tất**

Cuộc hẹn chuyển sang trạng thái **Đã hủy**.

## Quy tắc nghiệp vụ

* Mỗi cuộc hẹn chỉ áp dụng cho **một chủ nuôi** tại **một clinic** đã chọn.
* Chủ nuôi mang tất cả thú cưng đến clinic để định danh trong một cuộc hẹn.
* Mã định danh có hiệu lực trong **4 ngày** kể từ ngày tạo. Quá hạn sẽ chuyển thành **Đã hết hạn**.
* Mã định danh chỉ được sử dụng tại **đúng clinic** đã chọn khi tạo hẹn.

> [!WARNING]
>
> **Giới hạn 1 cuộc hẹn hoạt động:** Chủ nuôi chỉ được có tối đa **01 cuộc hẹn
> đang hoạt động** tại một thời điểm. Hệ thống không cho phép tạo cuộc hẹn mới
> đang hoạt động\*\* tại một thời điểm. Hệ thống không cho phép tạo cuộc hẹn mới
> khi đang có cuộc hẹn ở trạng thái `Chờ đến` hoặc `Trong hàng đợi`.
> Chỉ được tạo mới khi cuộc hẹn hiện tại đã ở trạng thái `Đã hoàn tất`,
> `Đã hủy` hoặc `Đã hết hạn`.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.