Sync the shop-coupons capability plus the order, frontend-mall, and frontend-shop-admin requirements into the main specs, and write the capability Purpose the archive leaves as a placeholder. Renaming the coupon scenario in the flash-sales and group-buying order deltas to the exact name now in the main order spec keeps those changes archivable, since a MODIFIED requirement replaces the whole block.
32 lines
1.5 KiB
Markdown
32 lines
1.5 KiB
Markdown
# frontend-shop-admin Specification
|
|
|
|
## Purpose
|
|
The merchant console for managing a shop's products and fulfilling its orders.
|
|
|
|
## Requirements
|
|
|
|
### Requirement: Merchant product management
|
|
Shop users SHALL manage only their own shop's products: create/edit bilingual content, manage SKUs, publish/unpublish with immediate effect on the storefront.
|
|
|
|
#### Scenario: publish visible in mall
|
|
- **WHEN** a merchant publishes a product in shop-admin
|
|
- **THEN** it appears in the mall product list for the matching locale
|
|
|
|
### Requirement: Merchant fulfillment
|
|
Shop users SHALL see incoming orders, create shipments, mark them shipped, and issue requested invoices.
|
|
|
|
#### Scenario: ship an order
|
|
- **WHEN** a merchant creates a shipment for a paid order and marks it shipped
|
|
- **THEN** the shopper sees the shipment with tracking info
|
|
|
|
### Requirement: Merchant coupon management
|
|
Shop users SHALL manage only their shop's coupon templates from shop-admin, including localized title, amount and threshold in minor units, currency, claim stock, active window, and enabled state. Shop-admin SHALL expose a coupons navigation entry beside existing shop operations.
|
|
|
|
#### Scenario: create an active template
|
|
- **WHEN** a shop owner creates a valid coupon template
|
|
- **THEN** the template is available for eligible customers to claim during its active window
|
|
|
|
#### Scenario: coupons appear in shop navigation
|
|
- **WHEN** an authenticated shop user opens shop-admin
|
|
- **THEN** a coupons management entry is reachable without leaving the shop-scoped console
|