UC_Bảng giá
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ảng giá (OW-03). Xem thêm Tổng quan module · SRS · UI.
UC1 — Cấu hình bảng giá sân theo loại sân
| Mục | Nội dung |
|---|---|
| Use Case ID | UC_OW03_PRICE_001 |
| Use Case Name | Cấu hình bảng giá sân (mặc định & khuyến mãi) |
| Use Case Description | Chủ sân thiết lập bảng giá theo loại sân (Trong nhà / Ngoài trời) gồm giá mặc định (Thứ · Khung giờ · Giá, peak/off-peak) và giá khuyến mãi theo khoảng ngày, áp cho một hoặc nhiều sân được chọn; xem trước trước khi lưu; thay đổi không hồi tố booking đã chốt. |
| System Under Design | Pricing Client · Pricing Server |
| Primary Actor | Chủ sân |
| Supporting/External Actor | Quản lý ca · App khách hàng |
| Priority | HIGH |
| Trigger | Chủ sân mở [Bảng giá] và chọn tab loại sân cần cấu hình |
| Pre-Condition | Đã tồn tại chi nhánh và sân để áp giá; người dùng có quyền cấu hình giá |
| Post-Condition | Bảng giá được lưu và áp cho booking tạo mới; giá cũ được lưu lại làm lịch sử |
Sơ đồ luồng — Basic Flow & ngoại lệ
Basic Flow
Basic Flow
| Bước | Actor | Mô tả hành động |
|---|---|---|
| 1 | Chủ sân | Mở [Bảng giá], chọn tab loại sân (Trong nhà / Ngoài trời) |
| 2 | Chủ sân | Chọn sân áp dụng (tick nhiều sân hoặc Chọn tất cả) |
| 3 | Chủ sân | Nhấn [+ Thêm khung giờ], nhập Thứ + Khung giờ + Giá (peak / off-peak) |
| 4 | Pricing Client | Hiển thị xem trước (preview) bảng giá đầy đủ |
| 5 | Chủ sân | Nhấn [Lưu cấu hình] |
| 6 | Pricing Server | Kiểm tra hợp lệ, lưu giá mới, snapshot giá cũ vào lịch sử, ghi nhật ký thay đổi |
| 7 | Pricing Server | Đồng bộ giá mới cho POS, lịch đặt sân và app khách hàng; áp cho booking tạo mới |
Alternative Flow
Alternative Flow
| TT | Mã | Liên quan bước | Mô tả |
|---|---|---|---|
| 1 | AF_3A.1 | 3 | Chủ sân thêm giá khuyến mãi theo khoảng ngày → giá này đè giá mặc định trong khoảng ngày / khung giờ trùng |
| 2 | AF_2A.1 | 2 | Chủ sân chọn Chọn tất cả để áp cùng một cấu hình cho mọi sân cùng loại trong một thao tác |
Exception Flow
Exception Flow
| TT | Mã | Liên quan bước | Mô tả |
|---|---|---|---|
| 1 | EF_5.1 | 5 | Hai khung giờ trùng/chồng lấn trong cùng loại sân → hệ thống báo lỗi và yêu cầu chỉnh lại |
| 2 | EF_5.2 | 5 | Giá để trống hoặc nhỏ hơn 0 → hệ thống báo lỗi giá không hợp lệ |
| 3 | EF_2.1 | 2 | Chưa chọn sân áp dụng nào → hệ thống cảnh báo cần chọn ít nhất một sân |
Business Rules
Business Rules
| TT | Mã | Quy tắc nghiệp vụ |
|---|---|---|
| 1 | BR1 | Bảng giá được nhóm theo loại sân (Trong nhà / Ngoài trời), cấu hình riêng cho từng loại |
| 2 | BR2 | Giá khuyến mãi đè giá mặc định trong khoảng ngày & khung giờ trùng |
| 3 | BR3 | Thay đổi bảng giá không hồi tố các booking đã chốt trước đó |
| 4 | BR4 | Mỗi lần đổi giá đều lưu snapshot giá cũ và ghi nhật ký (ai · khi nào · cũ/mới) |
| 5 | BR5 | Một cấu hình giá có thể áp cho nhiều sân cùng loại trong một thao tác |
UC2 — Đặt giá sản phẩm (FNB / thuê / bán dụng cụ)
| Mục | Nội dung |
|---|---|
| Use Case ID | UC_OW03_PRICE_002 |
| Use Case Name | Đặt giá sản phẩm |
| Use Case Description | Chủ sân đặt giá cho sản phẩm FNB (đồ ăn/uống), giá thuê dụng cụ (theo giờ/lượt) và giá bán dụng cụ; giá này được POS lấy để tính tiền trực tiếp trong giỏ. |
| System Under Design | Pricing Client · Pricing Server |
| Primary Actor | Chủ sân |
| Supporting/External Actor | Quản lý ca · Module Bán hàng POS |
| Priority | MEDIUM |
| Trigger | Chủ sân mở mục Giá sản phẩm và chọn một sản phẩm để đặt giá |
| Pre-Condition | Sản phẩm đã tồn tại trong danh mục; người dùng có quyền cấu hình giá |
| Post-Condition | Giá sản phẩm được lưu và sẵn sàng cho POS lấy khi tạo đơn |
Sơ đồ luồng — Basic Flow & ngoại lệ
Basic Flow
Basic Flow
| Bước | Actor | Mô tả hành động |
|---|---|---|
| 1 | Chủ sân | Mở mục Giá sản phẩm |
| 2 | Chủ sân | Chọn sản phẩm cần đặt giá (FNB / thuê / bán dụng cụ) |
| 3 | Chủ sân | Nhập giá theo loại: giá bán theo đơn vị, giá thuê theo giờ / lượt |
| 4 | Chủ sân | Nhấn [Lưu] |
| 5 | Pricing Server | Kiểm tra hợp lệ, lưu giá sản phẩm, ghi nhật ký thay đổi |
| 6 | Pricing Server | Cập nhật giá để POS lấy khi tạo đơn |
Alternative Flow
Alternative Flow
| TT | Mã | Liên quan bước | Mô tả |
|---|---|---|---|
| 1 | AF_3A.1 | 3 | Dụng cụ vừa cho thuê vừa bán → Chủ sân nhập đồng thời giá thuê (theo giờ/lượt) và giá bán |
Exception Flow
Exception Flow
| TT | Mã | Liên quan bước | Mô tả |
|---|---|---|---|
| 1 | EF_4.1 | 4 | Giá để trống hoặc nhỏ hơn 0 → hệ thống báo lỗi giá không hợp lệ |
Business Rules
Business Rules
| TT | Mã | Quy tắc nghiệp vụ |
|---|---|---|
| 1 | BR6 | Mỗi sản phẩm có giá hiệu lực để POS tiêu thụ; giá phải lớn hơn 0 |
| 2 | BR7 | Dụng cụ có thể có cả giá thuê (theo giờ/lượt) và giá bán theo đơn vị |
| 3 | BR8 | Thay đổi giá sản phẩm được ghi nhật ký để truy vết |
UC3 — Giải giá khi đặt sân tại POS
| Mục | Nội dung |
|---|---|
| Use Case ID | UC_OW03_PRICE_003 |
| Use Case Name | Giải giá khi đặt sân tại POS |
| Use Case Description | Khi Thu ngân chọn sân, khung giờ và ngày để tạo đơn, hệ thống Bảng giá giải giá theo loại sân, khung giờ và ngày (xét khuyến mãi trùng khoảng ngày, peak/off-peak) rồi trả về giá đã giải cho POS hiển thị breakdown. |
| System Under Design | Bán hàng POS · Pricing Server |
| Primary Actor | Thu ngân |
| Supporting/External Actor | Module Bán hàng POS · Module Đặt sân |
| Priority | HIGH |
| Trigger | Thu ngân chọn sân · khung giờ · ngày trên lịch khi tạo đơn |
| Pre-Condition | Đã có bảng giá cấu hình cho loại sân tương ứng |
| Post-Condition | POS hiển thị giá đã giải cho từng slot; giá được chốt vào booking khi tạo đơn |
Sơ đồ luồng — Basic Flow & ngoại lệ
Basic Flow
Basic Flow
| Bước | Actor | Mô tả hành động |
|---|---|---|
| 1 | Thu ngân | Chọn sân · khung giờ · ngày trên lịch đặt sân |
| 2 | Bán hàng POS | Hỏi giá theo loại sân · khung giờ · ngày |
| 3 | Pricing Server | Xét khuyến mãi (khoảng ngày trùng?) rồi giải giá peak / off-peak |
| 4 | Pricing Server | Trả giá đã giải cho POS |
| 5 | Bán hàng POS | Hiển thị breakdown giá theo từng slot |
Alternative Flow
Alternative Flow
| TT | Mã | Liên quan bước | Mô tả |
|---|---|---|---|
| 1 | AF_2A.1 | 2 | Khung giờ/ngày rơi vào khoảng khuyến mãi → hệ thống lấy giá khuyến mãi thay cho giá mặc định |
Exception Flow
Exception Flow
| TT | Mã | Liên quan bước | Mô tả |
|---|---|---|---|
| 1 | EF_3.1 | 3 | Loại sân/khung giờ chưa cấu hình giá → hệ thống báo chưa có giá và yêu cầu cấu hình trước khi tạo đơn |
Business Rules
Business Rules
| TT | Mã | Quy tắc nghiệp vụ |
|---|---|---|
| 1 | BR9 | Giá giải theo thứ tự: khuyến mãi (nếu trùng khoảng ngày) đè giá mặc định peak/off-peak |
| 2 | BR10 | Booking đã chốt giữ nguyên giá tại thời điểm đặt (không hồi tố) |
| 3 | BR11 | POS chỉ tiêu thụ giá từ Bảng giá, không tự đặt giá sân |
Non-Functional Requirements
Non-Functional Requirements
| TT | Loại | Yêu cầu |
|---|---|---|
| 1 | Khả dụng | Lưu cấu hình giá và giải giá tại POS phản hồi tức thì; preview cập nhật ngay khi nhập |
| 2 | Phân quyền | Cấu hình giá giới hạn theo phạm vi chi nhánh được phân công; Thu ngân chỉ tiêu thụ giá |
| 3 | Truy vết | Mọi thay đổi giá (sân & sản phẩm) được ghi nhật ký để truy vết về sau |
| 4 | Toàn vẹn | Giá đã chốt vào booking không thay đổi khi bảng giá được cập nhật (không hồi tố) |