PRD: Quản lý Inquiry (Back Office)
| Module | Marketing | PRD ID | PRD-CAP-002 |
| Trạng thái | Sẵn sàng dev | FEAT | CAP |
| Epic | — | Plane | BANA-1741 |
| Ngày | 2026-06-30 | Phiên bản | v1.1 |
| Gói | @nx/outreach | URD | CAP |
| Surface | BO · Vận hành | ||
| Phụ trách | Phát Nguyễn | ||
TL;DR
Cho đội vận hành (NEXPANDO & VNPAY) xử lý lead từ Back Office: list và lọc các inquiry đến từ trang công khai, sửa từng inquiry trong một form duy nhất để gán người phụ trách, ghi nhận trả lời và đặt trạng thái theo vòng đời 5 trạng thái (Mới → Đang xem xét → Đã kích hoạt / Hoàn tất / Đóng), và convert một inquiry tiềm năng thẳng vào onboarding - prefill từ những gì lead đã cung cấp. Menu Back Office có badge thời gian thực đếm các inquiry chưa xử lý.
1. Bối cảnh & Vấn đề
Trang công khai thu các inquiry - yêu cầu tư vấn, liên hệ, bán hàng, demo, đối tác - và lưu lại (PRD-CAP-001). Nhưng sau khi thu, các lead đó không có nơi để xử lý: không có chỗ xem hàng đợi, gán người phụ trách, ghi nhận trả lời, hoàn tất/đóng, hay - quan trọng nhất - biến một "đồng ý" thành merchant sống mà không gõ lại mọi thứ.
Tăng tiến này là bàn làm việc inquiry của đội vận hành: quản lý trọn vòng đời một lead và bắc cầu thẳng vào onboarding, để một lead đã thu trở thành merchant đang chạy trong một mạch liền.
2. Mục tiêu / Ngoài phạm vi
Mục tiêu
- Một danh sách inquiry với 8 cột, trong đó 6 cột lọc được (tên, họ, trạng thái, loại, email, ngày tạo).
- Sửa một inquiry trong một form duy nhất - thông tin liên hệ, doanh nghiệp, và các trường làm việc (gán, trả lời, trạng thái, ghi chú).
- Vòng đời 5 trạng thái: Mới → Đang xem xét → Đã kích hoạt / Hoàn tất / Đóng, với ghi chú bắt buộc khi Hoàn tất hoặc Đóng.
- Convert inquiry thành onboarding, prefill client mới từ inquiry.
- Badge thời gian thực trên menu đếm inquiry chưa xử lý; thông báo nổi khi có inquiry mới.
Ngoài phạm vi
- Thu inquiry và đăng ký bản tin từ trang công khai (PRD-CAP-001).
- Quản lý và thống kê người đăng ký bản tin (PRD-SUB-001).
- Chiến dịch marketing và tự động hóa (
CMP). - Bản thân luồng onboarding - màn này bàn giao sang nó (Onboarding).
3. Success Metrics
| Chỉ số | Mục tiêu / tín hiệu |
|---|---|
| Lead được xử lý, không mất | Mọi inquiry có trạng thái và người phụ trách rõ; badge menu cho thấy số chưa xử lý |
| Liền mạch tới onboarding | Một inquiry được onboard thành merchant mà không gõ lại thông tin lead |
| Trách nhiệm | Ai trả lời và khi nào, và bối cảnh khi hoàn tất/đóng, đều được ghi |
4. Personas & Tình huống
| Persona | Mục tiêu ở tính năng này |
|---|---|
| Đội vận hành (NEXPANDO & VNPAY) | Xử lý hàng đợi lead và convert lead tiềm năng thành merchant |
| Quản lý | Thấy trạng thái và kết quả lead (hoàn tất / đóng kèm ghi chú) |
Tình huống chính: người vận hành thấy badge inquiry chưa xử lý trên menu, lọc danh sách theo trạng thái Mới, mở một lead, điền người phụ trách và ghi nhận trả lời rồi lưu; khi lead đồng ý, người vận hành nhấn Onboard - wizard onboarding mở ra với thông tin doanh nghiệp và liên hệ đã điền sẵn; nếu rớt, người vận hành đặt trạng thái Đóng kèm ghi chú (và lý do thất bại nếu có).
5. User Stories
- Là người vận hành, tôi muốn danh sách inquiry lọc được theo trạng thái và loại, để xử lý hàng đợi lead có trọng tâm.
- Là người vận hành, tôi muốn sửa thông tin liên hệ và doanh nghiệp của inquiry, để bản ghi chính xác trước khi hành động.
- Là người vận hành, tôi muốn ghi người phụ trách, người trả lời và trạng thái ngay trong form sửa, để theo dõi được tiến độ.
- Là người vận hành, tôi muốn hệ thống bắt buộc ghi chú khi hoàn tất hoặc đóng một lead, để kết quả nào cũng có bối cảnh.
- Là người vận hành, tôi muốn convert một inquiry thành onboarding prefill từ lead, để khỏi gõ lại gì.
- Là người vận hành, tôi muốn được báo ngay khi có inquiry mới, để không lead nào chờ lâu.
6. Functional Requirements
| # | Yêu cầu | Trạng thái | URD ref |
|---|---|---|---|
| FR-1 | Danh sách inquiry - 8 cột, 6 cột lọc được | ✅ đã dựng | URD-CAP-005 |
| FR-2 | Sửa inquiry trong một form duy nhất - liên hệ, doanh nghiệp, và các trường làm việc, kèm validation | ✅ đã dựng | URD-CAP-005 |
| FR-3 | Vòng đời 5 trạng thái với ghi chú bắt buộc khi Hoàn tất hoặc Đóng | ✅ đã dựng | URD-CAP-005 |
| FR-4 | Convert sang onboarding - prefill client mới từ inquiry | ✅ đã dựng | URD-CAP-006 · URD-BOP-001 |
| FR-5 | Màn hình gác quyền vận hành; inquiry chỉ sinh từ thu công khai, không tạo tại đây | ✅ đã dựng | URD-CAP-001 |
| FR-6 | Badge thời gian thực trên menu + thông báo nổi khi có inquiry mới | ✅ đã dựng | URD-CAP-001 |
| FR-7 | Người phụ trách / người trả lời chọn từ danh sách user nội bộ (nâng cấp từ nhập chữ tự do) | 🚧 chưa dựng | URD-CAP-005 |
FR-1 - Danh sách inquiry
Bảng gồm 8 cột: Tên, Họ, Trạng thái, Loại, Số điện thoại, Email, Ngày tạo, Ngày sửa gần nhất.
- Lọc được (6 cột): Tên, Họ, Trạng thái, Loại, Email, Ngày tạo.
- Không lọc: Số điện thoại, Ngày sửa gần nhất.
- Trạng thái và Loại hiển thị dạng nhãn màu.
- Không có nút tạo mới - inquiry chỉ sinh từ form thu trên trang công khai.
- Mỗi dòng có hai hành động: Sửa (mở form sửa) và Onboard (mở wizard onboarding - xem FR-4). Cả hai hiện trên mọi dòng, không phụ thuộc trạng thái.
FR-2 - Sửa inquiry (một form duy nhất)
Mọi thao tác nghiệp vụ - gán người phụ trách, ghi nhận trả lời, đặt trạng thái, ghi chú kết quả - đều là sửa field trong chính form này; không có hành động Gán / Trả lời / Đổi trạng thái riêng lẻ.
| Nhóm | Field | Bắt buộc | Quy tắc |
|---|---|---|---|
| Liên hệ | Tên | ✔ | Không được để trống |
| Họ | - | ||
| ✔ | Đúng định dạng email | ||
| Số điện thoại | ✔ | Đúng định dạng số điện thoại | |
| Doanh nghiệp | Tên doanh nghiệp | - | |
| Loại hình doanh nghiệp | - | ||
| Số điểm bán | - | Nhập tự do | |
| Doanh thu ước tính | - | Nhập tự do | |
| Nội dung | Tiêu đề | - | |
| Nội dung | - | Nhiều dòng | |
| Làm việc | Loại | ✔ | Chọn 1 trong 5 loại (bên dưới) |
| Trạng thái | ✔ | Chọn 1 trong 5 trạng thái (xem FR-3) | |
| Người phụ trách | - | Hiện nhập chữ tự do (nâng cấp ở FR-7) | |
| Người trả lời | - | Hiện nhập chữ tự do (nâng cấp ở FR-7) | |
| Thời điểm trả lời | - | Chỉ đọc - hệ thống ghi | |
| Lý do thất bại | - | Tùy chọn, kể cả khi Đóng (xem FR-3) | |
| Ghi chú | ◑ | Nhiều dòng; bắt buộc khi Trạng thái = Hoàn tất hoặc Đóng |
Rời form khi còn thay đổi chưa lưu → cảnh báo mất dữ liệu.
5 loại inquiry: Tư vấn · Liên hệ · Bán hàng · Demo · Đối tác.
FR-3 - Vòng đời (5 trạng thái)
| Trạng thái | Ý nghĩa |
|---|---|
| Mới | Vừa vào từ trang công khai, chưa ai tiếp nhận |
| Đang xem xét | Đội vận hành đã tiếp nhận - gán người phụ trách, trả lời lead |
| Đã kích hoạt | Inquiry đã được chuyển thành khách onboard |
| Hoàn tất | Xử lý xong với kết quả tốt - bắt buộc Ghi chú |
| Đóng | Dừng xử lý - bắt buộc Ghi chú; Lý do thất bại khuyến khích ghi nhưng tùy chọn |
Quy tắc:
- Chuyển sang Hoàn tất hoặc Đóng mà Ghi chú trống → không lưu được, báo lỗi ngay tại field Ghi chú.
- Lý do thất bại là tùy chọn kể cả khi Đóng - giữ tùy chọn có chủ đích để không cản người vận hành đóng nhanh; nếu về sau cần bắt buộc, đó là một FR mới, không thuộc phạm vi bản này.
- Không có trạng thái "Đã hủy" - inquiry rớt thì Đóng.
FR-4 - Convert sang onboarding
- Nút Onboard trên từng dòng của danh sách mở wizard onboarding.
- Wizard mở ra với thông tin doanh nghiệp và liên hệ đã điền sẵn từ inquiry - người vận hành không nhập lại.
- Luồng onboarding tự thân thuộc Onboarding (Back Office).
FR-5 - Gác quyền
- Màn hình chỉ dành cho vai trò vận hành đã đăng nhập.
- Màn hình không tạo inquiry - chỉ xem, lọc, sửa, convert.
FR-6 - Badge thời gian thực
- Mục Inquiry trên menu Back Office hiển thị số inquiry đang ở trạng thái Mới hoặc Đang xem xét.
- Khi một inquiry mới đến từ trang công khai: số trên badge cập nhật và một thông báo nổi hiện ra cho người vận hành đang mở Back Office.
FR-7 - Chọn người phụ trách / người trả lời từ danh sách user (🚧 chưa dựng)
- Hiện tại hai field này nhập chữ tự do - dễ sai chính tả, không đối chiếu được với user thật.
- Nâng cấp: chọn từ danh sách user nội bộ của đội vận hành; giá trị đã nhập tự do trước đó vẫn hiển thị được.
Tiêu chí nghiệm thu
- Danh sách hiện đủ 8 cột; lọc theo từng cột trong 6 cột lọc được trả về đúng kết quả; lọc theo Số điện thoại / Ngày sửa không khả dụng.
- Lưu form khi Tên, Email, Số điện thoại, Loại, hoặc Trạng thái trống → báo lỗi tại đúng field, không lưu.
- Email sai định dạng hoặc số điện thoại sai định dạng → báo lỗi tại field, không lưu.
- Đặt Trạng thái = Hoàn tất hoặc Đóng khi Ghi chú trống → báo lỗi tại Ghi chú, không lưu; điền Ghi chú → lưu được.
- Với các trạng thái khác (Mới / Đang xem xét / Đã kích hoạt), Ghi chú trống vẫn lưu bình thường.
- Đóng một inquiry không điền Lý do thất bại → vẫn lưu được (field tùy chọn).
- Nhấn Onboard trên một dòng → wizard onboarding mở với thông tin doanh nghiệp và liên hệ của inquiry đã điền sẵn.
- Badge menu bằng đúng số inquiry Mới + Đang xem xét; một inquiry mới đến → badge tăng và thông báo nổi hiện ra, không cần tải lại trang.
- Rời trang sửa khi có thay đổi chưa lưu → hiện cảnh báo.
7. Non-Functional Requirements
| Khía cạnh | Yêu cầu |
|---|---|
| Phân quyền | Bàn làm việc gác cho vai trò vận hành |
| Truy vết | Người trả lời, thời điểm trả lời (hệ thống ghi), và ghi chú kết quả lưu theo từng inquiry |
| Chất lượng dữ liệu | Ghi chú bắt buộc khi Hoàn tất hoặc Đóng; email và số điện thoại kiểm định dạng khi sửa |
| Liền mạch | Convert mang thông tin đã biết của inquiry sang onboarding mà không nhập lại |
| Thời gian thực | Badge và thông báo inquiry mới cập nhật không cần tải lại trang |
| i18n | Nhãn song ngữ (EN/VI) |
8. UX & Flows
Người vận hành xử lý một lead như thế nào - mọi thao tác nghiệp vụ diễn ra trong một form sửa duy nhất:
Vòng đời lead:
Bàn làm việc nằm trong mục "Khách hàng & Merchant" của Back Office. Hành động Onboard mở wizard onboarding prefill từ inquiry.
9. Data & Domain
| Khái niệm | Vai trò trong màn này |
|---|---|
| Inquiry | Một lead đã thu - liên hệ (tên, họ, email, điện thoại), doanh nghiệp (tên, loại hình, số điểm bán, doanh thu ước tính), nội dung (tiêu đề, nội dung), và trường làm việc (loại, trạng thái, người phụ trách, người trả lời, thời điểm trả lời, lý do thất bại, ghi chú) |
| Vòng đời | Mới → Đang xem xét → Đã kích hoạt / Hoàn tất / Đóng; ghi chú bắt buộc ở hai trạng thái kết thúc |
| Convert | Bàn giao biến một inquiry thành một onboarding, mang thông tin của nó đi tiếp |
Chỉ ở mức khái niệm - inquiry bắt nguồn từ thu công khai; mô hình dữ liệu nằm ở tài liệu developer.
10. Dependencies & Assumptions
Phụ thuộc
- Thu lead (PRD-CAP-001) - tạo các inquiry mà màn này xử lý.
- Onboarding (Onboarding) - đích của convert.
Giả định
- Người vận hành đã đăng nhập với vai trò có thể xử lý inquiry.
- Inquiry đến từ thu công khai; màn này không tạo chúng.
11. Risks & Open Questions
| Rủi ro / câu hỏi | Giảm thiểu / trạng thái |
|---|---|
| Lead bị bỏ quên | Badge menu đếm Mới + Đang xem xét; trạng thái + người phụ trách làm hàng đợi có chủ |
| Đóng một lead mà không có ngữ cảnh | Ghi chú bắt buộc khi Hoàn tất hoặc Đóng; lý do thất bại tùy chọn - cân nhắc bắt buộc nếu tỷ lệ bỏ trống cao |
| Người phụ trách nhập tự do, không khớp user thật | Nâng cấp thành chọn từ danh sách user nội bộ (FR-7, 🚧) |
| Gõ lại thông tin khi convert | Convert prefill onboarding từ inquiry |
| Inquiry trùng từ cùng một lead | Ngoài phạm vi ở đây; dedupe phía thu nằm ở PRD-CAP-001 |
12. Release Plan & Launch Criteria
| Khía cạnh | Kế hoạch |
|---|---|
| Phase | P1 - đã có cho đội vận hành trong Back Office; FR-7 (chọn user) chưa dựng |
| Rollout | User vận hành; không feature flag |
| Migration | Không - nó xử lý inquiry đã thu hiện có |
| Tiêu chí ra mắt | Toàn bộ Tiêu chí nghiệm thu ở §6 đạt (trừ FR-7 chưa dựng) |
| Theo dõi | Tỷ lệ convert inquiry; số inquiry tồn ở Mới + Đang xem xét |
13. FAQ
Inquiry đến từ đâu? Từ các form thu của trang công khai (PRD-CAP-001); màn này xử lý chúng, không tạo.
Convert một lead thì xảy ra gì? Wizard onboarding mở ra prefill thông tin doanh nghiệp và liên hệ của inquiry.
Vì sao phải ghi chú khi hoàn tất hoặc đóng? Để một kết quả không bao giờ được ghi mà thiếu ngữ cảnh - nhất là khi đóng.
"Đã kích hoạt" nghĩa là gì? Inquiry đó đã được chuyển thành khách onboard - dấu vết cho biết lead này đã đi tiếp vào luồng onboarding.
References
- URD: Marketing -
CAP(Thu thập lead & người đăng ký) - Liên quan: PRD-CAP-001 - Thu thập lead & người đăng ký · PRD-SUB-001 - Người đăng ký bản tin · Onboarding (Back Office)
- Module: Marketing - URD · Lộ trình: Phase 2 - Theo tháng
- Developer: @nx/outreach