SRS_Quản lý Chi nhánh & Sân
Giới thiệu & tài liệu liên quan
Đặc tả yêu cầu phần mềm cho module Quản lý Chi nhánh & Sân (OW-03). 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: Danh sách chi nhánh
Mô tả màn hình: Hiển thị danh sách chi nhánh ở 2 chế độ xem (biểu tượng / danh sách). Mỗi card gồm ảnh bìa, tên, địa chỉ và badge trạng thái "Đang trống / Có khách".
Sự kiện 1 — Xem & chuyển chế độ hiển thị
| STT | Tác nhân | Mô tả |
|---|---|---|
| 1 | Chủ sân | Mở màn hình danh sách chi nhánh |
| 2 | Chủ sân | Chuyển giữa chế độ xem biểu tượng và danh sách |
| 3 | Court Server | Hợp lệ: Trả về danh sách chi nhánh kèm trạng thái realtime |
Sự kiện 2 — Thêm / chỉnh sửa chi nhánh
| STT | Tác nhân | Mô tả |
|---|---|---|
| 1 | Chủ sân | Nhấn [+ Thêm chi nhánh] hoặc [Sửa] trên một card |
| 2 | Court Client | Mở form chi nhánh (MH2) |
Không hợp lệ — Sự kiện 2
| STT | Trường hợp | Thông báo | Vị trí · Loại | Xử lý |
|---|---|---|---|---|
| 1 | Không có quyền quản lý chi nhánh | "Bạn không có quyền thực hiện thao tác này." | Toàn màn hình · cảnh báo | Ẩn nút thao tác, chỉ cho xem |
MH2: Form chi nhánh & sân
Mô tả màn hình: Form "Thêm chi nhánh" mở từ dropdown Chi nhánh trên thanh header (chọn [+ Thêm chi nhánh]). Form 1 trang gồm khối thông tin chi nhánh ở trên, khối Danh sách sân khai báo ít nhất một sân ngay trong cùng form, khu vực Website & kéo-thả ảnh chi nhánh (tùy chọn) và nút lưu.
Sự kiện 1 — Nhập thông tin chi nhánh
| STT | Tác nhân | Mô tả |
|---|---|---|
| 1 | Chủ sân | Nhập tên chi nhánh, địa chỉ, số điện thoại, giờ mở - giờ đóng cửa |
| 2 | Chủ sân | (Tùy chọn) Nhập website, kéo-thả / chọn ảnh chi nhánh (JPG/PNG ≤ 5MB) |
Không hợp lệ — Sự kiện 1
| STT | Trường hợp | Thông báo | Vị trí · Loại | Xử lý |
|---|---|---|---|---|
| 1 | Bỏ trống tên / địa chỉ / SĐT / giờ mở cửa | "Vui lòng nhập tên, địa chỉ, SĐT và giờ mở cửa." | Dưới trường · lỗi | Chặn lưu, focus trường thiếu |
| 2 | Giờ mở muộn hơn hoặc bằng giờ đóng | "Giờ mở cửa phải sớm hơn giờ đóng cửa." | Dưới trường giờ · lỗi | Chặn lưu |
| 3 | Ảnh sai định dạng / vượt 5MB | "Ảnh chỉ hỗ trợ JPG, PNG tối đa 5MB." | Khu vực ảnh · lỗi | Từ chối ảnh |
Sự kiện 2 — Khai báo danh sách sân (bắt buộc ≥ 1 sân)
| STT | Tác nhân | Mô tả |
|---|---|---|
| 1 | Chủ sân | Mỗi dòng sân: nhập Tên sân, chọn Bộ môn và Loại sân trong danh sách sổ xuống, nhấn [+ Thêm ảnh sân] |
| 2 | Chủ sân | Nhấn [+ Thêm sân] để thêm dòng; [+ Thêm bộ môn] / [+ Thêm loại sân] để tạo giá trị danh mục mới nếu chưa có |
| 3 | Chủ sân | Nhấn [Lưu chi nhánh] |
| 4 | Court Server | Hợp lệ: Lưu chi nhánh kèm danh sách sân, trả về kết quả |
Không hợp lệ — Sự kiện 2
| STT | Trường hợp | Thông báo | Vị trí · Loại | Xử lý |
|---|---|---|---|---|
| 1 | Chưa khai báo sân nào | "Cần khai báo ít nhất một sân cho chi nhánh." | Khu vực sân · cảnh báo | Chặn lưu |
| 2 | Sân thiếu Tên / Bộ môn / Loại sân | "Mỗi sân cần đủ Tên, Bộ môn và Loại sân." | Dòng sân · lỗi | Chặn lưu, đánh dấu dòng thiếu |
MH3: Danh sách sân & bộ lọc
Mô tả màn hình: Liệt kê sân của chi nhánh với bộ lọc theo Chi nhánh / Loại sân / Bộ môn và 2 chế độ xem; mỗi card sân có badge "Đang chơi: còn X phút".
Sự kiện 1 — Lọc & xem sân
| STT | Tác nhân | Mô tả |
|---|---|---|
| 1 | Chủ sân | Chọn bộ lọc Chi nhánh / Loại sân / Bộ môn |
| 2 | Court Server | Hợp lệ: Trả về danh sách sân khớp bộ lọc kèm trạng thái |
Sự kiện 2 — Thêm sân / mở bảng giá / chỉnh sân
| STT | Tác nhân | Mô tả |
|---|---|---|
| 1 | Chủ sân | Nhấn [+ Thêm sân] (sang MH4 chế độ tạo mới), [Bảng giá] (sang MH5) hoặc [Sửa] một sân (sang MH4 chế độ chỉnh) |
MH4: Form sân / Đóng sân
Mô tả màn hình: Form 1 trang để khai báo sân mới hoặc chỉnh thông tin chi tiết một sân; có thể chuyển sang chế độ "Đóng sân" để khoá theo khung giờ + lý do.
Sự kiện 1 — Khai báo / chỉnh sân
| STT | Tác nhân | Mô tả |
|---|---|---|
| 1 | Chủ sân | Nhập tên sân |
| 2 | Chủ sân | Chọn Loại sân trong danh mục; tự định nghĩa loại sân mới nếu chưa có |
| 3 | Chủ sân | Chọn Bộ môn trong danh mục; tự định nghĩa bộ môn mới nếu chưa có |
| 4 | Chủ sân | Kéo-thả / tải ảnh sân, nhấn [Lưu sân] |
| 5 | Court Server | Hợp lệ: Lưu sân vào chi nhánh, trả về card sân mới |
Không hợp lệ — Sự kiện 1
| STT | Trường hợp | Thông báo | Vị trí · Loại | Xử lý |
|---|---|---|---|---|
| 1 | Thiếu Tên / Loại sân / Bộ môn | "Mỗi sân cần đủ Tên, Loại sân và Bộ môn." | Dưới trường · lỗi | Chặn lưu, focus trường thiếu |
| 2 | Tên sân trùng trong cùng chi nhánh | "Tên sân đã tồn tại trong chi nhánh này." | Dưới trường tên · lỗi | Chặn lưu |
Sự kiện 2 — Đóng sân (bảo trì)
| STT | Tác nhân | Mô tả |
|---|---|---|
| 1 | Quản lý ca | Chọn "Đóng sân", nhập khung giờ (Từ-Đến) + lý do |
| 2 | Court Server | Kiểm tra booking xung đột trong khung giờ |
| 3 | Court Server | Hợp lệ: Lưu khoá, đẩy slot xám lên Gantt kèm tooltip lý do |
Không hợp lệ — Sự kiện 2
| STT | Trường hợp | Thông báo | Vị trí · Loại | Xử lý |
|---|---|---|---|---|
| 1 | Khung giờ đóng nằm trong quá khứ | "Không thể đóng sân cho khung giờ đã qua." | Dưới trường giờ · lỗi | Chặn lưu |
| 2 | Có booking xung đột | "Có N booking trong khung giờ này. Vui lòng huỷ hoặc đổi sân." | Hộp thoại · cảnh báo | Liệt kê booking, cho huỷ/đổi trước khi đóng |
MH5: Bảng giá theo loại sân
Mô tả màn hình: Hiển thị bảng giá theo từng loại sân gồm giá mặc định và giá khuyến mãi; cho chọn nhiều sân áp dụng và thêm khung giờ giá.
Sự kiện 1 — Sửa & lưu bảng giá
| STT | Tác nhân | Mô tả |
|---|---|---|
| 1 | Chủ sân | Nhấn [Sửa bảng giá], chọn tab loại sân |
| 2 | Chủ sân | Chọn sân áp dụng (tick nhiều / Chọn tất cả) |
| 3 | Chủ sân | Nhấn [+ Thêm khung giờ]: Thứ + Khung giờ + Giá; thêm giá khuyến mãi theo khoảng ngày nếu cần |
| 4 | Pricing Server | Hợp lệ: Lưu giá, snapshot giá cũ, áp cho booking mới (không hồi tố) |
Không hợp lệ — Sự kiện 1
| STT | Trường hợp | Thông báo | Vị trí · Loại | Xử lý |
|---|---|---|---|---|
| 1 | Hai khung giờ chồng lấn | "Khung giờ bị trùng, vui lòng điều chỉnh." | Dòng khung giờ · lỗi | Chặn lưu |
| 2 | Giá trống hoặc nhỏ hơn 0 | "Giá phải là số lớn hơn 0." | Ô giá · lỗi | Chặn lưu |
4/ Trường hợp đặc biệt
Case đặc biệt cần xử lý
- Case: Mở lại sân. Khi hết khung giờ đóng, sân tự trở lại hoạt động; người có quyền cũng mở lại thủ công. Gantt cập nhật bỏ slot xám.
- Case: Xoá chi nhánh / sân. Chỉ cho xoá khi không còn sân active hoặc booking PENDING/CONFIRMED tương lai; ngược lại hệ thống chặn và giải thích lý do.
- Case: Giá không hồi tố. Booking đã tạo giữ nguyên giá tại thời điểm tạo; bảng giá mới chỉ áp cho booking sau đó.