Số liệu thực đo từ Pilot Gamma-1 (sandbox production-like, 2026-07-06). Số đo bằng script kiểm thử thật, không bịa.
| Chỉ số | Kết quả | Ghi chú |
|---|---|---|
| Thời gian onboarding (BNG provision + cấp key) | ~2 giây | create-partner→activate→provision-tenant→activate→seed-inventory→issue-key (CLI, không SQL). *(Chưa gồm allowlist IP staging — bước ops cho đối tác thật.)* |
| Thời gian tích hợp (đối tác chạy đủ battery) | ~2 giây | 13 API check + 3 flow ví dụ (curl/JS/Python), tuần tự. Luồng lõi 4 call: sub-second. |
| Tổng thời gian end-to-end | < 1 phút | Rất trong ngân sách mục tiêu 30 phút. |
| Số lỗi blocker | 0 | |
| Số lỗi không blocker (sản phẩm) | 0 | 1 "fail" là artifact test-harness (G1-01), không phải lỗi sản phẩm. |
| Số booking thành công | 4 | 1 booking lõi + 3 booking từ 3 flow ví dụ. |
| Lỗi 5xx | 0 | Log API sạch. |
| API | Kết quả | HTTP |
|---|---|---|
| Availability | ✅ | 200 {ok:true, available:true, price, total} |
| Booking create | ✅ | 201 {status:"pending", code:"BNG-…"} |
| Confirm | ✅ | 200 {status:"confirmed"} |
| Cancel | ✅ | 200 {status:"cancelled"} |
| List reservations | ✅ | 200 {items, nextCursor} |
Tỷ lệ thành công API chính: 5/5 = 100%.
| Kịch bản | Kỳ vọng | Kết quả |
|---|---|---|
| Không API key | 401 UNAUTHENTICATED | ✅ |
| API key sai | 401 UNAUTHENTICATED | ✅ |
Thiếu guestEmail | 400 VALIDATION | ✅ |
unitId sai | 404 LISTING_UNIT_NOT_FOUND | ✅ |
| Confirm đơn đã cancel | 409 RESERVATION_INVALID_STATUS_TRANSITION | ✅ |
| Tenant bị suspend | 403 TENANT_INACTIVE | ✅ |
Tuân thủ error catalog: 6/6 = 100% (mọi lỗi trả đúng mã đã tài liệu hoá).
| Kiểm tra | Kết quả |
|---|---|
| Idempotency (replay cùng key → cùng reservationId) | ✅ |
| Suspend Tenant → chặn request (403) | ✅ |
| Reactivate Tenant → request hoạt động lại (200) | ✅ |
| Ngôn ngữ | flow (Availability→Booking→Confirm→Cancel) |
|---|---|
curl (curl/flow.sh) | ✅ exit 0 |
JavaScript (javascript/flow.mjs, Node ≥18) | ✅ exit 0 |
Python (python/flow.py, stdlib) | ✅ exit 0 |
3/3 bộ ví dụ chạy độc lập thành công.
ok/data nhất quán; idempotency đúng kỳ vọng; onboarding CLI nhanh.BNG_BASE_URL khi test local (Low); trên staging thật cần BNG allowlist IP trước (G1-02).