• 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
..
css Loading commit data...
js Loading commit data...
views Loading commit data...