QnA Init Docs — UC_4.7.4: Countdown Timer
Ngày tạo: 2026-08-08
Phiên bản: v1
BA phụ trách: Trang Nguyen
Trạng thái: ✅ BA đã trả lời 5/5 câu
- A-05: Countdown Timer SIM (UC_4.7.4) và LIVE (UC_4.11.1) split thành 2 UC riêng.
- A-15: Trigger "Extend Time" (
days_remaining < 10) áp dụng cho CẢ 3 track (Associate/Accelerated/Advanced), không giới hạn Associate-only như dashboard_v7_full.txt L679 viết.
| ID | Câu hỏi | Giả định (BA/QC đề xuất) | BA chốt (ưu tiên cao nhất) | Trạng thái |
|---|
| QN-4.7.4-01 | [QUAN TRỌNG] Ranh giới nội dung với UC_4.9.4 (Time Extension Purchase). UC_4.9.4 đã document toàn bộ flow mua extension (POST /purchase-time-extension, Tax Priming, Modal UI, Path A/B 1-Click). UC_4.7.4 (Countdown Timer) chỉ nên document phần hiển thị counter + điều kiện show button "Extend Time", hay phải lặp lại toàn bộ purchase flow? | UC_4.7.4 chỉ owns: (1) hiển thị days_remaining ở header, (2) pulse/glow visual khi days_remaining <= 10, (3) render nút "Extend Time" khi điều kiện đủ, (4) on-click → chuyển sang flow của UC_4.9.4 (không lặp lại business rule). SRS UC_4.7.4 sẽ link sang UC_4.9.4 cho phần purchase flow, theo nguyên tắc single-source-of-truth đã áp dụng ở UC_4.11.5→Career Path. | BA confirm đúng nguyên văn đề xuất. | ✅ Confirmed |
| QN-4.7.4-02 | Trigger threshold — < 10 hay <= 10? WBS description ghi "fewer than 10 days" (= < 10), nhưng sibling UC_4.9.4's QnA (QN-4.9.4-08, chưa confirm) đề xuất <= 10. Cần đồng bộ threshold giữa 2 UC để tránh lệch. | Dùng <= 10 (khớp với đề xuất QN-4.9.4-08) — nếu BA confirm khác ở UC_4.9.4 thì UC_4.7.4 phải đổi theo để nhất quán. Đây là dependency 2 chiều, cần chốt cùng lúc với UC_4.9.4-08. | BA confirm: <= 10. | ✅ Confirmed |
| QN-4.7.4-03 | Pulse/Glow intensity — có tăng dần theo số ngày còn lại không? Wireframe Less than 10 days.png chỉ có 1 trạng thái tĩnh. Input không mô tả animation có nhiều cấp độ (vd nhẹ ở 10 ngày, mạnh hơn ở 1 ngày) hay chỉ 1 mức duy nhất suốt từ < 10 đến 0. | Chỉ 1 mức pulse/glow duy nhất, kích hoạt ngay khi days_remaining <= 10 và giữ nguyên cường độ cho đến khi mua extension hoặc account fail. Không có multi-level intensity trong scope hiện tại. | BA confirm đúng đề xuất: 1 mức duy nhất, không multi-level intensity. | ✅ Confirmed |
| QN-4.7.4-04 | Counter hiển thị đơn vị gì khi days_remaining = 0? Sibling QnA (QN-4.9.4-02) xác nhận user vẫn có thể mua extension khi days_remaining = 0 (cùng ngày UTC với expiration). Counter lúc đó hiển thị "0 days" hay đổi text khác (vd "Last day")? | Hiển thị "0 days remaining" hoặc text "Last day" — cần Figma xác nhận copy chính xác. Điều kiện áp dụng: khi days_remaining = 0, UI vẫn hiển thị nút "Extend Time" (không ẩn) vì user còn nguyên ngày đó để mua. | BA sửa lại phần 2. Hiển thị copy "0 days remaining" (giữ như đề xuất). Nhưng khi days_remaining = 0 thì KHÔNG hiển thị nút "Extend Time" nữa (ngược lại với đề xuất ban đầu — nút bị ẩn ngay khi còn 0 ngày, không đợi qua ngày). | ✅ Confirmed — sửa đề xuất: nút "Extend Time" ẩn khi days_remaining = 0 (không phải vẫn hiện như giả định ban đầu). ⚠️ Lưu ý: điều này có thể ảnh hưởng tới sibling QnA UC_4.9.4 (QN-4.9.4-02, hiện đề xuất "vẫn mua được extension trong ngày cuối") — cần đối chiếu lại khi UC_4.9.4 được review, vì nếu ẩn nút thì user không còn entry point để mua extension ở ngày cuối trừ khi có access khác. |
| QN-4.7.4-05 | GET /user/status response — field extend_eligible có phải nguồn duy nhất quyết định hiển thị button? WBS mapping_be ghi "If < 10, include extend_eligible flag". Frontend có tự tính lại từ days_remaining hay chỉ dựa vào flag này? | Frontend dựa hoàn toàn vào flag extend_eligible từ response (không tự tính lại days_remaining < 10 ở client) — tránh lệch giờ giữa client/server (timezone). days_remaining chỉ dùng để hiển thị số, không dùng để quyết định logic hiển thị button. | BA confirm đúng nguyên văn đề xuất. | ✅ Confirmed |
| Date | Version | Updated item | Before | After | Notes |
|---|
| 2026-08-08 | v1 | Initial creation | — | 5 QnA items | Init Flow Step 1+2 |
| 2026-08-08 | v2 | BA review — 5/5 câu trả lời | ⏳ Chờ BA | ✅ Confirmed (1 câu sửa hướng: nút Extend Time ẩn khi days_remaining=0 — ⚠️ có khả năng xung đột với QN-4.9.4-02, cần đối chiếu khi review UC_4.9.4) | BA review round 1 |