UC_Sự kiện & Giải đấu
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 Sự kiện & Giải đấu (OW-05). Xem thêm Tổng quan module · SRS · UI.
UC1 — Tạo & publish sự kiện
| Mục | Nội dung |
|---|---|
| Use Case ID | UC_OW05_EVENT_001 |
| Use Case Name | Tạo & publish sự kiện |
| Use Case Description | Chủ sân hoặc Quản lý ca tạo một sự kiện (giải đấu · lớp tập · open play): nhập thông tin, chọn sân và khung giờ, cấu hình các loại vé, rồi publish. Khi publish, hệ thống tự khoá slot sân theo lịch sự kiện và đồng bộ hiển thị lên app khách hàng. |
| System Under Design | Event Client · Event Server |
| Primary Actor | Chủ sân |
| Supporting/External Actor | Quản lý ca · Module Đặt sân & Lịch · App khách hàng |
| Priority | MEDIUM |
| Trigger | Người dùng nhấn [+ Tạo sự kiện] trên màn hình danh sách sự kiện |
| Pre-Condition | Người dùng đã đăng nhập và có quyền tạo sự kiện trên chi nhánh được phân công |
| Post-Condition | Sự kiện được publish; slot sân bị khoá trên lịch Gantt; sự kiện hiển thị trên app khách hàng để đăng ký |
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 [+ Tạo sự kiện] trên danh sách sự kiện |
| 2 | Chủ sân | Nhập tên, loại sự kiện, mô tả, ngày giờ, sức chứa |
| 3 | Chủ sân | Chọn sân và khung giờ tổ chức |
| 4 | Chủ sân | Cấu hình loại vé (VIP / Regular / Early Bird) kèm giá và số lượng |
| 5 | Chủ sân | Tải banner và nhấn [Publish] |
| 6 | Event Server | Kiểm tra trùng lịch sân, khoá slot sân theo khung giờ (Module Đặt sân) |
| 7 | Event Server | Đồng bộ sự kiện lên app khách hàng, trả về kết quả |
| 8 | Event Client | Hiển thị sự kiện ở trạng thái đã đăng, sẵn sàng nhận đăng ký |
Alternative Flow
Alternative Flow
| TT | Mã | Liên quan bước | Mô tả |
|---|---|---|---|
| 1 | AF_5A.1 | 5 | Người dùng nhấn [Lưu nháp] thay vì Publish → sự kiện lưu ở trạng thái nháp, chưa khoá sân và chưa hiển thị trên app |
| 2 | AF_2A.1 | 2 | Người dùng nhân bản từ một sự kiện cũ → các trường được điền sẵn, chỉ cần chỉnh ngày giờ và publish |
Exception Flow
Exception Flow
| TT | Mã | Liên quan bước | Mô tả |
|---|---|---|---|
| 1 | EF_5.1 | 5 | Sân đã có booking thường hoặc sự kiện khác trong khung giờ → hệ thống báo trùng lịch và yêu cầu chọn lại sân/giờ |
| 2 | EF_5.2 | 5 | Thiếu trường bắt buộc (tên / ngày giờ / sân) → hệ thống đánh dấu trường thiếu và yêu cầu bổ sung |
| 3 | EF_4.1 | 4 | Tổng số vé vượt quá sức chứa khai báo → hệ thống cảnh báo và yêu cầu điều chỉnh |
Business Rules
Business Rules
| TT | Mã | Quy tắc nghiệp vụ |
|---|---|---|
| 1 | BR1 | Khi publish, hệ thống tự khoá slot sân theo khung giờ sự kiện; sân không thể nhận booking thường trong thời gian này |
| 2 | BR2 | Sân chọn cho sự kiện không được trùng với booking hoặc sự kiện khác trong cùng khung giờ |
| 3 | BR3 | Tổng số vé của các loại không vượt quá sức chứa sự kiện |
| 4 | BR4 | Chỉ sự kiện ở trạng thái đã publish mới hiển thị trên app khách hàng để đăng ký |
UC2 — Đăng ký online & check-in vé
| Mục | Nội dung |
|---|---|
| Use Case ID | UC_OW05_TICKET_002 |
| Use Case Name | Đăng ký online & check-in vé bằng QR |
| Use Case Description | Khách hàng xem sự kiện trên app, chọn loại vé và thanh toán để nhận vé kèm QR code; vào ngày sự kiện, Thu ngân quét QR (hoặc tìm theo tên/SĐT) để check-in người tham dự. |
| System Under Design | App khách hàng · Event Server · Event Client |
| Primary Actor | Khách hàng |
| Supporting/External Actor | Thu ngân · Module Bán hàng POS |
| Priority | MEDIUM |
| Trigger | Khách hàng chọn một sự kiện trên app và nhấn [Đăng ký] |
| Pre-Condition | Sự kiện đã publish và còn vé; khách hàng đã đăng nhập app |
| Post-Condition | Khách nhận vé kèm QR; danh sách đăng ký cập nhật; trạng thái check-in được ghi nhận trong ngày sự kiện |
Sơ đồ luồng — Basic Flow & ngoại lệ
Basic Flow
Basic Flow
| Bước | Actor | Mô tả hành động |
|---|---|---|
| 1 | Khách hàng | Xem chi tiết sự kiện trên app, chọn loại vé |
| 2 | App khách hàng | Tạo đăng ký ở trạng thái chờ thanh toán, giữ vé tạm thời |
| 3 | Khách hàng | Hoàn tất thanh toán qua app |
| 4 | Event Server | Phát hành vé kèm QR code, gửi qua email/SMS, cập nhật danh sách đăng ký |
| 5 | Khách hàng | Trong ngày sự kiện, xuất trình QR code cho Thu ngân |
| 6 | Thu ngân | Quét QR (hoặc tìm theo tên/SĐT) tại quầy |
| 7 | Event Server | Xác thực vé, đánh dấu đã check-in, hiển thị tên & loại vé |
Alternative Flow
Alternative Flow
| TT | Mã | Liên quan bước | Mô tả |
|---|---|---|---|
| 1 | AF_1A.1 | 1 | Loại vé đã hết → khách chọn tham gia danh sách chờ; khi có vé được giải phóng, hệ thống thông báo theo thứ tự chờ |
| 2 | AF_2A.1 | 2 | Khách nhập mã giảm giá hợp lệ → giá vé được giảm trước khi thanh toán |
| 3 | AF_6A.1 | 6 | Khách quên/không có QR → Thu ngân tìm theo tên hoặc SĐT để check-in thủ công |
| 4 | AF_6B.1 | 6 | Khách mua vé tại quầy → Thu ngân bán vé qua POS rồi check-in ngay |
Exception Flow
Exception Flow
| TT | Mã | Liên quan bước | Mô tả |
|---|---|---|---|
| 1 | EF_3.1 | 3 | Thanh toán thất bại hoặc quá thời gian giữ vé → huỷ đăng ký tạm, trả vé về kho |
| 2 | EF_5.1 | 5 | QR đã được dùng để check-in trước đó → hệ thống báo vé đã sử dụng |
| 3 | EF_5.2 | 5 | QR không thuộc sự kiện đang check-in hoặc không hợp lệ → hệ thống từ chối |
Business Rules
Business Rules
| TT | Mã | Quy tắc nghiệp vụ |
|---|---|---|
| 1 | BR5 | Mỗi vé có một QR code riêng, chỉ dùng được một lần để check-in |
| 2 | BR6 | Vé chỉ được giữ tạm trong thời gian thanh toán; quá hạn thì trả vé về kho |
| 3 | BR7 | Khi hết vé, đăng ký mới được đưa vào danh sách chờ theo thứ tự đăng ký |
| 4 | BR8 | Mã giảm giá chỉ áp trong điều kiện và thời hạn hiệu lực đã cấu hình |
UC3 — Huỷ sự kiện & hoàn vé
| Mục | Nội dung |
|---|---|
| Use Case ID | UC_OW05_CANCEL_003 |
| Use Case Name | Huỷ sự kiện & hoàn vé |
| Use Case Description | Chủ sân huỷ một sự kiện đã publish kèm lý do; hệ thống hoàn 100% vé cho người đã mua, giải phóng các slot sân đã khoá và đẩy thông báo huỷ kèm lý do tới khách hàng. |
| System Under Design | Event Client · Event Server |
| Primary Actor | Chủ sân |
| Supporting/External Actor | Module Đặt sân & Lịch · Module Bán hàng POS · App khách hàng |
| Priority | MEDIUM |
| Trigger | Chủ sân nhấn [Huỷ sự kiện] trên chi tiết sự kiện |
| Pre-Condition | Sự kiện đang ở trạng thái đã publish và chưa diễn ra |
| Post-Condition | Sự kiện chuyển trạng thái đã huỷ; vé được hoàn; slot sân được giải phóng; khách hàng nhận thông báo huỷ |
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 [Huỷ sự kiện] và nhập lý do huỷ |
| 2 | Event Client | Hiển thị xác nhận "Sẽ hoàn vé cho X người" |
| 3 | Chủ sân | Xác nhận huỷ |
| 4 | Event Server | Hoàn 100% vé cho người đã mua (qua Module Bán hàng POS) |
| 5 | Event Server | Giải phóng các slot sân đã khoá (Module Đặt sân) |
| 6 | Event Server | Đẩy thông báo huỷ kèm lý do tới khách hàng đã đăng ký |
| 7 | Event Client | Hiển thị sự kiện ở trạng thái đã huỷ |
Alternative Flow
Alternative Flow
| TT | Mã | Liên quan bước | Mô tả |
|---|---|---|---|
| 1 | AF_2A.1 | 2 | Sự kiện chưa có ai đăng ký → bỏ qua bước hoàn vé, chỉ giải phóng sân và đặt trạng thái đã huỷ |
Exception Flow
Exception Flow
| TT | Mã | Liên quan bước | Mô tả |
|---|---|---|---|
| 1 | EF_2.1 | 2 | Người dùng bỏ qua ở bước xác nhận → không thay đổi trạng thái sự kiện |
| 2 | EF_1.1 | 1 | Sự kiện đã diễn ra hoặc đã kết thúc → hệ thống không cho huỷ, gợi ý đóng sự kiện thay vì huỷ |
Business Rules
Business Rules
| TT | Mã | Quy tắc nghiệp vụ |
|---|---|---|
| 1 | BR9 | Huỷ sự kiện đã bán vé bắt buộc hoàn 100% giá trị vé cho người đã mua |
| 2 | BR10 | Huỷ sự kiện phải ghi lý do để đính kèm trong thông báo gửi khách |
| 3 | BR11 | Khi huỷ hoặc kết thúc, slot sân đã khoá được giải phóng để nhận booking trở lại |
| 4 | BR12 | Chỉ huỷ được sự kiện chưa diễn ra; sự kiện đã diễn ra phải được đóng lại, không huỷ |
Non-Functional Requirements
Non-Functional Requirements
| TT | Loại | Yêu cầu |
|---|---|---|
| 1 | Khả dụng | Thao tác publish, bán vé, check-in phản hồi tức thì; danh sách đăng ký và bảng xếp hạng cập nhật trực tiếp |
| 2 | Phân quyền | Tạo/sửa/huỷ sự kiện và bán vé giới hạn theo phạm vi chi nhánh và vai trò của người dùng |
| 3 | Truy vết | Mọi lần publish, huỷ, hoàn vé và check-in đều được ghi nhận để truy vết |
| 4 | Toàn vẹn | Một vé chỉ check-in được một lần; tổng vé bán ra không vượt sức chứa sự kiện |