• 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
..
components Loading commit data...
errors Loading commit data...
layouts Loading commit data...
livewire Loading commit data...
print Loading commit data...
public Loading commit data...
receipts Loading commit data...
reports Loading commit data...
website Loading commit data...
welcome.blade.php Loading commit data...