Skip to content

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 4 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

MụcNội dung
Use Case IDUC_OW03_BRANCH_001
Use Case NameTạo chi nhánh
Use Case DescriptionTrên thanh header, Chủ sân mở dropdown Chi nhánh rồi chọn [+ Thêm chi nhánh] để hiện form "Thêm chi nhánh": nhập thông tin chi nhánh (tên, địa chỉ, SĐT, giờ mở-đóng cửa) và khai báo ít nhất một sân (Tên + Bộ môn + Loại sân + ảnh sân) trong cùng form; Website & ảnh chi nhánh là tùy chọn. Sân cũng có thể được khai báo riêng về sau qua UC2.
System Under DesignCourt Client · Court Server
Primary ActorChủ sân
Supporting/External ActorQuản lý ca
PriorityHIGH
TriggerChủ sân mở dropdown Chi nhánh trên thanh header và nhấn [+ Thêm chi nhánh]
Pre-ConditionNgười dùng đã đăng nhập và có quyền quản lý chi nhánh
Post-ConditionChi nhánh mới kèm ít nhất một sân được lưu; 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ướcActorMô tả hành động
1Chủ sânMở dropdown Chi nhánh trên thanh header, nhấn [+ Thêm chi nhánh]
2Court ClientHiển thị form Thêm chi nhánh (modal 1 trang)
3Chủ sânNhập tên chi nhánh, địa chỉ, số điện thoại, giờ mở - giờ đóng cửa
4Chủ sânKhai báo ít nhất 1 sân: mỗi dòng Tên sân + thêm bộ môn và chọn Bộ môn + thêm loại sân và chọn Loại sân + [+ Thêm ảnh sân]; thêm sân khác qua [+ Thêm sân]
5Chủ sân(Tùy chọn) Nhập website, kéo-thả / chọn ảnh chi nhánh
6Chủ sân(Tùy chọn) Khi đủ điều kiện, hệ thống hiển thị sẵn Bảng giá mặc định đúng loại sân vừa tạo; nhấn [+ Thêm khung giờ] để nhập Khung giờ (Bắt đầu - Kết thúc) + Khoảng ngày + Thứ + Giá rồi [THÊM], hoặc [+ Thêm bảng giá] để tạo bảng giá mới
7Chủ sânNhấn [Lưu chi nhánh]
8Court ServerKiểm tra hợp lệ, lưu chi nhánh kèm danh sách sân (và bảng giá nếu có), trả về kết quả
9Court ClientĐóng modal, hiển thị chi nhánh mới ngay trong danh sách

Alternative Flow

Alternative Flow

TTLiên quan bướcMô tả
1AF_4A.14Bộ môn hoặc Loại sân cần dùng chưa có trong danh sách sổ xuống → Chủ sân nhấn [+ Thêm bộ môn] / [+ Thêm loại sân], nhập tên mới rồi chọn cho dòng sân
2AF_4B.14Chủ sân nhấn biểu tượng ảnh trên dòng sân để gắn ảnh riêng cho từng sân; bỏ qua nếu chưa có ảnh
3AF_4C.14Chủ sân nhấn [+ Thêm sân] để khai báo thêm sân và lặp lại thao tác như sân đầu tiên (nhập Tên + chọn Bộ môn & Loại sân + ảnh sân); có thể thêm nhiều sân trước khi lưu
4AF_5A.15Chủ sân bỏ qua website / ảnh chi nhánh; chi nhánh dùng ảnh mặc định cho tới khi cập nhật sau
5AF_6A.16Khi đủ điều kiện, hệ thống hiển thị sẵn Bảng giá mặc định đúng loại sân vừa tạo; Chủ sân nhấn [+ Thêm khung giờ] để thêm dòng giá: Khung giờ (Bắt đầu - Kết thúc) + Khoảng ngày + Thứ + Giá rồi [THÊM], lặp lại để thêm nhiều khung giờ
6AF_6B.16Chủ sân nhấn [+ Thêm bảng giá] để tạo thêm bảng giá mới cho loại sân (ngoài bảng giá mặc định)
7AF_6C.16Chủ sân bỏ qua cấu hình bảng giá để làm sau (qua chức năng Bảng giá của chi nhánh — xem UC4)

Exception Flow

Exception Flow

TTLiên quan bướcMô tả
1EF_6.17Thiếu thông tin chung — bỏ trống Tên / Địa chỉ / SĐT / Giờ → hệ thống đánh dấu trường thiếu và yêu cầu bổ sung
2EF_6.27Danh sách sân rỗng hoặc sân thiếu Tên / Bộ môn / Loại sân → hệ thống yêu cầu khai báo ít nhất một sân hợp lệ
3EF_6.36Chọn cấu hình bảng giá khi chưa khai báo đủ Sân + Bộ môn + Loại sân → hệ thống báo lỗi, yêu cầu khai báo các mục này trước rồi mới hiển thị bảng giá mặc định
4EF_3.13Giờ mở cửa muộn hơn hoặc bằng giờ đóng cửa → hệ thống báo lỗi logic khung giờ
5EF_4.14Ảnh sân / ảnh chi nhánh vượt 5MB hoặc sai định dạng (ngoài JPG/PNG) → hệ thống từ chối ảnh và báo lỗi

Business Rules

Business Rules

TTQuy tắc nghiệp vụ
1BR1Chi nhánh bắt buộc có đủ Tên + Địa chỉ + SĐT + Giờ mở cửa khi lưu
2BR2Giờ mở cửa phải sớm hơn giờ đóng cửa
3BR3Bắt buộc khai báo ít nhất một sân; mỗi dòng sân cần đủ Tên + Bộ môn + Loại sân
4BR4Bộ môn và Loại sân chọn từ danh mục dùng chung; có thể thêm mới ngay trong form qua [+ Thêm bộ môn] / [+ Thêm loại sân]
5BR5Website & ảnh chi nhánh là tùy chọn; ảnh hỗ trợ JPG/PNG, tối đa 5MB mỗi ảnh
6BR6Bảng giá là tùy chọn khi tạo chi nhánh; chỉ cấu hình được sau khi đã khai báo đủ Sân + Bộ môn + Loại sân, nếu chưa thì hệ thống chặn và yêu cầu khai báo trước
7BR7Khi đủ điều kiện, hệ thống tạo sẵn một Bảng giá mặc định đúng theo loại sân vừa tạo; mỗi khung giờ gồm Thứ + Khung giờ + Giá (kèm Khoảng ngày nếu là giá khuyến mãi)
8BR8Chủ sân có thể thêm nhiều khung giờ vào bảng giá mặc định và/hoặc tạo thêm bảng giá mới cho loại sân; toàn bộ chỉ được ghi nhận khi chi nhánh lưu thành công và có thể cấu hình lại sau qua chức năng Bảng giá

UC2 — Khai báo sân

MụcNội dung
Use Case IDUC_OW03_COURT_002
Use Case NameKhai báo sân
Use Case DescriptionChủ sân thêm một sân mới vào chi nhánh trong một form 1 trang — tương tự cách tạo chi nhánh: nhập tên sân, chọn Loại sân và Bộ môn từ danh mục dùng chung (tự thêm mới nếu chưa có), tải ảnh sân rồi lưu.
System Under DesignCourt Client · Court Server
Primary ActorChủ sân
Supporting/External ActorQuản lý ca
PriorityHIGH
TriggerChủ sân nhấn [+ Thêm sân] trên màn hình danh sách sân của chi nhánh
Pre-ConditionĐã tồn tại chi nhánh để thêm sân; người dùng có quyền quản lý sân
Post-ConditionSân mới được lưu vào chi nhánh; card sân xuất hiện ngay trong danh sách

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

Basic Flow

Basic Flow

BướcActorMô tả hành động
1Chủ sânNhấn [+ Thêm sân] trên danh sách sân
2Court ClientMở popup form điền thông tin sân
3Chủ sânNhập tên sân
4Chủ sânChọn Loại sân trong danh mục loại sân đã tạo
5Chủ sânChọn Bộ môn trong danh mục bộ môn đã có
6Chủ sânKéo-thả / tải ảnh sân
7Chủ sânNhấn [Lưu sân]
8Court ServerKiểm tra hợp lệ, lưu sân vào chi nhánh, trả về kết quả
9Court ClientHiển thị card sân mới ngay trong danh sách

Alternative Flow

Alternative Flow

TTLiên quan bướcMô tả
1AF_4A.14Loại sân cần dùng chưa có trong danh mục → Chủ sân nhấn [+ Thêm loại sân], nhập tên mới rồi chọn
2AF_5A.15Bộ môn cần dùng chưa có trong danh mục → Chủ sân nhấn [+ Thêm bộ môn], nhập tên mới rồi chọn
3AF_6A.16Chủ sân bỏ qua tải ảnh; sân dùng ảnh mặc định cho tới khi cập nhật sau

Exception Flow

Exception Flow

TTLiên quan bướcMô tả
1EF_7.17Thiếu trường bắt buộc (Tên / Loại sân / Bộ môn) → hệ thống đánh dấu trường thiếu và yêu cầu bổ sung
2EF_7.27Tên sân trùng với sân đã có trong cùng chi nhánh → hệ thống báo lỗi tên trùng

Business Rules

Business Rules

TTQuy tắc nghiệp vụ
1BR6Mỗi sân bắt buộc có đủ Tên + Loại sân + Bộ môn
2BR7Sân phải thuộc về một chi nhánh đã tồn tại
3BR8Bộ 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

UC3 — Đóng sân (khoá bảo trì)

MụcNội dung
Use Case IDUC_OW03_COURT_003
Use Case NameĐóng sân (khoá bảo trì)
Use Case DescriptionQuả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 DesignCourt Client · Court Server
Primary ActorQuản lý ca
Supporting/External ActorChủ sân · Module Đặt sân & Lịch
PriorityHIGH
TriggerQuản lý ca chọn một sân và nhấn [Sửa] → "Đóng sân"
Pre-ConditionSâ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-ConditionSâ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ướcActorMô tả hành động
1Quản lý caChọn sân, nhấn [Sửa] rồi chọn "Đóng sân"
2Quản lý caNhập khung giờ đóng (Từ - Đến) và lý do
3Quản lý caNhấn xác nhận đóng sân
4Court ServerKiểm tra booking xung đột trong khung giờ
5Court ServerLưu trạng thái khoá, đẩy slot khoá lên lịch Gantt (Module Đặt sân)
6Court ClientHiển thị sân ở trạng thái bảo trì kèm lý do

Alternative Flow

Alternative Flow

TTLiên quan bướcMô tả
1AF_3A.13Có 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
2AF_3B.13Quả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

TTLiên quan bướcMô tả
1EF_2.12Khung giờ đóng nằm trong quá khứ → hệ thống báo lỗi không cho đóng
2EF_3.13Ngườ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

TTQuy tắc nghiệp vụ
1BR9Phải kiểm tra và giải quyết booking xung đột trước khi xác nhận đóng sân
2BR10Mọi lần đóng sân đều ghi lý do để hiển thị tooltip trên Gantt
3BR11Sân tự mở lại khi hết khung giờ đóng, hoặc do người có quyền mở thủ công

UC4 — Cấu hình bảng giá

MụcNội dung
Use Case IDUC_OW03_PRICE_004
Use Case NameCấu hình bảng giá mặc định & khuyến mãi
Use Case DescriptionChủ 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 DesignCourt Client · Pricing Server
Primary ActorChủ sân
Supporting/External ActorModule Bán hàng POS
PriorityHIGH
TriggerChủ 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-ConditionBả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ướcActorMô tả hành động
1Chủ sânTrên danh sách sân, nhấn [Bảng giá]
2Chủ sânNhấn [Sửa bảng giá], chọn tab loại sân cần đặt
3Chủ sânChọn sân áp dụng (tick nhiều sân hoặc Chọn tất cả)
4Chủ sânNhấn [+ Thêm khung giờ], nhập Thứ + Khung giờ + Giá
5Chủ sânNhấn [Lưu cấu hình]
6Pricing ServerLưu giá mới, snapshot giá cũ vào lịch sử, ghi nhật ký thay đổi
7Pricing ServerÁp bảng giá cho booking tạo mới (không hồi tố booking cũ)

Alternative Flow

Alternative Flow

TTLiên quan bướcMô tả
1AF_4A.14Chủ 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
2AF_3A.13Chủ 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

TTLiên quan bướcMô tả
1EF_5.15Hai 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
2EF_5.25Giá để 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

TTQuy tắc nghiệp vụ
1BR12Giá khuyến mãi đè giá mặc định trong khoảng ngày & khung giờ trùng
2BR13Thay đổi bảng giá không hồi tố các booking đã tạo trước đó
3BR14Mỗi lần đổi giá đều lưu snapshot giá cũ và ghi nhật ký (ai · khi nào · cũ/mới)
4BR15Mộ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

TTLoạiYêu cầu
1Khả dụngThao 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
2Phân quyềnMọ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
3Truy vếtĐóng sân và thay đổi giá đều được ghi nhật ký để truy vết về sau
4Toàn vẹnKhông cho xoá chi nhánh/sân khi còn sân active hoặc booking tương lai

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