docs(openspec): plan shop coupons, accounts, points, flash sales, and group buying
Capture exclusive promotion composition, empty-group cancel, and mall surface scope so the five marketing changes can be implemented without stacking or lifecycle ambiguity. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
co-authored by
Cursor
parent
e10cae5789
commit
53548196f8
@@ -0,0 +1,16 @@
|
||||
## ADDED Requirements
|
||||
|
||||
### Requirement: Live shop coupon surfaces
|
||||
The mall SHALL load a product's currently claimable shop coupons and the signed-in customer's coupon list through the shared API client, replacing direct coupon fixtures. Checkout SHALL present eligible owned coupons separately for each shop order and show the server-returned discount after submission. Payment and order-detail views SHALL show the persisted `discount_minor` and post-discount total from the order payload.
|
||||
|
||||
#### Scenario: claim from a product page
|
||||
- **WHEN** a signed-in shopper claims an active coupon with remaining stock from a product page
|
||||
- **THEN** it appears in the shopper's coupon list without a fixture import
|
||||
|
||||
#### Scenario: select coupon by shop
|
||||
- **WHEN** a cart spans two shops and the shopper selects a coupon for one shop
|
||||
- **THEN** checkout submits the choice only for that shop and the other shop remains undiscounted
|
||||
|
||||
#### Scenario: order shows realized discount
|
||||
- **WHEN** checkout succeeds with a coupon on one shop order
|
||||
- **THEN** that order's payment and detail views show the server discount and reduced total without a client-calculated amount
|
||||
Reference in New Issue
Block a user