Skip to content

URD: Khách hàng

ModuleCORE-09Phiên bảnv0.6
Trạng tháiIn-progressNgày2026-06-04

Tài liệu nghiệp vụ. URD này là danh sách tính năng của Khách hàng - mỗi tính năng bên dưới là một Khu vực chức năng (<AREA>). Cùng <AREA> đó định danh cho PRD của tính năng (PRD-<AREA>-NNN) và test (TC-<AREA>-NNN), và mỗi tính năng được liệt kê trong danh mục tính năng Delivery. Xem quy ước Feature Spine.

1. Mục đích

Định nghĩa các yêu cầu hướng người dùng cho Quản lý quan hệ khách hàng - lưu giữ hồ sơ khách hàng dưới một thương hiệu, tặng điểm thưởng cho khách mua lại, phát triển danh sách gửi bản tin, và thu thập yêu cầu kinh doanh để theo dõi. Mục tiêu là một nơi duy nhất để biết khách hàng của một doanh nghiệp là ai và để tương tác với họ.

2. Phạm vi

Bao gồmLoại trừ
Hồ sơ khách hàng theo phạm vi thương hiệuPhân khúc khách hàng (Planned)
Liên kết tài khoản khách hàng-người dùngBộ máy chiến dịch Email / SMS (Planned)
Tích điểm thưởng trên đơn hàng đã hoàn tấtĐổi điểm trên đơn hàng (Planned)
Đăng ký / hủy đăng ký / thống kê bản tinHạng thành viên (Planned)
Thu thập và vòng đời yêu cầu kinh doanhPhân tích giá trị vòng đời (Planned)
Đặc tả API kỹ thuật (xem tài liệu nhà phát triển)

3. Định nghĩa

Thuật ngữĐịnh nghĩa
Khách hàngMột người được thương hiệu biết đến; mô hình hóa như một User với vai trò customer cố định, mặc định không có thông tin đăng nhập
Thương hiệu (Organization)Tầng thương hiệu ảo mà khách hàng thuộc về; khách hàng theo phạm vi này, không theo một đơn vị điểm bán cụ thể
Điểm thưởngSố dư điểm mà khách hàng tích lũy khi đơn hàng hoàn tất thanh toán
Tỷ lệ quy đổiHệ số chi-tiêu-trên-điểm theo từng merchant - bao nhiêu tổng đơn hàng bằng một điểm (tổng đơn chia cho nó)
Người đăng kýMột địa chỉ email đã chọn nhận bản tin, kèm chủ đề, ngôn ngữ, và token hủy đăng ký duy nhất
Yêu cầuMột lead thu thập từ trang công khai, theo dõi qua vòng đời NEW → đã phân công → đã trả lời → đã chuyển đổi/thất bại

4. Mô hình khái niệm

Chỉ mang tính khái niệm. Schema đầy đủ nằm trong tài liệu nhà phát triển: Mô hình miền Identity, Sale - Customer Points, và Mô hình miền Outreach.

5. Danh mục tính năng

Danh sách tính năng của module này. Mỗi hàng là một tính năng (một Khu vực chức năng). Chi tiết tại §6. Được phản chiếu trong danh mục tính năng Delivery.

Feature IDTính năngPhaseTrạng tháiƯu tiên
CUSHồ sơ khách hàngP1BuiltHigh
PNTĐiểm thưởngP2BuiltMedium
SUBNgười đăng ký bản tinP2BuiltMedium
INQYêu cầu kinh doanhP2BuiltMedium
BIZKH doanh nghiệp & nhóm kháchP2PlannedHigh

Trạng thái: live từ Plane nếu có map, còn lại do registry khai báo. Vocabulary đồng nhất với Plane (state-group / phase).

6. Tính năng

Một mục con cho mỗi tính năng, theo thứ tự danh mục. Mỗi tính năng giữ mô tả, yêu cầu, và tiêu chí chấp nhận cùng nhau. Ưu tiên = MoSCoW (Must / Should / Could / Won't).

CUS - Hồ sơ khách hàng Built

Feature ID: crm/CUS · Phase: P1 · PRDs: - · Dev: @nx/identity

Người dùng làm được gì: nhân viên lưu giữ danh bạ khách hàng dưới thương hiệu của mình - tên, email, số điện thoại, ngày sinh, ngôn ngữ - theo phạm vi Organization, gắn được vào đơn hàng, và xóa-mềm trong khi giữ lại lịch sử.

Yêu cầu

IDPYêu cầu
URD-CUS-001MTạo khách hàng với tên, ít nhất một email và một số điện thoại
URD-CUS-002MGán mọi khách hàng vào phạm vi thương hiệu (Organization)
URD-CUS-003MCập nhật hồ sơ khách hàng (tên, email, điện thoại, ngày sinh, ngôn ngữ)
URD-CUS-004MXóa-mềm một khách hàng, giữ lại lịch sử
URD-CUS-005SNhân viên chỉ thấy và quản lý khách hàng trong thương hiệu của mình
URD-CUS-006SGắn một khách hàng vào đơn hàng khi thanh toán
URD-CUS-007CNâng cấp một khách hàng thành tài khoản người dùng đăng nhập đầy đủ

Tiêu chí chấp nhận

AC-CUS-01: Vòng đời hồ sơ khách hàng
ChoKhiThì
Một nhân viên của một thương hiệuTạo khách hàng với tên + điện thoại + emailKhách hàng được tạo và gán vào phạm vi thương hiệu đó
Một khách hàng của thương hiệu khácNhân viên tìm/mở nóKhông hiển thị (cô lập thương hiệu)
Một khách hàng có đơn hàng liên kếtNhân viên xóa-mềmKhách hàng rời khỏi danh sách hoạt động; bản ghi và đơn hàng được giữ lại

PNT - Điểm thưởng Built

Feature ID: crm/PNT · Phase: P2 · PRDs: PRD-PNT-001 · Dev: @nx/sale

Người dùng làm được gì: khách hàng tự động tích số dư điểm khi đơn hàng hoàn tất thanh toán, tính bằng cách lấy tổng đơn hàng chia cho tỷ lệ quy đổi theo merchant (chi-tiêu-trên-điểm) và làm tròn xuống số nguyên, tặng tối đa một lần cho mỗi đơn, với mỗi lần tặng được ghi như một mục sổ cái bất biến.

Yêu cầu

IDPYêu cầu
URD-PNT-001STặng điểm khi đơn hàng hoàn tất thanh toán và có khách hàng gắn kèm
URD-PNT-002STính điểm tặng = floor(tổng đơn hàng ÷ tỷ lệ quy đổi theo merchant) - tỷ lệ là chi-tiêu-trên-điểm
URD-PNT-003STheo dõi số dư điểm lũy kế theo từng khách hàng, cộng nguyên tử
URD-PNT-004STặng điểm tối đa một lần cho mỗi đơn, kể cả khi thử lại (idempotent theo đơn)
URD-PNT-005CKhông tặng điểm khi tỷ lệ chưa đặt / không dương, điểm tính được ≤ 0, hoặc không có khách hàng gắn kèm
URD-PNT-006SGhi mỗi lần tặng như một mục sổ cái bất biến (loại, điểm, tỷ lệ đã áp, liên kết khách / đơn / merchant), ghi nguyên tử cùng lần cộng số dư
URD-PNT-007CDuyệt lịch sử điểm của một khách qua sổ cái chỉ-đọc, theo phạm vi merchant

Tiêu chí chấp nhận

AC-PNT-01: Tích điểm thưởng
ChoKhiThì
Một khách hàng gắn với đơn; tỷ lệ đã cấu hìnhĐơn hàng hoàn tất thanh toánĐiểm = floor(tổng đơn ÷ tỷ lệ) được cộng vào số dư và một mục sổ cái được ghi
Cùng sự kiện thanh toán đơn được gửi lạiĐiểm lẽ ra được tặng lạiKhông tặng kép - số dư và sổ cái không đổi
Không có khách hàng gắn kèm, hoặc tỷ lệ không dương / chưa đặtĐơn hàng hoàn tất thanh toánKhông tặng điểm; không ghi mục (no-op an toàn, không phải lỗi)
Tổng đơn nhỏ hơn tỷ lệĐơn hàng hoàn tất thanh toánĐiểm tính được làm tròn về không, nên không tặng gì
AC-PNT-02: Sổ cái điểm là chỉ-đọc và theo phạm vi merchant
ChoKhiThì
Các mục điểm đã tặng cho một merchantNhân viên mở sổ cái điểm với phạm vi merchantHọ thấy các mục tích của khách (loại, điểm, tỷ lệ đã áp, liên kết đơn)
Một nhân viên không có phạm vi merchantHọ yêu cầu sổ cáiCác mục của merchant đó không được trả về
Bất kỳ client bên ngoàiNó thử tạo / sửa / xóa một mụcSổ cái không phơi bày thao tác như vậy - mục được ghi chỉ bởi seam tích điểm

SUB - Người đăng ký bản tin Built

Feature ID: crm/SUB · Phase: P2 · PRDs: - · Dev: @nx/outreach

Người dùng làm được gì: khách truy cập chọn nhận bản tin bằng email kèm chủ đề và ngôn ngữ; việc đăng ký là idempotent, hủy đăng ký một-chạm hoạt động qua token duy nhất, và quản trị viên xem được thống kê người đăng ký.

Yêu cầu

IDPYêu cầu
URD-SUB-001SĐăng ký bằng email với chủ đề và ngôn ngữ
URD-SUB-002SGiữ email duy nhất toàn cục giữa các người đăng ký
URD-SUB-003SHủy đăng ký qua link token một-chạm duy nhất
URD-SUB-004SĐăng ký lại kích hoạt lại người đăng ký đã bị vô hiệu hóa (idempotent)
URD-SUB-005SXem thống kê người đăng ký - tổng số, số mới theo tháng, số lượng theo trạng thái

Tiêu chí chấp nhận

AC-SUB-01: Đăng ký / hủy đăng ký bản tin
ChoKhiThì
Một email mớiĐăng kýNgười đăng ký được tạo với chủ đề, ngôn ngữ, và một token hủy đăng ký
Một email đang hoạt độngĐăng ký lạiTrả về người đăng ký hiện có (idempotent)
Một người đăng ký đã vô hiệu hóaĐăng ký lạiNgười đăng ký được kích hoạt lại
Một token hủy đăng ký hợp lệLink được nhấpNgười đăng ký bị vô hiệu hóa

INQ - Yêu cầu kinh doanh Built

Feature ID: crm/INQ · Phase: P2 · PRDs: - · Dev: @nx/outreach

Người dùng làm được gì: lead từ trang công khai gửi yêu cầu kèm thông tin liên hệ, thông tin doanh nghiệp, và lời nhắn; quản trị viên được thông báo theo thời gian thực, và nhân viên sales đưa mỗi yêu cầu qua vòng đời NEW → đã phân công → đã trả lời → đã chuyển đổi/thất bại.

Yêu cầu

IDPYêu cầu
URD-INQ-001SThu thập một yêu cầu với thông tin liên hệ, thông tin doanh nghiệp, và lời nhắn
URD-INQ-002SThông báo quản trị viên theo thời gian thực khi có yêu cầu mới được gửi
URD-INQ-003STheo dõi phân công, trả lời, chuyển đổi, và lý do thất bại
URD-INQ-004SĐưa một yêu cầu qua NEW → đã phân công → đã trả lời → đã chuyển đổi/thất bại

Tiêu chí chấp nhận

AC-INQ-01: Yêu cầu kinh doanh
ChoKhiThì
Một khách truy cậpGửi một yêu cầuTrạng thái là NEW và quản trị viên được thông báo theo thời gian thực
Một nhân viên salesTự phân công cho mìnhYêu cầu hiển thị người được phân công
Một nhân viên salesTrả lờiTác giả phản hồi và thời điểm được ghi nhận
Một nhân viên salesĐánh dấu đã chuyển đổi (hoặc thất bại kèm lý do)Kết quả và thời điểm được ghi nhận

BIZ - Khách Doanh nghiệp & Nhóm khách Planned

Mã tính năng: customer/BIZ · Phase: P2 (T7) · PRDs: PRD-BIZ-001 · Dev: @nx/identity

Mang lại gì cho người dùng: merchant quản lý khách hàng công ty - có mã số thuế (MST) - để HĐ VAT công ty mang đúng MST người mua, và xếp khách vào nhóm (VIP, member) phục vụ định giá và chăm sóc.

Yêu cầu

IDPYêu cầu
URD-BIZ-001MHồ sơ khách mang được trường doanh nghiệp: MST, tên công ty
URD-BIZ-002MKhách doanh nghiệp và cá nhân phân biệt rõ
URD-BIZ-003MMST của công ty chảy lên HĐ VAT của nó
URD-BIZ-004MNhóm khách: tạo nhóm, gán khách
URD-BIZ-005SNhóm của khách dùng được làm điều kiện giá (Pricing tiêu thụ ở T8)
URD-BIZ-006SMàn quản lý khách có ở client và BO
URD-BIZ-007CQuy tắc nhóm (gán tự động)

Nghiệm thu

AC-BIZ-01: HĐ VAT công ty
GivenWhenThen
KH doanh nghiệp có MST hợp lệĐơn B2B xuất HĐ VATHóa đơn mang MST + tên công ty người mua
Khách thuộc nhóm "VIP"Liệt kê/lọcThành viên nhóm hiển thị và lọc được

7. Ràng buộc & Phi mục tiêu

Ràng buộc

IDRàng buộc
C-01Khách hàng theo phạm vi thương hiệu (Organization), không theo một đơn vị điểm bán cụ thể
C-02Khách hàng có vai trò customer cố định và mặc định không có thông tin đăng nhập
C-03Tặng điểm là idempotent - tối đa một lần tặng cho mỗi đơn
C-04Email người đăng ký duy nhất toàn cục; token hủy đăng ký duy nhất toàn cục
C-05Đăng ký là idempotent (trả về cái hiện có hoặc kích hoạt lại)
C-06Mọi bản ghi dùng xóa-mềm

Phi mục tiêu

  • Phân khúc và nhắm khách hàng
  • Bộ máy chiến dịch Email / SMS
  • Đổi điểm trên đơn hàng, và hạng thành viên
  • Phân tích giá trị vòng đời khách hàng

8. Lịch sử phiên bản

NgàyTác giảMô tảVer
2026-02-26P. Do - Product OwnerHồ sơ khách hàng, điểm, người đăng ký, yêu cầu ban đầuv0.1
2026-04-16P. Do - Product OwnerTái cấu trúc quanh người đăng ký và yêu cầuv0.3
2026-05-30Chuyển đổi tài liệuTái cấu trúc theo quy ước module; các khu vực CUS/PNT/SUB/INQ căn theo hành vi đã build; ưu tiên trung thực với trạng tháiv0.4
2026-06-04Claude (AI pair)Tái tổ chức theo tính năng (Feature Spine)v0.5
2026-06-15Nhóm SalePNT cập nhật đúng theo code (tỷ lệ chia chi-tiêu-trên-điểm); thêm yêu cầu sổ cái PNT-006/007 + AC-PNT-02; liên kết PRD-PNT-001v0.6

Proprietary and Confidential. Unauthorized copying, distribution, or use of this software is strictly prohibited.