UC-PLAN-003 — Cập nhật Plan (Update)

↑ Parent: FEAT-PLAN-001 ↓ User Story: US-PLAN-003 Common: Field Specification — Plan Form · Business Rules — Common (BR-PLAN-004, BR-PLAN-005 — dùng chung với UC-PLAN-001)

FieldValue
IDUC-PLAN-003
NameCập nhật Plan (Update)
Parent FeatureFEAT-PLAN-001
Primary ActorBilling Admin
Secondary Actors
GoalChỉnh sửa thông tin một Plan đã tồn tại mà không phá vỡ các subscription đang chạy trên Plan đó.
TriggerAdmin chọn “Edit” trên một Plan trong danh sách.
PreconditionsPRE-01. Admin đã đăng nhập và có quyền quản lý Billing. PRE-02. Plan cần sửa đang tồn tại (bất kỳ status nào).
PostconditionsPOST-01. Plan được lưu với thông tin mới. POST-02. Subscription hiện tại tiếp tục dùng pricing cũ cho tới kỳ renew tiếp theo; invoice kế tiếp áp dụng pro-rata (BR-PLAN-005).
Main Flow1. Admin chọn “Edit” trên một Plan. 2. System hiển thị form Update, prefill toàn bộ field hiện tại (theo Field Specification — Common). 3. Admin chỉnh sửa các field được phép sửa. 4. Admin xác nhận lưu. 5. System validate và cập nhật Plan.
Alternate FlowsA1. Admin đổi interval hoặc amount trong khi Plan có subscription active → System cảnh báo “Change will apply pro-rata from next cycle” và yêu cầu xác nhận thêm trước khi lưu (BR-PLAN-005).
Exception FlowsE1. Admin sửa code trong khi Plan đã có ít nhất 1 subscription (kể cả đã huỷ) → System từ chối lưu, hiển thị lỗi “Cannot change code of a Plan with existing subscriptions” (BR-PLAN-004). E2. Admin nhập amount ≤ 0 hoặc bỏ trống field required → System từ chối lưu và hiển thị lỗi tương ứng theo Field Specification.
Related Use CasesUC-PLAN-001 (Tạo mới Plan), UC-PLAN-004 (Ngừng sử dụng Plan)

Business Rules

UC này không có rule riêng — toàn bộ business rule áp dụng cho Update (BR-PLAN-004, BR-PLAN-005) đã dùng chung với UC-PLAN-001 nên nằm ở Business Rules — Common.