Skip to content

UC_Bán Hàng POS

Giới thiệu & tài liệu liên quan

Đặc tả Use Case cho 3 nghiệp vụ chính của module Bán Hàng POS (OW-01). Xem thêm Tổng quan module · SRS · UI.


UC1 — Tạo đơn giỏ hàng chung & thanh toán

MụcNội dung
Use Case IDUC_OW01_CART_001
Use Case NameTạo đơn giỏ hàng chung & thanh toán
Use Case DescriptionThu ngân dựng một đơn duy nhất gộp Đặt sân, FNB, Thuê dụng cụ và Bán dụng cụ vào cùng một giỏ; gắn khách, áp ưu đãi rồi thanh toán một lần. Sau khi thanh toán, hệ thống tạo booking, trừ kho và in hoá đơn.
System Under DesignPOS Client · Sale Server
Primary ActorThu ngân
Supporting/External ActorQuản lý ca · Module Đặt sân · Module Kho · Module Khách hàng & CRM
PriorityHIGH
TriggerThu ngân thêm dịch vụ đầu tiên (sân / FNB / dụng cụ) vào giỏ trên màn bán hàng
Pre-ConditionThu ngân đã đăng nhập và đang trong một ca đã mở
Post-ConditionĐơn chuyển trạng thái đã thanh toán; booking được tạo, kho được trừ, hoá đơn được in, giỏ làm trống sẵn sàng đơn mới

Sơ đồ luồng — Basic Flow & ngoại lệ

Basic Flow

Basic Flow

BướcActorMô tả hành động
1Thu ngânTại Tab Đặt Sân, chọn slot trống trên lịch và thêm sân vào giỏ
2Thu ngânChuyển Tab FNB / Thuê / Bán dụng cụ, tap [+] thêm các món vào cùng giỏ
3Sale ServerKiểm tra tồn kho realtime cho FNB/dụng cụ, cộng món vào giỏ chung
4Thu ngânGắn khách (khách lẻ hoặc tìm member theo SĐT), áp voucher / điểm nếu có
5Thu ngânNhấn [THANH TOÁN]
6Thu ngânChọn hình thức (tiền mặt / QR VNPAY / thẻ / hỗn hợp) và xác nhận
7Sale ServerKhoá giá, tạo booking CONFIRMED, trừ kho, ghi đơn PAID
8POS ClientIn hoá đơn, làm trống giỏ, sẵn sàng đơn mới

Alternative Flow

Alternative Flow

TTLiên quan bướcMô tả
1AF_4A.14Khách chưa có hồ sơ → Thu ngân tạo khách mới ngay tại quầy bằng SĐT rồi tiếp tục
2AF_6A.16Thanh toán hỗn hợp → Thu ngân chia số tiền theo nhiều hình thức cho tới khi đủ tổng đơn
3AF_6B.16Thanh toán tiền mặt → hệ thống hiển thị tiền khách đưa và tính tiền thừa

Exception Flow

Exception Flow

TTLiên quan bướcMô tả
1EF_2.12Món FNB/dụng cụ hết hàng → hệ thống báo hết hàng và không cho thêm vào giỏ
2EF_5.15Giỏ rỗng khi nhấn thanh toán → hệ thống chặn và yêu cầu thêm ít nhất một món
3EF_7.17Slot sân vừa bị đặt bởi giao dịch khác → hệ thống báo xung đột và yêu cầu chọn lại slot

Business Rules

Business Rules

TTQuy tắc nghiệp vụ
1BR1Một đơn gộp được nhiều loại dịch vụ (sân · FNB · thuê · bán) trong cùng một giỏ và thanh toán một lần
2BR2Chỉ thêm/sửa/xoá món khi đơn còn ở trạng thái nháp; sau thanh toán đơn bị khoá
3BR3Giá được khoá tại thời điểm thanh toán, không trôi sau đó
4BR4Booking chỉ được tạo CONFIRMED sau khi đơn thanh toán thành công
5BR5Kho FNB/dụng cụ chỉ bị trừ sau khi đơn thanh toán thành công

UC2 — Mở / Kết ca & đối soát tiền mặt

MụcNội dung
Use Case IDUC_OW01_SHIFT_002
Use Case NameMở / Kết ca & đối soát tiền mặt
Use Case DescriptionThu ngân mở ca với quỹ đầu ca trên một thiết bị, bán hàng trong ca, rồi kết ca bằng việc đếm tiền thực tế; hệ thống so tiền kỳ vọng với tiền đếm, ghi chênh lệch và sinh báo cáo ca.
System Under DesignPOS Client · Sale Server
Primary ActorThu ngân
Supporting/External ActorQuản lý ca · Chủ sân
PriorityHIGH
TriggerThu ngân nhấn [Mở ca] đầu giờ hoặc [Kết ca] cuối giờ
Pre-ConditionNgười dùng đã đăng nhập; thiết bị chưa có ca đang mở (khi mở ca)
Post-ConditionCa ở trạng thái đang mở (sau mở ca) hoặc đã đóng kèm báo cáo và chênh lệch (sau kết ca)

Sơ đồ luồng — Basic Flow & ngoại lệ

Basic Flow

Basic Flow

BướcActorMô tả hành động
1Thu ngânNhấn [Mở ca], nhập quỹ đầu ca (tiền mặt khởi điểm)
2Sale ServerTạo ca đang mở, gắn nhân viên & thiết bị, hiển thị badge ca trên header
3Thu ngânBán hàng trong suốt ca; mọi đơn được gắn vào ca
4Thu ngânCuối giờ nhấn [Kết ca]
5Thu ngânĐếm và nhập số tiền mặt thực tế trong két
6Sale ServerTính tiền kỳ vọng (quỹ đầu + bán tiền mặt − chi) và so với thực đếm
7Sale ServerGhi chênh lệch, sinh báo cáo ca, đóng ca

Alternative Flow

Alternative Flow

TTLiên quan bướcMô tả
1AF_3A.13Nhiều nhân viên cùng tham gia một ca → mỗi đơn gắn đúng nhân viên thao tác
2AF_6A.16Chênh lệch khác 0 → hệ thống bắt buộc nhập ghi chú lý do trước khi đóng ca
3AF_3B.13Quản lý ca sinh báo cáo tạm thời giữa ca để theo dõi mà không đóng ca

Exception Flow

Exception Flow

TTLiên quan bướcMô tả
1EF_1.11Thiết bị đã có ca đang mở → hệ thống chặn mở ca thứ hai, đề nghị tiếp tục ca hiện tại
2EF_4.14Còn đơn tạm tính chưa xử lý → hệ thống cảnh báo cần hoàn tất hoặc huỷ trước khi kết ca

Business Rules

Business Rules

TTQuy tắc nghiệp vụ
1BR6Mỗi thiết bị chỉ có tối đa một ca đang mở tại một thời điểm
2BR7Quỹ đầu ca bị khoá sau khi ca đã mở
3BR8Tiền kỳ vọng = quỹ đầu ca + bán tiền mặt − chi; chênh lệch = thực đếm − kỳ vọng
4BR9Đóng ca với chênh lệch khác 0 bắt buộc nhập ghi chú lý do
5BR10Mỗi ca chỉ sinh đúng một báo cáo đóng ca cuối cùng

UC3 — Đơn tạm tính (Park Order)

MụcNội dung
Use Case IDUC_OW01_PARK_003
Use Case NameĐơn tạm tính (Park Order)
Use Case DescriptionThu ngân lưu một đơn đang dở ở trạng thái "Chờ thanh toán" để phục vụ khách khác, sau đó mở lại đơn để khôi phục giỏ đầy đủ và hoàn tất thanh toán.
System Under DesignPOS Client · Sale Server
Primary ActorThu ngân
Supporting/External ActorQuản lý ca
PriorityMEDIUM
TriggerThu ngân nhấn [Tạm tính] trên một đơn đang dở
Pre-ConditionGiỏ đang có ít nhất một món; Thu ngân đang trong một ca đã mở
Post-ConditionĐơn được lưu trạng thái "Chờ thanh toán"; giỏ làm trống để phục vụ khách khác

Sơ đồ luồng — Basic Flow & ngoại lệ

Basic Flow

Basic Flow

BướcActorMô tả hành động
1Thu ngânĐang dở đơn khách A, nhấn [Tạm tính]
2Sale ServerLưu đơn ở trạng thái "Chờ thanh toán", làm trống giỏ
3Thu ngânPhục vụ khách B trên giỏ mới
4Thu ngânVào [Đơn hàng] → tab Tạm tính → nhấn [Mở lại đơn] A
5Sale ServerKhôi phục giỏ đầy đủ (sân · FNB · khách hàng đã gắn)
6Thu ngânThêm / bớt món rồi nhấn [THANH TOÁN] hoàn tất

Alternative Flow

Alternative Flow

TTLiên quan bướcMô tả
1AF_4A.14Thu ngân huỷ đơn tạm tính không còn cần → đơn chuyển trạng thái đã huỷ kèm lý do
2AF_5A.15Mở lại nhiều đơn tạm tính khác nhau trong cùng ca để xử lý lần lượt

Exception Flow

Exception Flow

TTLiên quan bướcMô tả
1EF_1.11Giỏ rỗng khi nhấn tạm tính → hệ thống không cho tạm tính đơn rỗng
2EF_5.15Slot sân trong đơn tạm tính đã bị đặt bởi đơn khác → hệ thống cảnh báo xung đột, yêu cầu chọn lại sân

Business Rules

Business Rules

TTQuy tắc nghiệp vụ
1BR11Đơn tạm tính giữ nguyên toàn bộ món, khách và ưu đãi cho tới khi mở lại
2BR12Đơn tạm tính thuộc về ca tạo ra nó; cần được hoàn tất hoặc huỷ trước khi kết ca
3BR13Slot sân trong đơn tạm tính chỉ được xác nhận khi đơn thanh toán, nên có thể bị đơn khác giành trước

Non-Functional Requirements

Non-Functional Requirements

TTLoạiYêu cầu
1Khả dụngThao tác thêm món, thanh toán, mở/kết ca phản hồi tức thì; Court Status Bar và tồn kho cập nhật realtime
2Phân quyềnThao tác giới hạn theo vai trò (Thu ngân / Quản lý ca / Chủ sân); override đối soát ca chỉ dành cho Chủ sân
3Truy vếtMọi đơn được gắn vào ca và nhân viên thao tác; mở/kết ca và chênh lệch đều được ghi nhật ký
4Toàn vẹnGiá khoá tại thanh toán; booking và trừ kho chỉ xảy ra sau khi thanh toán thành công

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