09 · User Stories & Acceptance Criteria¶
Đối tượng: BA, Dev, QA. Định dạng Gherkin (Given/When/Then) cho các luồng cốt lõi.
Epic 1 — Tiếp nhận & tư vấn¶
US-01 · TVV nhận khách theo lượt¶
Là TVV, tôi muốn nhận khách kế tiếp theo thứ tự, để không ai có thể chọn lọc khách sộp.
Acceptance: - Given TVV không có khách đang tiếp và không trong cooldown When bấm "Nhận khách kế tiếp" Then hệ trả về đúng khách đầu hàng đợi, ẩn danh tính trước khi nhận. - Given TVV đang tiếp 1 khách When xem hàng đợi Then nút "Nhận khách kế tiếp" bị khóa, kèm lý do "Đang tiếp 1 khách — đóng trước đã".
US-02 · Đóng & cooldown¶
Là TVV, sau khi đóng/bàn giao khách, tôi bị xếp cuối lượt một lúc, để không "đóng giả" nhảy sang khách ngon.
Acceptance: đóng khách → cooldown đếm ngược → trong cooldown nút nhận vẫn khóa → hết cooldown mới mở.
Epic 2 — Cashier / Thu tiền¶
US-03 · Tách POS và Payment¶
Là thu ngân, tôi sửa giỏ ở POS và thu tiền ở trang Payment, để hai việc không lẫn lộn.
Acceptance:
- POS "Tạo phiếu & chuyển thu ngân" → mở cashier-payment?id=... (giữ đúng khách).
- Trang Payment vào thẳng màn thu tiền, không lồng bước sửa giỏ; muốn sửa → "Về POS sửa giỏ".
US-04 · Thu nhiều lần & khóa SKU¶
Là thu ngân, sau khi đã thu một phần, tôi không được sửa giỏ nữa.
Acceptance: - Chọn 1 hình thức (nút icon) → nhập tiền hoặc "Trả đủ phần còn nợ" → xác nhận. - Sau khi thu ≥1 phần, SKU khóa; lịch sử ghi ai/khi nào/hình thức/số tiền. - SKU thuốc chưa pick không cộng vào tổng.
Epic 3 — Điều phối tua¶
US-05 · Auto-dispatch theo điểm¶
Là quản lý CN, tôi muốn hệ tự phân tua theo điểm, để giảm can thiệp tay.
Acceptance: ứng viên xếp theo score; thiếu major → loại; chỉnh tay (override) vẫn chặn nếu thiếu major/skill và phải ghi audit.
US-06 · NV nhận tua trên mobile¶
Là KTV, tôi nhận tua trên điện thoại nhưng chỉ Nhận/Bỏ qua, không chọn khách.
Acceptance: - Offer ẩn danh tính & giá trị khách (chỉ DV · skill · giờ · máy). - Có timer; bỏ qua/nhận chậm → bị lùi lượt ưu tiên. - Liệu trình nhiều step: hiện "VIỆC CỦA BẠN" + cảnh báo "sắp tới lượt".
US-07 · Khách chỉ định nhân viên¶
Là khách, tôi chỉ định NV qua booking và chấp nhận chờ.
Acceptance: NV được chỉ định hiển thị badge; không tính cảnh báo trễ cho khách này.
Định nghĩa hoàn thành (DoD)¶
- Render không lỗi
pageerror(Playwright). - Đúng acceptance criteria ở trên.
- Giữ mã phiếu
?id=xuyên suốt khi điều hướng. - Không phá các rule chống ghim ở 15 · Business rules.