PRD: QR Self-order
| Module | Sale (CORE-07) | PRD ID | PRD-SLF-001 |
| Trạng thái | Planned | Owner | Hải Cao · Khoa Nguyễn · Phát Nguyễn |
| Ngày | 2026-06-11 | Phiên bản | v0.1 (draft) |
| Packages | @nx/sale · @nx/commerce · apps/sale-renderer · web khách | URD | SLF |
| Epic | BANA-1325 | Khung thời gian | spec/design T7 · build + pilot T8 (Theo tháng) |
TL;DR
Khách quét QR trên bàn và tự gọi món bằng điện thoại - không cần app. Menu khách thấy là Menu theo policy của merchant (đúng menu cho khung giờ/kênh). Đơn rơi vào POS gắn đúng bàn, nhân viên xác nhận, và đơn chạy xuống bếp như mọi đơn khác.
1. Bối cảnh & Vấn đề
Giờ cao điểm, phục vụ bàn nghẽn ở khâu ghi món. Backend Menu/MenuPolicy đang được xây (thực thể menu, phục vụ theo policy); thứ còn thiếu là bề mặt cho khách và phía POS nhận/xác nhận/định tuyến đơn của khách. Hôm nay chưa có bất kỳ kênh khách-tự-gọi nào.
2. Mục tiêu & Loại trừ
Mục tiêu - QR bàn → menu trên điện thoại, không app (URD-SLF-001) · menu theo policy (002) · giỏ + gửi đơn theo bàn (003) · POS nhận + xác nhận/từ chối (004) · đơn xác nhận → bếp (005) · cập nhật trạng thái (006) · món hết hàng bị ẩn (007).
Loại trừ - thanh toán online trong v1 (khách thanh toán tại quầy/bàn như cũ) · tích hợp loyalty · offline.
3. Thước đo thành công
| Thước đo | Mục tiêu |
|---|---|
| Quán pilot chạy thật | 1-2 quán F&B (tháng 8) |
| Đơn khách → bếp | Chạy end-to-end với bước xác nhận của nhân viên |
4. Persona & Tình huống
Khách (không app, mọi trình duyệt điện thoại) · Phục vụ (xác nhận/từ chối, giữ quyền kiểm soát) · Bếp (nhận phiếu y hệt).
5. User Story
- Là khách, tôi quét QR bàn, xem menu, gọi 2 món - và thấy khi nào món được xác nhận.
- Là phục vụ, đơn của khách hiện trên POS đúng bàn; tôi xác nhận bằng một chạm.
6. Yêu cầu chức năng
Giao URD SLF URD-SLF-001…008 (Must 001-005).
7. Yêu cầu phi chức năng
- Trang khách tải nhanh trên mạng yếu; QR token theo bàn, không đoán được; phiên có hạn.
8. UX & Luồng
- Quét QR → menu (nhận diện merchant, chọn theo policy) → giỏ → gửi.
- POS: badge trên bàn + danh sách chờ → xác nhận/từ chối → tạo phiếu bếp.
- Khách thấy trạng thái (đã gửi → xác nhận → phục vụ).
9. Dữ liệu & Miền nghiệp vụ
- Tiêu thụ Menu / MenuPolicy / get-active-menu (đang xây trong epic này - BANA-902…907).
- Mới: QR session/token theo bàn; tiếp nhận đơn khách gắn allocation (bàn).
10. Phụ thuộc & Giả định
| Phụ thuộc | Vì sao |
|---|---|
| Backend Menu (902-907) | Là menu khách nhìn thấy |
| Luồng phòng bàn ổn định (việc T6) | Đơn gắn vào bàn |
| Thiết kế (T7) | UI khách + UX xác nhận trên POS |
11. Rủi ro & Câu hỏi mở
- Đơn rác/phá → bước xác nhận của nhân viên là chốt chặn v1.
- Nhiều khách cùng bàn gọi đồng thời - định nghĩa cách gộp.
12. Kế hoạch phát hành & Tiêu chí
T7: chốt nghiệp vụ + thiết kế + backend menu sẵn. T8: build + pilot 1-2 quán. Ra mắt: AC-SLF-01 pass tại quán pilot.
13. FAQ
- Khách có thanh toán online không? V1 chưa - chỉ gọi món; thanh toán vẫn qua nhân viên.
Tham chiếu
URD SLF · Giai đoạn 2 - Theo tháng · Epic BANA-1325