39 lines
2.2 KiB
Markdown
39 lines
2.2 KiB
Markdown
## ADDED Requirements
|
|
|
|
### Requirement: Discontinued packages SHALL remain renewable only for eligible existing customers
|
|
|
|
The H5/C client SHALL keep discontinued packages out of the ordinary package catalog shown to new customers and agents. An eligible existing customer SHALL be able to use a valid `current_package_id` from asset info or `package_ids` from a historical order to continue a package renewal.
|
|
|
|
#### Scenario: New customer opens the package catalog
|
|
|
|
- **WHEN** the package catalog contains a discontinued package that is not the customer's current package
|
|
- **THEN** the client SHALL not display that package as an ordinary purchase option
|
|
|
|
#### Scenario: Existing customer is using a discontinued current package
|
|
|
|
- **WHEN** asset info returns a discontinued package through `current_package_id`
|
|
- **THEN** the client SHALL expose that ID only in the eligible renewal context
|
|
- **AND** the client SHALL allow the customer to continue through the existing package-order flow
|
|
|
|
#### Scenario: Existing customer renews from a historical order
|
|
|
|
- **WHEN** a historical order returns one or more valid `package_ids`
|
|
- **THEN** the client SHALL use those IDs for the renewal selection when the existing renewal flow provides that entry
|
|
- **AND** the client SHALL preserve the historical order data unchanged
|
|
|
|
### Requirement: Renewal SHALL reuse the standard order creation contract
|
|
|
|
The client SHALL create a renewal by calling `POST /api/c/v1/orders/create` with the selected package ID or IDs, the asset `identifier`, and a currently allowed `payment_method`. It SHALL not invent or call a dedicated discontinued-package renewal endpoint.
|
|
|
|
#### Scenario: Submit a discontinued-package renewal
|
|
|
|
- **WHEN** an eligible customer confirms a renewal with an allowed payment method
|
|
- **THEN** the client SHALL submit the selected package IDs, identifier, and payment method to the standard order endpoint
|
|
- **AND** the client SHALL follow the standard payment response handling
|
|
|
|
#### Scenario: No eligible package ID is available
|
|
|
|
- **WHEN** neither asset info nor the relevant historical order supplies a valid package ID
|
|
- **THEN** the client SHALL show that renewal is unavailable
|
|
- **AND** the client SHALL not guess an ID from the ordinary package catalog
|