chore(openspec): archive add-flash-sales
Sync the flash-sales 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. Restate the flash-price and coupon-exclusion scenarios in the group-buying order delta, since its MODIFIED checkout block must carry the scenarios the main order spec now has.
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
## Why
|
||||
|
||||
The mall's flash-sale page is display-only and prices are fixture-derived. A real event must allocate stock and resolve activity pricing inside checkout, not trust a price shown by the client.
|
||||
|
||||
## What Changes
|
||||
|
||||
- Add shop-managed flash-sale sessions and activity products with localized display data, fixed minor-unit activity price, window, per-customer limit, and isolated activity stock.
|
||||
- Add public session and product discovery APIs and replace the flash-sale page fixtures with live data.
|
||||
- Make checkout resolve an active eligible activity server-side, atomically decrement activity stock with SKU stock, and snapshot the applied activity price on the order item.
|
||||
- Compose exclusively with other promotions: a line MAY receive flash pricing or group-buy pricing, never both; a shop order that applied any flash price SHALL reject a coupon. Restate shop-coupon redemption and pending-payment coupon restore in this change's `order` spec so archival does not drop them.
|
||||
- Add shop-admin session and activity-product management scoped to the authenticated shop; mall payment and order-detail views show the snapshotted activity price.
|
||||
|
||||
## Capabilities
|
||||
|
||||
### New Capabilities
|
||||
- `flash-sales`: Timed shop flash-sale sessions, reserved activity inventory, eligibility, and public discovery.
|
||||
|
||||
### Modified Capabilities
|
||||
- `order`: Checkout resolves and snapshots active flash-sale pricing.
|
||||
- `frontend-mall`: Flash-sale discovery and product purchase use live data.
|
||||
- `frontend-shop-admin`: Shops manage their own flash-sale configuration.
|
||||
|
||||
## Non-goals
|
||||
|
||||
Queues, bot mitigation, platform-wide campaigns, waitlists, automatic retry after sell-out, and stacking coupons onto flash-priced shop orders are excluded. Overlapping group-buy on the same SKU is rejected rather than merged.
|
||||
|
||||
## Impact
|
||||
|
||||
Adds a Rust marketing module and migrations, shared contract/locales, mall and shop-admin screens, and checkout concurrency coverage.
|
||||
Reference in New Issue
Block a user