Trang chủ Thương mại Enterprise
Tài liệu 12 / 14

Enterprise

7 phút đọc 1.349 từ Cập nhật 2026-07-07

Sales Kit — Tài liệu 12/14. Cho khách hàng lớn / kỹ thuật muốn ra mắt nền tảng OTA Đa Dịch Vụ (vanlangtoi.com = Nền tảng OTA Đa Dịch Vụ của Việt Nam) mang thương hiệu riêng: kiến trúc, khả năng mở rộng, bảo mật, API, SSO, analytics, đa đối tác, đa thương hiệu. Trung thực về cái đã có vs cái đang triển khai.

Chú giải trạng thái (chỉ 3): ✅ Production Ready (code đã xây + kiểm thử) · 🟡 In Implementation (đã được Founder duyệt, chương trình đã bắt đầu — discovery/design/architecture/dev/integration/testing; có thể chưa viết code; chưa hoàn thiện) · ❌ Deprecated (không có mục nào).

Cảnh báo bán hàng: enterprise thường có đội IT sẽ kiểm chứng. Đừng phóng đại. Cái đang triển khai (SSO, RLS-production, analytics nâng cao) phải gắn nhãn 🟡 In Implementation và không được nói là "đã hỗ trợ / có sẵn". Sự chính xác kỹ thuật = uy tín.


Kiến trúc tổng thể

vanlangtoi.com (Nền tảng OTA Đa Dịch Vụ của Việt Nam) được xây theo Domain-Driven Design + kiến trúc sạch (clean architecture), tách 3 lớp:

Nguyên tắc cốt lõi: trừu tượng Listing / Inventory / Reservationreservable-agnostic, không khoá vào "Hotel/Room". Frontend nối backend qua seam (ports → mock/real), đổi implementation không đụng UI.

Lớp Vai trò Trạng thái
platform-domain Logic nghiệp vụ thuần (không phụ thuộc hạ tầng) ✅ 42 test
platform-infrastructure Adapters DB, API, auth, outbox, ops ✅ ~100+ test
Frontend 5 portal + Web App vận hành 🟡 UI đầy đủ; Guest/Partner nối live

Định vị lớn hơn: Booking là Module #1 của Travel OS — một nền tảng multi-tenant, event-driven mà các module mới (Catalog, Pricing, Payment, Partner, CRM, Notification, Analytics) và vertical (Medical Tourism) sẽ "cắm vào", copy khuôn Booking. (Chi tiết: 13 — Roadmap.)


1. Scalability (khả năng mở rộng)

Khía cạnh Cơ chế Trạng thái
Chống overbooking Khoá DB FOR UPDATE khi tạo đơn
Danh sách lớn Phân trang keyset/cursor (không offset chậm)
Xử lý sự kiện Outbox at-least-once + dead-letter + replay + advisory lock
Tách service tương lai Modular monolith → tách theo ranh giới context khi cần 🟡 In Implementation (thiết kế sẵn)
Event bus thật (Kafka/NATS) Thay outbox-console khi quy mô lớn 🟡 In Implementation
Benchmark tải chính thức Chưa công bố; cần load test theo quy mô khách 🟡 In Implementation

Nói thật: kiến trúc thiết kế để mở rộng, nhưng chưa có benchmark tải công bố. Với khách enterprise, đề xuất load test theo quy mô của họ trong pilot.


2. Security (bảo mật)

Kiểm soát Cơ chế Trạng thái
Cách ly đa đối tác Repo tenant-scoped + guard app-layer
Row-Level Security (RLS) Policy SQL + withTenant + test ✅ staging · 🟡 In Implementation: bật ở production (chờ DR drill)
Chống IDOR Cross-tenant → 404, không lộ tồn tại
Bảo vệ API key Key hash lưu server; 0 lần lộ ra bundle browser
Audit trail State + audit nguyên tử trong cùng transaction
Log redaction Che dữ liệu nhạy cảm trong log
Không lưu dữ liệu thẻ Thanh toán off-platform
Auth người dùng cuối Session/JWT/RBAC 🟡 In Implementation (điều kiện tiên quyết để public)
Rate-limit gateway production Hiện chỉ guard demo (in-memory) 🟡 In Implementation
Backup tự động Hiện pg_dump thủ công 🟡 In Implementation

Tài liệu bảo mật chi tiết: docs/backend/SECURITY-CHECKLIST.md, RLS-*.md. Với enterprise, chia sẻ được các tài liệu này để đội IT của họ thẩm định.


3. API

Năng lực Chi tiết Trạng thái
Booking API v1 (v1.1) availability · create (idempotency) · confirm/cancel/check-in/out/no-show · list (keyset)
Xác thực x-bng-api-key (hash) + basic-auth gate; tenant từ key
Idempotency Idempotency-Key khi tạo đơn; eventId cho outbox
DTO validation Zod; error→HTTP mapping; không lộ stack
Bộ tích hợp OpenAPI · Postman · ví dụ curl/JS/Python · error catalog
Webhook cho đối tác Có hạ tầng outbox; provider webhook thật 🟡 In Implementation
Public API / MCP Sau auth + production 🟡 In Implementation

Bằng chứng mạnh cho enterprise: đối tác pilot đã đi hết luồng chỉ bằng bộ tài liệu tích hợp (Gamma-1: chạy examples/*/flow exit 0). Nói: "API của tụi em tự-phục-vụ được bằng tài liệu, không cần cầm tay."


4. SSO (đăng nhập một lần)

Trạng thái: 🟡 In Implementation (đã được Founder duyệt, chương trình đã bắt đầu; chưa hoàn thiện, chưa có SSO chạy thật).

  • Hiện tại: xác thực là API key server-to-server; auth người dùng cuối và SSO (SAML/OIDC) đang triển khai, chưa có tính năng chạy thật.
  • SSO gắn với việc xây auth người dùng cuối — điều kiện tiên quyết cho enterprise identity.

Nói thẳng với khách enterprise: "SSO — 🟡 In Implementation (đã được duyệt, gắn với lớp auth người dùng cuối đang triển khai); chưa có trong bản chạy hôm nay. Nếu SSO là bắt buộc, mình đưa vào phạm vi triển khai như một hạng mục có kế hoạch." Không khẳng định "hỗ trợ SSO" hay "SSO có sẵn".


5. Analytics

Năng lực Chi tiết Trạng thái
Metrics vận hành Health report (multi-check), metrics snapshot (gồm gmvVnd, liveProvisioning), outbox stats — qua Ops CLI + /app/health
GMV toàn sàn (marketplace) Platform Admin hiển thị 🟡 UI demo (mock)
Báo cáo cơ bản Web App /app/report ✅ (cơ bản)
BI / analytics nâng cao / đối soát tự động Dashboard phân tích sâu 🟡 In Implementation
Metrics exporter (Prometheus) / alerting Giám sát production 🟡 In Implementation

North Star nội bộ: Activated Tenant GMV — nền tảng đã có nền đo (ops:metrics). Nhưng analytics khách-hàng-facing nâng cao đang ở trạng thái 🟡 In Implementation, đừng bán như BI đầy đủ hay đã có sẵn.


6. Multi-tenant (đa đối tác)

Trạng thái: ✅ ĐÃ CHỨNG MINH (năng lực lõi mạnh nhất cho enterprise).

  • Mỗi đối tác một không gian dữ liệu cách ly; truy vấn tenant-scoped.
  • 4 lớp isolation + RLS-readiness (bật ở staging).
  • Vòng đời Partner (pending/active/suspended/revoked) + Tenant (provisioned/active/suspended/archived) + cổng booking — có test (ops-partner.test.ts, ops-tenant.test.ts, tenant-provisioning-e2e.test.ts).
  • Cross-tenant access → 404.

7. Multi-brand (đa thương hiệu)

Năng lực Chi tiết Trạng thái
Brand theme registry 5 theme (default, minimal, family, luxury, beach) + brand-switcher ✅ (frontend)
Theme-per-tenant Mỗi tenant một bộ nhận diện 🟡 "Tenant/Theme (5 brand)" — status partial (mock)
Custom domain per brand Tên miền riêng mỗi thương hiệu 🟡 In Implementation (DNS+SSL tự động)
Sáng/tối Theme toggle

Multi-brand ở tầng giao diện đã có (theme registry); theme-per-tenant runtime + tự động hoá custom domain đang ở trạng thái 🟡 In Implementation.


Bảng tóm cho đội IT của khách (một trang)

Hạng mục Trạng thái Ghi chú
DDD + clean architecture 3 lớp tách bạch, ~150+ test
Booking API v1 + idempotency Bộ tích hợp tự-phục-vụ
Multi-tenant + cách ly RLS staging; bật production = 🟡 In Implementation
Outbox (at-least-once, DLQ, replay) Advisory lock
Observability (health/metrics/log) Ops CLI
Chống overbooking + audit Test-covered
Auth người dùng cuối 🟡 In Implementation · tiên quyết cho public/SSO
SSO 🟡 In Implementation · gắn với auth
Thanh toán tự động 🟡 In Implementation · hiện off-platform
Notification production 🟡 In Implementation · hiện console-only
Analytics/BI nâng cao 🟡 In Implementation · metrics vận hành đã có
Production public / RLS-on 🟡 In Implementation · chờ hardening + DR drill
Benchmark tải 🟡 In Implementation · cần load test theo quy mô

Thông điệp enterprise: "Phần lõi giao dịch — engine, đa đối tác, audit, outbox, API — đã kiểm chứng bằng test và staging. Các lớp production-grade (auth end-user, SSO, thanh toán, analytics nâng cao) đang ở trạng thái 🟡 In Implementation (đã được duyệt, chương trình đã bắt đầu — chưa hoàn thiện); nếu là bắt buộc, mình đưa vào phạm vi có kế hoạch. Tụi em nói đúng trạng thái để đội anh/chị thẩm định được."

Tiếp theo: 13 — Product Roadmap.