================================================================================
MOLAK v2.0 - قسم المالك (Owner Panel)
Property Owner Section
================================================================================

📊 الإحصائيات:
- عدد الكلاسات: 17
- عدد الصفحات: 82
- المستخدمون: أصحاب العقارات وفريق العمل

================================================================================

owner/
│
├── classes/                                    ═══ 17 كلاس ═══
│   │
│   ├── Owner.php
│   │   # كلاس المالك الرئيسي
│   │   الدوال:
│   │   - __construct()                         # بناء الكلاس
│   │   - getOwnerById($id)                     # جلب بيانات المالك
│   │   - updateOwnerInfo($id, $data)           # تحديث معلومات المالك
│   │   - getOwnerProfile($ownerId)             # جلب الملف الشخصي
│   │   - updateProfile($ownerId, $data)        # تحديث الملف الشخصي
│   │   - getOwnerStats($ownerId)               # إحصائيات المالك
│   │   - getDashboardData($ownerId)            # بيانات لوحة التحكم
│   │   - getOccupancyRate($ownerId)            # معدل الإشغال
│   │   - getMonthlyRevenue($ownerId, $month)   # الإيرادات الشهرية
│   │   - getCollectionRate($ownerId)           # معدل التحصيل
│   │   - getUpcomingPayments($ownerId)         # الدفعات القادمة
│   │   - getOverduePayments($ownerId)          # الدفعات المتأخرة
│   │
│   ├── OwnerAuth.php
│   │   # مصادقة المالك والتحقق من الصلاحيات
│   │   الدوال:
│   │   - login($email, $password)              # تسجيل الدخول
│   │   - verify2FA($code)                      # التحقق الثنائي
│   │   - logout()                              # تسجيل الخروج
│   │   - getCurrentOwner()                     # جلب المالك الحالي
│   │   - checkPermission($permission)          # فحص الصلاحية
│   │   - isOwnerAdmin()                        # هل هو مدير للمالك
│   │   - setup2FA()                            # إعداد المصادقة الثنائية
│   │   - disable2FA()                          # تعطيل المصادقة الثنائية
│   │   - changePassword($old, $new)            # تغيير كلمة المرور
│   │
│   ├── OwnerPermissions.php
│   │   # إدارة صلاحيات فريق المالك
│   │   الدوال:
│   │   - getTeamMemberPermissions($adminId)    # صلاحيات عضو الفريق
│   │   - checkPermission($adminId, $perm)      # فحص صلاحية محددة
│   │   - hasRole($adminId, $role)              # فحص دور
│   │   - getAvailableRoles()                   # الأدوار المتاحة
│   │   - getOwnerRoles($ownerId)               # أدوار المالك
│   │   - createCustomRole($ownerId, $data)     # إنشاء دور مخصص
│   │   - assignRole($adminId, $roleId)         # تعيين دور
│   │   - removeRole($adminId, $roleId)         # إزالة دور
│   │
│   ├── Building.php
│   │   # إدارة المباني
│   │   الدوال:
│   │   - getAllBuildings($ownerId, $filters)   # جلب جميع المباني
│   │   - getBuildingById($id)                  # جلب تفاصيل مبنى
│   │   - createBuilding($ownerId, $data)       # إضافة مبنى جديد
│   │   - updateBuilding($id, $data)            # تحديث مبنى
│   │   - deleteBuilding($id)                   # حذف مبنى (soft delete)
│   │   - getBuildingUnits($buildingId)         # وحدات المبنى
│   │   - getBuildingStats($buildingId)         # إحصائيات المبنى
│   │   - getBuildingOccupancy($buildingId)     # إشغال المبنى
│   │   - getBuildingRevenue($buildingId)       # إيرادات المبنى
│   │   - uploadBuildingImage($buildingId, $img)# رفع صورة المبنى
│   │
│   ├── Unit.php
│   │   # إدارة الوحدات السكنية
│   │   الدوال:
│   │   - getAllUnits($ownerId, $filters)       # جلب جميع الوحدات
│   │   - getUnitById($id)                      # جلب تفاصيل وحدة
│   │   - createUnit($buildingId, $data)        # إضافة وحدة جديدة
│   │   - updateUnit($id, $data)                # تحديث وحدة
│   │   - deleteUnit($id)                       # حذف وحدة
│   │   - bulkImportUnits($buildingId, $file)   # استيراد جماعي للوحدات
│   │   - getUnitHistory($unitId)               # تاريخ الوحدة
│   │   - getUnitCurrentTenant($unitId)         # المستأجر الحالي
│   │   - getUnitCurrentContract($unitId)       # العقد الحالي
│   │   - updateUnitStatus($unitId, $status)    # تحديث حالة الوحدة
│   │   - getUnitMaintenanceHistory($unitId)    # تاريخ صيانة الوحدة
│   │   - uploadUnitImages($unitId, $images)    # رفع صور الوحدة
│   │   - addUnitFeature($unitId, $feature)     # إضافة ميزة للوحدة
│   │
│   ├── Contract.php
│   │   # إدارة العقود
│   │   الدوال:
│   │   - getAllContracts($ownerId, $filters)   # جلب جميع العقود
│   │   - getContractById($id)                  # جلب تفاصيل عقد
│   │   - createContract($data)                 # إنشاء عقد جديد
│   │   - updateContract($id, $data)            # تحديث عقد
│   │   - terminateContract($id, $reason)       # إنهاء عقد
│   │   - renewContract($id, $newData)          # تجديد عقد
│   │   - getContractInstallments($contractId)  # أقساط العقد
│   │   - getContractPayments($contractId)      # مدفوعات العقد
│   │   - uploadContractAttachment($id, $file)  # رفع مرفق للعقد
│   │   - generateContractPDF($contractId)      # توليد PDF للعقد
│   │   - getExpiringContracts($ownerId, $days) # عقود قريبة من الانتهاء
│   │   - getActiveContracts($ownerId)          # العقود النشطة
│   │   - getArchivedContracts($ownerId)        # العقود المنتهية
│   │   - getContractTemplate($templateId)      # قالب عقد
│   │
│   ├── Installment.php
│   │   # إدارة الأقساط
│   │   الدوال:
│   │   - getInstallmentById($id)               # جلب تفاصيل قسط
│   │   - getContractInstallments($contractId)  # أقساط عقد محدد
│   │   - createInstallments($contractId, $plan)# إنشاء جدول أقساط
│   │   - updateInstallment($id, $data)         # تحديث قسط
│   │   - waiveInstallment($id, $reason)        # إعفاء من قسط
│   │   - getOverdueInstallments($ownerId)      # الأقساط المتأخرة
│   │   - getUpcomingInstallments($ownerId)     # الأقساط القادمة
│   │   - sendPaymentReminder($installmentId)   # إرسال تذكير دفع
│   │
│   ├── Payment.php
│   │   # إدارة المدفوعات
│   │   الدوال:
│   │   - getAllPayments($ownerId, $filters)    # جلب جميع المدفوعات
│   │   - getPaymentById($id)                   # جلب تفاصيل دفعة
│   │   - recordOfflinePayment($data)           # تسجيل دفعة يدوية
│   │   - getPaymentReceipt($paymentId)         # جلب إيصال الدفعة
│   │   - getContractPayments($contractId)      # مدفوعات عقد محدد
│   │   - getTenantPayments($tenantId)          # مدفوعات مستأجر
│   │   - getMonthlyCollections($ownerId, $month) # التحصيلات الشهرية
│   │   - getPaymentStats($ownerId)             # إحصائيات المدفوعات
│   │   - exportPaymentsReport($filters)        # تصدير تقرير المدفوعات
│   │
│   ├── Receipt.php
│   │   # إدارة الإيصالات
│   │   الدوال:
│   │   - generateReceipt($paymentId)           # توليد إيصال
│   │   - getReceiptById($id)                   # جلب إيصال
│   │   - getReceiptPDF($receiptId)             # جلب PDF الإيصال
│   │   - sendReceiptEmail($receiptId)          # إرسال الإيصال بالبريد
│   │   - regenerateReceipt($receiptId)         # إعادة توليد إيصال
│   │   - getAllReceipts($ownerId, $filters)    # جلب جميع الإيصالات
│   │
│   ├── Tenant.php
│   │   # إدارة المستأجرين (من جهة المالك)
│   │   الدوال:
│   │   - getAllTenants($ownerId, $filters)     # جلب جميع المستأجرين
│   │   - getTenantById($id)                    # جلب تفاصيل مستأجر
│   │   - createTenant($data)                   # إضافة مستأجر جديد
│   │   - updateTenant($id, $data)              # تحديث بيانات مستأجر
│   │   - deleteTenant($id)                     # حذف مستأجر
│   │   - getTenantContracts($tenantId)         # عقود المستأجر
│   │   - getTenantPayments($tenantId)          # مدفوعات المستأجر
│   │   - getTenantPaymentHistory($tenantId)    # تاريخ المدفوعات
│   │   - getTenantDocuments($tenantId)         # وثائق المستأجر
│   │   - uploadTenantDocument($tenantId, $doc) # رفع وثيقة للمستأجر
│   │   - sendInviteTenant($email, $unitId)     # دعوة مستأجر للانضمام
│   │
│   ├── MaintenanceRequest.php
│   │   # إدارة طلبات الصيانة
│   │   الدوال:
│   │   - getAllRequests($ownerId, $filters)    # جلب جميع الطلبات
│   │   - getRequestById($id)                   # جلب تفاصيل طلب
│   │   - createRequest($data)                  # إنشاء طلب صيانة
│   │   - updateRequest($id, $data)             # تحديث طلب
│   │   - updateRequestStatus($id, $status)     # تحديث حالة الطلب
│   │   - assignProvider($requestId, $providerId) # تعيين مزود خدمة
│   │   - getRequestQuotes($requestId)          # عروض أسعار الطلب
│   │   - getRequestHistory($requestId)         # تاريخ الطلب
│   │   - uploadRequestMedia($requestId, $files)# رفع صور/فيديو
│   │   - getActiveRequests($ownerId)           # الطلبات النشطة
│   │   - getCompletedRequests($ownerId)        # الطلبات المنجزة
│   │
│   ├── RFQ.php
│   │   # إدارة طلبات عروض الأسعار
│   │   الدوال:
│   │   - createRFQ($requestId, $data)          # إنشاء طلب عرض سعر
│   │   - getRFQById($id)                       # جلب تفاصيل RFQ
│   │   - updateRFQ($id, $data)                 # تحديث RFQ
│   │   - sendRFQToProviders($rfqId, $providers)# إرسال لمزودين
│   │   - getRFQRecipients($rfqId)              # مزودين تم إرسال الطلب لهم
│   │   - closeRFQ($rfqId)                      # إغلاق طلب عرض السعر
│   │
│   ├── Quote.php
│   │   # إدارة عروض الأسعار
│   │   الدوال:
│   │   - getAllQuotes($rfqId)                  # جلب جميع العروض
│   │   - getQuoteById($id)                     # جلب تفاصيل عرض
│   │   - compareQuotes($rfqId)                 # مقارنة العروض
│   │   - selectQuote($quoteId)                 # اختيار عرض
│   │   - rejectQuote($quoteId, $reason)        # رفض عرض
│   │   - getQuoteDetails($quoteId)             # تفاصيل العرض الكاملة
│   │
│   ├── WorkOrder.php
│   │   # إدارة أوامر العمل
│   │   الدوال:
│   │   - createWorkOrder($requestId, $quoteId) # إنشاء أمر عمل
│   │   - getWorkOrderById($id)                 # جلب تفاصيل أمر عمل
│   │   - updateWorkOrder($id, $data)           # تحديث أمر عمل
│   │   - getWorkOrderStatus($id)               # حالة أمر العمل
│   │   - completeWorkOrder($id)                # إنهاء أمر العمل
│   │   - cancelWorkOrder($id, $reason)         # إلغاء أمر العمل
│   │   - getActiveWorkOrders($ownerId)         # أوامر العمل النشطة
│   │   - rateWorkOrder($id, $rating, $comment) # تقييم العمل
│   │
│   ├── Listing.php
│   │   # إدارة إعلانات السوق
│   │   الدوال:
│   │   - getAllListings($ownerId, $filters)    # جلب جميع الإعلانات
│   │   - getListingById($id)                   # جلب تفاصيل إعلان
│   │   - createListing($unitId, $data)         # إنشاء إعلان جديد
│   │   - updateListing($id, $data)             # تحديث إعلان
│   │   - deleteListing($id)                    # حذف إعلان
│   │   - publishListing($id)                   # نشر إعلان
│   │   - unpublishListing($id)                 # إلغاء نشر إعلان
│   │   - uploadListingPhotos($id, $photos)     # رفع صور للإعلان
│   │   - getListingPerformance($id)            # أداء الإعلان
│   │   - getListingInquiries($id)              # استفسارات الإعلان
│   │   - getListingViews($id)                  # مشاهدات الإعلان
│   │
│   ├── Inquiry.php
│   │   # إدارة استفسارات المستأجرين
│   │   الدوال:
│   │   - getAllInquiries($ownerId, $filters)   # جلب جميع الاستفسارات
│   │   - getInquiryById($id)                   # جلب تفاصيل استفسار
│   │   - updateInquiryStatus($id, $status)     # تحديث حالة الاستفسار
│   │   - scheduleViewing($inquiryId, $datetime)# جدولة معاينة
│   │   - convertToContract($inquiryId, $data)  # تحويل لعقد
│   │   - declineInquiry($inquiryId, $reason)   # رفض استفسار
│   │   - getInquiryMessages($inquiryId)        # رسائل الاستفسار
│   │   - sendInquiryReply($inquiryId, $message)# الرد على استفسار
│   │
│   ├── OwnerTeam.php
│   │   # إدارة فريق عمل المالك
│   │   الدوال:
│   │   - getTeamMembers($ownerId)              # جلب أعضاء الفريق
│   │   - getTeamMemberById($id)                # جلب تفاصيل عضو
│   │   - inviteTeamMember($ownerId, $data)     # دعوة عضو جديد
│   │   - updateTeamMember($id, $data)          # تحديث بيانات عضو
│   │   - removeTeamMember($id)                 # إزالة عضو من الفريق
│   │   - assignRole($memberId, $roleId)        # تعيين دور لعضو
│   │   - getTeamMemberActivity($memberId)      # نشاط العضو
│   │   - suspendTeamMember($memberId)          # إيقاف عضو مؤقتاً
│   │   - activateTeamMember($memberId)         # تفعيل عضو
│   │
│   ├── Subscription.php
│   │   # إدارة اشتراك المالك
│   │   الدوال:
│   │   - getCurrentSubscription($ownerId)      # الاشتراك الحالي
│   │   - getSubscriptionDetails($id)           # تفاصيل الاشتراك
│   │   - upgradePlan($ownerId, $planId)        # ترقية الباقة
│   │   - downgradePlan($ownerId, $planId)      # تخفيض الباقة
│   │   - cancelSubscription($ownerId)          # إلغاء الاشتراك
│   │   - renewSubscription($ownerId)           # تجديد الاشتراك
│   │   - getUsageStats($ownerId)               # إحصائيات الاستخدام
│   │   - checkUsageLimit($ownerId)             # فحص حد الاستخدام
│   │   - getInvoiceHistory($ownerId)           # تاريخ الفواتير
│   │   - getInvoicePDF($invoiceId)             # جلب فاتورة PDF
│   │   - updatePaymentMethod($ownerId, $method)# تحديث طريقة الدفع
│   │
│   ├── Report.php
│   │   # توليد التقارير
│   │   الدوال:
│   │   - generateFinancialReport($ownerId, $period) # تقرير مالي
│   │   - generateIncomeStatement($ownerId, $period) # قائمة الدخل
│   │   - generateRentRoll($ownerId)            # كشف الإيجارات
│   │   - generateOccupancyReport($ownerId)     # تقرير الإشغال
│   │   - generateCollectionReport($ownerId, $period) # تقرير التحصيل
│   │   - generateMaintenanceCostReport($ownerId) # تقرير تكاليف الصيانة
│   │   - generateTurnoverReport($ownerId)      # تقرير معدل الدوران
│   │   - generateVacancyAnalysis($ownerId)     # تحليل الشواغر
│   │   - exportReportPDF($reportId)            # تصدير PDF
│   │   - exportReportExcel($reportId)          # تصدير Excel
│   │   - scheduleReport($ownerId, $config)     # جدولة تقرير تلقائي
│   │
│   └── SecurityDeposit.php
│       # إدارة التأمينات
│       الدوال:
│       - getDepositByContract($contractId)     # التأمين لعقد محدد
│       - recordDepositCollection($contractId, $data) # تسجيل جمع تأمين
│       - recordPartialRefund($contractId, $amount, $reason) # استرجاع جزئي
│       - recordFullRefund($contractId, $data)  # استرجاع كامل
│       - forfeitDeposit($contractId, $reason)  # مصادرة التأمين
│       - getDepositEvents($contractId)         # أحداث التأمين
│       - getDepositStatus($contractId)         # حالة التأمين
│
│
└── pages/                                      ═══ 82 صفحة ═══
    │
    ├── index.php
    │   # الصفحة الرئيسية - إعادة توجيه
    │   الوظائف:
    │   - فحص تسجيل الدخول
    │   - إعادة توجيه إلى dashboard.php
    │
    ├── dashboard.php
    │   # لوحة التحكم الرئيسية للمالك
    │   العناصر:
    │   - بطاقات KPIs (إشغال، إيرادات، متأخرات)
    │   - رسم بياني للإيرادات الشهرية
    │   - رسم بياني لحالة الوحدات
    │   - الدفعات القادمة (أقرب 5)
    │   - المتأخرات (أقرب 5)
    │   - طلبات صيانة حديثة
    │   - عقود قريبة من الانتهاء
    │   - إشعارات حديثة
    │   الكلاسات: Owner, Unit, Payment, Contract, MaintenanceRequest
    │
    ├── onboarding/
    │   │
    │   ├── welcome.php
    │   │   # مرحباً بك في المنصة
    │   │   العناصر:
    │   │   - رسالة ترحيب
    │   │   - نظرة عامة على المنصة
    │   │   - الخطوات التالية
    │   │   - فيديو تعريفي
    │   │   الكلاسات: Owner
    │   │
    │   ├── company-info.php
    │   │   # معلومات الشركة
    │   │   العناصر:
    │   │   - نموذج معلومات الشركة
    │   │   - رفع الرخصة التجارية
    │   │   - معلومات الاتصال
    │   │   - المنطقة الزمنية
    │   │   الكلاسات: Owner
    │   │
    │   ├── choose-plan.php
    │   │   # اختيار الباقة
    │   │   العناصر:
    │   │   - عرض الباقات المتاحة
    │   │   - مقارنة الميزات
    │   │   - اختيار الباقة
    │   │   - إدخال بيانات الدفع
    │   │   الكلاسات: Subscription
    │   │
    │   └── complete.php
    │       # اكتمال الإعداد
    │       العناصر:
    │       - رسالة النجاح
    │       - ملخص الإعداد
    │       - زر الانتقال للوحة التحكم
    │       الكلاسات: Owner
    │
    ├── buildings/
    │   │
    │   ├── index.php
    │   │   # قائمة المباني
    │   │   العناصر:
    │   │   - جدول/بطاقات بجميع المباني
    │   │   - فلاتر (الحالة، المنطقة)
    │   │   - بحث بالاسم
    │   │   - زر إضافة مبنى جديد
    │   │   - إحصائيات سريعة لكل مبنى
    │   │   - إجراءات سريعة
    │   │   الكلاسات: Building
    │   │
    │   ├── add.php
    │   │   # إضافة مبنى جديد
    │   │   العناصر:
    │   │   - نموذج بيانات المبنى
    │   │   - معلومات العنوان
    │   │   - رفع صور المبنى
    │   │   - خريطة الموقع
    │   │   - معلومات إضافية
    │   │   الكلاسات: Building
    │   │
    │   ├── edit.php
    │   │   # تعديل مبنى
    │   │   العناصر:
    │   │   - نموذج تعديل البيانات
    │   │   - تحديث الصور
    │   │   - تعديل العنوان
    │   │   - تغيير الحالة
    │   │   الكلاسات: Building
    │   │
    │   ├── view.php
    │   │   # عرض تفاصيل المبنى
    │   │   العناصر:
    │   │   - معلومات المبنى الكاملة
    │   │   - صور المبنى (معرض)
    │   │   - إحصائيات (عدد الوحدات، الإشغال)
    │   │   - قائمة الوحدات
    │   │   - تبويبات (نظرة عامة، وحدات، عقود، صيانة)
    │   │   الكلاسات: Building, Unit
    │   │
    │   ├── units.php
    │   │   # وحدات المبنى
    │   │   العناصر:
    │   │   - قائمة بجميع وحدات المبنى
    │   │   - حالة كل وحدة
    │   │   - المستأجر الحالي
    │   │   - الإيجار الشهري
    │   │   - إجراءات سريعة
    │   │   الكلاسات: Unit
    │   │
    │   └── delete.php
    │       # حذف مبنى
    │       العناصر:
    │       - تأكيد الحذف
    │       - تحذير من تأثير الحذف
    │       - إدخال سبب الحذف
    │       الكلاسات: Building
    │
    ├── units/
    │   │
    │   ├── index.php
    │   │   # قائمة جميع الوحدات
    │   │   العناصر:
    │   │   - جدول DataTable بجميع الوحدات
    │   │   - فلاتر متقدمة (مبنى، حالة، نوع، غرف)
    │   │   - بحث برقم الوحدة
    │   │   - مؤشرات ملونة للحالات
    │   │   - زر إضافة وحدة
    │   │   - استيراد جماعي
    │   │   الكلاسات: Unit
    │   │
    │   ├── add.php
    │   │   # إضافة وحدة جديدة
    │   │   العناصر:
    │   │   - اختيار المبنى
    │   │   - رقم الوحدة والطابق
    │   │   - الغرف والحمامات
    │   │   - المساحة
    │   │   - حالة التأثيث
    │   │   - رفع صور
    │   │   - الميزات
    │   │   الكلاسات: Unit
    │   │
    │   ├── edit.php
    │   │   # تعديل وحدة
    │   │   العناصر:
    │   │   - نموذج تعديل بيانات الوحدة
    │   │   - تحديث الصور
    │   │   - تعديل الميزات
    │   │   - تغيير الحالة
    │   │   الكلاسات: Unit
    │   │
    │   ├── view.php
    │   │   # عرض تفاصيل الوحدة
    │   │   العناصر:
    │   │   - معلومات الوحدة الكاملة
    │   │   - معرض الصور
    │   │   - المستأجر الحالي
    │   │   - العقد الحالي
    │   │   - تاريخ الإيجارات
    │   │   - تاريخ الصيانة
    │   │   - تبويبات متعددة
    │   │   الكلاسات: Unit, Contract, Tenant
    │   │
    │   ├── bulk-import.php
    │   │   # استيراد جماعي للوحدات
    │   │   العناصر:
    │   │   - تحميل ملف Excel/CSV
    │   │   - قالب الاستيراد (تنزيل)
    │   │   - معاينة البيانات
    │   │   - تأكيد الاستيراد
    │   │   - عرض الأخطاء
    │   │   الكلاسات: Unit
    │   │
    │   ├── history.php
    │   │   # تاريخ الوحدة
    │   │   العناصر:
    │   │   - تاريخ جميع العقود
    │   │   - المستأجرين السابقين
    │   │   - الإيرادات التاريخية
    │   │   - معدل الإشغال
    │   │   - رسم بياني زمني
    │   │   الكلاسات: Unit, Contract
    │   │
    │   ├── maintenance-history.php
    │   │   # تاريخ صيانة الوحدة
    │   │   العناصر:
    │   │   - قائمة بجميع أعمال الصيانة
    │   │   - التكاليف
    │   │   - المزودين
    │   │   - التقييمات
    │   │   - رسم بياني للتكاليف
    │   │   الكلاسات: MaintenanceRequest
    │   │
    │   └── delete.php
    │       # حذف وحدة
    │       العناصر:
    │       - تأكيد الحذف
    │       - التحقق من العقود النشطة
    │       - تحذيرات
    │       الكلاسات: Unit
    │
    ├── tenants/
    │   │
    │   ├── index.php
    │   │   # قائمة المستأجرين
    │   │   العناصر:
    │   │   - جدول بجميع المستأجرين
    │   │   - فلاتر (الحالة، المبنى، العقد)
    │   │   - بحث بالاسم/البريد
    │   │   - حالة الدفع
    │   │   - زر إضافة مستأجر
    │   │   الكلاسات: Tenant
    │   │
    │   ├── add.php
    │   │   # إضافة مستأجر جديد
    │   │   العناصر:
    │   │   - نموذج بيانات المستأجر
    │   │   - معلومات الاتصال
    │   │   - رفع وثائق الهوية
    │   │   - الجنسية ورقم الهوية
    │   │   - دعوة للانضمام (اختياري)
    │   │   الكلاسات: Tenant
    │   │
    │   ├── edit.php
    │   │   # تعديل مستأجر
    │   │   العناصر:
    │   │   - نموذج تعديل البيانات
    │   │   - تحديث معلومات الاتصال
    │   │   - تحديث الوثائق
    │   │   الكلاسات: Tenant
    │   │
    │   ├── view.php
    │   │   # عرض ملف المستأجر
    │   │   العناصر:
    │   │   - معلومات المستأجر الكاملة
    │   │   - العقد الحالي
    │   │   - الوحدة الحالية
    │   │   - تاريخ الدفعات
    │   │   - المتأخرات
    │   │   - طلبات الصيانة
    │   │   - الوثائق
    │   │   - تبويبات متعددة
    │   │   الكلاسات: Tenant, Contract, Payment
    │   │
    │   ├── contracts.php
    │   │   # عقود المستأجر
    │   │   العناصر:
    │   │   - قائمة بجميع عقود المستأجر
    │   │   - العقد الحالي والسابقة
    │   │   - حالة كل عقد
    │   │   - عرض سريع
    │   │   الكلاسات: Contract
    │   │
    │   ├── payments.php
    │   │   # مدفوعات المستأجر
    │   │   العناصر:
    │   │   - تاريخ جميع المدفوعات
    │   │   - الإيصالات
    │   │   - المتأخرات
    │   │   - رسم بياني
    │   │   الكلاسات: Payment
    │   │
    │   ├── documents.php
    │   │   # وثائق المستأجر
    │   │   العناصر:
    │   │   - قائمة بجميع الوثائق
    │   │   - معاينة الوثائق
    │   │   - تحميل وثائق جديدة
    │   │   - حذف وثائق
    │   │   الكلاسات: Tenant
    │   │
    │   ├── requests.php
    │   │   # طلبات الانضمام
    │   │   العناصر:
    │   │   - قائمة طلبات الانضمام المعلقة
    │   │   - معلومات المستأجر
    │   │   - الموافقة/الرفض
    │   │   الكلاسات: Tenant
    │   │
    │   └── delete.php
    │       # حذف مستأجر
    │       العناصر:
    │       - تأكيد الحذف
    │       - التحقق من العقود
    │       - تحذيرات
    │       الكلاسات: Tenant
    │
    ├── contracts/
    │   │
    │   ├── index.php
    │   │   # قائمة العقود
    │   │   العناصر:
    │   │   - جدول بجميع العقود
    │   │   - فلاتر (الحالة، المبنى، تاريخ الانتهاء)
    │   │   - مؤشرات ملونة للحالات
    │   │   - بحث برقم العقد
    │   │   - زر إنشاء عقد جديد
    │   │   الكلاسات: Contract
    │   │
    │   ├── create.php
    │   │   # إنشاء عقد جديد
    │   │   العناصر:
    │   │   - اختيار المستأجر (أو إنشاء جديد)
    │   │   - اختيار الوحدة
    │   │   - تواريخ العقد
    │   │   - الإيجار السنوي
    │   │   - التأمين
    │   │   - جدول الأقساط
    │   │   - رفع مرفقات
    │   │   - شروط إضافية
    │   │   الكلاسات: Contract, Tenant, Unit
    │   │
    │   ├── view.php
    │   │   # عرض العقد
    │   │   العناصر:
    │   │   - تفاصيل العقد الكاملة
    │   │   - معلومات المستأجر
    │   │   - معلومات الوحدة
    │   │   - جدول الأقساط
    │   │   - المدفوعات
    │   │   - المرفقات
    │   │   - طباعة/تحميل PDF
    │   │   - تبويبات متعددة
    │   │   الكلاسات: Contract, Installment, Payment
    │   │
    │   ├── edit.php
    │   │   # تعديل العقد
    │   │   العناصر:
    │   │   - نموذج تعديل بيانات العقد
    │   │   - تحديث التواريخ
    │   │   - تحديث المبالغ
    │   │   - تعديل الأقساط
    │   │   الكلاسات: Contract
    │   │
    │   ├── installments.php
    │   │   # جدول الأقساط
    │   │   العناصر:
    │   │   - جدول بجميع الأقساط
    │   │   - حالة كل قسط
    │   │   - المبلغ وتاريخ الاستحقاق
    │   │   - الدفعات المسجلة
    │   │   - إرسال تذكير
    │   │   - تعديل قسط
    │   │   الكلاسات: Installment
    │   │
    │   ├── deposit.php
    │   │   # إدارة التأمين
    │   │   العناصر:
    │   │   - معلومات التأمين
    │   │   - حالة التأمين (محجوز/مسترجع)
    │   │   - تاريخ الأحداث
    │   │   - تسجيل استرجاع
    │   │   - تسجيل مصادرة
    │   │   الكلاسات: SecurityDeposit
    │   │
    │   ├── renew.php
    │   │   # تجديد العقد
    │   │   العناصر:
    │   │   - معلومات العقد الحالي
    │   │   - نموذج تجديد العقد
    │   │   - تواريخ جديدة
    │   │   - إيجار جديد
    │   │   - جدول أقساط جديد
    │   │   الكلاسات: Contract
    │   │
    │   ├── terminate.php
    │   │   # إنهاء العقد
    │   │   العناصر:
    │   │   - نموذج إنهاء العقد
    │   │   - سبب الإنهاء
    │   │   - تاريخ الإنهاء
    │   │   - حساب المستحقات
    │   │   - إجراءات التأمين
    │   │   الكلاسات: Contract, SecurityDeposit
    │   │
    │   ├── templates.php
    │   │   # قوالب العقود
    │   │   العناصر:
    │   │   - قائمة قوالب العقود
    │   │   - إضافة قالب جديد
    │   │   - تعديل قالب
    │   │   - حذف قالب
    │   │   الكلاسات: Contract
    │   │
    │   ├── expiring-soon.php
    │   │   # عقود قريبة من الانتهاء
    │   │   العناصر:
    │   │   - قائمة بالعقود القريبة من الانتهاء
    │   │   - عدد الأيام المتبقية
    │   │   - معلومات المستأجر
    │   │   - إجراءات سريعة (تجديد، إنهاء)
    │   │   الكلاسات: Contract
    │   │
    │   ├── archived.php
    │   │   # عقود منتهية
    │   │   العناصر:
    │   │   - قائمة بالعقود المنتهية
    │   │   - فلاتر بالتاريخ
    │   │   - بحث
    │   │   - عرض تفاصيل
    │   │   الكلاسات: Contract
    │   │
    │   └── print.php
    │       # طباعة العقد
    │       العناصر:
    │       - عرض العقد بتنسيق للطباعة
    │       - توليد PDF
    │       - تنزيل PDF
    │       الكلاسات: Contract
    │
    ├── payments/
    │   │
    │   ├── index.php
    │   │   # جميع المدفوعات
    │   │   العناصر:
    │   │   - جدول بجميع المدفوعات
    │   │   - فلاتر (الحالة، الطريقة، التاريخ، العقد)
    │   │   - مبلغ كل دفعة
    │   │   - حالة الدفع
    │   │   - زر تسجيل دفعة يدوية
    │   │   - تصدير التقرير
    │   │   الكلاسات: Payment
    │   │
    │   ├── view.php
    │   │   # عرض تفاصيل الدفعة
    │   │   العناصر:
    │   │   - معلومات الدفعة الكاملة
    │   │   - العقد والمستأجر
    │   │   - طريقة الدفع
    │   │   - رقم المرجع
    │   │   - الإيصال
    │   │   - تاريخ ووقت الدفع
    │   │   الكلاسات: Payment, Receipt
    │   │
    │   ├── record-offline.php
    │   │   # تسجيل دفعة يدوية
    │   │   العناصر:
    │   │   - اختيار العقد
    │   │   - اختيار القسط
    │   │   - المبلغ
    │   │   - طريقة الدفع (نقدي، تحويل، شيك)
    │   │   - رقم المرجع
    │   │   - تاريخ الدفع
    │   │   - ملاحظات
    │   │   - رفع إيصال/صورة
    │   │   الكلاسات: Payment
    │   │
    │   ├── overdue.php
    │   │   # متأخرات الدفع
    │   │   العناصر:
    │   │   - قائمة بالدفعات المتأخرة
    │   │   - عدد أيام التأخير
    │   │   - المبلغ المستحق
    │   │   - معلومات المستأجر
    │   │   - إرسال تذكير
    │   │   - إجراءات قانونية
    │   │   الكلاسات: Payment, Installment
    │   │
    │   ├── receipts.php
    │   │   # الإيصالات
    │   │   العناصر:
    │   │   - قائمة بجميع الإيصالات
    │   │   - رقم الإيصال
    │   │   - التاريخ والمبلغ
    │   │   - تحميل PDF
    │   │   - إرسال بالبريد
    │   │   الكلاسات: Receipt
    │   │
    │   ├── view-receipt.php
    │   │   # عرض إيصال
    │   │   العناصر:
    │   │   - معاينة الإيصال
    │   │   - تفاصيل الدفعة
    │   │   - تنزيل PDF
    │   │   - طباعة
    │   │   - إرسال للمستأجر
    │   │   الكلاسات: Receipt
    │   │
    │   └── download-receipt.php
    │       # تحميل إيصال
    │       الوظائف:
    │       - توليد PDF الإيصال
    │       - تنزيل الملف
    │       الكلاسات: Receipt
    │
    ├── maintenance/
    │   │
    │   ├── requests.php
    │   │   # جميع طلبات الصيانة
    │   │   العناصر:
    │   │   - جدول بجميع الطلبات
    │   │   - فلاتر (الحالة، الأولوية، الوحدة، التاريخ)
    │   │   - مؤشرات الحالة والأولوية
    │   │   - زر إنشاء طلب جديد
    │   │   - إحصائيات سريعة
    │   │   الكلاسات: MaintenanceRequest
    │   │
    │   ├── create.php
    │   │   # إنشاء طلب صيانة
    │   │   العناصر:
    │   │   - اختيار الوحدة
    │   │   - التصنيف (سباكة، كهرباء، AC، إلخ)
    │   │   - الأولوية
    │   │   - الوصف
    │   │   - الموعد المفضل
    │   │   - رفع صور/فيديو
    │   │   الكلاسات: MaintenanceRequest
    │   │
    │   ├── view.php
    │   │   # عرض طلب الصيانة
    │   │   العناصر:
    │   │   - تفاصيل الطلب الكاملة
    │   │   - معلومات الوحدة
    │   │   - الصور/الفيديو
    │   │   - حالة الطلب
    │   │   - عروض الأسعار
    │   │   - أمر العمل
    │   │   - التقييم
    │   │   - تبويبات متعددة
    │   │   الكلاسات: MaintenanceRequest, Quote, WorkOrder
    │   │
    │   ├── quotes.php
    │   │   # عروض أسعار الطلب
    │   │   العناصر:
    │   │   - قائمة بجميع العروض المستلمة
    │   │   - تفاصيل كل عرض
    │   │   - السعر والوقت المتوقع
    │   │   - معلومات المزود والتقييم
    │   │   - مقارنة العروض
    │   │   - اختيار عرض
    │   │   الكلاسات: Quote
    │   │
    │   ├── select-provider.php
    │   │   # اختيار مزود الخدمة
    │   │   العناصر:
    │   │   - قائمة المزودين المتاحين
    │   │   - تقييمات وآراء
    │   │   - أسعار تقريبية
    │   │   - إرسال RFQ للمزودين
    │   │   - مزودين مفضلين
    │   │   الكلاسات: RFQ
    │   │
    │   ├── track.php
    │   │   # تتبع العمل
    │   │   العناصر:
    │   │   - تايم لاين الطلب
    │   │   - حالة العمل الحالية
    │   │   - تحديثات المزود
    │   │   - الصور قبل وبعد
    │   │   - الوقت المستغرق
    │   │   الكلاسات: WorkOrder
    │   │
    │   ├── work-orders.php
    │   │   # أوامر العمل النشطة
    │   │   العناصر:
    │   │   - قائمة بأوامر العمل الجارية
    │   │   - حالة كل أمر
    │   │   - الموعد المجدول
    │   │   - المزود
    │   │   - تتبع التقدم
    │   │   الكلاسات: WorkOrder
    │   │
    │   ├── history.php
    │   │   # تاريخ الصيانة
    │   │   العناصر:
    │   │   - قائمة بجميع أعمال الصيانة المنجزة
    │   │   - فلاتر بالتاريخ والوحدة
    │   │   - التكاليف الإجمالية
    │   │   - رسم بياني للتكاليف
    │   │   - التقييمات
    │   │   الكلاسات: MaintenanceRequest
    │   │
    │   └── providers.php
    │       # مزودو الخدمة المفضلون
    │       العناصر:
    │       - قائمة المزودين الذين تعاملت معهم
    │       - التقييمات
    │       - عدد الأعمال المنجزة
    │       - إضافة/إزالة من المفضلة
    │       الكلاسات: WorkOrder
    │
    ├── marketplace/
    │   │
    │   ├── my-listings.php
    │   │   # قائمة إعلاناتي
    │   │   العناصر:
    │   │   - بطاقات/جدول بجميع الإعلانات
    │   │   - حالة النشر
    │   │   - المشاهدات والاستفسارات
    │   │   - زر نشر إعلان جديد
    │   │   - فلاتر (منشور، غير منشور، معلق)
    │   │   الكلاسات: Listing
    │   │
    │   ├── create-listing.php
    │   │   # نشر إعلان جديد
    │   │   العناصر:
    │   │   - اختيار الوحدة الشاغرة
    │   │   - العنوان (عربي/إنجليزي)
    │   │   - الوصف (عربي/إنجليزي)
    │   │   - الأسعار (شهري/سنوي)
    │   │   - التأمين
    │   │   - الخدمات المشمولة
    │   │   - تاريخ التوفر
    │   │   - الحد الأدنى للعقد
    │   │   - رفع صور (حتى 10)
    │   │   الكلاسات: Listing
    │   │
    │   ├── edit-listing.php
    │   │   # تعديل إعلان
    │   │   العناصر:
    │   │   - نموذج تعديل الإعلان
    │   │   - تحديث الصور
    │   │   - تعديل الأسعار
    │   │   - تحديث الحالة
    │   │   الكلاسات: Listing
    │   │
    │   ├── view-listing.php
    │   │   # عرض الإعلان
    │   │   العناصر:
    │   │   - معاينة الإعلان كما يراه المستأجرون
    │   │   - إحصائيات الأداء
    │   │   - عدد المشاهدات
    │   │   - عدد الاستفسارات
    │   │   - معدل التحويل
    │   │   الكلاسات: Listing
    │   │
    │   ├── photos.php
    │   │   # إدارة صور الإعلان
    │   │   العناصر:
    │   │   - معرض الصور الحالية
    │   │   - رفع صور جديدة
    │   │   - إعادة ترتيب الصور
    │   │   - حذف صور
    │   │   - تحديد الصورة الرئيسية
    │   │   الكلاسات: Listing
    │   │
    │   ├── performance.php
    │   │   # أداء الإعلان
    │   │   العناصر:
    │   │   - إحصائيات تفصيلية
    │   │   - رسم بياني للمشاهدات
    │   │   - معدل الاستفسارات
    │   │   - مصادر الزيارات
    │   │   - مقارنة بإعلانات مشابهة
    │   │   الكلاسات: Listing
    │   │
    │   ├── inquiries.php
    │   │   # الاستفسارات الواردة
    │   │   العناصر:
    │   │   - قائمة بجميع الاستفسارات
    │   │   - فلاتر (الحالة، الإعلان، التاريخ)
    │   │   - معلومات المستفسر
    │   │   - رسالة الاستفسار
    │   │   - إجراءات (رد، جدولة معاينة، رفض)
    │   │   الكلاسات: Inquiry
    │   │
    │   ├── view-inquiry.php
    │   │   # عرض استفسار
    │   │   العناصر:
    │   │   - تفاصيل الاستفسار
    │   │   - معلومات المستفسر
    │   │   - المحادثة
    │   │   - جدولة معاينة
    │   │   - تحويل لعقد
    │   │   الكلاسات: Inquiry
    │   │
    │   ├── schedule-viewing.php
    │   │   # جدولة معاينة
    │   │   العناصر:
    │   │   - تقويم المواعيد
    │   │   - اختيار التاريخ والوقت
    │   │   - ملاحظات للمعاينة
    │   │   - تأكيد الموعد
    │   │   - إرسال تذكير
    │   │   الكلاسات: Inquiry
    │   │
    │   └── convert-to-contract.php
    │       # تحويل لعقد
    │       العناصر:
    │       - معلومات الاستفسار
    │       - معلومات المستأجر المحتمل
    │       - نموذج إنشاء عقد سريع
    │       - ربط الاستفسار بالعقد
    │       الكلاسات: Inquiry, Contract
    │
    ├── reports/
    │   │
    │   ├── financial.php
    │   │   # التقارير المالية
    │   │   العناصر:
    │   │   - اختيار نوع التقرير
    │   │   - نطاق التاريخ
    │   │   - فلاتر (مبنى، وحدة)
    │   │   - عرض التقرير
    │   │   - رسوم بيانية
    │   │   - تصدير PDF/Excel
    │   │   الكلاسات: Report
    │   │
    │   ├── income-statement.php
    │   │   # قائمة الدخل
    │   │   العناصر:
    │   │   - الإيرادات الإجمالية
    │   │   - المصروفات
    │   │   - صافي الدخل
    │   │   - مقارنة بالفترات السابقة
    │   │   - رسم بياني
    │   │   الكلاسات: Report
    │   │
    │   ├── rent-roll.php
    │   │   # كشف الإيجارات
    │   │   العناصر:
    │   │   - قائمة بجميع الوحدات المؤجرة
    │   │   - المستأجر لكل وحدة
    │   │   - الإيجار الشهري/السنوي
    │   │   - تاريخ بداية/نهاية العقد
    │   │   - الإجمالي
    │   │   الكلاسات: Report
    │   │
    │   ├── collection-rate.php
    │   │   # معدل التحصيل
    │   │   العناصر:
    │   │   - معدل التحصيل الإجمالي
    │   │   - المستحق vs المحصل
    │   │   - المتأخرات
    │   │   - رسم بياني زمني
    │   │   - مقارنة بأهداف
    │   │   الكلاسات: Report
    │   │
    │   ├── occupancy.php
    │   │   # تقارير الإشغال
    │   │   العناصر:
    │   │   - معدل الإشغال الإجمالي
    │   │   - الإشغال بحسب المبنى
    │   │   - الوحدات الشاغرة
    │   │   - رسم بياني زمني
    │   │   - مقارنة بالسوق
    │   │   الكلاسات: Report
    │   │
    │   ├── vacancy-analysis.php
    │   │   # تحليل الشواغر
    │   │   العناصر:
    │   │   - قائمة الوحدات الشاغرة
    │   │   - مدة الشغور لكل وحدة
    │   │   - الخسارة المحتملة
    │   │   - أسباب الشغور
    │   │   - توصيات
    │   │   الكلاسات: Report
    │   │
    │   ├── turnover.php
    │   │   # معدل الدوران
    │   │   العناصر:
    │   │   - معدل دوران المستأجرين
    │   │   - عدد العقود المنتهية
    │   │   - عدد العقود الجديدة
    │   │   - رسم بياني
    │   │   - أسباب الدوران
    │   │   الكلاسات: Report
    │   │
    │   ├── maintenance-costs.php
    │   │   # تكاليف الصيانة
    │   │   العناصر:
    │   │   - التكاليف الإجمالية
    │   │   - التكاليف بحسب النوع
    │   │   - التكاليف بحسب المبنى/الوحدة
    │   │   - رسم بياني
    │   │   - مقارنة بالميزانية
    │   │   الكلاسات: Report
    │   │
    │   ├── response-time.php
    │   │   # أوقات الاستجابة
    │   │   العناصر:
    │   │   - متوسط وقت الاستجابة للصيانة
    │   │   - التوزيع الزمني
    │   │   - مقارنة بالمعايير
    │   │   - التحسينات المطلوبة
    │   │   الكلاسات: Report
    │   │
    │   └── export.php
    │       # تصدير التقارير
    │       الوظائف:
    │       - اختيار التنسيق (PDF, Excel, CSV)
    │       - توليد الملف
    │       - تنزيل
    │       الكلاسات: Report
    │
    ├── team/
    │   │
    │   ├── index.php
    │   │   # فريق العمل
    │   │   العناصر:
    │   │   - بطاقات أعضاء الفريق
    │   │   - الدور والصلاحيات
    │   │   - حالة النشاط
    │   │   - آخر تسجيل دخول
    │   │   - زر دعوة عضو جديد
    │   │   الكلاسات: OwnerTeam
    │   │
    │   ├── invite.php
    │   │   # دعوة عضو جديد
    │   │   العناصر:
    │   │   - نموذج الدعوة
    │   │   - البريد الإلكتروني
    │   │   - اختيار الدور
    │   │   - تحديد الصلاحيات
    │   │   - إرسال الدعوة
    │   │   الكلاسات: OwnerTeam
    │   │
    │   ├── view.php
    │   │   # ملف العضو
    │   │   العناصر:
    │   │   - معلومات العضو
    │   │   - الدور والصلاحيات
    │   │   - سجل النشاطات
    │   │   - الإحصائيات
    │   │   الكلاسات: OwnerTeam
    │   │
    │   ├── edit.php
    │   │   # تعديل العضو
    │   │   العناصر:
    │   │   - نموذج تعديل البيانات
    │   │   - تحديث الدور
    │   │   - تعديل الصلاحيات
    │   │   الكلاسات: OwnerTeam
    │   │
    │   ├── permissions.php
    │   │   # صلاحيات العضو
    │   │   العناصر:
    │   │   - قائمة بجميع الصلاحيات
    │   │   - تحديد/إلغاء صلاحيات
    │   │   - الصلاحيات المتاحة بحسب الدور
    │   │   - حفظ التغييرات
    │   │   الكلاسات: OwnerPermissions
    │   │
    │   ├── activity.php
    │   │   # نشاط العضو
    │   │   العناصر:
    │   │   - سجل جميع الأنشطة
    │   │   - فلاتر بالنوع والتاريخ
    │   │   - تفاصيل كل نشاط
    │   │   الكلاسات: OwnerTeam
    │   │
    │   ├── roles.php
    │   │   # إدارة الأدوار
    │   │   العناصر:
    │   │   - قائمة الأدوار المتاحة
    │   │   - إنشاء دور مخصص
    │   │   - تعديل دور
    │   │   - حذف دور
    │   │   الكلاسات: OwnerPermissions
    │   │
    │   └── remove.php
    │       # إزالة عضو
    │       العناصر:
    │       - تأكيد الإزالة
    │       - سبب الإزالة
    │       - نقل المسؤوليات لعضو آخر
    │       الكلاسات: OwnerTeam
    │
    ├── subscription/
    │   │
    │   ├── current-plan.php
    │   │   # الباقة الحالية
    │   │   العناصر:
    │   │   - تفاصيل الباقة الحالية
    │   │   - الميزات المتاحة
    │   │   - تاريخ التجديد القادم
    │   │   - المبلغ
    │   │   - الاستخدام الحالي vs الحد
    │   │   - زر ترقية/تخفيض
    │   │   الكلاسات: Subscription
    │   │
    │   ├── upgrade.php
    │   │   # ترقية الباقة
    │   │   العناصر:
    │   │   - الباقة الحالية
    │   │   - الباقات الأعلى
    │   │   - مقارنة الميزات
    │   │   - الفرق في السعر
    │   │   - تأكيد الترقية
    │   │   - الدفع
    │   │   الكلاسات: Subscription
    │   │
    │   ├── downgrade.php
    │   │   # تخفيض الباقة
    │   │   العناصر:
    │   │   - الباقة الحالية
    │   │   - الباقات الأقل
    │   │   - التحذيرات (فقدان ميزات)
    │   │   - تأثير على الاستخدام الحالي
    │   │   - تأكيد التخفيض
    │   │   الكلاسات: Subscription
    │   │
    │   ├── usage.php
    │   │   # الاستخدام والحدود
    │   │   العناصر:
    │   │   - عداد الوحدات النشطة
    │   │   - الحد الأقصى
    │   │   - نسبة الاستخدام
    │   │   - رسم بياني
    │   │   - تنبيهات الحد
    │   │   الكلاسات: Subscription
    │   │
    │   ├── billing-history.php
    │   │   # تاريخ الفواتير
    │   │   العناصر:
    │   │   - قائمة بجميع الفواتير
    │   │   - حالة كل فاتورة
    │   │   - المبلغ والتاريخ
    │   │   - تحميل الفاتورة
    │   │   الكلاسات: Subscription
    │   │
    │   ├── view-invoice.php
    │   │   # عرض فاتورة
    │   │   العناصر:
    │   │   - تفاصيل الفاتورة
    │   │   - البنود
    │   │   - المبلغ الإجمالي
    │   │   - حالة الدفع
    │   │   - تحميل PDF
    │   │   الكلاسات: Subscription
    │   │
    │   ├── payment-method.php
    │   │   # طريقة الدفع
    │   │   العناصر:
    │   │   - طريقة الدفع الحالية
    │   │   - إضافة بطاقة جديدة
    │   │   - تحديث البطاقة
    │   │   - حذف بطاقة
    │   │   الكلاسات: Subscription
    │   │
    │   └── cancel.php
    │       # إلغاء الاشتراك
    │       العناصر:
    │       - سبب الإلغاء (استبيان)
    │       - تأثير الإلغاء
    │       - تاريخ نهاية الخدمة
    │       - تأكيد الإلغاء
    │       الكلاسات: Subscription
    │
    ├── settings/
    │   │
    │   ├── profile.php
    │   │   # الملف الشخصي
    │   │   العناصر:
    │   │   - معلومات المستخدم
    │   │   - الصورة الشخصية
    │   │   - البريد والهاتف
    │   │   - تعديل المعلومات
    │   │   الكلاسات: Owner
    │   │
    │   ├── company.php
    │   │   # معلومات الشركة
    │   │   العناصر:
    │   │   - اسم الشركة
    │   │   - الترخيص التجاري
    │   │   - العنوان
    │   │   - معلومات الاتصال
    │   │   - تعديل المعلومات
    │   │   الكلاسات: Owner
    │   │
    │   ├── notifications.php
    │   │   # إعدادات الإشعارات
    │   │   العناصر:
    │   │   - إشعارات البريد
    │   │   - إشعارات SMS
    │   │   - إشعارات داخل التطبيق
    │   │   - تخصيص أنواع الإشعارات
    │   │   - حفظ التفضيلات
    │   │   الكلاسات: Owner
    │   │
    │   ├── preferences.php
    │   │   # التفضيلات
    │   │   العناصر:
    │   │   - اللغة
    │   │   - المنطقة الزمنية
    │   │   - تنسيق التاريخ
    │   │   - العملة
    │   │   - التفضيلات الأخرى
    │   │   الكلاسات: Owner
    │   │
    │   ├── security.php
    │   │   # الأمان وكلمة المرور
    │   │   العناصر:
    │   │   - تغيير كلمة المرور
    │   │   - إعداد المصادقة الثنائية
    │   │   - الأجهزة الموثوقة
    │   │   - سجل تسجيل الدخول
    │   │   الكلاسات: OwnerAuth
    │   │
    │   ├── 2fa-setup.php
    │   │   # إعداد المصادقة الثنائية
    │   │   العناصر:
    │   │   - رمز QR
    │   │   - تطبيقات المصادقة المدعومة
    │   │   - أكواد الاسترداد
    │   │   - التفعيل
    │   │   الكلاسات: OwnerAuth
    │   │
    │   └── integrations.php
    │       # التكاملات (API)
    │   العناصر:
    │       - مفاتيح API
    │       - إنشاء مفتاح جديد
    │       - إلغاء مفتاح
    │       - التوثيق
    │       الكلاسات: Owner
    │
    └── notifications/
        │
        └── index.php
            # مركز الإشعارات
            العناصر:
            - قائمة الإشعارات
            - فلتر بالنوع
            - غير المقروءة/المقروءة
            - تعليم كمقروء
            - حذف إشعار
            الكلاسات: Notification

================================================================================
ملاحظات التطوير:
================================================================================

1. التحقق من الصلاحيات:
   ✓ كل صفحة تفحص صلاحيات المستخدم
   ✓ استخدام OwnerPermissions::checkPermission()
   ✓ التحقق من أن المستخدم يملك العقار/الوحدة
   ✓ فحص حدود الاشتراك قبل الإضافة

2. فحص حدود الاشتراك:
   ✓ قبل إضافة وحدة جديدة، فحص الحد
   ✓ عرض تحذير عند اقتراب الحد (80%)
   ✓ منع الإضافة عند الوصول للحد
   ✓ عرض رسالة ترقية الباقة

3. AJAX:
   ✓ تسجيل الدفعات
   ✓ تحديث حالات الطلبات
   ✓ إرسال الإشعارات
   ✓ البحث المباشر

4. واجهة المستخدم:
   ✓ لوحة تحكم سهلة الاستخدام
   ✓ رسوم بيانية تفاعلية (Chart.js)
   ✓ جداول ديناميكية (DataTables)
   ✓ دعم كامل للعربية (RTL)
   ✓ تصميم متجاوب (Mobile-first)

5. التقارير:
   ✓ توليد PDF باستخدام mPDF
   ✓ تصدير Excel باستخدام PhpSpreadsheet
   ✓ جدولة تقارير دورية
   ✓ إرسال التقارير بالبريد

================================================================================
