Skip to content

SRS_Bán Hàng POS

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

Đặc tả yêu cầu phần mềm cho module Bán Hàng POS (OW-01). Xem thêm Tổng quan module · UC · UI.

1/ Luồng Sequence

2/ Luồng di chuyển màn hình

3/ Đặc tả chi tiết theo màn hình

MH1: Màn bán hàng (giỏ chung)

Mô tả màn hình: Màn chính của POS gồm 4 tab dịch vụ (Đặt Sân / FNB / Thuê dụng cụ / Bán dụng cụ), giỏ hàng chung bên phải, Court Status Bar trạng thái sân realtime và header hiển thị badge ca.

Sự kiện 1 — Thêm món vào giỏ chung

STTTác nhânMô tả
1Thu ngânChọn tab dịch vụ, tap [+] thêm FNB / thuê / bán dụng cụ
2Sale ServerKiểm tra tồn kho realtime
3Sale ServerHợp lệ: Cộng món vào giỏ chung, phân nhóm theo loại dịch vụ

Không hợp lệ — Sự kiện 1

STTTrường hợpThông báoVị trí · LoạiXử lý
1Món hết hàng"Sản phẩm đã hết hàng."Trên thẻ món · cảnh báoKhông thêm vào giỏ, mờ nút [+]
2Chưa mở ca"Vui lòng mở ca trước khi bán hàng."Toàn màn hình · cảnh báoChặn thao tác, mở MH4

Sự kiện 2 — Gắn khách & áp ưu đãi

STTTác nhânMô tả
1Thu ngânTìm member theo SĐT hoặc tạo khách mới tại quầy
2Thu ngânÁp voucher / điểm cho đơn
3Sale ServerHợp lệ: Cập nhật tổng đơn sau ưu đãi

Không hợp lệ — Sự kiện 2

STTTrường hợpThông báoVị trí · LoạiXử lý
1Voucher hết hạn / không đủ điều kiện"Voucher không áp dụng được cho đơn này."Dưới ô voucher · lỗiKhông áp ưu đãi
2Điểm không đủ"Số điểm không đủ để quy đổi."Dưới ô điểm · lỗiGiữ nguyên tổng đơn

MH2: Tab Đặt Sân (lịch + form)

Mô tả màn hình: Lịch Gantt theo sân/khung giờ ngay trong POS; click slot trống mở form đặt (sân, khung giờ, ngày), hỗ trợ đặt theo ngày, đặt cố định và đặt sự kiện.

Sự kiện 1 — Chọn slot & thêm sân vào giỏ

STTTác nhânMô tả
1Thu ngânClick slot trống trên Gantt (ví dụ Sân 2 · 15-17h)
2Sale ServerLấy giá theo loại sân / khung giờ / ngày
3Thu ngânXác nhận, thêm sân vào giỏ chung (có thể [+ Thêm sân])

Không hợp lệ — Sự kiện 1

STTTrường hợpThông báoVị trí · LoạiXử lý
1Slot đã bị đặt / sân đang bảo trì"Khung giờ này không còn trống."Trên slot · cảnh báoKhông cho chọn, đề nghị slot khác
2Khung giờ đặt cố định trùng booking khác"Có xung đột lịch trong khoảng đặt cố định."Hộp thoại · cảnh báoLiệt kê slot xung đột, cho chọn lại

MH3: Modal thanh toán

Mô tả màn hình: Hộp thoại tổng kết đơn và chọn hình thức thanh toán: tiền mặt (tính tiền thừa), QR VNPAY, thẻ, hỗn hợp; hỗ trợ chia hoá đơn.

Sự kiện 1 — Chọn hình thức & xác nhận thanh toán

STTTác nhânMô tả
1Thu ngânChọn hình thức thanh toán, nhập số tiền (tiền mặt / hỗn hợp)
2Thu ngânXác nhận thanh toán
3Sale ServerHợp lệ: Khoá giá, ghi đơn PAID, tạo booking, trừ kho, in hoá đơn

Không hợp lệ — Sự kiện 1

STTTrường hợpThông báoVị trí · LoạiXử lý
1Giỏ rỗng"Giỏ hàng trống, không thể thanh toán."Hộp thoại · lỗiChặn thanh toán
2Tiền nhận chưa đủ tổng đơn"Số tiền thanh toán chưa đủ."Dưới ô số tiền · lỗiChặn xác nhận
3Slot sân vừa bị giành trước"Sân vừa được đặt bởi giao dịch khác."Hộp thoại · cảnh báoYêu cầu chọn lại slot trước khi thanh toán

MH4: Mở / Kết ca & đối soát

Mô tả màn hình: Màn mở ca (nhập quỹ đầu ca) và kết ca (đếm tiền thực tế, so với tiền kỳ vọng, hiển thị chênh lệch và ô ghi chú lý do); kèm báo cáo ca.

Sự kiện 1 — Mở ca

STTTác nhânMô tả
1Thu ngânNhập quỹ đầu ca, nhấn [Mở ca]
2Sale ServerHợp lệ: Tạo ca đang mở, gắn nhân viên & thiết bị, hiển thị badge ca

Không hợp lệ — Sự kiện 1

STTTrường hợpThông báoVị trí · LoạiXử lý
1Thiết bị đã có ca đang mở"Thiết bị đang có ca mở, không thể mở ca mới."Hộp thoại · cảnh báoChặn mở ca, đề nghị tiếp tục ca hiện tại

Sự kiện 2 — Kết ca & đối soát

STTTác nhânMô tả
1Thu ngânNhấn [Kết ca], đếm và nhập tiền mặt thực tế
2Sale ServerTính tiền kỳ vọng và chênh lệch
3Sale ServerHợp lệ: Sinh báo cáo ca, đóng ca

Không hợp lệ — Sự kiện 2

STTTrường hợpThông báoVị trí · LoạiXử lý
1Chênh lệch khác 0, chưa ghi chú"Vui lòng nhập lý do chênh lệch trước khi đóng ca."Dưới ô ghi chú · lỗiChặn đóng ca
2Còn đơn tạm tính chưa xử lý"Còn N đơn tạm tính, hãy hoàn tất hoặc huỷ."Hộp thoại · cảnh báoChặn kết ca, liệt kê đơn tạm tính

MH5: Danh sách đơn & Tạm tính

Mô tả màn hình: Danh sách đơn của ca với tab Tạm tính ("Chờ thanh toán"); cho mở lại đơn tạm tính để khôi phục giỏ, hoặc in lại hoá đơn đã thanh toán.

Sự kiện 1 — Mở lại đơn tạm tính

STTTác nhânMô tả
1Thu ngânVào tab Tạm tính, nhấn [Mở lại đơn]
2Sale ServerHợp lệ: Khôi phục giỏ đầy đủ (sân · FNB · khách hàng) về MH1

Không hợp lệ — Sự kiện 1

STTTrường hợpThông báoVị trí · LoạiXử lý
1Slot sân trong đơn đã bị giành"Sân trong đơn đã bị đặt, vui lòng chọn lại."Trên dòng sân · cảnh báoGiữ giỏ, đánh dấu sân cần chọn lại
2Đang dở một đơn khác trong giỏ"Hãy tạm tính hoặc hoàn tất đơn hiện tại trước."Hộp thoại · cảnh báoChặn mở lại

4/ Trường hợp đặc biệt

Case đặc biệt cần xử lý

  • Case: Đa nhân viên trong một ca. Nhiề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 để báo cáo ca phản ánh chính xác.
  • Case: Thanh toán hỗn hợp. Một đơn chia tiền theo nhiều hình thức (tiền mặt + QR + thẻ) cho tới khi đủ tổng đơn; tiền mặt được tính tiền thừa.
  • Case: In lại hoá đơn. Đơn đã thanh toán có thể in lại receipt từ danh sách đơn của ca mà không thay đổi trạng thái.
  • Case: Booking & kho không hồi tố. Booking chỉ CONFIRMED và kho chỉ bị trừ sau thanh toán thành công; huỷ đơn sau đó tuân theo chính sách hoàn/huỷ riêng.

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