Đang trong quá trình Xây dựng
Các chi tiết tính năng trong tài liệu này có thể thay đổi trong các giai đoạn nghiên cứu, thảo luận, thiết kế và triển khai.
Merchant / Điểm bán
Quản lý điểm bán để xử lý giao dịch.
Tổng quan
| Thuộc tính | Giá trị |
|---|---|
| ID Module | CORE-04 |
| Giai đoạn | Giai đoạn 2 |
| Mức độ ưu tiên | CAO |
| Phụ thuộc | Tổ chức (Cửa hàng), Quản lý Người dùng |
Module Merchant quản lý các điểm bán hàng nơi giao dịch diễn ra. Một Merchant là một điểm giao dịch trong một Cửa hàng, và có thể có các Sub-Merchant để phân chia POS chi tiết hơn. Module này cho phép cấu hình POS linh hoạt và đồng bộ hóa với Văn phòng Quản lý VNPAY (MO).
Định nghĩa các Thực thể
| Thực thể | Tiếng Việt | Mô tả |
|---|---|---|
| Organization | Tổ chức | Thực thể kinh doanh cấp cao nhất (không có cha) |
| Store | Cửa hàng | Một Tổ chức có cha (tổ chức con) |
| Merchant | Điểm bán | Điểm bán hàng nơi giao dịch xảy ra |
| Sub-Merchant | Điểm bán phụ | Con của Merchant để phân chia POS chi tiết hơn |
┌─────────────────────────────────────────────────────────────────┐
│ HIERARCHY HOÀN CHỈNH │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────┐ │
│ │ TỔ CHỨC (Cấp cao nhất) │ │
│ │ (Hộ kinh doanh / Doanh nghiệp) │ │
│ └─────────────────────┬───────────────────────┘ │
│ │ │
│ ┌───────────────┼───────────────┐ │
│ ▼ ▼ ▼ │
│ ┌───────────┐ ┌───────────┐ ┌───────────┐ │
│ │ CỬA HÀNG A │ │ CỬA HÀNG B │ │ CỬA HÀNG C │ │
│ │ (Tổ chức có│ │ (Tổ chức có│ │ (Tổ chức có│ │
│ │ cha) │ │ cha) │ │ cha) │ │
│ └─────┬─────┘ └─────┬─────┘ └─────┬─────┘ │
│ │ │ │ │
│ ┌──┴──┐ ┌──┴──┐ │ │
│ ▼ ▼ ▼ ▼ ▼ │
│ ┌────────┐┌────────┐┌────────┐┌────────┐┌────────┐ │
│ │MERCHANT││MERCHANT││MERCHANT││MERCHANT││MERCHANT│ │
│ │ 1 ││ 2 ││ 1 ││ 2 ││ 1 │ │
│ │(Quầy) ││(Di động)││(Quầy) ││(Bàn) ││(Kiosk) │ │
│ └───┬────┘└────────┘└────────┘└───┬────┘└────────┘ │
│ │ │ │
│ ┌──┴──┐ ┌──┴──┐ │
│ ▼ ▼ ▼ ▼ │
│ ┌─────┐┌─────┐ ┌─────┐┌─────┐ │
│ │ SUB ││ SUB │ │ SUB ││ SUB │ │
│ │ 1-1 ││ 1-2 │ │ 2-1 ││ 2-2 │ │
│ └─────┘└─────┘ └─────┘└─────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘Lưu ý: Cửa hàng được triển khai như một Tổ chức có tham chiếu cha. Điều này cho phép cùng một cấu trúc thực thể trong khi cho phép các mối quan hệ phân cấp.
User Stories
Giai đoạn 2 - Quản lý Cửa hàng (qua Tổ chức)
| ID | Với vai trò... | Tôi muốn... | Để... |
|---|---|---|---|
| US-01 | Chủ doanh nghiệp | Tạo nhiều cửa hàng | tôi có thể quản lý tất cả các địa điểm một cách tập trung |
| US-02 | Chủ doanh nghiệp | Cấu hình chi tiết cửa hàng | mỗi cửa hàng có thông tin chính xác cho hóa đơn |
| US-03 | Chủ doanh nghiệp | Đặt giờ hoạt động của cửa hàng | hệ thống biết khi nào mỗi cửa hàng mở cửa |
| US-04 | Chủ doanh nghiệp | Đồng bộ cửa hàng từ VNPAY MO | các điểm bán đã được duyệt của tôi được tự động thêm vào |
| US-05 | Chủ doanh nghiệp | Gán nhân viên cho các cửa hàng | nhân viên làm việc tại đúng địa điểm |
| US-06 | Quản lý cửa hàng | Quản lý cài đặt cửa hàng của tôi | tôi có thể điều chỉnh các cấu hình địa phương |
| US-07 | Quản lý cửa hàng | Xem hiệu suất cửa hàng | tôi theo dõi các chỉ số của địa điểm của mình |
Giai đoạn 2 - Quản lý Merchant (Điểm bán)
| ID | Với vai trò... | Tôi muốn... | Để... |
|---|---|---|---|
| US-08 | Chủ doanh nghiệp | Tạo các merchant cho mỗi cửa hàng | tôi định nghĩa các điểm giao dịch cho mỗi cửa hàng |
| US-09 | Chủ doanh nghiệp | Cấu hình loại merchant | hệ thống xử lý quầy/bàn/di động khác nhau |
| US-10 | Chủ doanh nghiệp | Gán thiết bị cho merchant | máy tính bảng/máy in được liên kết chính xác |
| US-11 | Chủ doanh nghiệp | Đặt kho mặc định cho mỗi merchant | hàng tồn kho được lấy từ kho chính xác |
| US-12 | Thu ngân | Chọn merchant của tôi khi đăng nhập | các giao dịch của tôi được ghi lại chính xác |
Giai đoạn 2 - Quản lý Sub-Merchant
| ID | Với vai trò... | Tôi muốn... | Để... |
|---|---|---|---|
| US-13 | Chủ doanh nghiệp | Tạo các sub-merchant | tôi có sự phân chia POS chi tiết hơn |
| US-14 | Chủ doanh nghiệp | Thêm các sub-merchant một cách linh hoạt | tôi có thể mở rộng các điểm giao dịch dễ dàng |
| US-15 | Chủ doanh nghiệp | Cấu hình sub-merchant một cách độc lập | mỗi sub-merchant có cài đặt riêng |
| US-16 | Chủ doanh nghiệp | Theo dõi giao dịch cho mỗi sub-merchant | tôi có phân tích giao dịch chi tiết |
Ma trận Tính năng
Tính năng Cửa hàng (Tổ chức có Cha)
| Tính năng | GĐ 1 | GĐ 2 | GĐ 3 | Mô tả |
|---|---|---|---|---|
| Cửa hàng đơn (qua đăng ký) | ✓ | Cửa hàng mặc định từ hồ sơ kinh doanh | ||
| Quản lý đa cửa hàng | ✓ | Tạo các cửa hàng bổ sung (tổ chức con) | ||
| Cấu hình cửa hàng | ✓ | Giờ, địa chỉ, cài đặt | ||
| Đồng bộ cửa hàng VNPAY MO | ✓ | Nhập các điểm bán đã được duyệt làm cửa hàng | ||
| Tồn kho cấp cửa hàng | ✓ | Tồn kho riêng cho mỗi cửa hàng | ||
| Báo cáo cấp cửa hàng | ✓ | Báo cáo được lọc theo cửa hàng | ||
| Hỗ trợ nhượng quyền | ✓ | Mô hình nhà điều hành độc lập | ||
| Cửa hàng pop-up/tạm thời | ✓ | Các địa điểm có thời hạn | ||
| Nhóm/khu vực cửa hàng | ✓ | Phân nhóm theo cấp bậc |
Tính năng Merchant (Điểm bán)
| Tính năng | GĐ 1 | GĐ 2 | GĐ 3 | Mô tả |
|---|---|---|---|---|
| Merchant đơn (mặc định) | ✓ | Merchant mặc định cho mỗi cửa hàng | ||
| Nhiều merchant mỗi cửa hàng | ✓ | Tạo nhiều điểm bán | ||
| Cấu hình loại merchant | ✓ | Quầy, Bàn, Di động, Kiosk | ||
| Liên kết thiết bị merchant | ✓ | Kết nối các thiết bị với merchant | ||
| Gán kho cho merchant | ✓ | Kho mặc định cho mỗi merchant | ||
| Tạo sub-merchant | ✓ | Phân chia POS linh hoạt | ||
| Cấu hình sub-merchant | ✓ | Cài đặt sub-merchant độc lập | ||
| Báo cáo cấp merchant | ✓ | Báo cáo được lọc theo merchant | ||
| Đồng bộ merchant VNPAY MO | ✓ | Đồng bộ MO cho mỗi merchant để thanh toán |
Các loại Cửa hàng
Các loại cửa hàng định nghĩa danh mục kinh doanh của một địa điểm (Tổ chức có cha):
┌─────────────────────────────────────────────────────────────────┐
│ CÁC LOẠI CỬA HÀNG │
├─────────────────────────────────────────────────────────────────┤
│ │
│ LOẠI TRƯỜNG HỢP SỬ DỤNG VÍ DỤ │
│ ───────────────────────────────────────────────────────────── │
│ │ │
│ ├── BÁN LẺ Địa điểm cửa hàng cố định Cửa hàng quần áo│
│ │ │
│ ├── F&B Nhà hàng/Quán cà phê Quán cà phê │
│ │ │
│ ├── DỊCH VỤ Kinh doanh dựa trên dịch vụ Salon, Spa │
│ │ │
│ ├── KIOSK Các điểm nhỏ không người bánKiosk trong TTTM│
│ │ │
│ ├── DI ĐỘNG Bán hàng di động Xe tải thực phẩm│
│ │ │
│ └── POPUP Các địa điểm tạm thời Gian hàng sự kiện│
│ │
└─────────────────────────────────────────────────────────────────┘Các loại Merchant (Các loại Điểm bán)
Các loại merchant định nghĩa cách các giao dịch được xử lý tại mỗi điểm bán:
| Loại | Tiếng Việt | Mô tả | Tính năng |
|---|---|---|---|
| Counter | Quầy thu ngân | Điểm thanh toán cố định | Máy in, ngăn kéo tiền, máy quét |
| Table | Phục vụ bàn | Dịch vụ bàn cho F&B | Ghi order, theo dõi bàn |
| Mobile | Di động | Merchant cầm tay/máy tính bảng | Di động, không dây |
| Self-service | Tự phục vụ | Khách hàng tự vận hành | Kiosk, tự thanh toán |
| Drive-thru | Mua mang đi | Làn dịch vụ cho xe | Dịch vụ nhanh, loa |
Các trường hợp sử dụng Sub-Merchant
Các sub-merchant cho phép phân chia POS linh hoạt trong một merchant:
┌─────────────────────────────────────────────────────────────────┐
│ VÍ DỤ SUB-MERCHANT │
├─────────────────────────────────────────────────────────────────┤
│ │
│ MERCHANT SUB-MERCHANTS │
│ ───────────────────────────────────────────────────────────── │
│ │ │
│ ├── Quầy (Quầy chính) ├── Sub 1: Làn Thu ngân 1 │
│ │ ├── Sub 2: Làn Thu ngân 2 │
│ │ └── Sub 3: Làn Thu ngân 3 │
│ │ │
│ ├── Dịch vụ Bàn ├── Sub 1: Bàn Tầng 1 │
│ │ └── Sub 2: Bàn Tầng 2 │
│ │ │
│ └── Di động ├── Sub 1: Thiết bị Phục vụ A │
│ └── Sub 2: Thiết bị Phục vụ B │
│ │
└─────────────────────────────────────────────────────────────────┘Các Luồng chính
Luồng Tạo Cửa hàng (Tổ chức con)
Luồng Tạo Merchant
Luồng Tạo Sub-Merchant
Luồng Đồng bộ VNPAY MO
Luồng Gán Cửa hàng cho Nhân viên
Quy tắc Nghiệp vụ
Quy tắc Cửa hàng (Tổ chức có Cha)
| ID Quy tắc | Quy tắc | Mô tả |
|---|---|---|
| BR-STR-01 | Một cửa hàng mặc định | Mỗi tổ chức cấp cao nhất có đúng một cửa hàng mặc định |
| BR-STR-02 | Cửa hàng là tổ chức con | Cửa hàng được triển khai như Tổ chức có tham chiếu cha |
| BR-STR-03 | Tên cửa hàng duy nhất | Tên cửa hàng phải là duy nhất trong tổ chức cha |
| BR-STR-04 | Yêu cầu địa chỉ | Các cửa hàng thực tế phải có địa chỉ hợp lệ |
| BR-STR-05 | Giờ hoạt động | Giờ phải là các khoảng thời gian hợp lệ |
| BR-STR-06 | Ưu tiên đồng bộ MO | Dữ liệu MO được ưu tiên khi có xung đột đồng bộ |
Quy tắc Merchant (Điểm bán)
| ID Quy tắc | Quy tắc | Mô tả |
|---|---|---|
| BR-MER-01 | Merchant thuộc cửa hàng | Mỗi merchant phải thuộc về đúng một cửa hàng |
| BR-MER-02 | Tên merchant duy nhất | Tên merchant phải là duy nhất trong cửa hàng |
| BR-MER-03 | Một merchant mặc định | Mỗi cửa hàng có đúng một merchant mặc định |
| BR-MER-04 | Yêu cầu merchant hoạt động | Cửa hàng phải có ít nhất một merchant hoạt động |
| BR-MER-05 | Vô hiệu hóa theo tầng | Vô hiệu hóa cửa hàng sẽ vô hiệu hóa tất cả các merchant của nó |
| BR-MER-06 | Chỉ xóa mềm | Các merchant chỉ có thể bị vô hiệu hóa, không bị xóa |
| BR-MER-07 | MO cho mỗi merchant | Mỗi merchant có thể có MO riêng để thanh toán |
Quy tắc Sub-Merchant
| ID Quy tắc | Quy tắc | Mô tả |
|---|---|---|
| BR-SUB-01 | Sub thuộc merchant | Sub-merchant phải thuộc về đúng một merchant |
| BR-SUB-02 | Tên sub duy nhất | Tên sub-merchant phải là duy nhất trong merchant |
| BR-SUB-03 | Tạo động | Các sub-merchant có thể được tạo một cách linh hoạt |
| BR-SUB-04 | Kế thừa cài đặt | Các sub-merchant kế thừa cài đặt của merchant cha theo mặc định |
| BR-SUB-05 | Cho phép ghi đè | Các sub-merchant có thể ghi đè các cài đặt được kế thừa |
| BR-SUB-06 | Vô hiệu hóa theo tầng | Vô hiệu hóa merchant sẽ vô hiệu hóa tất cả các sub-merchant |
Quy tắc Gán Nhân viên
| ID Quy tắc | Quy tắc | Mô tả |
|---|---|---|
| BR-ASN-01 | Gán nhân viên | Nhân viên phải được gán vào ít nhất một cửa hàng |
| BR-ASN-02 | Truy cập merchant | Nhân viên có thể được gán vào các merchant cụ thể trong cửa hàng |
| BR-ASN-03 | Truy cập sub-merchant | Nhân viên được gán vào merchant có thể truy cập tất cả các sub-merchant của nó |
Tiêu chí Chấp nhận
Tiêu chí Chấp nhận Cửa hàng
AC-STR-01: Tạo Cửa hàng
CHO một chủ sở hữu có một tổ chức đã được kích hoạt
KHI họ tạo một cửa hàng mới
THÌ - Tên cửa hàng được xác thực (không trống, duy nhất)
- Địa chỉ được xác thực (các trường bắt buộc)
- Cửa hàng được tạo như Tổ chức có cha
- Merchant mặc định được tạo tự động
- Cửa hàng xuất hiện trong danh sách cửa hàngAC-STR-02: Đồng bộ Cửa hàng VNPAY MO
CHO các cửa hàng đã được duyệt trong VNPAY MO
KHI operator kích hoạt đồng bộ
THÌ - Các cửa hàng mới được tạo như các tổ chức con
- Các cửa hàng hiện có được cập nhật
- Các merchant được tạo như đã định nghĩa trong MO
- Trạng thái đồng bộ hiển thị thành công/thất bại
- Các xung đột được ghi lại và báo cáoAC-STR-03: Vô hiệu hóa Cửa hàng
CHO một cửa hàng đang hoạt động có các merchant và giao dịch
KHI chủ sở hữu vô hiệu hóa cửa hàng
THÌ - Trạng thái cửa hàng thay đổi thành INACTIVE
- Tất cả các merchant bị vô hiệu hóa
- Tất cả các sub-merchant bị vô hiệu hóa
- Dữ liệu lịch sử được bảo toàn
- Nhân viên mất quyền truy cập vào cửa hàng này
- Cửa hàng có thể được kích hoạt lại sau nàyTiêu chí Chấp nhận Merchant
AC-MER-01: Tạo Merchant
CHO một cửa hàng có ít nhất một merchant
KHI chủ sở hữu tạo một merchant mới
THÌ - Tên merchant được xác thực (không trống, duy nhất trong cửa hàng)
- Loại merchant có thể được chọn
- Merchant được liên kết với cửa hàng
- Các thiết bị có thể được gán
- Merchant xuất hiện trong danh sách merchantAC-MER-02: Cấu hình Merchant
CHO một merchant hiện có
KHI chủ sở hữu cấu hình cài đặt merchant
THÌ - Loại merchant quyết định các tùy chọn có sẵn
- Các thiết bị có thể được liên kết/hủy liên kết
- Kho mặc định có thể được đặt
- Cài đặt hóa đơn có thể được tùy chỉnh
- Các thay đổi có hiệu lực ngay lập tứcAC-MER-03: Đăng ký MO cho Merchant
CHO một merchant cần khả năng thanh toán
KHI operator liên kết MO với merchant
THÌ - Tham chiếu MO được liên kết với merchant
- Các phương thức thanh toán được kích hoạt
- Merchant có thể xử lý thanh toán
- Chi tiết MO được ghi lạiTiêu chí Chấp nhận Sub-Merchant
AC-SUB-01: Tạo Sub-Merchant
CHO một merchant
KHI chủ sở hữu tạo một sub-merchant
THÌ - Tên sub-merchant được xác thực (duy nhất trong merchant)
- Sub-merchant kế thừa cài đặt của cha
- Sub-merchant có thể ghi đè cài đặt
- Sub-merchant xuất hiện trong danh sách sub-merchantAC-SUB-02: Thêm Sub-Merchant Động
CHO một merchant đang hoạt động
KHI chủ sở hữu thêm các sub-merchant một cách linh hoạt
THÌ - Có thể tạo nhiều sub-merchant
- Mỗi sub-merchant có thể được cấu hình độc lập
- Các giao dịch được theo dõi cho mỗi sub-merchant
- Các sub-merchant có thể được vô hiệu hóa riêng lẻTiêu chí Gán Nhân viên
AC-ASN-01: Truy cập Cửa hàng của Nhân viên
CHO một nhân viên được gán vào Cửa hàng A
KHI họ cố gắng đăng nhập
THÌ - Cửa hàng A xuất hiện trong danh sách cửa hàng của họ
- Cửa hàng B (không được gán) không hiển thị
- Họ có thể truy cập các merchant của Cửa hàng A
- Các giao dịch được ghi lại dưới Cửa hàng AAC-ASN-02: Truy cập Merchant của Nhân viên
CHO một nhân viên được gán vào Merchant 1 trong Cửa hàng A
KHI họ đăng nhập vào Cửa hàng A
THÌ - Chỉ Merchant 1 có thể truy cập
- Merchant 2 (không được gán) không hiển thị
- Tất cả các sub-merchant dưới Merchant 1 đều có thể truy cập
- Các giao dịch được ghi lại dưới Merchant 1Phụ thuộc
Merchant (Điểm bán)
├── Yêu cầu: Tổ chức (cho Cửa hàng), Quản lý Người dùng
├── Yêu cầu bởi: Thiết bị, Sản phẩm, Tồn kho, Đơn hàng, Báo cáo
└── Tích hợp: VNPAY MO| Module | Mối quan hệ |
|---|---|
| Tổ chức | Cửa hàng = Tổ chức có cha; Merchant thuộc về Cửa hàng |
| Quản lý Người dùng | Nhân viên được gán vào Cửa hàng/Merchants |
| Phân quyền | Quyền cấp Cửa hàng và Merchant |
| Thiết bị | Các thiết bị được liên kết với Merchant/Sub-Merchant |
| Sản phẩm | Các sản phẩm có sẵn cho mỗi Cửa hàng |
| Tồn kho | Tồn kho được theo dõi cho mỗi Cửa hàng, lấy theo Merchant |
| Đơn hàng | Các đơn hàng được ghi lại cho mỗi Merchant/Sub-Merchant |
| Báo cáo | Báo cáo được lọc theo Cửa hàng/Merchant |
Điểm Tích hợp
VNPAY Management Office (MO)
┌─────────────────────────────────────────────────────────┐
│ TÍCH HỢP MERCHANT VNPAY MO │
├─────────────────────────────────────────────────────────┤
│ │
│ Hướng: Đồng bộ thủ công bởi Operator │
│ │
│ Dữ liệu Đồng bộ: │
│ ├── Danh sách và chi tiết cửa hàng/điểm bán │
│ ├── Địa chỉ điểm bán │
│ ├── Các phương thức thanh toán được duyệt cho mỗi merchant│
│ ├── Gán terminal cho merchant │
│ └── Trạng thái hoạt động │
│ │
│ Đăng ký MO: │
│ ├── Một MO cho mỗi Merchant (để có khả năng thanh toán) │
│ ├── Chủ sở hữu có thể yêu cầu nhiều MO │
│ └── Mỗi MO được liên kết với Merchant cụ thể bởi Operator│
│ │
│ Giải quyết Xung đột: │
│ ├── Dữ liệu MO được ưu tiên cho các trường được đồng bộ │
│ ├── Các cài đặt cục bộ được bảo toàn (các trường không thuộc MO)│
│ └── Các xung đột được ghi lại để xem xét │
│ │
└─────────────────────────────────────────────────────────┘Mối quan hệ Phân cấp
┌─────────────────────────────────────────────────────────┐
│ MỐI QUAN HỆ THỰC THỂ │
├─────────────────────────────────────────────────────────┤
│ │
│ Tổ chức (Cấp cao nhất) │
│ └── Cửa hàng (Tổ chức có cha) │
│ └── Merchant (Điểm bán) │
│ └── Sub-Merchant (Điểm bán con) │
│ │
│ Các điểm chính: │
│ ├── Cửa hàng sử dụng cùng một thực thể Tổ chức (có cha)│
│ ├── Merchant là một thực thể riêng cho các giao dịch │
│ ├── Sub-Merchant cho phép phân chia POS linh hoạt │
│ └── Các giao dịch có thể xảy ra tại Merchant hoặc Sub-Merchant│
│ │
│ Triển khai: │
│ ├── Organization.parentId = null → Tổ chức Cấp cao nhất│
│ ├── Organization.parentId != null → Cửa hàng │
│ ├── Merchant.storeId → liên kết với Cửa hàng │
│ └── SubMerchant.merchantId → liên kết với Merchant │
│ │
└─────────────────────────────────────────────────────────┘Ảnh chụp màn hình
Ảnh chụp màn hình
Ảnh chụp màn hình sẽ được thêm sau khi triển khai giao diện người dùng.
Các Module Liên quan
- Tổ chức - Thực thể kinh doanh cha (Cửa hàng = Tổ chức có cha)
- Quản lý Người dùng - Tài khoản nhân viên
- Phân quyền - Kiểm soát truy cập cấp Cửa hàng/Merchant
- Thiết bị - Phần cứng của Merchant
- Tồn kho - Tồn kho cụ thể của cửa hàng
- Báo cáo - Báo cáo hiệu suất Cửa hàng/Merchant