feat(pricing): unified Board Offer system with cash discount + installment terms
- Rebuild board_offers table with unified schema (cash path + installment path in one record)
- Add grace period support (first_n_months and full_free_under_n modes)
- Add offer snapshot to payment_requests for persistence across offer expiry
- Add offer context (board_offer_id, grace_months) to installment_plans
- Refactor BoardOfferService with branch-aware offer resolution
- Enhance InstallmentCalculator with grace period math
- Full admin CRUD (BoardOfferController + views + routes + permissions)
- Integrate offer display in member show page payment section
- Snapshot offer at payment request creation, use snapshot in plan creation
- Fix BillingService to use new BoardOfferService API
Co-Authored-By:
Claude Opus 4.6 <noreply@anthropic.com>
Showing
Please register or sign in to comment