<?php

namespace Database\Seeders;

use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
use Carbon\Carbon;

class NotificationTemplateSeeder extends Seeder
{
    public function run(): void
    {
        $now = Carbon::now();
        $templates = $this->getTemplates();

        foreach ($templates as $template) {
            DB::table('notification_templates')->updateOrInsert(
                [
                    'event_type' => $template['event_type'],
                    'channel' => $template['channel'],
                    'locale' => 'ar',
                    'academy_id' => null,
                ],
                [
                    'subject' => $template['subject'],
                    'body' => $template['body'],
                    'variables' => json_encode($template['variables']),
                    'is_active' => true,
                    'created_at' => $now,
                    'updated_at' => $now,
                ]
            );
        }
    }

    private function getTemplates(): array
    {
        return [
            // 1. invoice_created
            [
                'event_type' => 'invoice_created',
                'channel' => 'in_app',
                'subject' => 'فاتورة جديدة',
                'body' => 'تم إنشاء فاتورة رقم {{invoice_number}} بمبلغ {{total_amount}} ج.م مستحقة في {{due_date}}',
                'variables' => ['participant_name', 'invoice_number', 'total_amount', 'due_date', 'public_link'],
            ],
            [
                'event_type' => 'invoice_created',
                'channel' => 'email',
                'subject' => 'فاتورة جديدة رقم {{invoice_number}}',
                'body' => "عزيزي/عزيزتي {{participant_name}},\n\nتم إنشاء فاتورة جديدة:\n- رقم الفاتورة: {{invoice_number}}\n- المبلغ الإجمالي: {{total_amount}} ج.م\n- تاريخ الاستحقاق: {{due_date}}\n\nلعرض الفاتورة: {{public_link}}\n\nمع تحيات الإدارة",
                'variables' => ['participant_name', 'invoice_number', 'total_amount', 'due_date', 'public_link'],
            ],
            [
                'event_type' => 'invoice_created',
                'channel' => 'sms',
                'subject' => null,
                'body' => 'فاتورة جديدة {{invoice_number}} بمبلغ {{total_amount}} ج.م - الاستحقاق: {{due_date}}',
                'variables' => ['participant_name', 'invoice_number', 'total_amount', 'due_date', 'public_link'],
            ],

            // 2. invoice_sent
            [
                'event_type' => 'invoice_sent',
                'channel' => 'in_app',
                'subject' => 'تم إرسال الفاتورة',
                'body' => 'تم إرسال الفاتورة رقم {{invoice_number}} بمبلغ {{total_amount}} ج.م',
                'variables' => ['participant_name', 'invoice_number', 'total_amount', 'due_date', 'public_link'],
            ],
            [
                'event_type' => 'invoice_sent',
                'channel' => 'email',
                'subject' => 'فاتورة مستحقة - {{invoice_number}}',
                'body' => "عزيزي/عزيزتي {{participant_name}},\n\nنود إعلامكم بأن الفاتورة رقم {{invoice_number}} بمبلغ {{total_amount}} ج.م مستحقة بتاريخ {{due_date}}.\n\nلعرض الفاتورة والدفع: {{public_link}}\n\nمع تحيات الإدارة",
                'variables' => ['participant_name', 'invoice_number', 'total_amount', 'due_date', 'public_link'],
            ],
            [
                'event_type' => 'invoice_sent',
                'channel' => 'sms',
                'subject' => null,
                'body' => 'فاتورة {{invoice_number}} بمبلغ {{total_amount}} ج.م مستحقة {{due_date}}',
                'variables' => ['participant_name', 'invoice_number', 'total_amount', 'due_date', 'public_link'],
            ],

            // 3. invoice_paid
            [
                'event_type' => 'invoice_paid',
                'channel' => 'in_app',
                'subject' => 'تم سداد الفاتورة',
                'body' => 'تم سداد الفاتورة رقم {{invoice_number}} بالكامل بمبلغ {{total_amount}} ج.م',
                'variables' => ['participant_name', 'invoice_number', 'total_amount', 'paid_date', 'receipt_link'],
            ],
            [
                'event_type' => 'invoice_paid',
                'channel' => 'email',
                'subject' => 'تأكيد سداد الفاتورة {{invoice_number}}',
                'body' => "عزيزي/عزيزتي {{participant_name}},\n\nنؤكد استلام سداد الفاتورة رقم {{invoice_number}} بمبلغ {{total_amount}} ج.م بتاريخ {{paid_date}}.\n\nلعرض الإيصال: {{receipt_link}}\n\nشكراً لكم.",
                'variables' => ['participant_name', 'invoice_number', 'total_amount', 'paid_date', 'receipt_link'],
            ],
            [
                'event_type' => 'invoice_paid',
                'channel' => 'sms',
                'subject' => null,
                'body' => 'تم سداد الفاتورة {{invoice_number}} بمبلغ {{total_amount}} ج.م. شكراً لكم',
                'variables' => ['participant_name', 'invoice_number', 'total_amount', 'paid_date', 'receipt_link'],
            ],

            // 4. invoice_overdue
            [
                'event_type' => 'invoice_overdue',
                'channel' => 'in_app',
                'subject' => 'فاتورة متأخرة',
                'body' => 'الفاتورة رقم {{invoice_number}} متأخرة {{days_overdue}} يوم بمبلغ {{total_amount}} ج.م',
                'variables' => ['participant_name', 'invoice_number', 'total_amount', 'due_date', 'days_overdue', 'public_link'],
            ],
            [
                'event_type' => 'invoice_overdue',
                'channel' => 'email',
                'subject' => 'تذكير: فاتورة متأخرة {{invoice_number}}',
                'body' => "عزيزي/عزيزتي {{participant_name}},\n\nنود تذكيركم بأن الفاتورة رقم {{invoice_number}} بمبلغ {{total_amount}} ج.م كانت مستحقة بتاريخ {{due_date}} وهي متأخرة {{days_overdue}} يوم.\n\nنرجو السداد في أقرب وقت: {{public_link}}\n\nمع تحيات الإدارة",
                'variables' => ['participant_name', 'invoice_number', 'total_amount', 'due_date', 'days_overdue', 'public_link'],
            ],
            [
                'event_type' => 'invoice_overdue',
                'channel' => 'sms',
                'subject' => null,
                'body' => 'تذكير: فاتورة {{invoice_number}} متأخرة {{days_overdue}} يوم - {{total_amount}} ج.م',
                'variables' => ['participant_name', 'invoice_number', 'total_amount', 'due_date', 'days_overdue', 'public_link'],
            ],

            // 5. invoice_cancelled
            [
                'event_type' => 'invoice_cancelled',
                'channel' => 'in_app',
                'subject' => 'إلغاء فاتورة',
                'body' => 'تم إلغاء الفاتورة رقم {{invoice_number}}',
                'variables' => ['participant_name', 'invoice_number', 'reason'],
            ],
            [
                'event_type' => 'invoice_cancelled',
                'channel' => 'email',
                'subject' => 'إلغاء الفاتورة {{invoice_number}}',
                'body' => "عزيزي/عزيزتي {{participant_name}},\n\nنود إعلامكم بأنه تم إلغاء الفاتورة رقم {{invoice_number}}.\nالسبب: {{reason}}\n\nمع تحيات الإدارة",
                'variables' => ['participant_name', 'invoice_number', 'reason'],
            ],
            [
                'event_type' => 'invoice_cancelled',
                'channel' => 'sms',
                'subject' => null,
                'body' => 'تم إلغاء الفاتورة {{invoice_number}}',
                'variables' => ['participant_name', 'invoice_number', 'reason'],
            ],

            // 6. payment_received
            [
                'event_type' => 'payment_received',
                'channel' => 'in_app',
                'subject' => 'تأكيد دفعة',
                'body' => 'تم استلام دفعة بمبلغ {{payment_amount}} ج.م عبر {{payment_method}} للفاتورة {{invoice_number}}',
                'variables' => ['participant_name', 'payment_amount', 'payment_method', 'invoice_number', 'receipt_link'],
            ],
            [
                'event_type' => 'payment_received',
                'channel' => 'email',
                'subject' => 'تأكيد استلام دفعة - {{invoice_number}}',
                'body' => "عزيزي/عزيزتي {{participant_name}},\n\nتم استلام دفعة:\n- المبلغ: {{payment_amount}} ج.م\n- طريقة الدفع: {{payment_method}}\n- الفاتورة: {{invoice_number}}\n\nإيصال الدفع: {{receipt_link}}\n\nشكراً لكم.",
                'variables' => ['participant_name', 'payment_amount', 'payment_method', 'invoice_number', 'receipt_link'],
            ],
            [
                'event_type' => 'payment_received',
                'channel' => 'sms',
                'subject' => null,
                'body' => 'تم استلام {{payment_amount}} ج.م للفاتورة {{invoice_number}}. شكراً',
                'variables' => ['participant_name', 'payment_amount', 'payment_method', 'invoice_number', 'receipt_link'],
            ],

            // 7. payment_plan_defaulted
            [
                'event_type' => 'payment_plan_defaulted',
                'channel' => 'in_app',
                'subject' => 'تأخر قسط',
                'body' => 'تأخر سداد قسط بمبلغ {{overdue_amount}} ج.م المستحق في {{installment_date}}',
                'variables' => ['participant_name', 'plan_id', 'overdue_amount', 'installment_date'],
            ],
            [
                'event_type' => 'payment_plan_defaulted',
                'channel' => 'email',
                'subject' => 'تنبيه: تأخر سداد قسط',
                'body' => "عزيزي/عزيزتي {{participant_name}},\n\nنود إعلامكم بتأخر سداد القسط المستحق بتاريخ {{installment_date}} بمبلغ {{overdue_amount}} ج.م.\n\nنرجو التواصل مع الإدارة لتسوية الموقف المالي.\n\nمع تحيات الإدارة",
                'variables' => ['participant_name', 'plan_id', 'overdue_amount', 'installment_date'],
            ],
            [
                'event_type' => 'payment_plan_defaulted',
                'channel' => 'sms',
                'subject' => null,
                'body' => 'تنبيه: قسط {{overdue_amount}} ج.م متأخر من {{installment_date}}. يرجى السداد',
                'variables' => ['participant_name', 'plan_id', 'overdue_amount', 'installment_date'],
            ],

            // 8. wallet_deposited
            [
                'event_type' => 'wallet_deposited',
                'channel' => 'in_app',
                'subject' => 'إيداع في المحفظة',
                'body' => 'تم إيداع {{amount}} ج.م في محفظتك. الرصيد الحالي: {{new_balance}} ج.م',
                'variables' => ['participant_name', 'amount', 'new_balance'],
            ],
            [
                'event_type' => 'wallet_deposited',
                'channel' => 'email',
                'subject' => 'تأكيد إيداع في المحفظة',
                'body' => "عزيزي/عزيزتي {{participant_name}},\n\nتم إيداع مبلغ {{amount}} ج.م في محفظتكم.\nالرصيد الحالي: {{new_balance}} ج.م\n\nمع تحيات الإدارة",
                'variables' => ['participant_name', 'amount', 'new_balance'],
            ],
            [
                'event_type' => 'wallet_deposited',
                'channel' => 'sms',
                'subject' => null,
                'body' => 'تم إيداع {{amount}} ج.م بمحفظتك. الرصيد: {{new_balance}} ج.م',
                'variables' => ['participant_name', 'amount', 'new_balance'],
            ],

            // 9. wallet_frozen
            [
                'event_type' => 'wallet_frozen',
                'channel' => 'in_app',
                'subject' => 'تجميد المحفظة',
                'body' => 'تم تجميد محفظتك. السبب: {{reason}}',
                'variables' => ['participant_name', 'reason'],
            ],
            [
                'event_type' => 'wallet_frozen',
                'channel' => 'email',
                'subject' => 'تجميد المحفظة',
                'body' => "عزيزي/عزيزتي {{participant_name}},\n\nنود إعلامكم بأنه تم تجميد محفظتكم.\nالسبب: {{reason}}\n\nللاستفسار يرجى التواصل مع الإدارة.\n\nمع تحيات الإدارة",
                'variables' => ['participant_name', 'reason'],
            ],
            [
                'event_type' => 'wallet_frozen',
                'channel' => 'sms',
                'subject' => null,
                'body' => 'تم تجميد محفظتك. السبب: {{reason}}. تواصل مع الإدارة',
                'variables' => ['participant_name', 'reason'],
            ],

            // 10. cash_session_closed
            [
                'event_type' => 'cash_session_closed',
                'channel' => 'in_app',
                'subject' => 'إغلاق وردية',
                'body' => 'تم إغلاق وردية {{cashier_name}} بتاريخ {{session_date}} - إجمالي: {{total_sales}} ج.م ({{transactions_count}} عملية)',
                'variables' => ['cashier_name', 'session_date', 'total_sales', 'transactions_count'],
            ],
            [
                'event_type' => 'cash_session_closed',
                'channel' => 'email',
                'subject' => 'تقرير إغلاق وردية - {{session_date}}',
                'body' => "تم إغلاق الوردية:\n- أمين الصندوق: {{cashier_name}}\n- التاريخ: {{session_date}}\n- إجمالي المبيعات: {{total_sales}} ج.م\n- عدد العمليات: {{transactions_count}}\n\nمع تحيات الإدارة",
                'variables' => ['cashier_name', 'session_date', 'total_sales', 'transactions_count'],
            ],
            [
                'event_type' => 'cash_session_closed',
                'channel' => 'sms',
                'subject' => null,
                'body' => 'إغلاق وردية {{session_date}}: {{total_sales}} ج.م ({{transactions_count}} عملية)',
                'variables' => ['cashier_name', 'session_date', 'total_sales', 'transactions_count'],
            ],

            // 11. enrollment_created
            [
                'event_type' => 'enrollment_created',
                'channel' => 'in_app',
                'subject' => 'تسجيل جديد',
                'body' => 'تم تسجيل {{participant_name}} في برنامج {{program_name}} - مجموعة {{group_name}}',
                'variables' => ['participant_name', 'program_name', 'group_name', 'start_date'],
            ],
            [
                'event_type' => 'enrollment_created',
                'channel' => 'email',
                'subject' => 'تأكيد التسجيل في {{program_name}}',
                'body' => "عزيزي/عزيزتي {{participant_name}},\n\nيسعدنا تأكيد تسجيلكم في:\n- البرنامج: {{program_name}}\n- المجموعة: {{group_name}}\n- تاريخ البدء: {{start_date}}\n\nنتمنى لكم تجربة ممتعة.\n\nمع تحيات الإدارة",
                'variables' => ['participant_name', 'program_name', 'group_name', 'start_date'],
            ],
            [
                'event_type' => 'enrollment_created',
                'channel' => 'sms',
                'subject' => null,
                'body' => 'تم تسجيلك في {{program_name}} - مجموعة {{group_name}}. البدء: {{start_date}}',
                'variables' => ['participant_name', 'program_name', 'group_name', 'start_date'],
            ],

            // 12. enrollment_cancelled
            [
                'event_type' => 'enrollment_cancelled',
                'channel' => 'in_app',
                'subject' => 'إلغاء تسجيل',
                'body' => 'تم إلغاء تسجيل {{participant_name}} من {{program_name}} - {{group_name}}',
                'variables' => ['participant_name', 'program_name', 'group_name', 'reason'],
            ],
            [
                'event_type' => 'enrollment_cancelled',
                'channel' => 'email',
                'subject' => 'إلغاء التسجيل من {{program_name}}',
                'body' => "عزيزي/عزيزتي {{participant_name}},\n\nنود إعلامكم بإلغاء تسجيلكم من:\n- البرنامج: {{program_name}}\n- المجموعة: {{group_name}}\n- السبب: {{reason}}\n\nللاستفسار يرجى التواصل مع الإدارة.\n\nمع تحيات الإدارة",
                'variables' => ['participant_name', 'program_name', 'group_name', 'reason'],
            ],
            [
                'event_type' => 'enrollment_cancelled',
                'channel' => 'sms',
                'subject' => null,
                'body' => 'تم إلغاء تسجيلك من {{program_name}}. السبب: {{reason}}',
                'variables' => ['participant_name', 'program_name', 'group_name', 'reason'],
            ],

            // 13. enrollment_completed
            [
                'event_type' => 'enrollment_completed',
                'channel' => 'in_app',
                'subject' => 'إتمام البرنامج',
                'body' => 'مبروك! أتم {{participant_name}} برنامج {{program_name}} بنجاح',
                'variables' => ['participant_name', 'program_name', 'completion_date'],
            ],
            [
                'event_type' => 'enrollment_completed',
                'channel' => 'email',
                'subject' => 'تهانينا - إتمام برنامج {{program_name}}',
                'body' => "عزيزي/عزيزتي {{participant_name}},\n\nتهانينا! لقد أتممت برنامج {{program_name}} بنجاح بتاريخ {{completion_date}}.\n\nنتمنى لك التوفيق والنجاح الدائم.\n\nمع تحيات الإدارة",
                'variables' => ['participant_name', 'program_name', 'completion_date'],
            ],
            [
                'event_type' => 'enrollment_completed',
                'channel' => 'sms',
                'subject' => null,
                'body' => 'مبروك! أتممت برنامج {{program_name}} بنجاح',
                'variables' => ['participant_name', 'program_name', 'completion_date'],
            ],

            // 14. session_cancelled
            [
                'event_type' => 'session_cancelled',
                'channel' => 'in_app',
                'subject' => 'إلغاء حصة',
                'body' => 'تم إلغاء حصة {{group_name}} يوم {{session_date}} الساعة {{session_time}}',
                'variables' => ['participant_name', 'group_name', 'session_date', 'session_time', 'reason'],
            ],
            [
                'event_type' => 'session_cancelled',
                'channel' => 'email',
                'subject' => 'إلغاء حصة {{group_name}} - {{session_date}}',
                'body' => "عزيزي/عزيزتي {{participant_name}},\n\nنود إعلامكم بإلغاء الحصة التالية:\n- المجموعة: {{group_name}}\n- التاريخ: {{session_date}}\n- الوقت: {{session_time}}\n- السبب: {{reason}}\n\nسيتم الإعلان عن موعد بديل قريباً.\n\nمع تحيات الإدارة",
                'variables' => ['participant_name', 'group_name', 'session_date', 'session_time', 'reason'],
            ],
            [
                'event_type' => 'session_cancelled',
                'channel' => 'sms',
                'subject' => null,
                'body' => 'إلغاء حصة {{group_name}} يوم {{session_date}} {{session_time}}. السبب: {{reason}}',
                'variables' => ['participant_name', 'group_name', 'session_date', 'session_time', 'reason'],
            ],

            // 15. session_completed
            [
                'event_type' => 'session_completed',
                'channel' => 'in_app',
                'subject' => 'انتهاء حصة',
                'body' => 'انتهت حصة {{group_name}} - الحضور: {{attendance_count}}/{{total_count}}',
                'variables' => ['group_name', 'session_date', 'attendance_count', 'total_count'],
            ],
            [
                'event_type' => 'session_completed',
                'channel' => 'email',
                'subject' => 'تقرير حصة {{group_name}} - {{session_date}}',
                'body' => "تقرير الحصة:\n- المجموعة: {{group_name}}\n- التاريخ: {{session_date}}\n- الحضور: {{attendance_count}} من {{total_count}}\n\nمع تحيات الإدارة",
                'variables' => ['group_name', 'session_date', 'attendance_count', 'total_count'],
            ],
            [
                'event_type' => 'session_completed',
                'channel' => 'sms',
                'subject' => null,
                'body' => 'حصة {{group_name}} {{session_date}}: حضور {{attendance_count}}/{{total_count}}',
                'variables' => ['group_name', 'session_date', 'attendance_count', 'total_count'],
            ],

            // 16. waitlist_spot_available
            [
                'event_type' => 'waitlist_spot_available',
                'channel' => 'in_app',
                'subject' => 'مكان متاح',
                'body' => 'يوجد مكان متاح في {{group_name}} - {{program_name}}',
                'variables' => ['participant_name', 'program_name', 'group_name', 'spots_available'],
            ],
            [
                'event_type' => 'waitlist_spot_available',
                'channel' => 'email',
                'subject' => 'مكان متاح في {{program_name}}',
                'body' => "عزيزي/عزيزتي {{participant_name}},\n\nيسعدنا إعلامكم بتوفر مكان في:\n- البرنامج: {{program_name}}\n- المجموعة: {{group_name}}\n- الأماكن المتاحة: {{spots_available}}\n\nسارعوا بالتسجيل قبل نفاد الأماكن.\n\nمع تحيات الإدارة",
                'variables' => ['participant_name', 'program_name', 'group_name', 'spots_available'],
            ],
            [
                'event_type' => 'waitlist_spot_available',
                'channel' => 'sms',
                'subject' => null,
                'body' => 'مكان متاح في {{group_name}} - {{program_name}}! سارع بالتسجيل',
                'variables' => ['participant_name', 'program_name', 'group_name', 'spots_available'],
            ],

            // 17. participant_registered
            [
                'event_type' => 'participant_registered',
                'channel' => 'in_app',
                'subject' => 'تسجيل لاعب جديد',
                'body' => 'تم تسجيل {{participant_name}} برقم {{participant_number}}',
                'variables' => ['participant_name', 'registration_date', 'participant_number'],
            ],
            [
                'event_type' => 'participant_registered',
                'channel' => 'email',
                'subject' => 'مرحباً {{participant_name}} - تأكيد التسجيل',
                'body' => "عزيزي/عزيزتي {{participant_name}},\n\nمرحباً بكم! تم تسجيلكم بنجاح:\n- رقم العضوية: {{participant_number}}\n- تاريخ التسجيل: {{registration_date}}\n\nنتمنى لكم تجربة رائعة معنا.\n\nمع تحيات الإدارة",
                'variables' => ['participant_name', 'registration_date', 'participant_number'],
            ],
            [
                'event_type' => 'participant_registered',
                'channel' => 'sms',
                'subject' => null,
                'body' => 'مرحباً {{participant_name}}! تم تسجيلك برقم {{participant_number}}',
                'variables' => ['participant_name', 'registration_date', 'participant_number'],
            ],

            // 18. participant_status_changed
            [
                'event_type' => 'participant_status_changed',
                'channel' => 'in_app',
                'subject' => 'تغيير حالة',
                'body' => 'تم تغيير حالة {{participant_name}} من {{old_status}} إلى {{new_status}}',
                'variables' => ['participant_name', 'old_status', 'new_status', 'reason'],
            ],
            [
                'event_type' => 'participant_status_changed',
                'channel' => 'email',
                'subject' => 'تغيير حالة العضوية - {{participant_name}}',
                'body' => "عزيزي/عزيزتي {{participant_name}},\n\nنود إعلامكم بتغيير حالة عضويتكم:\n- الحالة السابقة: {{old_status}}\n- الحالة الجديدة: {{new_status}}\n- السبب: {{reason}}\n\nللاستفسار يرجى التواصل مع الإدارة.\n\nمع تحيات الإدارة",
                'variables' => ['participant_name', 'old_status', 'new_status', 'reason'],
            ],
            [
                'event_type' => 'participant_status_changed',
                'channel' => 'sms',
                'subject' => null,
                'body' => 'تم تغيير حالتك من {{old_status}} إلى {{new_status}}',
                'variables' => ['participant_name', 'old_status', 'new_status', 'reason'],
            ],

            // 19. participant_suspended
            [
                'event_type' => 'participant_suspended',
                'channel' => 'in_app',
                'subject' => 'إيقاف عضوية',
                'body' => 'تم إيقاف عضوية {{participant_name}}. السبب: {{reason}}',
                'variables' => ['participant_name', 'reason', 'suspension_date'],
            ],
            [
                'event_type' => 'participant_suspended',
                'channel' => 'email',
                'subject' => 'إيقاف العضوية - {{participant_name}}',
                'body' => "عزيزي/عزيزتي {{participant_name}},\n\nنود إعلامكم بإيقاف عضويتكم اعتباراً من {{suspension_date}}.\nالسبب: {{reason}}\n\nللاستفسار أو التظلم يرجى التواصل مع الإدارة.\n\nمع تحيات الإدارة",
                'variables' => ['participant_name', 'reason', 'suspension_date'],
            ],
            [
                'event_type' => 'participant_suspended',
                'channel' => 'sms',
                'subject' => null,
                'body' => 'تم إيقاف عضويتك من {{suspension_date}}. السبب: {{reason}}',
                'variables' => ['participant_name', 'reason', 'suspension_date'],
            ],

            // 20. participant_frozen
            [
                'event_type' => 'participant_frozen',
                'channel' => 'in_app',
                'subject' => 'تجميد عضوية',
                'body' => 'تم تجميد عضوية {{participant_name}}. السبب: {{reason}}',
                'variables' => ['participant_name', 'reason', 'freeze_date'],
            ],
            [
                'event_type' => 'participant_frozen',
                'channel' => 'email',
                'subject' => 'تجميد العضوية - {{participant_name}}',
                'body' => "عزيزي/عزيزتي {{participant_name}},\n\nنود إعلامكم بتجميد عضويتكم اعتباراً من {{freeze_date}}.\nالسبب: {{reason}}\n\nسيتم إيقاف الفواتير خلال فترة التجميد.\n\nمع تحيات الإدارة",
                'variables' => ['participant_name', 'reason', 'freeze_date'],
            ],
            [
                'event_type' => 'participant_frozen',
                'channel' => 'sms',
                'subject' => null,
                'body' => 'تم تجميد عضويتك من {{freeze_date}}. السبب: {{reason}}',
                'variables' => ['participant_name', 'reason', 'freeze_date'],
            ],

            // 21. participant_absent
            [
                'event_type' => 'participant_absent',
                'channel' => 'in_app',
                'subject' => 'غياب',
                'body' => 'غاب {{participant_name}} عن حصة {{group_name}} يوم {{session_date}} ({{consecutive_absences}} غياب متتالي)',
                'variables' => ['participant_name', 'session_date', 'group_name', 'consecutive_absences'],
            ],
            [
                'event_type' => 'participant_absent',
                'channel' => 'email',
                'subject' => 'إشعار غياب - {{participant_name}}',
                'body' => "عزيزي ولي الأمر,\n\nنود إعلامكم بغياب {{participant_name}} عن:\n- المجموعة: {{group_name}}\n- التاريخ: {{session_date}}\n- عدد الغيابات المتتالية: {{consecutive_absences}}\n\nنرجو المتابعة والتواصل مع الإدارة.\n\nمع تحيات الإدارة",
                'variables' => ['participant_name', 'session_date', 'group_name', 'consecutive_absences'],
            ],
            [
                'event_type' => 'participant_absent',
                'channel' => 'sms',
                'subject' => null,
                'body' => 'غياب {{participant_name}} عن {{group_name}} يوم {{session_date}} ({{consecutive_absences}} متتالي)',
                'variables' => ['participant_name', 'session_date', 'group_name', 'consecutive_absences'],
            ],

            // 22. attendance_threshold_breached
            [
                'event_type' => 'attendance_threshold_breached',
                'channel' => 'in_app',
                'subject' => 'تحذير حضور',
                'body' => 'نسبة حضور {{participant_name}} في {{group_name}} وصلت {{attendance_rate}}% (الحد الأدنى: {{threshold}}%)',
                'variables' => ['participant_name', 'attendance_rate', 'threshold', 'group_name'],
            ],
            [
                'event_type' => 'attendance_threshold_breached',
                'channel' => 'email',
                'subject' => 'تحذير: انخفاض نسبة الحضور',
                'body' => "عزيزي ولي الأمر,\n\nنود إعلامكم بأن نسبة حضور {{participant_name}} في مجموعة {{group_name}} وصلت إلى {{attendance_rate}}%.\nالحد الأدنى المطلوب: {{threshold}}%\n\nنرجو المتابعة لتجنب الإيقاف التلقائي.\n\nمع تحيات الإدارة",
                'variables' => ['participant_name', 'attendance_rate', 'threshold', 'group_name'],
            ],
            [
                'event_type' => 'attendance_threshold_breached',
                'channel' => 'sms',
                'subject' => null,
                'body' => 'تحذير: حضور {{participant_name}} {{attendance_rate}}% أقل من الحد {{threshold}}%',
                'variables' => ['participant_name', 'attendance_rate', 'threshold', 'group_name'],
            ],

            // 23. evaluation_shared
            [
                'event_type' => 'evaluation_shared',
                'channel' => 'in_app',
                'subject' => 'تقييم جديد',
                'body' => "تم مشاركة تقييم '{{evaluation_title}}' من المدرب {{trainer_name}}",
                'variables' => ['participant_name', 'evaluation_title', 'trainer_name', 'evaluation_date'],
            ],
            [
                'event_type' => 'evaluation_shared',
                'channel' => 'email',
                'subject' => 'تقييم جديد - {{evaluation_title}}',
                'body' => "عزيزي/عزيزتي {{participant_name}},\n\nتم مشاركة تقييم جديد:\n- العنوان: {{evaluation_title}}\n- المدرب: {{trainer_name}}\n- التاريخ: {{evaluation_date}}\n\nمع تحيات الإدارة",
                'variables' => ['participant_name', 'evaluation_title', 'trainer_name', 'evaluation_date'],
            ],
            [
                'event_type' => 'evaluation_shared',
                'channel' => 'sms',
                'subject' => null,
                'body' => 'تقييم جديد من {{trainer_name}}: {{evaluation_title}}',
                'variables' => ['participant_name', 'evaluation_title', 'trainer_name', 'evaluation_date'],
            ],

            // 24. product_low_stock
            [
                'event_type' => 'product_low_stock',
                'channel' => 'in_app',
                'subject' => 'تنبيه مخزون',
                'body' => 'المنتج {{product_name}} وصل {{current_stock}} (الحد الأدنى: {{min_level}}) في {{warehouse_name}}',
                'variables' => ['product_name', 'current_stock', 'min_level', 'warehouse_name'],
            ],
            [
                'event_type' => 'product_low_stock',
                'channel' => 'email',
                'subject' => 'تنبيه: انخفاض مخزون {{product_name}}',
                'body' => "تنبيه مخزون:\n- المنتج: {{product_name}}\n- المخزن: {{warehouse_name}}\n- الكمية الحالية: {{current_stock}}\n- الحد الأدنى: {{min_level}}\n\nيرجى إعادة الطلب.\n\nمع تحيات الإدارة",
                'variables' => ['product_name', 'current_stock', 'min_level', 'warehouse_name'],
            ],
            [
                'event_type' => 'product_low_stock',
                'channel' => 'sms',
                'subject' => null,
                'body' => 'تنبيه: مخزون {{product_name}} وصل {{current_stock}} (الحد: {{min_level}})',
                'variables' => ['product_name', 'current_stock', 'min_level', 'warehouse_name'],
            ],

            // 25. pos_transaction_completed
            [
                'event_type' => 'pos_transaction_completed',
                'channel' => 'in_app',
                'subject' => 'عملية بيع',
                'body' => 'تمت عملية بيع رقم {{transaction_number}} بمبلغ {{total_amount}} ج.م ({{items_count}} صنف)',
                'variables' => ['participant_name', 'transaction_number', 'total_amount', 'items_count', 'receipt_link'],
            ],
            [
                'event_type' => 'pos_transaction_completed',
                'channel' => 'email',
                'subject' => 'إيصال عملية الشراء {{transaction_number}}',
                'body' => "عزيزي/عزيزتي {{participant_name}},\n\nتفاصيل عملية الشراء:\n- رقم العملية: {{transaction_number}}\n- عدد الأصناف: {{items_count}}\n- الإجمالي: {{total_amount}} ج.م\n\nلعرض الإيصال: {{receipt_link}}\n\nشكراً لكم.",
                'variables' => ['participant_name', 'transaction_number', 'total_amount', 'items_count', 'receipt_link'],
            ],
            [
                'event_type' => 'pos_transaction_completed',
                'channel' => 'sms',
                'subject' => null,
                'body' => 'إيصال {{transaction_number}}: {{total_amount}} ج.م ({{items_count}} صنف)',
                'variables' => ['participant_name', 'transaction_number', 'total_amount', 'items_count', 'receipt_link'],
            ],

            // 26. installment_overdue
            [
                'event_type' => 'installment_overdue',
                'channel' => 'in_app',
                'subject' => 'قسط متأخر',
                'body' => 'قسط بمبلغ {{installment_amount}} ج.م متأخر من {{due_date}} (متبقي: {{plan_remaining}} ج.م)',
                'variables' => ['participant_name', 'installment_amount', 'due_date', 'plan_remaining'],
            ],
            [
                'event_type' => 'installment_overdue',
                'channel' => 'email',
                'subject' => 'تذكير: قسط متأخر',
                'body' => "عزيزي/عزيزتي {{participant_name}},\n\nنذكركم بالقسط المتأخر:\n- المبلغ: {{installment_amount}} ج.م\n- تاريخ الاستحقاق: {{due_date}}\n- المتبقي من الخطة: {{plan_remaining}} ج.م\n\nنرجو السداد لتجنب الرسوم الإضافية.\n\nمع تحيات الإدارة",
                'variables' => ['participant_name', 'installment_amount', 'due_date', 'plan_remaining'],
            ],
            [
                'event_type' => 'installment_overdue',
                'channel' => 'sms',
                'subject' => null,
                'body' => 'تذكير: قسط {{installment_amount}} ج.م متأخر من {{due_date}}. يرجى السداد',
                'variables' => ['participant_name', 'installment_amount', 'due_date', 'plan_remaining'],
            ],
        ];
    }
}
