UC_Quản lý Chi nhánh & Sân
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 Quản lý Chi nhánh & Sân (OW-03). Xem thêm Tổng quan module · SRS · UI.
UC1 — Tạo chi nhánh & khai báo sân
| Mục | Nội dung |
|---|---|
| Use Case ID | UC_OW03_BRANCH_001 |
| Use Case Name | Tạo chi nhánh & khai báo sân |
| Use Case Description | Chủ sân tạo một chi nhánh mới (thông tin liên hệ, giờ mở-đóng cửa, ảnh) và khai báo ngay các sân thuộc chi nhánh theo Bộ môn và Loại sân, tất cả trong một form. |
| System Under Design | Court Client · Court Server |
| Primary Actor | Chủ sân |
| Supporting/External Actor | Quản lý ca |
| Priority | HIGH |
| Trigger | Chủ sân nhấn [+ Thêm chi nhánh] trên màn hình danh sách chi nhánh |
| Pre-Condition | Người dùng đã đăng nhập và có quyền quản lý chi nhánh |
| Post-Condition | Chi nhánh mới và các sân khai báo được lưu; card chi nhánh xuất hiện ngay trong danh sách |
Sơ đồ luồng — Basic Flow & ngoại lệ
Basic Flow
Basic Flow
| Bước | Actor | Mô tả hành động |
|---|---|---|
| 1 | Chủ sân | Nhấn [+ Thêm chi nhánh] trên danh sách chi nhánh |
| 2 | Court Client | Mở form chi nhánh 1 trang |
| 3 | Chủ sân | Nhập tên, địa chỉ, SĐT, giờ mở-đóng cửa, website |
| 4 | Chủ sân | Khai báo từng sân: Tên + Bộ môn + Loại sân (có thể thêm nhiều sân) |
| 5 | Chủ sân | Kéo-thả / tải ảnh bìa chi nhánh và ảnh sân |
| 6 | Chủ sân | Nhấn [Lưu chi nhánh] |
| 7 | Court Server | Kiểm tra hợp lệ, lưu chi nhánh kèm danh sách sân, trả về kết quả |
| 8 | Court Client | Hiển thị card chi nhánh mới ngay trong danh sách |
Alternative Flow
Alternative Flow
| TT | Mã | Liên quan bước | Mô tả |
|---|---|---|---|
| 1 | AF_4A.1 | 4 | Bộ môn hoặc Loại sân cần dùng chưa có trong danh mục → Chủ sân nhấn [+ Thêm bộ môn] / [+ Thêm loại sân], nhập tên mới rồi tiếp tục khai báo sân |
| 2 | AF_5A.1 | 5 | Chủ sân bỏ qua tải ảnh; chi nhánh dùng ảnh mặc định cho tới khi cập nhật sau |
Exception Flow
Exception Flow
| TT | Mã | Liên quan bước | Mô tả |
|---|---|---|---|
| 1 | EF_6.1 | 6 | Thiếu trường bắt buộc (tên / địa chỉ) → hệ thống đánh dấu trường thiếu và yêu cầu bổ sung |
| 2 | EF_6.2 | 6 | Chưa khai báo sân nào → hệ thống cảnh báo cần ít nhất một sân trước khi lưu |
| 3 | EF_7.1 | 7 | Giờ mở cửa muộn hơn giờ đóng cửa → hệ thống báo lỗi khung giờ không hợp lệ |
Business Rules
Business Rules
| TT | Mã | Quy tắc nghiệp vụ |
|---|---|---|
| 1 | BR1 | Mỗi sân bắt buộc có đủ Tên + Bộ môn + Loại sân |
| 2 | BR2 | Một chi nhánh phải có ít nhất một sân khi lưu |
| 3 | BR3 | Bộ môn và Loại sân là danh mục dùng chung toàn hệ thống, tái sử dụng giữa các chi nhánh |
| 4 | BR4 | Giờ mở cửa phải sớm hơn giờ đóng cửa |
UC2 — Đóng sân (khoá bảo trì)
| Mục | Nội dung |
|---|---|
| Use Case ID | UC_OW03_COURT_002 |
| Use Case Name | Đóng sân (khoá bảo trì) |
| Use Case Description | Quản lý ca khoá một sân trong khung giờ xác định kèm lý do; hệ thống kiểm tra booking xung đột, đẩy slot khoá lên lịch Gantt và xử lý booking bị ảnh hưởng. |
| System Under Design | Court Client · Court Server |
| Primary Actor | Quản lý ca |
| Supporting/External Actor | Chủ sân · Module Đặt sân & Lịch |
| Priority | HIGH |
| Trigger | Quản lý ca chọn một sân và nhấn [Sửa] → "Đóng sân" |
| Pre-Condition | Sân đang hoạt động; người dùng có quyền đóng sân trên chi nhánh được phân công |
| Post-Condition | Sân chuyển trạng thái khoá trong khung giờ; slot khoá hiển thị xám trên Gantt với tooltip lý do |
Sơ đồ luồng — Basic Flow & ngoại lệ
Basic Flow
Basic Flow
| Bước | Actor | Mô tả hành động |
|---|---|---|
| 1 | Quản lý ca | Chọn sân, nhấn [Sửa] rồi chọn "Đóng sân" |
| 2 | Quản lý ca | Nhập khung giờ đóng (Từ - Đến) và lý do |
| 3 | Quản lý ca | Nhấn xác nhận đóng sân |
| 4 | Court Server | Kiểm tra booking xung đột trong khung giờ |
| 5 | Court Server | Lưu trạng thái khoá, đẩy slot khoá lên lịch Gantt (Module Đặt sân) |
| 6 | Court Client | Hiển thị sân ở trạng thái bảo trì kèm lý do |
Alternative Flow
Alternative Flow
| TT | Mã | Liên quan bước | Mô tả |
|---|---|---|---|
| 1 | AF_3A.1 | 3 | Có booking xung đột → hệ thống liệt kê các booking bị ảnh hưởng; Quản lý ca chọn Huỷ hoặc Đổi sân cho từng booking rồi tiếp tục đóng |
| 2 | AF_3B.1 | 3 | Quản lý ca chọn đóng sân không thời hạn (không nhập Đến) → sân khoá đến khi mở lại thủ công |
Exception Flow
Exception Flow
| TT | Mã | Liên quan bước | Mô tả |
|---|---|---|---|
| 1 | EF_2.1 | 2 | Khung giờ đóng nằm trong quá khứ → hệ thống báo lỗi không cho đóng |
| 2 | EF_3.1 | 3 | Người dùng huỷ thao tác giữa chừng → không thay đổi trạng thái sân |
Business Rules
Business Rules
| TT | Mã | Quy tắc nghiệp vụ |
|---|---|---|
| 1 | BR5 | Phải kiểm tra và giải quyết booking xung đột trước khi xác nhận đóng sân |
| 2 | BR6 | Mọi lần đóng sân đều ghi lý do để hiển thị tooltip trên Gantt |
| 3 | BR7 | Sân tự mở lại khi hết khung giờ đóng, hoặc do người có quyền mở thủ công |
UC3 — Cấu hình bảng giá
| Mục | Nội dung |
|---|---|
| Use Case ID | UC_OW03_PRICE_003 |
| Use Case Name | Cấu hình bảng giá 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 gồm giá mặc định (Thứ · Khung giờ · Giá) và giá khuyến mãi theo khoảng ngày, áp cho một hoặc nhiều sân được chọn; thay đổi không hồi tố booking đã tạo. |
| System Under Design | Court Client · Pricing Server |
| Primary Actor | Chủ sân |
| Supporting/External Actor | Module Bán hàng POS |
| Priority | HIGH |
| Trigger | Chủ sân nhấn [Bảng giá] trên màn hình danh sách sân |
| Pre-Condition | Đã tồn tại chi nhánh và sân để áp 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 | Trên danh sách sân, nhấn [Bảng giá] |
| 2 | Chủ sân | Nhấn [Sửa bảng giá], chọn tab loại sân cần đặt |
| 3 | Chủ sân | Chọn sân áp dụng (tick nhiều sân hoặc Chọn tất cả) |
| 4 | Chủ sân | Nhấn [+ Thêm khung giờ], nhập Thứ + Khung giờ + Giá |
| 5 | Chủ sân | Nhấn [Lưu cấu hình] |
| 6 | Pricing Server | Lưu giá mới, snapshot giá cũ vào lịch sử, ghi nhật ký thay đổi |
| 7 | Pricing Server | Áp bảng giá cho booking tạo mới (không hồi tố booking cũ) |
Alternative Flow
Alternative Flow
| TT | Mã | Liên quan bước | Mô tả |
|---|---|---|---|
| 1 | AF_4A.1 | 4 | 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_3A.1 | 3 | Chủ sân chọn Chọn tất cả để áp cùng một bảng giá cho mọi sân cùng loại |
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ệ |
Business Rules
Business Rules
| TT | Mã | Quy tắc nghiệp vụ |
|---|---|---|
| 1 | BR8 | Giá khuyến mãi đè giá mặc định trong khoảng ngày & khung giờ trùng |
| 2 | BR9 | Thay đổi bảng giá không hồi tố các booking đã tạo trước đó |
| 3 | BR10 | Mỗi lần đổi giá đều lưu snapshot giá cũ và ghi nhật ký (ai · khi nào · cũ/mới) |
| 4 | BR11 | Một bảng giá có thể áp cho nhiều sân cùng loại trong một thao tác |
Non-Functional Requirements
Non-Functional Requirements
| TT | Loại | Yêu cầu |
|---|---|---|
| 1 | Khả dụng | Thao tác tạo chi nhánh, đóng sân, lưu giá phản hồi tức thì; card/Gantt cập nhật ngay sau khi lưu |
| 2 | Phân quyền | Mọi thao tác chỉnh sửa giới hạn theo phạm vi chi nhánh được phân công của người dùng |
| 3 | Truy vết | Đóng sân và thay đổi giá đều được ghi nhật ký để truy vết về sau |
| 4 | Toàn vẹn | Không cho xoá chi nhánh/sân khi còn sân active hoặc booking tương lai |