> ## 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-MER-06: Ma trận Nhân sự & Kỹ năng

> Merchant định nghĩa chuyên môn của từng nhân viên đối với các dịch vụ để hệ thống tự động sinh Slot lịch hẹn hợp lý.

## 1. Điều kiện tiên quyết (Pre-conditions)

* Merchant đã hoàn tất **US-MER-03** (Cấu hình giờ) và có ít nhất 1 **Dịch vụ Thường** tại **US-MER-04**.
* Hệ thống có đủ dữ liệu nhân sự và danh mục dịch vụ để lập ma trận.

## 2. Tiêu chí chấp nhận (Acceptance Criteria)

> [accordion] US-MER-06.1 & 06.2: Giao diện Ma trận Kỹ năng (Skill Grid)
>
> * **Bảng 2 chiều:**
>   * Hàng ngang: Tên nhân viên (Chỉ hiển thị nhân viên trạng thái Active).
>   * Hàng dọc: Danh sách Dịch vụ Thường (Service-based). Không hiển thị dịch vụ Lưu trú.
> * **Định mức (Staff Requirement):** Cạnh tên mỗi dịch vụ ở Trục Y, hiển thị Hạn mức tải/1 nhân viên (VD: Cắt tỉa (1); Tắm chó lớn (2)).

> [accordion] US-MER-06.3: Thiết lập kỹ năng (Skill Assignment)
>
> * Sử dụng Checkbox tại các ô giao điểm để xác định: Nhân viên A có làm được Dịch vụ B hay không.
> * Hỗ trợ nút "Chọn tất cả" theo hàng ngang (1 dịch vụ tất cả nhân viên đều làm được).

> [accordion] US-MER-06.4: Ràng buộc logic điều phối
>
> Một Dịch vụ Thường chỉ hiển thị Slot trên App Pet Owner khi **có ít nhất 01 nhân viên Active** được gán kỹ năng cho dịch vụ đó.

## 3. Ràng buộc & Xử lý xung đột Kỹ năng (Business Rules)

**1. US-MER-06.5: Phân loại thay đổi kỹ năng**

* **Nhóm 1: Thêm kỹ năng (Safe Changes):** Tích chọn thêm ô kỹ năng. -> Lưu ngay và mở rộng Available Slots trên App.
* **Nhóm 2: Gỡ bỏ kỹ năng (Breaking Changes):** Bỏ tích ô kỹ năng. -> Kích hoạt kiểm tra xung đột.

**2. US-MER-06.6: Logic kiểm tra và Xử lý xung đột**

1. **Quét Booking bị ảnh hưởng:** Quét Booking (Confirmed/Pending) tương lai là dịch vụ vừa bị gỡ và được gán cho nhân viên vừa bị gỡ.
2. **Tùy chọn xử lý:**
   * *Giữ lịch cũ cho khách (Exception):* Ghi nhận kỹ năng mới nhưng tạo ngoại lệ để nhân viên thực hiện nốt đơn cũ.
   * *Hủy các Booking xung đột:* Hủy toàn bộ đơn hàng liên quan và gửi Push/SMS cho khách.
   * *Tự xử lý thủ công:* Ghi đè ngay lập tức. Đơn hàng hiển thị cờ `Nhân viên không đủ kỹ năng`. Merchant phải tự Re-assign khách sang nhân viên khác.
3. **Cảnh báo Dịch vụ trống:** Nếu sau khi gỡ kỹ năng, **không còn nhân viên nào** thực hiện được dịch vụ đó, cảnh báo: *"Dịch vụ này sẽ bị tạm ẩn trên App do không có nhân viên phụ trách"*.


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