<?php
declare(strict_types=1);

use App\Core\Database;

/**
 * قائمة اسعار الاكاديميات الرياضية وايجارات الملاعب والصالات والقاعات وحمام السباحة
 * موسم 2025/2026
 */
return function (Database $db): void {
    $ts = date('Y-m-d H:i:s');

    // Check table exists
    $tableExists = $db->selectOne(
        "SELECT 1 FROM information_schema.tables WHERE table_schema = DATABASE() AND table_name = 'sa_academy_pricing'"
    );
    if (!$tableExists) {
        return;
    }

    // Clear existing data for fresh import
    $db->raw("DELETE FROM sa_academy_pricing WHERE season = '2025_2026'");
    $db->raw("DELETE FROM sa_rental_entity_pricing WHERE effective_from = '2025-09-01'");
    $db->raw("DELETE FROM sa_discount_rules");

    $sort = 0;

    // ══════════════════════════════════════════════════════════════════════════
    // 1. السباحة — اكاديمية السباحة تحت 13 (من 6 شهور الى 12 سنة)
    // ══════════════════════════════════════════════════════════════════════════
    $swimUnder13 = [
        // [level_name_ar, group_size_max, subscription, member, nonmember_10pct_disc]
        ['5 سباحين', 5, 960, 480, 870],
        ['4 سباحين', 4, 1200, 600, 1080],
        ['3 سباحين', 3, 1440, 720, 1300],
        ['سباح 2', 2, 1680, 840, 1520],
        ['سباح 1', 1, 2160, 1080, 1950],
        ['ذوى همم', null, 3200, 1600, 2880],
    ];

    foreach ($swimUnder13 as $row) {
        $db->insert('sa_academy_pricing', [
            'academy_code' => 'SWIM-ACADEMY',
            'academy_name_ar' => 'أكاديمية السباحة',
            'discipline_code' => 'SWIMMING',
            'category' => 'subscription',
            'level_name_ar' => $row[0],
            'age_group' => 'under_13',
            'age_from' => 0,
            'age_to' => 12,
            'group_size_max' => $row[1],
            'sessions_per_week' => 2,
            'sessions_per_month' => 8,
            'session_duration_minutes' => 60,
            'price_member' => $row[2],
            'price_nonmember' => $row[4],
            'price_subscription' => $row[1] ? $row[2] : null,
            'billing_period' => 'monthly',
            'notes_ar' => '8 وحدات خلال الشهر مرتين اسبوعيا - مدة التمرينة ساعة - من سن 4 سنوات الى 12 سنة',
            'season' => '2025_2026',
            'sort_order' => ++$sort,
            'is_active' => 1,
            'effective_from' => '2025-09-01',
            'created_at' => $ts,
            'updated_at' => $ts,
        ]);
    }

    // رضع 1 (6 شهور - 3 سنوات)
    $db->insert('sa_academy_pricing', [
        'academy_code' => 'SWIM-ACADEMY',
        'academy_name_ar' => 'أكاديمية السباحة',
        'discipline_code' => 'SWIMMING',
        'category' => 'subscription',
        'level_name_ar' => 'رضع 1',
        'age_group' => 'infant',
        'age_from' => 0,
        'age_to' => 3,
        'group_size_max' => null,
        'sessions_per_week' => 2,
        'sessions_per_month' => 8,
        'session_duration_minutes' => 75,
        'price_member' => 1200,
        'price_nonmember' => 2160,
        'price_subscription' => 2400,
        'billing_period' => 'monthly',
        'notes_ar' => '8 وحدات خلال الشهر مرتين اسبوعيا - مدة التمرينة ساعة الا ربع - من سن 6 شهور وحتى 3 سنوات',
        'season' => '2025_2026',
        'sort_order' => ++$sort,
        'is_active' => 1,
        'effective_from' => '2025-09-01',
        'created_at' => $ts,
        'updated_at' => $ts,
    ]);

    // ══════════════════════════════════════════════════════════════════════════
    // اكاديمية السباحة Adult (فوق 13 سنة)
    // ══════════════════════════════════════════════════════════════════════════
    $swimAdult = [
        ['5 سباحين', 5, 1200, 600, 1080],
        ['4 سباحين', 4, 1400, 700, 1260],
        ['3 سباحين', 3, 1600, 800, 1440],
        ['سباح 2', 2, 1800, 900, 1620],
        ['سباح 1', 1, 2000, 1000, 1800],
    ];

    foreach ($swimAdult as $row) {
        $db->insert('sa_academy_pricing', [
            'academy_code' => 'SWIM-ACADEMY',
            'academy_name_ar' => 'أكاديمية السباحة',
            'discipline_code' => 'SWIMMING',
            'category' => 'subscription',
            'level_name_ar' => $row[0],
            'age_group' => 'adult',
            'age_from' => 13,
            'age_to' => 99,
            'group_size_max' => $row[1],
            'sessions_per_week' => 2,
            'sessions_per_month' => 8,
            'session_duration_minutes' => 60,
            'price_member' => $row[2],
            'price_nonmember' => $row[4],
            'price_subscription' => $row[2],
            'billing_period' => 'monthly',
            'notes_ar' => '8 وحدات خلال الشهر مرتين اسبوعيا - مدة التمرينة ساعة - فوق 13 سنة',
            'season' => '2025_2026',
            'sort_order' => ++$sort,
            'is_active' => 1,
            'effective_from' => '2025-09-01',
            'created_at' => $ts,
            'updated_at' => $ts,
        ]);
    }

    // ══════════════════════════════════════════════════════════════════════════
    // فرق السباحة (من التجهيزى الى العموم)
    // ══════════════════════════════════════════════════════════════════════════
    $swimTeams = [
        ['اسبوعيا 3', 3, 1500, 750, 1350],
        ['اسبوعيا 4', 4, 1600, 800, 1440],
        ['اسبوعيا 5', 5, 1700, 850, 1530],
        ['اسبوعيا 6', 6, 1800, 900, 1620],
    ];

    foreach ($swimTeams as $row) {
        $db->insert('sa_academy_pricing', [
            'academy_code' => 'SWIM-TEAMS',
            'academy_name_ar' => 'فرق السباحة',
            'discipline_code' => 'SWIMMING',
            'category' => 'team',
            'level_name_ar' => $row[0],
            'age_group' => 'prep_to_general',
            'sessions_per_week' => $row[1],
            'session_duration_minutes' => 105,
            'price_member' => $row[2],
            'price_nonmember' => $row[4],
            'price_subscription' => $row[2],
            'billing_period' => 'monthly',
            'notes_ar' => 'من ساعة ونص الى ساعتين - من التجهيزى الى العموم',
            'season' => '2025_2026',
            'sort_order' => ++$sort,
            'is_active' => 1,
            'effective_from' => '2025-09-01',
            'created_at' => $ts,
            'updated_at' => $ts,
        ]);
    }

    // فرق سباحة الاساتذة (فوق 25 سنة)
    $swimMasters = [
        ['اسبوعيا 2', 2, 1600, 800, 1440],
        ['اسبوعيا 3', 3, 2100, 1050, 1890],
        ['اسبوعيا 4', 4, 2500, 1250, 2250],
        ['اسبوعيا 5', 5, 2900, 1450, 2610],
    ];

    foreach ($swimMasters as $row) {
        $db->insert('sa_academy_pricing', [
            'academy_code' => 'SWIM-MASTERS',
            'academy_name_ar' => 'فرق سباحة الاساتذة',
            'discipline_code' => 'SWIMMING',
            'category' => 'team',
            'level_name_ar' => $row[0],
            'age_group' => 'masters',
            'age_from' => 25,
            'age_to' => 99,
            'sessions_per_week' => $row[1],
            'session_duration_minutes' => 90,
            'price_member' => $row[2],
            'price_nonmember' => $row[4],
            'price_subscription' => $row[2],
            'billing_period' => 'monthly',
            'notes_ar' => 'من ساعة الى ساعتين - فوق 25 سنة',
            'season' => '2025_2026',
            'sort_order' => ++$sort,
            'is_active' => 1,
            'effective_from' => '2025-09-01',
            'created_at' => $ts,
            'updated_at' => $ts,
        ]);
    }

    // ══════════════════════════════════════════════════════════════════════════
    // ايجار الحارات (Lane Rental)
    // ══════════════════════════════════════════════════════════════════════════
    $laneRentals = [
        // [lane_type, sessions_per_month, price]
        ['50m', 12, 3550],
        ['50m', 8, 2200],
        ['50m', 4, 1200],
        ['50m', 1, 350],
        ['25m', 12, 2350],
        ['25m', 8, 1750],
        ['25m', 4, 1000],
        ['25m', 1, 300],
        ['mix', 24, 5500],
    ];

    foreach ($laneRentals as $row) {
        $db->insert('sa_academy_pricing', [
            'academy_code' => 'SWIM-LANE-RENTAL',
            'academy_name_ar' => 'ايجار حارات السباحة',
            'discipline_code' => 'SWIMMING',
            'category' => 'lane_rental',
            'level_name_ar' => 'حارة ' . $row[0],
            'lane_type' => $row[0],
            'total_sessions' => $row[1],
            'sessions_per_month' => $row[1],
            'price_member' => $row[2],
            'price_nonmember' => $row[2],
            'billing_period' => 'monthly',
            'notes_ar' => 'ايجار حارة ' . $row[0],
            'season' => '2025_2026',
            'sort_order' => ++$sort,
            'is_active' => 1,
            'effective_from' => '2025-09-01',
            'created_at' => $ts,
            'updated_at' => $ts,
        ]);
    }

    // الحصص والكروت (Session Cards)
    $sessionCards = [
        // [total_sessions, price]
        [24, 1250],
        [12, 680],
        [8, 500],
        [6, 450],
        [4, 380],
        [1, 120],
    ];

    foreach ($sessionCards as $row) {
        $db->insert('sa_academy_pricing', [
            'academy_code' => 'SWIM-SESSION-CARD',
            'academy_name_ar' => 'كروت حصص السباحة',
            'discipline_code' => 'SWIMMING',
            'category' => 'session_card',
            'level_name_ar' => 'كارت ' . $row[0] . ' حصة',
            'total_sessions' => $row[0],
            'price_member' => $row[1],
            'price_nonmember' => $row[1],
            'billing_period' => 'per_card',
            'notes_ar' => 'كارت حصص سباحة - حصة واحدة',
            'season' => '2025_2026',
            'sort_order' => ++$sort,
            'is_active' => 1,
            'effective_from' => '2025-09-01',
            'created_at' => $ts,
            'updated_at' => $ts,
        ]);
    }

    // ══════════════════════════════════════════════════════════════════════════
    // 2. الجمباز (سبورت هوم اكاديمى) - فنى 2026/2025
    // ══════════════════════════════════════════════════════════════════════════
    $gymnastics = [
        // [birth_year, age_group_label, sessions_per_week, duration_min, member, nonmember]
        [2018, 'تحت 6 سنوات', 3, 60, 1075, 2150],
        [2017, 'تحت 7 سنوات', 3, 60, 1175, 2350],
        [2016, 'تحت 8 سنوات', 4, 150, 1275, 2550],
        [2015, 'تحت 9 سنوات', 4, 150, 1375, 2750],
        [2014, 'تحت 10 سنوات', 4, 180, 1475, 2950],
        [2013, 'تحت 11 سنوات', 4, 180, 1575, 3150],
        [2012, 'تحت 12 سنوات', 4, 180, 1675, 3350],
        [2011, 'تحت 13 سنوات', 4, 180, 1775, 3550],
        [null, 'درجة تانية', 5, 180, 2500, 5000],
        [null, 'درجة اولى', 5, 180, 2500, 5000],
    ];

    foreach ($gymnastics as $row) {
        $db->insert('sa_academy_pricing', [
            'academy_code' => 'GYM-SPORTHOME',
            'academy_name_ar' => 'الجمباز (سبورت هوم اكاديمى)',
            'discipline_code' => 'GYMNASTICS',
            'category' => 'subscription',
            'level_name_ar' => $row[1],
            'birth_year' => $row[0],
            'sessions_per_week' => $row[2],
            'session_duration_minutes' => $row[3],
            'price_member' => $row[4],
            'price_nonmember' => $row[5],
            'billing_period' => 'monthly',
            'notes_ar' => 'فنى الانسات - موسم 2025/2026',
            'season' => '2025_2026',
            'sort_order' => ++$sort,
            'is_active' => 1,
            'effective_from' => '2025-09-01',
            'created_at' => $ts,
            'updated_at' => $ts,
        ]);
    }

    // جمباز - المدارس والممارسة
    $gymSchools = [
        [2020, 'اولاد', 'مدارس', 'male', 775, 1550],
        [2021, 'بنات', 'مدارس', 'female', 775, 1550],
        [null, 'بنات / اولاد', 'ممارسة', null, 1225, 2450],
    ];

    foreach ($gymSchools as $row) {
        $db->insert('sa_academy_pricing', [
            'academy_code' => 'GYM-SPORTHOME',
            'academy_name_ar' => 'الجمباز (سبورت هوم اكاديمى)',
            'discipline_code' => 'GYMNASTICS',
            'category' => 'subscription',
            'level_name_ar' => $row[2] . ' - ' . $row[1],
            'birth_year' => $row[0],
            'gender' => $row[3],
            'price_member' => $row[4],
            'price_nonmember' => $row[5],
            'billing_period' => 'monthly',
            'notes_ar' => 'المدارس والممارسة 2025/2026',
            'season' => '2025_2026',
            'sort_order' => ++$sort,
            'is_active' => 1,
            'effective_from' => '2025-09-01',
            'created_at' => $ts,
            'updated_at' => $ts,
        ]);
    }

    // جمباز - تدريب خاص
    $gymPrivate = [
        [2, 400, 600],
        [4, 650, 1000],
        [8, 1050, 1700],
        [12, 1250, 2200],
        [16, 1650, 2500],
        [20, 1850, 2600],
    ];

    foreach ($gymPrivate as $row) {
        $db->insert('sa_academy_pricing', [
            'academy_code' => 'GYM-SPORTHOME',
            'academy_name_ar' => 'الجمباز (سبورت هوم اكاديمى)',
            'discipline_code' => 'GYMNASTICS',
            'category' => 'private_training',
            'level_name_ar' => $row[0] . ' وحدات',
            'total_sessions' => $row[0],
            'price_member' => $row[1],
            'price_nonmember' => $row[2],
            'billing_period' => 'per_card',
            'notes_ar' => 'التدريب الخاص للفنى 2025/2026',
            'season' => '2025_2026',
            'sort_order' => ++$sort,
            'is_active' => 1,
            'effective_from' => '2025-09-01',
            'created_at' => $ts,
            'updated_at' => $ts,
        ]);
    }

    // ══════════════════════════════════════════════════════════════════════════
    // 3. الايروبيك 2025/2026
    // ══════════════════════════════════════════════════════════════════════════
    $aerobics = [
        [2021, 'تجهيزى', 3, 90, 825, 1650],
        [2018, 'تحت 7', 3, 60, 875, 1750],
        [2016, 'تحت 8 سنوات', 3, 120, 975, 1950],
        [2015, 'تحت 9 سنوات', 3, 120, 1175, 2350],
        [2014, 'تحت 10 سنوات', 3, 120, 1275, 2550],
        [2013, 'تحت 11 سنوات', 3, 120, 1375, 2750],
        [2012, 'تحت 12 سنوات', 3, 120, 1475, 2950],
        [2011, 'تحت 13 سنوات', 3, 120, 1575, 3150],
        [2010, 'تحت 14 سنوات', 3, 120, 1675, 3350],
        [null, 'درجة تانية', 3, 120, 2000, 4000],
        [null, 'درجة اولى', 3, 120, 2000, 4000],
    ];

    foreach ($aerobics as $row) {
        $db->insert('sa_academy_pricing', [
            'academy_code' => 'AEROBICS',
            'academy_name_ar' => 'الايروبيك',
            'discipline_code' => 'GYMNASTICS',
            'category' => 'subscription',
            'level_name_ar' => $row[1],
            'birth_year' => $row[0],
            'sessions_per_week' => $row[2],
            'session_duration_minutes' => $row[3],
            'price_member' => $row[4],
            'price_nonmember' => $row[5],
            'billing_period' => 'monthly',
            'season' => '2025_2026',
            'sort_order' => ++$sort,
            'is_active' => 1,
            'effective_from' => '2025-09-01',
            'created_at' => $ts,
            'updated_at' => $ts,
        ]);
    }

    // ايروبيك - تدريب خاص
    $aerobicsPrivate = [
        [2, 250, 400],
        [4, 500, 700],
        [6, 660, 900],
        [8, 800, 1000],
        [12, 1080, 1320],
        [16, 1280, 1600],
        [20, 1800, 2000],
    ];

    foreach ($aerobicsPrivate as $row) {
        $db->insert('sa_academy_pricing', [
            'academy_code' => 'AEROBICS',
            'academy_name_ar' => 'الايروبيك',
            'discipline_code' => 'GYMNASTICS',
            'category' => 'private_training',
            'level_name_ar' => $row[0] . ' وحدات',
            'total_sessions' => $row[0],
            'price_member' => $row[1],
            'price_nonmember' => $row[2],
            'billing_period' => 'per_card',
            'notes_ar' => 'التدريب الخاص للايروبيك 2025/2026',
            'season' => '2025_2026',
            'sort_order' => ++$sort,
            'is_active' => 1,
            'effective_from' => '2025-09-01',
            'created_at' => $ts,
            'updated_at' => $ts,
        ]);
    }

    // ايروبيك - تدريب خاص للفرق الرياضية للاندية
    $aerobicsClubs = [
        [2, 20, 5000],
        [2, 30, 7500],
        [4, 20, 12000],
        [4, 30, 15000],
    ];

    foreach ($aerobicsClubs as $row) {
        $db->insert('sa_academy_pricing', [
            'academy_code' => 'AEROBICS',
            'academy_name_ar' => 'الايروبيك',
            'discipline_code' => 'GYMNASTICS',
            'category' => 'private_training',
            'level_name_ar' => $row[0] . ' وحدات - حد اقصى ' . $row[1] . ' لاعب',
            'total_sessions' => $row[0],
            'num_players_max' => $row[1],
            'price_member' => $row[2],
            'price_nonmember' => $row[2],
            'billing_period' => 'per_card',
            'notes_ar' => 'التدريب الخاص للفرق الرياضية للاندية 2025/2026',
            'season' => '2025_2026',
            'sort_order' => ++$sort,
            'is_active' => 1,
            'effective_from' => '2025-09-01',
            'created_at' => $ts,
            'updated_at' => $ts,
        ]);
    }

    // ══════════════════════════════════════════════════════════════════════════
    // 4. الجمباز فنى الرجال 2025/2026
    // ══════════════════════════════════════════════════════════════════════════
    $gymMen = [
        [2019, 'تحت 7 سنوات', 3, 120, 1075, 2150],
        [2018, 'تحت 8 سنوات', 4, 150, 1175, 2350],
        [2017, 'تحت 9 سنوات', 4, 150, 1275, 2550],
        [2016, 'تحت 10 سنوات', 4, 180, 1375, 2750],
        [2015, 'تحت 11 سنوات', 4, 180, 1475, 2950],
        [2014, 'تحت 12 سنوات', 4, 180, 1575, 3150],
        [2013, 'تحت 13 سنوات', 4, 180, 1675, 3350],
        [2012, 'تحت 14 سنوات', 5, 180, 1775, 3550],
        [2011, 'تحت 15 سنوات', 5, 180, 1875, 3750],
    ];

    foreach ($gymMen as $row) {
        $db->insert('sa_academy_pricing', [
            'academy_code' => 'GYM-MEN',
            'academy_name_ar' => 'الجمباز فنى الرجال',
            'discipline_code' => 'GYMNASTICS',
            'category' => 'subscription',
            'level_name_ar' => $row[1],
            'birth_year' => $row[0],
            'gender' => 'male',
            'sessions_per_week' => $row[2],
            'session_duration_minutes' => $row[3],
            'price_member' => $row[4],
            'price_nonmember' => $row[5],
            'billing_period' => 'monthly',
            'season' => '2025_2026',
            'sort_order' => ++$sort,
            'is_active' => 1,
            'effective_from' => '2025-09-01',
            'created_at' => $ts,
            'updated_at' => $ts,
        ]);
    }

    // ══════════════════════════════════════════════════════════════════════════
    // 5. الرسم
    // ══════════════════════════════════════════════════════════════════════════
    $db->insert('sa_academy_pricing', [
        'academy_code' => 'DRAWING',
        'academy_name_ar' => 'الرسم',
        'discipline_code' => 'DRAWING',
        'category' => 'subscription',
        'level_name_ar' => 'حصة واحدة اسبوعيا',
        'sessions_per_week' => 1,
        'session_duration_minutes' => 90,
        'price_member' => 200,
        'price_nonmember' => 400,
        'billing_period' => 'monthly',
        'notes_ar' => 'السبت والثلاثاء المدة 1 ساعة ونص حصة واحدة فالاسبوع',
        'season' => '2025_2026',
        'sort_order' => ++$sort,
        'is_active' => 1,
        'effective_from' => '2025-09-01',
        'created_at' => $ts,
        'updated_at' => $ts,
    ]);

    // ══════════════════════════════════════════════════════════════════════════
    // 6. كرة القدم (اندر لخت)
    // ══════════════════════════════════════════════════════════════════════════
    $db->insert('sa_academy_pricing', [
        'academy_code' => 'FOOTBALL-ANDERLECHT',
        'academy_name_ar' => 'كرة القدم (اندر لخت)',
        'discipline_code' => 'FOOTBALL',
        'category' => 'subscription',
        'level_name_ar' => '3 تدريبات اسبوعيا',
        'sessions_per_week' => 3,
        'session_duration_minutes' => 60,
        'price_member' => 400,
        'price_nonmember' => 800,
        'billing_period' => 'monthly',
        'notes_ar' => 'الاحد والثلاثاء والخميس من الساعة 6 مساءا',
        'season' => '2025_2026',
        'sort_order' => ++$sort,
        'is_active' => 1,
        'effective_from' => '2025-09-01',
        'created_at' => $ts,
        'updated_at' => $ts,
    ]);

    // كرة القدم (الموهبة)
    $db->insert('sa_academy_pricing', [
        'academy_code' => 'FOOTBALL-TALENT',
        'academy_name_ar' => 'كرة القدم (الموهبة)',
        'discipline_code' => 'FOOTBALL',
        'category' => 'subscription',
        'level_name_ar' => '3 تدريبات اسبوعيا',
        'sessions_per_week' => 3,
        'session_duration_minutes' => 60,
        'price_member' => 400,
        'price_nonmember' => 800,
        'billing_period' => 'monthly',
        'notes_ar' => 'السبت والاثنين والاربعاء من الساعة 6 مساءا',
        'season' => '2025_2026',
        'sort_order' => ++$sort,
        'is_active' => 1,
        'effective_from' => '2025-09-01',
        'created_at' => $ts,
        'updated_at' => $ts,
    ]);

    // كرة القدم (الرواد)
    $footballRuwad = [
        ['شهر - 8 تدريبات', 8, 700, 1200, 'monthly'],
        ['نص شهر - 4 تدريبات', 4, 350, 600, 'monthly'],
        ['سيشن حصة واحدة', 1, 125, 200, 'per_session'],
    ];

    foreach ($footballRuwad as $row) {
        $db->insert('sa_academy_pricing', [
            'academy_code' => 'FOOTBALL-RUWAD',
            'academy_name_ar' => 'كرة القدم (الرواد)',
            'discipline_code' => 'FOOTBALL',
            'category' => 'subscription',
            'level_name_ar' => $row[0],
            'sessions_per_month' => $row[1],
            'price_member' => $row[2],
            'price_nonmember' => $row[3],
            'billing_period' => $row[4],
            'notes_ar' => 'السبت والاثنين من الساعة 9 مساءا الى 11 مساءا',
            'season' => '2025_2026',
            'sort_order' => ++$sort,
            'is_active' => 1,
            'effective_from' => '2025-09-01',
            'created_at' => $ts,
            'updated_at' => $ts,
        ]);
    }

    // ══════════════════════════════════════════════════════════════════════════
    // 7. التنس الارضى (بريميم اكاديمى)
    // ══════════════════════════════════════════════════════════════════════════
    $tennis = [
        ['Red 1 / مدارس', 'تحت 8', 2, 60, 700, 1100, 0],
        ['Red 2 / تجهيزى', 'تحت 8', 3, 120, 900, 1500, 1],
        ['Team 8', 'تحت 8', 4, 120, 1200, 1800, 1],
        ['Orange 1 / مدارس', 'تحت 9', 2, 120, 800, 1200, 1],
        ['Orange 2 / تجهيزى', 'تحت 9', 3, 120, 1000, 1600, 1],
        ['Team 9', 'تحت 9', 4, 120, 1300, 2000, 1],
        ['Green 1 / مدارس', 'تحت 10', 2, 120, 800, 1200, 1],
        ['Green 2 / تجهيزى', 'تحت 10', 3, 120, 1000, 1600, 1],
        ['Team 10', 'تحت 10', 4, 120, 1300, 2000, 1],
        ['Premium 1 / مدارس', 'فوق 10', 2, 120, 800, 1200, 1],
        ['Premium 2 / تجهيزى', 'فوق 10', 3, 120, 1000, 1600, 1],
        ['Team 11:16', 'فوق 10', 4, 120, 1400, 2000, 1],
        ['Adults Premium', null, 2, 105, 900, 1600, 1],
    ];

    foreach ($tennis as $row) {
        $db->insert('sa_academy_pricing', [
            'academy_code' => 'TENNIS-PREMIUM',
            'academy_name_ar' => 'التنس الارضى (بريميم اكاديمى)',
            'discipline_code' => 'TENNIS',
            'category' => 'subscription',
            'level_name_ar' => $row[0],
            'age_group' => $row[1],
            'sessions_per_week' => $row[2],
            'session_duration_minutes' => $row[3],
            'price_member' => $row[4],
            'price_nonmember' => $row[5],
            'includes_fitness' => $row[6],
            'billing_period' => 'monthly',
            'notes_ar' => 'الاحد / الثلاثاء / الاربعاء / الخميس',
            'season' => '2025_2026',
            'sort_order' => ++$sort,
            'is_active' => 1,
            'effective_from' => '2025-09-01',
            'created_at' => $ts,
            'updated_at' => $ts,
        ]);
    }

    // تنس - تدريب خاص
    $tennisPrivate = [
        ['المدير الفنى', 8, 1, 2200, null, null],
        ['المدير الفنى', 8, 2, null, 1600, null],
        ['مدرب التنس', 8, 1, 1800, null, null],
        ['مدرب التنس', 8, 2, null, 1400, null],
        ['مدرب الفتنس', 8, 1, 1800, null, null],
        ['مدرب الفتنس', 8, 2, null, 1400, null],
        ['مدرب الفتنس', 8, 3, null, null, 1000],
    ];

    foreach ($tennisPrivate as $row) {
        $price = $row[3] ?? $row[4] ?? $row[5] ?? 0;
        $db->insert('sa_academy_pricing', [
            'academy_code' => 'TENNIS-PREMIUM',
            'academy_name_ar' => 'التنس الارضى (بريميم اكاديمى)',
            'discipline_code' => 'TENNIS',
            'category' => 'private_training',
            'level_name_ar' => $row[0] . ' - ' . $row[2] . ' لاعب',
            'coach_level' => $row[0],
            'sessions_per_month' => $row[1],
            'num_players_max' => $row[2],
            'price_member' => $price,
            'price_nonmember' => $price,
            'billing_period' => 'monthly',
            'notes_ar' => 'التدريب الخاص للتنس',
            'season' => '2025_2026',
            'sort_order' => ++$sort,
            'is_active' => 1,
            'effective_from' => '2025-09-01',
            'created_at' => $ts,
            'updated_at' => $ts,
        ]);
    }

    // ══════════════════════════════════════════════════════════════════════════
    // 8. الاسكواش (شادو اكاديمى)
    // ══════════════════════════════════════════════════════════════════════════
    $squash = [
        ['المستوى 1', 2, 2, 700, 1000],
        ['المستوى 2', 3, 2, 1100, 1400],
        ['المستوى 3', 3, 1, 2200, 2800],
        ['لياقة بدنية', 2, null, 300, 500],
    ];

    foreach ($squash as $row) {
        $db->insert('sa_academy_pricing', [
            'academy_code' => 'SQUASH-SHADOW',
            'academy_name_ar' => 'الاسكواش (شادو اكاديمى)',
            'discipline_code' => 'SQUASH',
            'category' => 'subscription',
            'level_name_ar' => $row[0],
            'sessions_per_week' => $row[1],
            'num_players_max' => $row[2],
            'price_member' => $row[3],
            'price_nonmember' => $row[4],
            'billing_period' => 'monthly',
            'notes_ar' => 'السبت / الاثنين / الاربعاء / الخميس / الجمعة',
            'season' => '2025_2026',
            'sort_order' => ++$sort,
            'is_active' => 1,
            'effective_from' => '2025-09-01',
            'created_at' => $ts,
            'updated_at' => $ts,
        ]);
    }

    // ══════════════════════════════════════════════════════════════════════════
    // 9. كرة السلة (اس زد اكاديمى)
    // ══════════════════════════════════════════════════════════════════════════
    $basketball = [
        ['شهر - 2 تدريبات اسبوعيا', 2, 'monthly', 500, 1100],
        ['3 اشهر - 2 تدريبات اسبوعيا', 2, 'quarterly', 1100, 2700],
        ['اشتراك سنوى فرق', null, 'yearly', 4800, 1080],
    ];

    foreach ($basketball as $row) {
        $db->insert('sa_academy_pricing', [
            'academy_code' => 'BASKETBALL-SZ',
            'academy_name_ar' => 'كرة السلة (اس زد اكاديمى)',
            'discipline_code' => 'BASKETBALL',
            'category' => 'subscription',
            'level_name_ar' => $row[0],
            'sessions_per_week' => $row[1],
            'price_member' => $row[3],
            'price_nonmember' => $row[4],
            'billing_period' => $row[2],
            'notes_ar' => 'الاثنين / الاربعاء',
            'season' => '2025_2026',
            'sort_order' => ++$sort,
            'is_active' => 1,
            'effective_from' => '2025-09-01',
            'created_at' => $ts,
            'updated_at' => $ts,
        ]);
    }

    // كرة السلة - تدريب خاص
    $basketballPrivate = [
        [8, 1, 4000],
        [4, 1, 2000],
    ];

    foreach ($basketballPrivate as $row) {
        $db->insert('sa_academy_pricing', [
            'academy_code' => 'BASKETBALL-SZ',
            'academy_name_ar' => 'كرة السلة (اس زد اكاديمى)',
            'discipline_code' => 'BASKETBALL',
            'category' => 'private_training',
            'level_name_ar' => $row[0] . ' تدريبات - لاعب واحد',
            'sessions_per_month' => $row[0],
            'num_players_max' => $row[1],
            'price_member' => $row[2],
            'price_nonmember' => $row[2],
            'billing_period' => 'per_card',
            'season' => '2025_2026',
            'sort_order' => ++$sort,
            'is_active' => 1,
            'effective_from' => '2025-09-01',
            'created_at' => $ts,
            'updated_at' => $ts,
        ]);
    }

    // ══════════════════════════════════════════════════════════════════════════
    // 10. البادل تنس (تروفى بادل)
    // ══════════════════════════════════════════════════════════════════════════
    $padel = [
        [3, 8, 1000, 1500],
        [2, 8, 1000, 1800],
        [1, 8, 1100, 2200],
    ];

    foreach ($padel as $row) {
        $db->insert('sa_academy_pricing', [
            'academy_code' => 'PADEL-TROPHY',
            'academy_name_ar' => 'البادل تنس (تروفى بادل)',
            'discipline_code' => 'PADEL',
            'category' => 'private_training',
            'level_name_ar' => $row[0] . ' لاعبين - 8 تدريبات',
            'sessions_per_month' => $row[1],
            'num_players_max' => $row[0],
            'price_member' => $row[2],
            'price_nonmember' => $row[3],
            'billing_period' => 'monthly',
            'notes_ar' => 'بالاتفاق مع الاكاديمية',
            'season' => '2025_2026',
            'sort_order' => ++$sort,
            'is_active' => 1,
            'effective_from' => '2025-09-01',
            'created_at' => $ts,
            'updated_at' => $ts,
        ]);
    }

    // ══════════════════════════════════════════════════════════════════════════
    // 11. اكاديمية الالات الموسيقية (ايهاب محمد عبد المنعم)
    // ══════════════════════════════════════════════════════════════════════════
    $music = [
        ['بيانو', 4, 600, 1200, 4],
        ['اورج', 4, 600, 1200, 4],
        ['جيتار', 4, 600, 1200, 4],
        ['طبلة', 4, 600, 1200, 4],
        ['غناء فردى', 4, 600, 1200, 4],
        ['غناء جماعى', 4, 400, 800, 10],
        ['غناء بلغة الاشارة', 4, 600, 1200, 5],
        ['دورة خاصة', null, 600, 600, 1],
    ];

    foreach ($music as $row) {
        $db->insert('sa_academy_pricing', [
            'academy_code' => 'MUSIC-EHAB',
            'academy_name_ar' => 'اكاديمية الالات الموسيقية',
            'discipline_code' => 'MUSIC',
            'category' => 'subscription',
            'level_name_ar' => $row[0],
            'sessions_per_month' => $row[1],
            'num_players_max' => $row[4],
            'price_member' => $row[2],
            'price_nonmember' => $row[3],
            'billing_period' => 'monthly',
            'notes_ar' => '4 ساعات - لا يقل عن ' . $row[4] . ' متدربين',
            'season' => '2025_2026',
            'sort_order' => ++$sort,
            'is_active' => 1,
            'effective_from' => '2025-09-01',
            'created_at' => $ts,
            'updated_at' => $ts,
        ]);
    }

    // ══════════════════════════════════════════════════════════════════════════
    // 12. الكرة الطائرة (انجيلز اكاديمى)
    // ══════════════════════════════════════════════════════════════════════════
    $volleyball = [
        ['عادى / مبتدىء', 2, 90, 375, 750],
        ['تجهيزى / تطوير مهارات', 3, 90, 425, 850],
        ['فرق', 3, 120, 475, 950],
    ];

    foreach ($volleyball as $row) {
        $db->insert('sa_academy_pricing', [
            'academy_code' => 'VOLLEYBALL-ANGELS',
            'academy_name_ar' => 'الكرة الطائرة (انجيلز اكاديمى)',
            'discipline_code' => 'VOLLEYBALL',
            'category' => 'subscription',
            'level_name_ar' => $row[0],
            'sessions_per_week' => $row[1],
            'session_duration_minutes' => $row[2],
            'price_member' => $row[3],
            'price_nonmember' => $row[4],
            'billing_period' => 'monthly',
            'notes_ar' => 'الاحد / الثلاثاء / الخميس',
            'season' => '2025_2026',
            'sort_order' => ++$sort,
            'is_active' => 1,
            'effective_from' => '2025-09-01',
            'created_at' => $ts,
            'updated_at' => $ts,
        ]);
    }

    // ══════════════════════════════════════════════════════════════════════════
    // 13. كرة اليد (اكسترا هاند بول)
    // ══════════════════════════════════════════════════════════════════════════
    $handball = [
        ['عادى / اكاديمى', 3, null, 350, 700],
        ['تجهيزى', 3, null, 700, 800],
        ['الفرق', null, null, 700, 800],
        ['فيتنس حتى 8 لاعبين', null, 8, 900, 1000],
        ['فيتنس حتى 15 لاعبين', null, 15, 700, 800],
        ['برايفيت حتى 4 لاعبين', null, 4, 200, 200],
        ['برايفيت حتى 8 لاعبين', null, 8, 150, 150],
    ];

    foreach ($handball as $row) {
        $db->insert('sa_academy_pricing', [
            'academy_code' => 'HANDBALL-EXTRA',
            'academy_name_ar' => 'كرة اليد (اكسترا هاند بول)',
            'discipline_code' => 'HANDBALL',
            'category' => $row[2] ? ($row[2] <= 8 ? 'private_training' : 'subscription') : 'subscription',
            'level_name_ar' => $row[0],
            'sessions_per_week' => $row[1],
            'num_players_max' => $row[2],
            'price_member' => $row[3],
            'price_nonmember' => $row[4],
            'billing_period' => ($row[0] === 'برايفيت حتى 4 لاعبين' || $row[0] === 'برايفيت حتى 8 لاعبين') ? 'per_session' : 'monthly',
            'season' => '2025_2026',
            'sort_order' => ++$sort,
            'is_active' => 1,
            'effective_from' => '2025-09-01',
            'created_at' => $ts,
            'updated_at' => $ts,
        ]);
    }

    // ══════════════════════════════════════════════════════════════════════════
    // 14. الالعاب القتالية (شمبيون اكاديمى)
    // ══════════════════════════════════════════════════════════════════════════
    // الكاراتيه
    $karate = [
        ['مميز', 2, 300, 600],
        ['قطاع بطولات', 2, 400, 800],
        ['عادى / خارجى', null, 200, 400],
    ];

    foreach ($karate as $row) {
        $db->insert('sa_academy_pricing', [
            'academy_code' => 'COMBAT-CHAMPION',
            'academy_name_ar' => 'الالعاب القتالية (شمبيون اكاديمى)',
            'discipline_code' => 'KARATE',
            'category' => 'subscription',
            'level_name_ar' => 'كاراتيه - ' . $row[0],
            'sessions_per_week' => $row[1],
            'price_member' => $row[2],
            'price_nonmember' => $row[3],
            'billing_period' => 'monthly',
            'notes_ar' => 'السبت / الخميس من الساعة 3 ونص',
            'season' => '2025_2026',
            'sort_order' => ++$sort,
            'is_active' => 1,
            'effective_from' => '2025-09-01',
            'created_at' => $ts,
            'updated_at' => $ts,
        ]);
    }

    // كاراتيه - وحدات تدريبية
    $karateUnits = [
        [1, 1, 60, 50],
        [1, 7, 90, 300],
        [8, 1, 60, 1500],
        [8, 1, 60, 1000],
    ];

    foreach ($karateUnits as $row) {
        $db->insert('sa_academy_pricing', [
            'academy_code' => 'COMBAT-CHAMPION',
            'academy_name_ar' => 'الالعاب القتالية (شمبيون اكاديمى)',
            'discipline_code' => 'KARATE',
            'category' => 'private_training',
            'level_name_ar' => 'كاراتيه - ' . $row[0] . ' وحدات - ' . $row[1] . ' لاعبين',
            'total_sessions' => $row[0],
            'num_players_max' => $row[1],
            'session_duration_minutes' => $row[2],
            'price_member' => $row[3],
            'price_nonmember' => $row[3],
            'billing_period' => 'per_card',
            'season' => '2025_2026',
            'sort_order' => ++$sort,
            'is_active' => 1,
            'effective_from' => '2025-09-01',
            'created_at' => $ts,
            'updated_at' => $ts,
        ]);
    }

    // الكيك بوكس
    $kickbox = [
        ['عادى', 2, 250, 500],
        ['قطاع بطولات', 2, 400, 800],
    ];

    foreach ($kickbox as $row) {
        $db->insert('sa_academy_pricing', [
            'academy_code' => 'COMBAT-CHAMPION',
            'academy_name_ar' => 'الالعاب القتالية (شمبيون اكاديمى)',
            'discipline_code' => 'KICKBOXING',
            'category' => 'subscription',
            'level_name_ar' => 'كيك بوكس - ' . $row[0],
            'sessions_per_week' => $row[1],
            'price_member' => $row[2],
            'price_nonmember' => $row[3],
            'billing_period' => 'monthly',
            'notes_ar' => 'السبت / الخميس من 5 الى 7',
            'season' => '2025_2026',
            'sort_order' => ++$sort,
            'is_active' => 1,
            'effective_from' => '2025-09-01',
            'created_at' => $ts,
            'updated_at' => $ts,
        ]);
    }

    // ══════════════════════════════════════════════════════════════════════════
    // 15. اكاديمية الشطرنج (عدلى اكاديمى)
    // ══════════════════════════════════════════════════════════════════════════
    $chess = [
        ['الاول', 500, 1000],
        ['الثانى', 700, 1100],
        ['الثالث', 850, 1250],
        ['الرابع', 1000, 1400],
        ['الخامس', 1100, 1500],
        ['السادس', 1200, 1600],
        ['السابع', 1400, 1800],
        ['الثامن', 1400, 2000],
        ['التاسع', 1800, 2200],
        ['العاشر', 2000, 2400],
    ];

    foreach ($chess as $row) {
        $db->insert('sa_academy_pricing', [
            'academy_code' => 'CHESS-ADLY',
            'academy_name_ar' => 'اكاديمية الشطرنج (عدلى اكاديمى)',
            'discipline_code' => 'CHESS',
            'category' => 'subscription',
            'level_name_ar' => 'المستوى ' . $row[0],
            'sessions_per_month' => 8,
            'session_duration_minutes' => 60,
            'price_member' => $row[1],
            'price_nonmember' => $row[2],
            'billing_period' => 'monthly',
            'notes_ar' => '8 محاضرات (ساعة 12) + الاختبار الشهرى - خصم 10% للاخوات اعضاء وغير اعضاء',
            'season' => '2025_2026',
            'sort_order' => ++$sort,
            'is_active' => 1,
            'effective_from' => '2025-09-01',
            'created_at' => $ts,
            'updated_at' => $ts,
        ]);
    }

    // شطرنج - تدريب خاص
    $chessPrivate = [
        ['مدرب الى 1', 1, 450],
        ['مدرب الى 2', 2, 550],
        ['مدرب الى 3', 3, 650],
    ];

    foreach ($chessPrivate as $row) {
        $db->insert('sa_academy_pricing', [
            'academy_code' => 'CHESS-ADLY',
            'academy_name_ar' => 'اكاديمية الشطرنج (عدلى اكاديمى)',
            'discipline_code' => 'CHESS',
            'category' => 'private_training',
            'level_name_ar' => $row[0],
            'num_players_max' => $row[1],
            'price_member' => $row[2],
            'price_nonmember' => $row[2],
            'billing_period' => 'per_session',
            'season' => '2025_2026',
            'sort_order' => ++$sort,
            'is_active' => 1,
            'effective_from' => '2025-09-01',
            'created_at' => $ts,
            'updated_at' => $ts,
        ]);
    }

    // ══════════════════════════════════════════════════════════════════════════
    // 16. الباتيناج
    // ══════════════════════════════════════════════════════════════════════════
    $patinage = [
        ['مدرسة الباتيناج', 350, 650],
        ['تجهيزى الباتيناج', 600, 750],
        ['فريق السرعة', 1000, 1200],
        ['فريق (الفوتيل اسكيت)', 1000, 1200],
        ['حصة الباتيناج', 100, 150],
        ['برايفيت الباتيناج (1 لاعب)', 2000, 2000],
        ['برايفيت الباتيناج (2 لاعب)', 1800, 1800],
        ['برايفيت الباتيناج (3 لاعب)', 1600, 1600],
    ];

    foreach ($patinage as $row) {
        $isPrivate = str_contains($row[0], 'برايفيت') || $row[0] === 'حصة الباتيناج';
        $db->insert('sa_academy_pricing', [
            'academy_code' => 'PATINAGE',
            'academy_name_ar' => 'الباتيناج',
            'discipline_code' => 'SKATING',
            'category' => $isPrivate ? 'private_training' : 'subscription',
            'level_name_ar' => $row[0],
            'session_duration_minutes' => 90,
            'price_member' => $row[1],
            'price_nonmember' => $row[2],
            'billing_period' => ($row[0] === 'حصة الباتيناج') ? 'per_session' : 'monthly',
            'notes_ar' => 'مدة الوحدة التدريبية على كافة المستويات ساعة ونصف',
            'season' => '2025_2026',
            'sort_order' => ++$sort,
            'is_active' => 1,
            'effective_from' => '2025-09-01',
            'created_at' => $ts,
            'updated_at' => $ts,
        ]);
    }

    // ══════════════════════════════════════════════════════════════════════════
    // RENTAL ENTITY PRICING — ايجار الملاعب والصالات
    // ══════════════════════════════════════════════════════════════════════════

    // رسوم ايجار الملاعب لاعضاء النادى
    $memberRentals = [
        ['football_full', 'كرة القدم القانونى', 60, 300, 500],
        ['football_five', 'كرة القدم الخماسى', 60, 150, 200],
        ['tennis', 'التنس الارضى', 60, 75, 100],
        ['padel_no_tools', 'البادل تنس (بدون ادوات)', 60, 100, 150],
        ['padel_with_tools', 'البادل تنس (شامل ادوات)', 60, 150, 200],
        ['squash', 'الاسكواش', 60, 75, 75],
        ['billiards', 'البلياردو', 30, 30, 30],
        ['billiards_hour', 'البلياردو ساعة', 60, 60, 60],
        ['bowling', 'البولينج', 0, 30, 30],
        ['multi_court', 'الملعب المتعدد', 60, 50, 100],
        ['table_tennis', 'التنس الطاولة', 60, 50, 50],
        ['playstation_30', 'البلاشتيشن نص ساعة', 30, 30, 30],
        ['playstation_60', 'البلاشتيشن ساعة', 60, 60, 60],
    ];

    foreach ($memberRentals as $row) {
        $db->insert('sa_rental_entity_pricing', [
            'facility_type' => $row[0],
            'facility_name_ar' => $row[1],
            'entity_type' => 'member',
            'usage_type' => 'practice',
            'time_period' => 'morning',
            'duration_minutes' => $row[2],
            'price_amount' => $row[3],
            'is_active' => 1,
            'effective_from' => '2025-09-01',
            'created_at' => $ts,
            'updated_at' => $ts,
        ]);
        $db->insert('sa_rental_entity_pricing', [
            'facility_type' => $row[0],
            'facility_name_ar' => $row[1],
            'entity_type' => 'member',
            'usage_type' => 'practice',
            'time_period' => 'evening',
            'duration_minutes' => $row[2],
            'price_amount' => $row[4],
            'is_active' => 1,
            'effective_from' => '2025-09-01',
            'created_at' => $ts,
            'updated_at' => $ts,
        ]);
    }

    // رسوم ايجار لغير الاعضاء (ممارسة)
    $nonMemberRentals = [
        ['tennis', 'التنس الارضى', 60, 100, 150, 2],
        ['padel', 'البادل تنس', 60, 200, 300, 4],
        ['squash', 'الاسكواش', 60, 150, 150, 2],
        ['billiards', 'البلياردو', 60, 100, 100, null],
        ['bowling', 'البولينج', 0, 60, 60, null],
        ['table_tennis', 'التنس الطاولة', 60, 60, 60, 2],
        ['playstation', 'البلاشتيشن', 60, 60, 60, null],
    ];

    foreach ($nonMemberRentals as $row) {
        $db->insert('sa_rental_entity_pricing', [
            'facility_type' => $row[0],
            'facility_name_ar' => $row[1],
            'entity_type' => 'non_member',
            'usage_type' => 'practice',
            'time_period' => 'morning',
            'duration_minutes' => $row[2],
            'price_amount' => $row[3],
            'max_players' => $row[5],
            'is_active' => 1,
            'effective_from' => '2025-09-01',
            'created_at' => $ts,
            'updated_at' => $ts,
        ]);
        $db->insert('sa_rental_entity_pricing', [
            'facility_type' => $row[0],
            'facility_name_ar' => $row[1],
            'entity_type' => 'non_member',
            'usage_type' => 'practice',
            'time_period' => 'evening',
            'duration_minutes' => $row[2],
            'price_amount' => $row[4],
            'max_players' => $row[5],
            'is_active' => 1,
            'effective_from' => '2025-09-01',
            'created_at' => $ts,
            'updated_at' => $ts,
        ]);
    }

    // تدريب خاص - مدرب من خارج النادى (غير اعضاء)
    $privateCoachRentals = [
        ['football_full', 'كرة القدم القانونى', 60, 650, 1000, 16],
        ['football_five', 'كرة القدم الخماسى', 60, 350, 600, 16],
        ['tennis', 'التنس الارضى', 60, 75, 100, 2],
        ['padel', 'البادل تنس', 60, 300, 400, 4],
        ['squash', 'الاسكواش', 60, 100, 120, 2],
        ['track_run', 'تراك الجرى', 60, 200, 300, 10],
        ['track_cycle', 'تراك الدراجات والتزحلق', 60, 100, 200, 5],
        ['bowling', 'البولينج', 30, 60, 120, 5],
        ['multi_court', 'الملعب المتعدد', 60, 200, 400, 15],
        ['table_tennis', 'التنس الطاولة', 60, 60, 60, 2],
        ['combat_hall', 'صالة المنازلات', 60, 300, 300, 10],
    ];

    foreach ($privateCoachRentals as $row) {
        $db->insert('sa_rental_entity_pricing', [
            'facility_type' => $row[0],
            'facility_name_ar' => $row[1],
            'entity_type' => 'non_member_private_coach',
            'usage_type' => 'training',
            'time_period' => 'morning',
            'duration_minutes' => $row[2],
            'price_amount' => $row[3],
            'max_players' => $row[5],
            'is_active' => 1,
            'effective_from' => '2025-09-01',
            'created_at' => $ts,
            'updated_at' => $ts,
        ]);
        $db->insert('sa_rental_entity_pricing', [
            'facility_type' => $row[0],
            'facility_name_ar' => $row[1],
            'entity_type' => 'non_member_private_coach',
            'usage_type' => 'training',
            'time_period' => 'evening',
            'duration_minutes' => $row[2],
            'price_amount' => $row[4],
            'max_players' => $row[5],
            'is_active' => 1,
            'effective_from' => '2025-09-01',
            'created_at' => $ts,
            'updated_at' => $ts,
        ]);
    }

    // ايجار للمدارس والجامعات والهيئات الحكومية
    $schoolsGov = [
        // [facility, name, practice_morning, practice_evening, training_morning, training_evening]
        ['football_full', 'كرة القدم القانونى', 600, 800, 700, 900],
        ['football_five', 'كرة القدم الخماسى', 200, 300, 300, 400],
        ['tennis', 'التنس الارضى', 75, 100, 100, 125],
        ['padel', 'البادل تنس', 200, 250, 250, 300],
        ['squash', 'الاسكواش', 100, 100, 100, 150],
        ['multi_court', 'الملعب متعدد', 150, 200, 250, 300],
        ['bowling', 'البولينج', 60, 60, 60, 60],
        ['table_tennis', 'التنس الطاولة', 100, 100, 100, 100],
        ['playstation', 'البلاشتيشن', 100, 100, 100, 100],
    ];

    foreach ($schoolsGov as $row) {
        foreach (['practice', 'training'] as $usage) {
            $mIdx = $usage === 'practice' ? 2 : 4;
            $eIdx = $usage === 'practice' ? 3 : 5;
            $db->insert('sa_rental_entity_pricing', [
                'facility_type' => $row[0],
                'facility_name_ar' => $row[1],
                'entity_type' => 'schools_gov',
                'usage_type' => $usage,
                'time_period' => 'morning',
                'duration_minutes' => 60,
                'price_amount' => $row[$mIdx],
                'is_active' => 1,
                'effective_from' => '2025-09-01',
                'created_at' => $ts,
                'updated_at' => $ts,
            ]);
            $db->insert('sa_rental_entity_pricing', [
                'facility_type' => $row[0],
                'facility_name_ar' => $row[1],
                'entity_type' => 'schools_gov',
                'usage_type' => $usage,
                'time_period' => 'evening',
                'duration_minutes' => 60,
                'price_amount' => $row[$eIdx],
                'is_active' => 1,
                'effective_from' => '2025-09-01',
                'created_at' => $ts,
                'updated_at' => $ts,
            ]);
        }
    }

    // الاندية والمنتخبات والاتحادات الرياضية المحلية
    $clubs = [
        // [facility, name, training_morning, training_evening, match_morning, match_evening]
        ['football_full', 'كرة القدم القانونى', 700, 900, 850, 1100],
        ['football_five', 'كرة القدم الخماسى', 300, 400, 400, 500],
        ['tennis', 'التنس الارضى', 100, 125, 125, 150],
        ['padel', 'البادل تنس', 200, 250, 250, 300],
        ['squash', 'الاسكواش', 125, 125, 150, 150],
        ['multi_court', 'الملعب متعدد', 300, 400, 400, 500],
        ['bowling', 'البولينج', 60, 60, 60, 60],
        ['table_tennis', 'التنس الطاولة', 100, 100, 100, 100],
        ['playstation', 'البلاشتيشن', 100, 100, 100, 100],
    ];

    foreach ($clubs as $row) {
        foreach (['training', 'match'] as $usage) {
            $mIdx = $usage === 'training' ? 2 : 4;
            $eIdx = $usage === 'training' ? 3 : 5;
            $db->insert('sa_rental_entity_pricing', [
                'facility_type' => $row[0],
                'facility_name_ar' => $row[1],
                'entity_type' => 'clubs_federations',
                'usage_type' => $usage,
                'time_period' => 'morning',
                'duration_minutes' => 60,
                'price_amount' => $row[$mIdx],
                'is_active' => 1,
                'effective_from' => '2025-09-01',
                'created_at' => $ts,
                'updated_at' => $ts,
            ]);
            $db->insert('sa_rental_entity_pricing', [
                'facility_type' => $row[0],
                'facility_name_ar' => $row[1],
                'entity_type' => 'clubs_federations',
                'usage_type' => $usage,
                'time_period' => 'evening',
                'duration_minutes' => 60,
                'price_amount' => $row[$eIdx],
                'is_active' => 1,
                'effective_from' => '2025-09-01',
                'created_at' => $ts,
                'updated_at' => $ts,
            ]);
        }
    }

    // هيئات اخرى + هيئات اجنبية (simplified — combined pricing)
    $otherEntities = [
        // [facility, name, other_practice_m, other_practice_e, other_training_m, other_training_e, foreign_practice_m, foreign_practice_e, foreign_training_m, foreign_training_e]
        ['football_full', 'كرة القدم القانونى', 1000, 1200, 1100, 1300, 1200, 1400, 1300, 1500],
        ['football_five', 'كرة القدم الخماسى', 300, 400, 400, 500, 500, 600, 600, 700],
        ['tennis', 'التنس الارضى', 100, 150, 150, 200, 150, 200, 200, 250],
        ['padel', 'البادل تنس', 250, 300, 300, 350, 350, 400, 400, 450],
        ['squash', 'الاسكواش', 125, 125, 150, 150, 150, 150, 200, 200],
        ['multi_court', 'الملعب متعدد', 250, 350, 350, 450, 400, 500, 600, 700],
        ['bowling', 'البولينج', 75, 75, 75, 75, 150, 150, 150, 150],
        ['table_tennis', 'التنس الطاولة', 100, 100, 100, 100, 150, 150, 150, 150],
        ['playstation', 'البلاشتيشن', 100, 100, 100, 100, 150, 150, 150, 150],
        ['billiards', 'البلياردو', 150, 150, 150, 150, 200, 200, 200, 200],
    ];

    foreach ($otherEntities as $row) {
        foreach (['other_entities' => [2,3,4,5], 'foreign_entities' => [6,7,8,9]] as $entityType => $indices) {
            foreach (['practice', 'training'] as $ui => $usage) {
                $mIdx = $indices[$ui * 2];
                $eIdx = $indices[$ui * 2 + 1];
                $db->insert('sa_rental_entity_pricing', [
                    'facility_type' => $row[0],
                    'facility_name_ar' => $row[1],
                    'entity_type' => $entityType,
                    'usage_type' => $usage,
                    'time_period' => 'morning',
                    'duration_minutes' => 60,
                    'price_amount' => $row[$mIdx],
                    'is_active' => 1,
                    'effective_from' => '2025-09-01',
                    'created_at' => $ts,
                    'updated_at' => $ts,
                ]);
                $db->insert('sa_rental_entity_pricing', [
                    'facility_type' => $row[0],
                    'facility_name_ar' => $row[1],
                    'entity_type' => $entityType,
                    'usage_type' => $usage,
                    'time_period' => 'evening',
                    'duration_minutes' => 60,
                    'price_amount' => $row[$eIdx],
                    'is_active' => 1,
                    'effective_from' => '2025-09-01',
                    'created_at' => $ts,
                    'updated_at' => $ts,
                ]);
            }
        }
    }

    // ══════════════════════════════════════════════════════════════════════════
    // DISCOUNT RULES
    // ══════════════════════════════════════════════════════════════════════════
    $discountRules = [
        [
            'rule_code' => 'NONMEMBER_SURCHARGE_10PCT',
            'name_ar' => 'زيادة 10% لغير الأعضاء على قيمة الاشتراك',
            'discount_type' => 'percentage',
            'discount_value' => 10.00,
            'applies_to' => 'academy',
            'academy_code' => null,
            'condition_type' => 'nonmember_surcharge',
            'condition_value' => '{"description":"غير عضو خصم 10% من قيمة الاشتراك الكاملة"}',
        ],
        [
            'rule_code' => 'ADVANCE_3MONTHS_15PCT',
            'name_ar' => 'خصم 15% عند دفع 3 أشهر مقدما',
            'discount_type' => 'percentage',
            'discount_value' => 15.00,
            'applies_to' => 'all',
            'academy_code' => null,
            'condition_type' => 'advance_payment',
            'condition_value' => '{"months":3}',
        ],
        [
            'rule_code' => 'CHESS_SIBLING_10PCT',
            'name_ar' => 'خصم 10% للاخوات - اكاديمية الشطرنج',
            'discount_type' => 'percentage',
            'discount_value' => 10.00,
            'applies_to' => 'academy',
            'academy_code' => 'CHESS-ADLY',
            'condition_type' => 'sibling',
            'condition_value' => '{"applies_to":"members_and_nonmembers"}',
        ],
        [
            'rule_code' => 'FREE_PERIOD_WINTER_MORNING',
            'name_ar' => 'الفترة الحرة للأعضاء - شتاء صباحا',
            'discount_type' => 'percentage',
            'discount_value' => 100.00,
            'applies_to' => 'facility',
            'academy_code' => null,
            'condition_type' => 'free_period',
            'condition_value' => '{"season":"winter","period":"morning","start":"09:00","end":"12:00","members_only":true}',
        ],
        [
            'rule_code' => 'FREE_PERIOD_WINTER_EVENING',
            'name_ar' => 'الفترة الحرة للأعضاء - شتاء مساءا',
            'discount_type' => 'percentage',
            'discount_value' => 100.00,
            'applies_to' => 'facility',
            'academy_code' => null,
            'condition_type' => 'free_period',
            'condition_value' => '{"season":"winter","period":"evening","start":"15:00","end":"17:00","members_only":true}',
        ],
        [
            'rule_code' => 'FREE_PERIOD_SUMMER_MORNING',
            'name_ar' => 'الفترة الحرة للأعضاء - صيفا صباحا',
            'discount_type' => 'percentage',
            'discount_value' => 100.00,
            'applies_to' => 'facility',
            'academy_code' => null,
            'condition_type' => 'free_period',
            'condition_value' => '{"season":"summer","period":"morning","start":"09:00","end":"12:00","members_only":true}',
        ],
        [
            'rule_code' => 'FREE_PERIOD_SUMMER_EVENING',
            'name_ar' => 'الفترة الحرة للأعضاء - صيفا مساءا',
            'discount_type' => 'percentage',
            'discount_value' => 100.00,
            'applies_to' => 'facility',
            'academy_code' => null,
            'condition_type' => 'free_period',
            'condition_value' => '{"season":"summer","period":"evening","start":"16:00","end":"18:00","members_only":true}',
        ],
        [
            'rule_code' => 'POOL_GOV_ENTITY_LANE_25M',
            'name_ar' => 'رسوم حمام السباحة للهيئات الحكومية - حارة 25م',
            'discount_type' => 'fixed',
            'discount_value' => 0,
            'applies_to' => 'facility',
            'academy_code' => null,
            'condition_type' => 'entity_pool_access',
            'condition_value' => '{"entity_types":["schools_gov","clubs_federations","other_entities","foreign_entities"],"morning_per_person":[100,125,150,200],"evening_per_person":[125,150,175,250],"lane_25m_max8":[800,800,1000,1400],"lane_50m_max12":[1000,1000,1200,1700]}',
        ],
    ];

    foreach ($discountRules as $rule) {
        $db->insert('sa_discount_rules', array_merge($rule, [
            'is_active' => 1,
            'created_at' => $ts,
            'updated_at' => $ts,
        ]));
    }

    // ══════════════════════════════════════════════════════════════════════════
    // Pool swimming entity pricing (for the gate access integration)
    // ══════════════════════════════════════════════════════════════════════════
    $poolEntityPricing = [
        // [entity_type, morning_per_person, evening_per_person, lane_25m_8players, lane_50m_12players]
        ['schools_gov', 100, 125, 500, 800],
        ['clubs_federations', 125, 150, 800, 1000],
        ['other_entities', 150, 175, 1000, 1200],
        ['foreign_entities', 200, 250, 1400, 1700],
    ];

    foreach ($poolEntityPricing as $row) {
        $db->insert('sa_rental_entity_pricing', [
            'facility_type' => 'pool',
            'facility_name_ar' => 'حمام السباحة',
            'entity_type' => $row[0],
            'usage_type' => 'practice',
            'time_period' => 'morning',
            'duration_minutes' => 60,
            'price_amount' => $row[1],
            'notes_ar' => 'للفرد شامل دخول الفرد حمام السباحة',
            'is_active' => 1,
            'effective_from' => '2025-09-01',
            'created_at' => $ts,
            'updated_at' => $ts,
        ]);
        $db->insert('sa_rental_entity_pricing', [
            'facility_type' => 'pool',
            'facility_name_ar' => 'حمام السباحة',
            'entity_type' => $row[0],
            'usage_type' => 'practice',
            'time_period' => 'evening',
            'duration_minutes' => 60,
            'price_amount' => $row[2],
            'notes_ar' => 'للفرد شامل دخول الفرد حمام السباحة',
            'is_active' => 1,
            'effective_from' => '2025-09-01',
            'created_at' => $ts,
            'updated_at' => $ts,
        ]);
    }

    // Track usage fee
    $db->insert('sa_rental_entity_pricing', [
        'facility_type' => 'track',
        'facility_name_ar' => 'تراك الجرى',
        'entity_type' => 'all_entities',
        'usage_type' => 'practice',
        'time_period' => 'morning',
        'duration_minutes' => 60,
        'price_amount' => 200,
        'notes_ar' => 'رسوم استخدام التراك لجميع الهيئات لمدة ساعة صباحا',
        'is_active' => 1,
        'effective_from' => '2025-09-01',
        'created_at' => $ts,
        'updated_at' => $ts,
    ]);
    $db->insert('sa_rental_entity_pricing', [
        'facility_type' => 'track',
        'facility_name_ar' => 'تراك الجرى',
        'entity_type' => 'all_entities',
        'usage_type' => 'practice',
        'time_period' => 'evening',
        'duration_minutes' => 60,
        'price_amount' => 300,
        'notes_ar' => 'رسوم استخدام التراك لجميع الهيئات لمدة ساعة مساءا',
        'is_active' => 1,
        'effective_from' => '2025-09-01',
        'created_at' => $ts,
        'updated_at' => $ts,
    ]);
};
