# Index: Marketing (coupons, flash sales, group buying, points) Domain design: `docs/domains/marketing.md`. Specs: `openspec/specs/shop-coupons/`, `flash-sales/`, `group-buying/`, `points-mall/`. ## Backend (`apps/api`) | Module | Holds | |---|---| | `modules/coupon/` | template CRUD, claim, checkout discount + redemption | | `modules/flash_sale/` | sessions/items CRUD, activity price resolution, reserved stock | | `modules/group_buying/` | activities, groups, seat claim at payment | | `modules/points/` | points catalog, redemption, fulfillment | Migrations: `0011_shop_coupons.sql`, `0012_points_mall.sql`, `0013_flash_sales.sql`, `0014_group_buying.sql`. Tests: `tests/coupons.rs`, `tests/flash_sales.rs`, `tests/group_buying.rs`, `tests/points.rs`. ## Frontends - Mall: `pages/seckill.vue`, `pages/collective.vue`, `pages/integral.vue`, `pages/user/coupons.vue`; checkout coupon selection in `pages/checkout/index.vue` - Shop-admin: `pages/coupons.vue`, `pages/flash-sales.vue`, `pages/group-buying.vue` - Admin: `pages/points-products.vue`, `pages/points-orders.vue`