Bản đồ hệ thống
Một trang để định vị: các domain trong wiki nối với nhau ra sao, và một sự việc đi xuyên qua chúng thế nào.
Nếu cần biết mỗi domain có những loại page nào và vì sao có ngoại lệ, xem Bản đồ cấu trúc wiki.
Quan hệ giữa các domain
| Mối nối | Nghĩa |
|---|---|
| Master Data → mọi domain | Enterprise/BU/Site/Account/Attendee/Program là dữ liệu nguồn để các flow xác định scope, người dùng, session, settings. |
| Booking/Subscription → Finance | Submit/confirm hoặc billing schedule sinh Billing, Invoice, CreditNote hoặc projection tài chính. |
| Finance → Payment | Finance giữ chứng từ và payment option; Payment thực hiện thu tiền qua PayLater/PayNow/DD/Deposit/provider. |
| Payment → Finance | Provider result/payment batch cập nhật trạng thái đối soát để invoice/projection đọc tiếp. |
| Subscription/Staff → Platform | Khi một entity đổi (tạo invoice, sửa hồ sơ nhân viên…), domain publish EntityEvent; không tự gửi gì. |
| Incident Management → Platform/Communication | Khi staff submit/send incident, hệ thống ghi history và tạo notification job để customer/staff nhận tin. |
| Platform → Communication | Platform sinh NotificationJob; Communication render + gửi. |
| Platform → History | Cùng một event còn sinh EntityHistory (audit timeline). |
| Communication → Người dùng | Email/push/SMS/in-app tới tay người nhận. |
| Nền tảng → tất cả | Topi/Tuke/Tux, DB, quy ước là nền chung mọi domain đứng trên. |
Một sự việc đi xuyên hệ thống (ví dụ)
"Admin approve một invoice trong Subscription" → điều gì xảy ra?
Một số flow hiện tại cần định vị nhanh
| Flow | Đường đi chính |
|---|---|
| Subscription Extend/Rollover | Customer/Admin → Subscription service → period/enrollment runtime → Finance đọc lịch mới. |
| Closure Day reconciliation | Finance → issued-minus-active-credit → adjustment/projection → Xero event sau commit. |
| Settings đổi context | Topi/Tuke → unified settings snapshot → hierarchy cache invalidate → client selectors. |
| Thống kê | Dashboard/Booking Manager → IStatisticsService → cùng provider/cache thống kê. |
| Notification trace | EntityEvent/action → NotificationJob → OutgoingMessage với SourceKey → delivery status. |
Ví dụ thực tế: Nếu Dashboard và Booking Manager hiện cùng kỳ mà số liệu khác nhau, kiểm tra chúng có gọi cùng
IStatisticsServicevà cache đã được refresh/invalidate chưa.
"Tôi nên đọc domain nào?"
| Bạn quan tâm | Đọc |
|---|---|
| Khách đăng ký dài hạn, billing định kỳ, hóa đơn | Subscription |
| Đặt suất học rời, discount rule, gộp booking | Booking |
| Billing, invoice, credit note, finance transaction, Xero | Finance |
| PayLater, PayNow, Direct Debit, Deposit, provider checkout | Payment |
| Enterprise/BU/Site, Account, Attendee, Program/Term/TPS/Product | Master Data |
| Nhân viên, lịch làm, nghỉ phép | Staff |
| Customer Portal, My Home, timezone theo app mode | Customer Portal |
| Số liệu attendance/booking/revenue, metric, cache/TTL | Dashboard |
| Payroll settings, timesheet, leave-only approval, CSV export | Payroll / Timesheet |
| Báo cáo incident/accident/illness, acknowledgement/signature | Incident Management |
| Vì sao/ khi nào hệ thống gửi tin, chống trùng | Platform |
| Tin được render & gửi thế nào, reminder/campaign | Communication |
| Ứng dụng/DB/quy ước nền | Nền tảng |
Đọc kỹ hơn về ranh giới: domain nào wiki không bao phủ? Xem Phạm vi tài liệu.