Đặt sân & Lịch Phase 1 Built
Tài liệu nghiệp vụ (BA)
UC — Use Case · SRS — Đặc tả yêu cầu · UI — Đặc tả giao diện
Màn hình điều phối đặt sân tập trung: theo dõi toàn bộ tình trạng booking trên lịch Gantt qua bộ lọc (chi nhánh / loại sân / thời gian), duyệt nhanh booking online từ panel chờ duyệt, và xử lý check-in, gia hạn, huỷ ngay trên popup inline. Lịch tự cập nhật realtime khi có booking mới hoặc khi sân bị khoá. Tạo booking thủ công thuộc Bán hàng POS; khoá sân thuộc Quản lý Chi nhánh & Sân.
Trạng thái: Built (P1) · In-progress (P2 drag-drop đổi sân · Gantt tuần · bulk approve) · Map từ: OW-02
1. Định danh
| Thuộc tính | Giá trị |
|---|---|
| Module ID | OW-02 |
| Hạng | Core |
| Trạng thái | Built |
| Giai đoạn | P1 (Gantt · pending panel · popup inline) · P2 (drag-drop · Gantt tuần) |
| Ưu tiên | HIGH |
| Người dùng chính | Quản lý ca · Thu ngân · Chủ sân |
2. Mục đích & Phạm vi
| Bao gồm | Loại trừ |
|---|---|
| Lịch Gantt theo ngày (slot 30 phút) với màu trạng thái | Tạo booking thủ công walk-in (do Bán hàng POS sở hữu) |
| 4 card thống kê nhanh (trống · hoạt động · lượt đặt · doanh thu) | Khoá sân / bảo trì (do Quản lý Chi nhánh & Sân sở hữu) |
| Panel chờ duyệt booking online (duyệt / từ chối) | Định nghĩa bảng giá (Quản lý Chi nhánh & Sân) |
| Check-in, gia hạn, ghi chú, huỷ qua popup inline | Chính sách huỷ & hoàn tiền (cấu hình ở OW-03) |
| Cập nhật realtime qua WebSocket | Xuất hoá đơn (do Bán hàng POS sở hữu) |
| Bộ lọc Chi nhánh / Loại sân / Thời gian (Ngày/Tháng/Năm) |
3. Năng lực
| Năng lực | Người dùng làm được gì | Trạng thái |
|---|---|---|
| Bộ lọc tổng quan | Lọc theo Chi nhánh · Loại sân · Thời gian (Ngày/Tháng/Năm); auto-refresh toàn màn | Built |
| 4 card thống kê | Xem nhanh sân trống, sân hoạt động, lượt đặt (badge chờ duyệt), doanh thu | Built |
| Lịch Gantt theo ngày | Trục giờ 05:00-23:00 × danh sách sân; slot màu theo trạng thái | Built |
| Màu trạng thái slot | Trống (xanh) · Đã đặt (cam) · Chờ duyệt (vàng) · Đang chơi (đỏ) · Khoá (xám) | Built |
| Popup inline | Click slot có booking → popup chi tiết ngay dưới ô; không rời trang | Built |
| Panel chờ duyệt | Xem booking online PENDING; duyệt nhanh / từ chối / xem chi tiết; badge đếm & countdown | Built |
| Đặt lịch ngày | Booking cho một ngày/khung giờ cụ thể; hiển thị trên slot Gantt | Built |
| Đặt lịch cố định | Booking định kỳ (lịch cố định theo tuần) hiển thị trên Gantt | In-progress |
| Check-in | Xác nhận khách đến sân từ popup; slot chuyển "Đang chơi" | Built |
| Gia hạn thêm giờ | Gia hạn từ popup; giá tính theo bảng giá OW-03; slot kéo dài | Built |
| Huỷ & ghi chú | Huỷ kèm lý do (kích hoạt hoàn tiền nếu cần); thêm ghi chú nội bộ | Built |
| Realtime sync | Gantt & panel tự cập nhật khi có booking mới hoặc sân bị khoá | Built |
| Đổi sân / đổi giờ | Kéo-thả slot trên Gantt với kiểm tra xung đột | In-progress |
4. Phụ thuộc Module
| Phụ thuộc vào | Lý do |
|---|---|
| Quản lý Chi nhánh & Sân | Nhận danh sách sân, loại sân, trạng thái khoá, bảng giá gia hạn để render Gantt |
| Bán hàng POS | Booking thủ công tạo ở POS rồi sync sang Gantt qua WebSocket |
| Phân quyền | Phạm vi chi nhánh giới hạn dữ liệu bộ lọc; RBAC kiểm soát quyền duyệt/từ chối |
5. Backend Packages
Chi tiết triển khai nằm trong tài liệu lập trình viên - mục này chỉ ánh xạ module tới các service vận hành nó.
| Package | Vai trò | Tài liệu lập trình viên |
|---|---|---|
@nx/booking | Sở hữu vòng đời booking, Gantt, panel chờ duyệt, check-in/gia hạn/huỷ | booking |
@nx/realtime | WebSocket gateway đẩy cập nhật Gantt & panel realtime | realtime |
6. Luồng người dùng chính
Bộ lọc → Cards → Popup inline
Duyệt booking online
Check-in & gia hạn (popup inline)
7. Vai trò & Phân quyền
| Vai trò | Được phép | Không được phép |
|---|---|---|
| Chủ sân | Toàn quyền: filter/cards/Gantt, duyệt/từ chối, check-in/gia hạn/ghi chú/huỷ, đổi sân/giờ (mọi chi nhánh) | - |
| Quản lý ca | Filter/cards/Gantt, duyệt/từ chối panel, thao tác popup đầy đủ, đổi sân/giờ (chi nhánh được phân công) | - |
| Thu ngân | Filter/cards/Gantt; popup check-in/gia hạn/ghi chú/huỷ trong ca | Xem panel chờ duyệt · duyệt/từ chối booking online |
| Xem báo cáo | Filter/cards/Gantt; click slot chỉ xem | Mọi thao tác (check-in · duyệt · huỷ · đổi sân) |
8. Trạng thái & Lộ trình
| Giai đoạn | Năng lực |
|---|---|
| P1 | Bộ lọc + 4 card, Gantt ngày với màu trạng thái, popup inline (check-in/gia hạn/ghi chú/huỷ), panel chờ duyệt (duyệt/từ chối), realtime sync, slot khoá read-only |
| P2 | Drag-drop đổi sân/giờ, Gantt view tuần & heat map lấp đầy, bulk approve, smart suggest giờ trống |
| P3 | AI dự đoán nhu cầu, khách tự đổi giờ trên app trong giới hạn chính sách, export PDF lịch sân |
9. Trang liên quan
- Quản lý Chi nhánh & Sân · Bán hàng POS
- Sự kiện & Giải đấu · Báo cáo
- Phân quyền
- Tài liệu lập trình viên: Booking Service