• Mahmoud Aglan's avatar
    Add annual products with dual pricing and installment plans · 7f4dbddd
    Mahmoud Aglan authored
    - New migration: billing_cycle (one_time/annual), member_price, non_member_price on products; product_installment_plans table (per-product, per-tier plan templates)
    - ProductInstallmentPlan model with scopeActive/forTier, downPaymentAmount/regularInstallmentAmount helpers
    - Product model: priceForTier(), isAnnual(), installmentPlans() relationship
    - ProductForm: annual billing section with member/non-member dual prices and installment plan builder (add/remove rows, upsert on save)
    - Registration wizard: essentialProducts() and hotbuyResults() now return billing_cycle and plans[]; addHotbuyItem() carries plans into cart; setHotbuyPlan() selects a plan per cart item; confirm() generates PaymentPlan + Installment rows for annual items with a selected plan
    - Wizard blade: annual cart items show purple "سنوي" badge, plan pills (full payment + per-plan buttons), and installment breakdown preview on selection
    Co-Authored-By: 's avatarClaude Sonnet 4.6 <noreply@anthropic.com>
    7f4dbddd
Name
Last commit
Last update
..
Attendance Loading commit data...
Audit/Models Loading commit data...
Document Loading commit data...
Facility Loading commit data...
Financial Loading commit data...
HR Loading commit data...
Identity Loading commit data...
Inventory Loading commit data...
Notification Loading commit data...
POS Loading commit data...
Participant Loading commit data...
Pricing Loading commit data...
Scheduling Loading commit data...
Shared Loading commit data...
Training Loading commit data...
Website Loading commit data...
WhatsApp Loading commit data...