26 lines
936 B
Markdown
26 lines
936 B
Markdown
# Documenter — F-019 Promotions v1
|
|
|
|
## Summary
|
|
Promotions v1 adds server-side promo code definitions and validation. Cart stores only a selected `promoCode`; discount amounts are recalculated from current cart totals.
|
|
|
|
## Public API notes
|
|
|
|
| Route | Access | Result |
|
|
|---|---|---|
|
|
| POST /promotions | admin only | Creates or updates a promo code |
|
|
| POST /cart/promo-code | authenticated | Applies one promo code to the current cart |
|
|
|
|
## Rules
|
|
- Promotion types: `percent` and `fixed_amount`.
|
|
- Percent values are basis points; fixed values are cents and capped at cart total.
|
|
- Validity checks: active flag, time window, usage limit.
|
|
- No stacking in v1: one promo code per cart.
|
|
- Client-supplied discount amounts are ignored.
|
|
|
|
## Evidence
|
|
- `work/artifacts/F-019/architect.md`
|
|
- `work/artifacts/F-019/implementer.md`
|
|
- `work/artifacts/F-019/reviewer.json`
|
|
- `work/artifacts/F-019/security.json`
|
|
- `work/artifacts/F-019/qa.json`
|