Files
vmall/openspec/specs/frontend-shop-admin/spec.md
T
james cc07ac3230 chore(openspec): archive add-shop-coupons
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.
2026-09-18 12:13:49 +00:00

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