App booking
Slot, booking, check-in, xác nhận, credit ledger, show, payroll evidence. Mỗi thay đổi có actor và thời điểm.
Tầm nhìn sản phẩm BOD chuyển cho DEV xây dựng app-web mới: 3 nhóm người dùng, lịch tập, công/lương, Lark Base hai chiều, AI qua MCP/CLI và bảo vệ dữ liệu tại Việt Nam.
Lark là nguồn CRM/HRM theo trường được chỉ định. Ứng dụng booking là nguồn cho lịch, số buổi, attendance và công. Hai chiều đồng bộ thông qua hợp đồng dữ liệu rõ ràng.
Slot, booking, check-in, xác nhận, credit ledger, show, payroll evidence. Mỗi thay đổi có actor và thời điểm.
Lead, hợp đồng đã duyệt, thông tin nhân sự → app. App trả trạng thái kích hoạt, số dư tóm tắt và kết quả công/lương theo phạm vi.
UI, API, export, MCP và CLI đều kiểm tra cùng một quyền theo role, chi nhánh, quan hệ KH-HLV và mức nhạy cảm.
KH tự đặt lịch và xem quyền sử dụng; HLV quản ca dạy và công; nội bộ điều hành theo quyền chi tiết. Cùng một lõi dữ liệu nhưng giao diện theo nhiệm vụ.
Một attendance hợp lệ sinh debit một lần; điều chỉnh bằng bút toán đảo. Show tính công dựa trên buổi thực dạy, không suy từ số thành viên gói.
Mỗi lớp có một trách nhiệm rõ để DEV ước lượng, thiết kế và kiểm thử độc lập.
Chọn vai trò để xem phạm vi sản phẩm. Danh sách quyền chi tiết nằm ở phần “Quyền”.
Tự phục vụ, hiểu rõ quyền sử dụng gói và trạng thái lịch.
Lịch dạy, xác nhận thực dạy và đối soát show.
Quyền phân theo Ops, quản lý chi nhánh, Sales, HR, Finance, System Admin.
Mỗi luồng cho thấy dữ liệu đi qua đâu, ai sở hữu, và điểm phải ghi chứng cứ.
Các thực thể tối thiểu để hệ thống trả lời được: ai đặt, ai tập, ai dạy, trừ bao nhiêu buổi, được trả bao nhiêu và vì sao.
| Nhóm dữ liệu | Thực thể cần có | Nguyên tắc |
|---|---|---|
| Danh tính | Account, RoleAssignment, Customer, Coach, Branch, ConsentRecord | ID nội bộ bất biến; role có scope và thời hạn |
| Gói & lịch | PackageTemplate, PackageEntitlement, CoachAvailability, RoomResource, ClassOccurrence, Booking, WaitlistEntry | Điều khoản gói và policy được snapshot; slot có capacity |
| Chứng cứ | Attendance, SessionCreditLedger, PayableShow, AdjustmentRequest | Không sửa/xóa âm thầm; debit/reversal có tham chiếu |
| Lương | PayRuleVersion, PayrollRun, PayrollLine, PayrollApproval | Tiền VND số nguyên/DECIMAL; kỳ khóa bất biến |
| Tích hợp & quản trị | ExternalIdentityMap, InboxEvent, OutboxEvent, SyncConflict, AuditEvent, PrivacyRequest | Idempotency, retry, reconcile, truy vết và privacy |
| Miền dữ liệu | Nguồn ghi chính | Đầu ra phía còn lại |
|---|---|---|
| Lead/hợp đồng/thanh toán xác nhận | Lark CRM/Base | App nhận điều kiện tạo gói |
| Nhân sự/HLV | Lark HRM | App mirror trường cần đặt lịch |
| Lịch, attendance, credit, công | App booking | Lark nhận summary theo quyền |
| Danh mục gói/giá | Cần chốt một nguồn | Đồng bộ một chiều sau khi duyệt |
| Hồ sơ KH | Chủ sở hữu theo từng trường | Xung đột đưa vào review, không ghi đè mù |
Một quyền gồm hành động + tài nguyên + phạm vi + trường dữ liệu + điều kiện. Cùng policy áp cho màn hình, API, export và AI.
read / create / update / approve / export / administer
Bản thân, KH được giao, chi nhánh, toàn hệ thống có ủy quyền.
Thông tin liên hệ, sức khỏe, CCCD, thanh toán, lương tách riêng.
Đúng kỳ, hạn mức, quan hệ còn hiệu lực, có lý do và người duyệt.
| Vai trò | KH/lịch | Sức khỏe | Hợp đồng | Công/lương | Export/AI |
|---|---|---|---|---|---|
| KH | Của mình | Của mình | Của mình | — | Truy vấn của mình |
| HLV | KH được giao và lịch dạy | Tối thiểu cần cho tập | Điều kiện tập tối thiểu | Show/lương của mình | Scope được giao |
| Ops chi nhánh | Chi nhánh, sửa ngoại lệ | Hạn chế | Trạng thái cần vận hành | Show chi nhánh | Có lý do, giới hạn |
| HR / Finance | Theo nhu cầu nghiệp vụ | — | Finance xem tài chính | HR rule; Finance duyệt/chi | Riêng miền và audit |
| System Admin | Quản cấu hình | — mặc định | — mặc định | — mặc định | Break-glass có hạn |
Ma trận là đề xuất khởi đầu; brief Markdown có bảng đầy đủ hơn và các điều kiện maker-checker, export bulk, break-glass.
Tìm KH, lịch, số dư, show của mình; mask trường nhạy cảm và giới hạn số dòng.
Đổi lịch/điều chỉnh credit/payroll tạo bản nháp, hiển thị trước/sau và người duyệt.
Ghi chú từ KH/Lark là dữ liệu, không phải lệnh. Redact log/prompt, kiểm tra nơi xử lý và retention.
Data inventory, mục đích và căn cứ xử lý; đồng ý riêng cho marketing/AI; quyền truy cập/chỉnh sửa/rút lại/xóa theo nghĩa vụ áp dụng; retention và xử lý yêu cầu.
MFA, mã hóa, secret manager, audit đọc dữ liệu nhạy cảm, backup/restore, ứng phó sự cố; đánh giá Lark/cloud/AI/CDN về xử lý và chuyển dữ liệu xuyên biên giới.
Chọn tính năng phù hợp với bài toán ALL IN; thứ tự dưới đây là ưu tiên đề xuất, không phải danh sách phải sao chép.
Glofox hỗ trợ lịch PT/lớp, giới hạn chỗ, waitlist, nhắc lịch và chính sách hủy muộn. ALL IN nên thiết kế ngay vào lõi booking.
Mindbody gắn lịch nhân sự, thay ca, hiệu suất và payroll. ALL IN cần ghi dạy thay và evidence công ngay ở từng buổi.
Trainerize nhấn mạnh chương trình tập, mục tiêu và thói quen. ALL IN có thể thêm ở pha sau với quyền xem dữ liệu sức khỏe được kiểm soát.
Data audit, rule workshop, nguồn chủ theo trường, threat/privacy review.
Auth, policy, PostgreSQL, import dry-run, audit, backup/restore.
PT/lớp nhóm, capacity, attendance, credit ledger, KH/HLV portal.
Sync hai chiều theo trường, reconcile, pay rule version, chạy song song.
MCP/CLI read-only, báo cáo retention, đề xuất có duyệt.
Không password rõ; mọi API, export, MCP/CLI đều test cross-role và cross-branch.
Concurrent booking không vượt chỗ; retry checkout không trừ hai lần; số dư đối soát từ ledger.
Hai kỳ lương chạy song song; kỳ khóa tái xuất nguyên số dù rule mới thay đổi.
| Quyết định | Cần trả lời |
|---|---|
| Điều kiện tập | Hợp đồng ký/đã trả một phần/payfull; giới hạn buổi cho mỗi loại gói? |
| Trừ buổi | Check-in hay completed? No-show, hủy muộn, ngoại lệ được tính ra sao? |
| Công HLV | Một show là gì? Nhóm tính theo booked hay check-in? Dạy thay/ca qua ngày? |
| Lương cứng/ngày công | Nguồn chấm công nào? Ai phê duyệt rule và adjustment? |
| Field ownership | Ai được sửa gói/giá, hồ sơ KH, payment status ở Lark hay app? |
| AI và dữ liệu | Use case đầu tiên; có health data không; model/cloud ở đâu? |
| Migration | Ngày cutover, số dư mở đầu, lịch sử cần giữ và nguồn đối soát? |
Rà soát ngày 12/10/2026. Nguồn nội bộ là phác thảo BA và SOP; tham chiếu ngoài là trang chính thức của nhà cung cấp/cơ quan ban hành.
ADMIN_REPLACEMENT_ARCHITECTURE.mdKB_AppBooking_Cap_Tai_Khoan.mdCác file Excel/CSV mẫu chưa được kiểm toán từng dòng.