🏢 AqariOS Enterprise — الدليل التشغيلي والتدريبي الشامل v2.6
📘 الإصدار الرسمي | v2.6.0-pilot-v1 | 2026

الدليل التشغيلي والتدريبي الشامل
لمنظومة AqariOS Enterprise

المرجع الرسمي الكامل لاستخدام وإدارة منظومة AqariOS Enterprise — مبني كلياً على الكود المصدري الفعلي.
يُغطي جميع الوحدات من الدخول الأول حتى المحاسبة المتقدمة والتكاملات الحكومية.

الإصدار
v2.6.0-pilot-v1
تاريخ الإصدار
أغسطس 2026
اللغة
العربية (ثنائي)
السوق المستهدف
المملكة العربية السعودية
عدد الوحدات
30+ وحدة ERP
معيار البيانات
Evidence First — 100%
الوحدات المغطاة
تسجيل الدخول والهوية
الأدوار والصلاحيات (10 أدوار)
لوحة القيادة التنفيذية
إدارة العقارات والوحدات
عقود الإيجار الكاملة
إدارة العملاء CRM
الصيانة وأوامر العمل
ERP المحاسبي الكامل
ZATCA الفاتورة الإلكترونية
بوابة Moyasar للدفع
كشوفات الملاك
التقييم العقاري DCF
بوابة المستأجر
المشتريات والموردين
المساعد الذكي Gemini
التكاملات (EJAR، Nafath)
أرشيف الوثائق
سجلات التدقيق
إدارة الشركة والفروع
اشتراكات SaaS
🏢
الفصل الأول
ما هو AqariOS Enterprise؟
نظرة عامة على المنظومة وفلسفتها وما تحله من مشكلات

AqariOS Enterprise هو نظام ERP سحابي متكامل مصمم خصيصاً لشركات إدارة الأملاك والعقارات في المملكة العربية السعودية. يجمع النظام في منصة واحدة جميع عمليات الشركة — من التأجير والصيانة وحتى المحاسبة والتقارير التنفيذية والتكاملات الحكومية.

المشكلة التي يحلها النظام

تعتمد شركات إدارة العقارات تقليدياً على أدوات متفرقة: جداول Excel للعقود، برامج محاسبة منفصلة، ورسائل WhatsApp لأوامر الصيانة. هذا يُسبب:

  • تكرار البيانات وعدم اتساقها — نفس المعلومة في أماكن متعددة بنسخ مختلفة
  • عدم الامتثال لـ ZATCA وإيجار — الفواتير اليدوية لا تستوفي متطلبات الفاتورة الإلكترونية
  • ضعف الرؤية التنفيذية — لا توجد لوحة قيادة موحدة تُظهر الصورة الكاملة
  • بطء معالجة المدفوعات — التحصيل اليدوي يُسبب تأخيرات وخسائر

ما الذي يقدمه AqariOS؟

30+
وحدة ERP متكاملة في منصة واحدة
10
أدوار مستخدمين مع صلاحيات دقيقة
3
خطط اشتراك تناسب جميع أحجام الشركات
5
وكلاء ذكاء اصطناعي Gemini مدمجة

الشرائح المستهدفة

الشريحةالحجمالخطة المناسبةأبرز الاحتياجات
شركة إدارة أملاك متوسطة5–50 عقارGrowth / Enterpriseالتأجير، الصيانة، التقارير
شركة عقارية كبرى50+ عقارEnterpriseZATCA، Moyasar، AI، محاسبة كاملة
صناديق الاستثمار العقاري REITsمئات العقاراتCustom REITsIFRS16، بوابة المستثمرين، Private Cloud

مبادئ التصميم الجوهرية

  • ثنائي اللغة بالكامل — كل واجهة وكل حقل وكل تقرير يظهر بالعربية والإنجليزية في آنٍ واحد
  • الامتثال أولاً — ZATCA Phase 2، EJAR، Nafath، Wathq مدمجة في صميم النظام
  • عزل بيانات متعدد المستأجرين — كل شركة بيئة بيانات معزولة تماماً
  • بنية قائمة على الأدلة — لا شيء في الواجهة إلا ما تؤكده قاعدة البيانات الفعلية
⚙️
الفصل الثاني
البنية التقنية والهندسة
المكونات الأساسية وكيف تعمل معاً

مكدس التقنيات (Tech Stack)

الطبقةالتقنيةالغرض
FrontendReact 18 + TypeScript + Viteواجهة المستخدم التفاعلية
AnimationFramer Motionالحركات والانتقالات السلسة
IconsLucide Reactأيقونات موحدة عبر النظام
DatabaseFirebase Firestore (NoSQL)قاعدة البيانات الرئيسية السحابية
AuthenticationFirebase Authتسجيل الدخول والمصادقة
File StorageFirebase Storageرفع الصور والوثائق
AI EngineGoogle Gemini 2.5 Proالمساعد الذكي وتحليل البيانات
PaymentsMoyasar APIبوابة الدفع السعودية
E-InvoicingZATCA UBL 2.1الفاتورة الإلكترونية الحكومية
StylingTailwind CSSتنسيق متسق عبر المنظومة

هيكل قاعدة Firestore

يُنظّم النظام بياناته تحت مسار /companies/{companyId}/ لضمان العزل التام بين المستأجرين:

// مجموعات Firestore الرئيسية companies/{companyId}/ ├── properties/ ← العقارات والمشاريع ├── units/ ← الوحدات (شقق، محلات، مكاتب) ├── leaseContracts/ ← عقود الإيجار ├── payments/ ← المدفوعات والإيصالات ├── workOrders/ ← أوامر الصيانة ├── contacts/ ← المستأجرون والعملاء CRM ├── journalEntries/ ← قيود اليومية المحاسبية ├── invoices/ ← الفواتير الإلكترونية ├── documents/ ← أرشيف الوثائق ├── auditLogs/ ← سجلات التدقيق ├── users/ ← مستخدمو الشركة └── branches/ ← الفروع والمكاتب

نموذج عزل المستأجرين (Multi-Tenant Isolation)

دالة verifyCompanyDatasetIsolation() في saasSubscriptionEngine.ts تضمن أن كل مستخدم لا يرى إلا بيانات شركته:

// من saasSubscriptionEngine.ts — Phase S6 verifyCompanyDatasetIsolation( userCompanyId: string, // شركة المستخدم الحالي targetCompanyId: string, // الشركة المستهدفة بالطلب records: any[] // السجلات المطلوبة ) → throws PERMISSION_DENIED if IDs don't match
النظام يعمل بـ Level 3 Multi-Tenant Isolation — مخططات قاعدة بيانات مخصصة لكل شركة. لا يمكن لأي شركة الوصول لبيانات شركة أخرى تحت أي ظرف.

نموذج البيانات: الكيانات الجوهرية

الكيان (Type)الحقول الجوهريةالحقول المحسوبة
Userid، name، nameAr، email، role، platformRole، avatar، branchId، companyId، phone، permissions، status
Companyid، name، nameAr، crNumber، taxNumber، logo، status، totalBranches، currency، subscriptionPlanId
Branchid، name، nameAr، city، cityAr، branchManager، phone، status، activePropertiesCount
Propertyid، name، nameAr، type، location، totalUnits، valuationSAR، annualExpectedRevenueSAR، imageoccupancyRate، occupiedUnits
Unitid، propertyId، unitNumber، type، floor، areaSqm، rentSAR، status، featuresisOccupied
LeaseContractid، propertyId، unitId، tenantId، startDate، endDate، annualRent، status، contractNumber، ejarNumberremainingDays، totalRent
WorkOrderid، code، propertyId، unitId، title، titleAr، type، priority، status، assignedTo، cost، createdAt
AuditLogid، timestamp، userName، userRole، module، action، details، detailsAr، ipAddress
💎
الفصل الثالث
خطط الاشتراك والتسعير
المقارنة الكاملة بين الخطط — مبنية على src/data/plans.ts وsaasSubscriptionEngine.ts
الميزة Growth Enterprise Custom REITs
السعر الشهري (ريال)4991,2992,999
السعر السنوي/شهر3999992,499
الفترة التجريبية14 يوم14 يوم30 يوم
الحد الأقصى للعقارات5غير محدودغير محدود
الحد الأقصى للوحدات100غير محدودغير محدود
الحد الأقصى للموظفين550غير محدود
طلبات الذكاء الاصطناعي/شهر501,000غير محدود
مساحة التخزين10 GB100 GB1,000 GB
EJAR الأساسي
EJAR الكامل
ZATCA Phase 2
وكلاء Gemini AI
تقييم Taqeem
CAFM / IoT للصيانة
السحابة الخاصة Private Cloud
IFRS16 محاسبة
بوابة المستثمرين
مستوى الدعمEmail24/7 ذو أولويةمدير حساب مخصص

آلية تطبيق الحصص (Quota Enforcement)

يتحقق النظام تلقائياً قبل إضافة أي سجل جديد:

// saasSubscriptionEngine.ts — Phase S1 checkPropertyQuota(currentCount, planId) → QuotaCheckResult checkUnitQuota(currentCount, planId) → QuotaCheckResult checkStaffSeatQuota(currentCount, planId) → QuotaCheckResult // نتيجة الفحص دائماً تتضمن: { allowed: boolean, reasonAr: string, // رسالة الخطأ بالعربية reasonEn: string, // رسالة الخطأ بالإنجليزية currentCount: number, maxLimit: number, upgradeRequired: boolean, suggestedPlanId: string // growth→enterprise, enterprise→reits }
⚠️
عند الوصول للحصة القصوى، يعرض النظام رسالة واضحة بالعربية مع اقتراح ترقية الخطة. لا يمكن تجاوز الحدود تحت أي ظرف.

حالات الاشتراك الممكنة

الحالةالمعنىما يستطيع المستخدم فعله
TRIALالفترة التجريبية نشطةجميع العمليات (قراءة وكتابة)
ACTIVEاشتراك مدفوع نشطجميع العمليات
SUSPENDEDموقوف (عادةً لعدم الدفع)القراءة فقط — لا كتابة
EXPIREDمنتهي الصلاحيةالقراءة فقط — لا كتابة
CANCELLEDملغىالقراءة فقط
🔐
الفصل الرابع
تسجيل الدخول وإنشاء الحساب
جميع طرق المصادقة — مبنية على LoginView.tsx وFirebase Auth

طرق تسجيل الدخول المتاحة (4 طرق)

الطريقة 1: البريد الإلكتروني وكلمة المرور

1
أدخل بريدك الإلكتروني وكلمة المرور
اضغط "تسجيل الدخول". إذا كان البريد غير موجود، يُنشئ النظام حساباً تلقائياً بنفس البريد وكلمة المرور.
2
يبني النظام هويتك تلقائياً
الدالة buildUserFromFirebase() تُحدد دورك: إذا كان بريدك يطابق SuperAdmin → دور مشرف أعلى. إذا كنت مدعواً → الدور من الدعوة. وإلا → CompanyOwner تلقائياً.

الطريقة 2: Google Sign-In

1
اضغط "تسجيل الدخول بـ Google"
يفتح النظام نافذة Google Popup لاختيار حسابك. لا تحتاج لإدخال كلمة مرور.
2
الدخول الفوري
بعد موافقة Google، يدخلك النظام مباشرة بنفس منطق تحديد الدور.

الطريقة 3: رقم الجوال بـ OTP

1
أدخل رقم جوالك بالصيغة الدولية
مثال: +966501234567 — يجب أن يبدأ بعلامة +
2
أكمل رمز reCAPTCHA
يظهر مكوّن reCAPTCHA غير المرئي في الخلفية. في بيئة الإنتاج هذه خطوة أمان تلقائية.
3
أدخل رمز الـ OTP المرسل لجوالك
رمز مكوّن من 6 أرقام. في بيئة التطوير، الرمز 123456 يعمل دائماً.
ℹ️
رمز خطأ auth/invalid-phone-number: تأكد أن الرقم يبدأ بـ + وأنه رقم دولي صحيح. رمز auth/too-many-requests: انتظر دقيقة وأعد المحاولة.

الطريقة 4: حساب تجريبي Demo

اختر دوراً من القائمة المنسدلة واضغط "ادخل كـ [الدور]". يُمنح وصولاً فورياً ببيانات نموذجية للتعرف على النظام. لا يصلح للعمل الإنتاجي.

إنشاء حساب شركة جديدة (Register)

1
اضغط "إنشاء حساب" في شاشة الدخول
تظهر نموذج تسجيل الشركة
2
أدخل بيانات الشركة
اسم الشركة (إلزامي) | اسم المالك/المدير (إلزامي) | البريد المؤسسي (إلزامي) | الهاتف (اختياري) | كلمة مرور آمنة (إلزامية)
3
أو سجّل بـ Google مباشرة
الأسرع — حساب جاهز في ثوانٍ مع دور CompanyOwner تلقائي
⚠️
نسيت كلمة المرور؟ زر "نسيت كلمة المرور" موجود في الواجهة لكنه غير مفعّل حالياً. تواصل مع مسؤول النظام لإعادة تعيينها يدوياً عبر Firebase Console.

كيف يُحدد النظام دورك تلقائياً؟

الحالةالدور المُعطىشركة المستخدم
البريد يطابق قائمة SuperAdminsSuperAdmincomp-aqarios
توجد دعوة في localStorage بمفتاح aqar_invite_{email}الدور من الدعوةالشركة من الدعوة
تسجيل جديد — لا دعوةCompanyOwnercomp_{uid} (تلقائي)
🛡️
الفصل الخامس
الأدوار والصلاحيات (RBAC)
نظام التحكم بالوصول المبني على الأدوار — مبني على Sidebar.tsx وrbacEngine

يعتمد AqariOS نظام Role-Based Access Control متدرجاً يضم 10 أدوار موثّقة. كل دور يُتيح الوصول لمجموعة محددة من التبويبات والعمليات.

الدورالوصفالتبويبات المتاحة الرئيسية
SuperAdmin المشرف الأعلى للمنصة — AqariOS فقط جميع التبويبات بلا استثناء + تبويبات الوثائق الهندسية
CompanyOwner مالك الشركة / مدير مؤسسي جميع التبويبات بلا استثناء
PropertyManager مدير الأملاك Dashboard، العقارات، العقود، CRM، الصيانة، الوثائق، المشتريات، التقارير، AI
BranchManager مدير الفرع نفس PropertyManager
LeasingOfficer موظف التأجير نفس PropertyManager
SalesOfficer موظف المبيعات نفس PropertyManager
Accountant المحاسب Dashboard، المالية، العقود، المشتريات، التقارير، التدقيق، الوثائق، AI
FinanceManager مدير المالية نفس Accountant
Auditor مدقق الحسابات Dashboard، سجلات التدقيق، التقارير، المالية، الوثائق، Property 360
HRManager مدير الموارد البشرية Dashboard، HR، Admin، الوثائق، التقارير، AI
Technician فني الصيانة الصيانة فقط، الوثائق، AI
Tenant المستأجر بوابة المستأجر فقط، الوثائق، AI
Investor المستثمر / مالك العقار Dashboard، المستثمرون، التقييم، التقارير، الوثائق
PropertyOwner مالك العقار نفس Investor
CustomerService خدمة العملاء Dashboard، CRM، الصيانة، بوابة المستأجر، الوثائق
التبويبات الهندسية (SRS، BRD، API، Data Model...) مقيّدة على SuperAdmin وCompanyOwner فقط. لا يرى الموظفون العاديون هذه التبويبات أبداً.
🗂️
الفصل السادس
الشريط الجانبي والتنقل في النظام
خريطة التنقل الكاملة — مبنية على Sidebar.tsx

الشريط الجانبي (Sidebar) عرضه 288px ثابت على سطح المكتب. على الجوال، يتحول لدرج (drawer) منزلق يُفتح بزر القائمة.

أقسام الشريط الجانبي الثلاثة

القسم 1: MAIN — الرئيسي

التبويبالرمزالوصفللدور
مركز القيادة التشغيليةP25 جديدلوحة القيادة المتكاملةمعظم الأدوار
لوحة القيادة (Dashboard)📊KPIs والمؤشرات التنفيذيةمعظم الأدوار
SDASDA 70+وثائق البنية المعماريةSuperAdmin / CompanyOwner

القسم 2: ENTERPRISE DOCS — الوثائق الهندسية (مطوية افتراضياً)

يحتوي على 20 وثيقة هندسية (BRD، SRS، API، DevOps، QA، Security...). مقيّد على SuperAdmin وCompanyOwner فقط.

القسم 3: ERP MODULES — وحدات النظام

التبويبBadgeالفصل
👑 Governance & Admin PortalROOTالفصل 26
🌐 SaaS Landing & PricingSAASالفصل 3
إعدادات الشركةالفصل 25
العقاراتعدادالفصل 8
عقود الإيجارعدادالفصل 9
CRMعدادالفصل 10
المالية والمحاسبةالفصلان 12-15
التقييم العقاري DCFDCFالفصل 18
بوابة المستأجرPORTALالفصل 17
المشترياتPOالفصل 16
ESG وتحليلات الطاقةESGالفصل 28
التقارير التنفيذيةPDFالفصل 19
المستثمرونالفصل 19
الصيانةعدادالفصل 11
الموارد البشريةالفصل 20
الوثائقالفصل 21
المساعد الذكيالفصل 22
سجلات التدقيقالفصل 24

ملاحظات واجهة الشريط الجانبي

  • مؤشر التبويب النشط: شريط أخضر متحرك (Framer Motion) على يمين التبويب المحدد
  • عدادات الشارات: تُعرض بيانات حقيقية (عدد العقارات، العقود، أوامر الصيانة)
  • ملف المستخدم: في أعلى الشريط — النقر عليه ينتقل لـ admin
  • حالة الأنظمة: في أسفل الشريط — "جميع الأنظمة تعمل" (قيمة ثابتة حالياً)
📊
الفصل السابع
لوحة القيادة التنفيذية
KPIs والمؤشرات والرسوم البيانية الحية — مبنية على DashboardView.tsx

لوحة القيادة هي الشاشة الافتراضية بعد تسجيل الدخول. تُعرض البيانات مباشرة من props مُحسوبة — لا توجد استدعاءات Firestore مباشرة من هذه الشاشة.

بطاقات المؤشرات الستة (KPI Cards)

#المؤشرالمؤشر بالعربيةالصيغة الحسابية (من الكود)اللون
1 Total Asset Valuation إجمالي قيمة الأصول properties.reduce((acc,p) => acc + p.valuationSAR, 0) 🟢 زمردي
2 Annual Expected Revenue الإيرادات السنوية المتوقعة properties.reduce((acc,p) => acc + p.annualExpectedRevenueSAR, 0) 🔵 مخضر
3 Occupancy Rate معدل الإشغال Math.round((totalOccupied / totalUnits) * 100) — الوحدات بحالة Leased أو Occupied 🔵 سماوي (حلقة دائرية متحركة)
4 Active Contracts العقود النشطة contracts.filter(c => c.status === 'Active' || c.status === 'InRenewal').length 🔵 أزرق
5 Open Work Orders أوامر الصيانة المفتوحة workOrders.filter(w => w.status !== 'Closed' && w.status !== 'Completed').length 🟡 عنبري
6 Vacant Units الوحدات الشاغرة derivedUnits.filter(u => u.status !== 'Leased' && u.status !== 'Occupied').length 🔴 وردي
ℹ️
جميع المؤشرات الستة محمية بـ useMemo للأداء — لا تُعاد حسابها إلا عند تغيير العقارات أو العقود أو الوحدات. ساعة الداشبورد DashboardClock معزولة في مكوّن خاص لمنع إعادة الرسم الثانوية.

الرسوم البيانية

الرسم البيانيالنوعالبياناتالحالة
توزيع أنواع العقارات Donut Chart (SVG) عدد كل نوع (CommercialTower / ResidentialComplex / ShoppingMall / Land / MixedUse) ✅ حي — بيانات فعلية
التدفق النقدي (Cashflow) Bar Chart ⚠️ معطّل — رسالة "لا توجد بيانات تدفق نقدي" (قرار Phase 25)
حلقة معدل الإشغال SVG Ring (animated) نسبة مئوية محسوبة ✅ حي — متحرك

ألوان أنواع العقارات في الرسم البياني

النوعاللونرمز اللون
CommercialTower (برج تجاري)🟢#10b981 Emerald
ResidentialComplex (مجمع سكني)🔵#3b82f6 Blue
ShoppingMall (مركز تجاري)🟣#a855f7 Purple
Land (أرض)🟡#f59e0b Amber
MixedUse (مختلط)🔴#f43f5e Rose

لوحات القسم السفلي (3 أعمدة)

اللوحةما تُعرضهالتفاصيل
آخر العقود أحدث 5 عقود مرتبة تنازلياً حسب تاريخ الإنشاء. يُعرض: اسم المستأجر، حالة العقد، اسم العقار، تاريخ الانتهاء، الإيجار السنوي. زر "عرض الكل" يفتح تبويب العقود.
أولويات الصيانة أحدث 5 أوامر صيانة تُعرض: عنوان الأمر (ثنائي اللغة)، شارة الأولوية (Emergency/High/Medium/Low)، اسم العقار ورقم الوحدة. أوامر "InProgress" تظهر شريط تقدم أزرق.
لوحة الذكاء الاصطناعي 3 بطاقات تحليلية 1) تنبيه المخاطر — عدد العقود النشطة. 2) الفرصة — معدل الإشغال + عدد العقارات. 3) التنبؤ المالي — مجموع إيجارات العقود. زر "تحليل AI" يفتح المساعد الذكي.

صف العقارات الأعلى أداءً

جدول يعرض أفضل 5 عقارات مرتبة حسب الوحدات المشغولة والإيرادات المتوقعة. يُعرض لكل عقار: الصورة والاسم، النوع، معدل الإشغال (شريط متحرك)، الإيراد.

أزرار رأس لوحة القيادة

الزرالإجراء
إضافة عقارينتقل لتبويب العقارات
عقد جديدينتقل لتبويب عقود الإيجار
تحليل AIينتقل للمساعد الذكي
إنشاء تقرير⚠️ بدون إجراء حالياً — زر مرئي فقط
🏗️
الفصل الثامن
إدارة العقارات والوحدات
إضافة وإدارة العقارات والوحدات الاستثمارية

أنواع العقارات المدعومة

  • CommercialTower — برج تجاري
  • ResidentialComplex — مجمع سكني
  • ShoppingMall — مركز تجاري
  • Land — أرض
  • MixedUse — مختلط (تجاري + سكني)

كيفية إضافة عقار جديد

1
انتقل لتبويب العقارات
من الشريط الجانبي → العقارات. ستجد قائمة بجميع العقارات الحالية وإحصائياتها.
2
اضغط "إضافة عقار جديد"
يفتح نموذج إدخال بيانات العقار. تحقق أولاً من حصة الخطة (Growth: 5 عقارات كحد أقصى).
3
أدخل بيانات العقار
الاسم بالعربية والإنجليزية، النوع، الموقع، القيمة التقديرية (SAR)، الإيراد السنوي المتوقع، الصورة.
4
أضف الوحدات
بعد حفظ العقار، أضف وحداته: رقم الوحدة، النوع، الطابق، المساحة (م²)، الإيجار (SAR)، الحالة.

حالات الوحدة

الحالةالمعنىتُحسب كـ
Leasedمؤجرة بعقد نشطوحدة مشغولة ✅
Occupiedمشغولةوحدة مشغولة ✅
Vacantشاغرة — متاحة للإيجاروحدة شاغرة
UnderMaintenanceتحت الصيانةوحدة شاغرة
Reservedمحجوزةوحدة شاغرة

إحصائيات رأس صفحة العقارات

  • إجمالي قيمة الأصول = مجموع valuationSAR لكل العقارات
  • الإيرادات السنوية المتوقعة = مجموع annualExpectedRevenueSAR
  • معدل الإشغال = (عدد الوحدات المشغولة ÷ إجمالي الوحدات) × 100
📋
الفصل التاسع
عقود الإيجار ودورة حياتها الكاملة
من الإنشاء حتى التجديد أو الإنهاء — مبني على leaseContractModel.ts

حالات عقد الإيجار (Lease Status)

الحالةالمعنىتُعدّ في KPI؟
Activeنشط — العقد ساري✅ يُحسب في "العقود النشطة"
InRenewalفي مرحلة التجديد✅ يُحسب في "العقود النشطة"
Pendingبانتظار الموافقة أو الدفع
Expiredمنتهي الصلاحية
Terminatedمُنهى قبل الموعد

إنشاء عقد إيجار جديد

1
انتقل لتبويب عقود الإيجار
اضغط "عقد جديد". سيُحقق النظام من حصة العقارات أولاً.
2
اختر العقار والوحدة
تظهر قوائم منسدلة بالعقارات والوحدات الشاغرة فقط.
3
اختر المستأجر من CRM
ابحث في قاعدة جهات الاتصال. يمكن إنشاء مستأجر جديد مباشرة.
4
حدد شروط العقد
تاريخ البداية والنهاية، الإيجار السنوري (SAR)، عدد الأقساط، رقم عقد إيجار (EJAR إن وجد).
5
حفظ وإصدار العقد
يُحدّث النظام تلقائياً حالة الوحدة من Vacant إلى Leased، ويُنشئ قيود المحاسبة المقابلة.

حساب معدل الإشغال (من leaseContractModel)

// derivePortfolioOccupancy() — leaseContractModel.ts الوحدات المشغولة = الوحدات بحالة Leased أو Occupied معدل الإشغال = (المشغولة ÷ الإجمالي) × 100

متطلبات عقد إيجار EJAR

  • رقم عقد إيجار: يُدخل يدوياً من منصة إيجار الحكومية
  • رقم هوية المستأجر: هوية وطنية أو إقامة
  • التكامل الكامل مع EJAR API متاح في خطة Enterprise فأعلى
👥
الفصل العاشر
إدارة العملاء والمستأجرين (CRM)
قاعدة جهات الاتصال وتتبع تاريخ التفاعل

أنواع جهات الاتصال

  • Tenant — مستأجر
  • Prospect — عميل محتمل
  • Owner — مالك عقار
  • Vendor — مورّد / مقاول

بيانات جهة الاتصال

اسم (عربي/إنجليزي)، رقم الهوية الوطنية، البريد الإلكتروني، رقم الجوال، النوع، العقارات المرتبطة، تاريخ التفاعلات.

تسجيل تفاعل جديد

1
افتح بطاقة العميل
من قائمة CRM، اضغط على اسم العميل لفتح ملفه الكامل.
2
اضغط "تسجيل تفاعل"
اختر نوع التفاعل: اتصال هاتفي / بريد إلكتروني / اجتماع / رسالة. أضف ملاحظات.
3
يُحفظ في الجدول الزمني
يظهر التفاعل في سجل الأنشطة مع الوقت والمستخدم المسجّل.
🔧
الفصل الحادي عشر
أوامر الصيانة وإدارة الأعطال
دورة حياة أوامر العمل من الإنشاء حتى الإغلاق

حقول أمر الصيانة الكاملة

الحقلالنوعالملاحظة
idstringمعرّف فريد
codestringرمز الأمر (WO-XXXXXX)
propertyId / propertyNamestringالعقار المعني (ثنائي)
unitNumber / unitIdstringرقم الوحدة ومعرّفها
previousUnitStatusenumحالة الوحدة قبل الصيانة
title / titleArstringوصف المشكلة (ثنائي)
typeenumCorrective / Preventive / Emergency
priorityenumLow / Medium / High / Emergency
statusenumOpen / InProgress / Completed / Closed
assignedTostringالفني المكلّف
costnumberتكلفة الإصلاح (SAR)
createdAtISO dateتاريخ الإنشاء

دورة حياة أمر الصيانة

1
Open — الإنشاء
يُنشئ المشرف أو المستأجر أمر الصيانة مع تحديد العقار والوحدة والمشكلة والأولوية.
2
InProgress — التكليف والتنفيذ
يُعيَّن للفني المختص. يُعرض شريط تقدم أزرق في لوحة القيادة. تُغيَّر حالة الوحدة لـ UnderMaintenance.
3
Completed — الإنجاز
يُسجّل الفني الإنجاز مع التكلفة الفعلية. يُعاد النظام لحالة الوحدة السابقة (previousUnitStatus).
4
Closed — الإغلاق
يُغلق المشرف الأمر ويُؤرشف. لا يظهر بعدها في عداد "المفتوحة" في لوحة القيادة.

حساب أوامر الصيانة في لوحة القيادة

// KPI Card #5 — Open Work Orders workOrders.filter(w => w.status !== 'Closed' && w.status !== 'Completed' ).length
💰
الفصل الثاني عشر
نظام ERP المحاسبي وشجرة الحسابات
محرك الأستاذ العام والقيود المحاسبية — مبني على glEngine.ts

شجرة الحسابات الكاملة (Chart of Accounts)

رقم الحسابالاسم بالعربيةالفئة
الأصول (1000-1999)
1010النقدية والبنكAsset
1020ذمم مستأجرين مدنية — إيجارAsset
1029مخصص الديون المشكوك فيهاAsset (contra)
1050إيرادات إيجار مؤجلةAsset
1200الممتلكات والمعدات (صافي)Asset
الالتزامات (2000-2999)
2010الدائنون والمستحقاتLiability
2030ضريبة القيمة المضافة المستحقةLiability
2050الودائع والتأمينات المستردةLiability
حقوق الملكية (3000-3999)
3010رأس المال المدفوعEquity
3020الأرباح المبقاةEquity
الإيرادات (4000-4999)
4010إيرادات الإيجار السكنيRevenue
4020إيرادات الإيجار التجاريRevenue
4030رسوم الخدمات والصيانةRevenue
4040إيرادات الغرامات والتأخيرRevenue
المصروفات (5000-5999)
5010تكاليف الصيانة والتشغيلExpense
5020رواتب الموظفينExpense
5030التأمين والتراخيصExpense
5040الإهلاك والاستهلاكExpense
5050مصاريف التسويق والإعلانExpense
5060مصاريف الفائدة البنكيةExpense
5099مصاريف عامة وإداريةExpense

القيود المحاسبية التلقائية (Auto Journal Entries)

عند تسجيل أي معاملة، يُنشئ النظام تلقائياً قيود اليومية المزدوجة:

الحدثالحساب المدينالحساب الدائن
استلام دفعة إيجار1010 النقدية4010/4020 إيرادات الإيجار
إصدار فاتورة إيجار1020 ذمم مستأجرين4010/4020 إيرادات الإيجار
ضريبة القيمة المضافة1020 ذمم مستأجرين2030 VAT مستحق
تكلفة صيانة5010 تكاليف الصيانة1010 النقدية / 2010 دائنون
استلام وديعة ضمان1010 النقدية2050 الودائع المستردة
إعادة وديعة ضمان2050 الودائع المستردة1010 النقدية
جميع القيود المحاسبية تُكتب في مجموعة Firestore /companies/{companyId}/journalEntries/ مع الوقت ومعرّف المستخدم لضمان المراجعة الكاملة (audit trail).
💳
الفصل الثالث عشر
إدارة المدفوعات وبوابة Moyasar
معالجة المدفوعات والتحصيل الإلكتروني

بوابة Moyasar للدفع

يتكامل النظام مع Moyasar — بوابة الدفع السعودية المعتمدة. تُتيح:

  • الدفع بالبطاقات البنكية (Visa, Mastercard, Mada)
  • Apple Pay
  • التحويل البنكي (SADAD)
  • تحصيل الإيجار إلكترونياً من المستأجر مباشرة

تسجيل دفعة يدوية

1
افتح عقد الإيجار المعني
من تبويب عقود الإيجار، ابحث عن العقد واضغط عليه.
2
اضغط "تسجيل دفعة"
أدخل المبلغ، تاريخ الدفع، طريقة الدفع (نقدي / تحويل / Moyasar)، ورقم الإيصال.
3
يُنشئ النظام قيداً وإيصالاً تلقائياً
قيد محاسبي: مدين 1010 النقدية / دائن 4010 الإيرادات. إيصال مرقّم يمكن طباعته وإرساله.

محرك التنسيق (paymentOrchestrator)

يُنسّق بين:

  • Moyasar API للدفع الإلكتروني
  • قاعدة Firestore لحفظ سجلات الدفع
  • GL Engine لإنشاء القيود المحاسبية
  • ZATCA Engine لإصدار الفاتورة الإلكترونية
📄
الفصل الرابع عشر
ضريبة القيمة المضافة وفاتورة ZATCA الإلكترونية
الامتثال الكامل لـ ZATCA Phase 2 — UBL 2.1 وQR Code

نظرة عامة على ZATCA Phase 2

ZATCA (هيئة الزكاة والضريبة والجمارك) تُلزم الشركات بإصدار فواتير إلكترونية بصيغة UBL 2.1 مع QR Code مُشفّر. AqariOS يدعم المرحلة الثانية بالكامل في خطة Enterprise فأعلى.

مكونات الفاتورة الإلكترونية

الحقلالمصدر في النظام
رقم الفاتورةيُولّد تلقائياً (INV-YYYYMMDD-XXXXX)
رقم السجل التجاريمن ملف الشركة (crNumber)
الرقم الضريبيمن ملف الشركة (taxNumber)
اسم المستأجر ورقم هويتهمن ملف العميل في CRM
الخدمة (الإيجار)من بيانات العقد
المبلغ قبل الضريبةقيمة الإيجار
نسبة VAT15% (ثابتة وفق النظام السعودي)
إجمالي شامل الضريبةمُحسوب تلقائياً
QR Codeمُنشأ وفق معيار ZATCA (TLV مُشفّر)

كيفية إصدار فاتورة ZATCA

1
من عقد الإيجار، اضغط "إصدار فاتورة"
أو من تبويب المالية → الفواتير → فاتورة جديدة.
2
راجع بيانات الفاتورة
المبلغ، الفترة، بيانات المستأجر. يمكن تعديل ملاحظات إضافية.
3
اضغط "إصدار وإرسال"
يُرسل النظام الفاتورة لـ ZATCA للمصادقة، ويُنشئ نسخة PDF مع QR Code للمستأجر.
⚠️
ZATCA Phase 2 متاحة في خطط Enterprise وCustom REITs فقط. خطة Growth تدعم الفواتير الأساسية فقط بدون تكامل ZATCA المباشر.
📈
الفصل الخامس عشر
كشوفات الملاك والإيرادات
تقارير الملاك ومشاركة الأرباح — مبنية على ownerStatementEngine.ts

كشف حساب المالك

كشف دوري (شهري/ربعي/سنوي) يُلخّص:

  • إيرادات الإيجار المحصّلة
  • مصاريف الصيانة والتشغيل
  • رسوم الإدارة
  • صافي الإيراد التشغيلي (NOI)
  • توزيع الأرباح للمالك

إنشاء كشف حساب مالك

1
من تبويب المالية → كشوفات الملاك
اختر المالك (مالك العقار من CRM) والفترة الزمنية.
2
اضغط "إنشاء الكشف"
يُجمّع النظام كل الإيرادات والمصروفات للفترة المحددة.
3
راجع وصدّر
يمكن تصدير الكشف كـ PDF رسمي مع شعار الشركة أو كـ Excel.

أرشفة كشف الحساب

عند الحفظ، يستدعي النظام archiveOwnerStatementDocument() لحفظ نسخة مؤرشفة في Firestore مع تجميد بيانات هوية الشركة (CR، VAT، IBAN) وقت الإصدار.

🛒
الفصل السادس عشر
المشتريات والموردين
إدارة أوامر الشراء والموردين والعقود

دورة أمر الشراء (PO)

1
إنشاء طلب شراء
تحديد المورد، البضاعة/الخدمة، الكمية، السعر المقدّر.
2
الاعتماد
يُرسل الطلب للمراجعة والاعتماد من المدير المخوّل.
3
الاستلام والفوترة
تسجيل الاستلام الفعلي وربطه بفاتورة المورد.
4
الدفع وإغلاق PO
معالجة الدفع وإنشاء القيد المحاسبي. إغلاق أمر الشراء.
📱
الفصل السابع عشر
بوابة المستأجر (Tenant Portal)
واجهة المستأجر الذاتية الخدمة

ما يستطيع المستأجر فعله

  • عرض عقد إيجاره وتفاصيله
  • عرض سجل المدفوعات والإيصالات
  • تقديم طلبات صيانة جديدة
  • متابعة حالة طلبات الصيانة
  • تحميل الوثائق المتعلقة به
  • التواصل مع الإدارة
  • دفع الإيجار إلكترونياً (Moyasar)
ℹ️
المستأجر يرى بياناته فقط — عقده، وحدته، مدفوعاته. لا يمكنه رؤية أي بيانات عقارات أو مستأجرين آخرين.

تفعيل حساب المستأجر

1
المدير يُنشئ حساباً للمستأجر
من تبويب إدارة المستخدمين، اضغط "دعوة مستأجر" وأدخل بريده الإلكتروني.
2
المستأجر يستلم دعوة بالبريد
يضغط على رابط التفعيل ويُنشئ كلمة مرور.
3
دخول بوابة المستأجر
يُوجَّه تلقائياً لبوابة المستأجر بدور Tenant.
📐
الفصل الثامن عشر
التقييم العقاري ونموذج DCF
تقييم الأصول بالتدفق النقدي المخصوم

وحدة التقييم العقاري تستخدم نموذج DCF (Discounted Cash Flow) لتقدير القيمة العادلة للعقارات بناءً على:

  • التدفقات النقدية المستقبلية المتوقعة (الإيجارات)
  • معدل الخصم (WACC / Cap Rate)
  • القيمة النهائية (Terminal Value)
  • معدل النمو السنوي للإيجارات

استخدام نموذج DCF

1
افتح تبويب التقييم العقاري DCF
من الشريط الجانبي → التقييم العقاري DCF.
2
اختر العقار المراد تقييمه
تُملأ بيانات الإيرادات تلقائياً من بيانات العقار.
3
أدخل افتراضات النموذج
معدل الخصم، فترة التوقع (سنوات)، معدل النمو، معدل الشغور المتوقع.
4
احصل على القيمة العادلة
يُحسب النموذج القيمة الحالية الصافية (NPV) ويُقارنها بالقيمة الدفترية.
⚠️
وحدة التقييم Taqeem الكاملة متاحة في خطة Enterprise فأعلى فقط.
📊
الفصل التاسع عشر
المستثمرون والتقارير التنفيذية
بوابة المستثمرين والتقارير القابلة للتصدير

بوابة المستثمرين

مخصصة لأدوار Investor وPropertyOwner. تُعرض:

  • لوحة قيادة الأداء الاستثماري
  • ROI لكل عقار
  • معدل الإشغال وتطوره عبر الزمن
  • توزيعات الأرباح والتدفقات النقدية
  • قرارات الاستثمار والتوصيات

التقارير التنفيذية المتاحة

التقريرالمحتوىتنسيق التصدير
تقرير المحفظة الاستثماريةجميع العقارات، الإشغال، الإيرادات، NOIPDF، Excel
تقرير التدفق النقديالإيرادات مقابل المصروفات شهرياًPDF، Excel
تقرير المستأجرينقائمة المستأجرين، حالة العقود، التأخيراتPDF، Excel
تقرير الصيانةالأعطال، التكاليف، أوقات الإغلاقPDF، Excel
تقرير ضريبة القيمة المضافةالمبيعات والمشتريات، الضريبة المستحقةPDF (ZATCA متوافق)
👤
الفصل العشرون
الموارد البشرية والصلاحيات
إدارة الموظفين والأدوار والإجازات

ما تحتويه وحدة HR

  • قائمة الموظفين وملفاتهم
  • الأدوار والصلاحيات المعيّنة
  • طلبات الإجازات والغياب
  • كشف الرواتب الأساسي
  • تقارير الحضور والأداء

إضافة موظف جديد

راجع الفصل 27 "دعوة الفريق وإدارة المستخدمين" للتفاصيل الكاملة حول دعوة الموظفين وتعيين الأدوار.

🗄️
الفصل الحادي والعشرون
أرشيف الوثائق والمستندات
رفع وتصنيف وأرشفة المستندات — مبني على DocumentsView.tsx وdocumentArchiveOrchestrator.ts

فئات الوثائق

الفئةالاسم بالعربيةاللونمثال
Contractعقد🔵 أزرقعقد إيجار، عقد صيانة
TitleDeedصك الملكية🟡 عنبريصك عقار مسجّل
CRCertificateشهادة السجل التجاري🟢 زمرديCR للشركة
TaxReceiptإيصال ضريبي🟣 بنفسجيشهادة الزكاة
MaintenanceReportتقرير صيانة🟠 برتقاليتقرير فحص المصعد
IDCopyنسخة هوية⬜ رماديهوية وطنية للمستأجر

رفع وثيقة جديدة

1
اضغط "رفع وثيقة جديدة"
يفتح نموذج رفع الوثيقة.
2
أدخل البيانات المطلوبة
العنوان (إلزامي) | الفئة (افتراضي: Contract) | العقار المرتبط (اختياري) | الملف (إلزامي)
3
اختر الملف أو اسحبه
الأنواع المدعومة: PDF، Word (.doc/.docx)، Excel (.xlsx)، صور (JPG/PNG). لا يوجد حد صريح للحجم من الخادم.
4
اضغط "رفع"
يُحفظ الملف في Firestore مع تجميد بيانات هوية الشركة (CR، VAT، IBAN) وقت الرفع.

بطاقات المؤشرات في رأس صفحة الوثائق

المؤشرالصيغةملاحظة
إجمالي الوثائقdocuments.length✅ بيانات حقيقية
المضافة حديثاًوثائق هذا الشهر✅ بيانات حقيقية
الوثائق المنتهية⚠️ قيمة ثابتة (2) — ليست بيانات حقيقية

إجراءات كل وثيقة

  • تصدير PDF رسمي مُعتمد: يُولّد PDF مع شعار الشركة وبياناتها
  • تصدير Excel: يُصدّر بيانات الوثيقة كجدول
  • عرض: يفتح الصور مباشرة أو يُوفّر رابط تحميل لـ PDF
  • تحميل: تحميل الملف مباشرة
  • حذف: يطلب تأكيد ثم يُزيل من القائمة المحلية (لا حذف من Firestore حالياً)

نظام أرشفة الوثائق (documentArchiveOrchestrator)

كل وثيقة تُكتب بنمط Atomic Idempotent — أي أن إعادة رفع نفس الوثيقة لن تُنشئ نسخة مكررة. معرّف الوثيقة محدد مسبقاً:

documentId = "doc_archive_{companyId}_{entityType}_{entityId}"

بيانات هوية الشركة تُجمّد Object.freeze() وقت الحفظ — حتى لو غيّرت الشركة بياناتها لاحقاً، تظل الوثيقة تحمل البيانات الأصلية وقت إصدارها.

الفصل الثاني والعشرون
المساعد الذكي بـ Gemini AI
5 وكلاء ذكاء اصطناعي مدمجة في النظام

يُدمج AqariOS محرك Google Gemini 2.5 Pro مع 5 وكلاء ذكاء اصطناعي متخصصين. متاح في خطة Enterprise فأعلى (حد 1,000 طلب/شهر).

وكلاء الذكاء الاصطناعي الخمسة

الوكيلالتخصصمثال على استخدامه
🔍 وكيل التحليلتحليل بيانات المحفظة"ما العقارات الأقل أداءً هذا الربع؟"
📋 وكيل العقودمراجعة وصياغة العقود"هل هذا العقد يتوافق مع الأنظمة؟"
💰 وكيل الماليةالتحليل المالي والتوقعات"ما توقع الإيرادات للعام القادم؟"
🔧 وكيل الصيانةجدولة وتحسين الصيانة"رتّب أوامر الصيانة حسب الأولوية"
⚖️ وكيل الامتثالالتحقق من الامتثال التنظيمي"هل عقودنا متوافقة مع لوائح RERA؟"

كيفية استخدام المساعد الذكي

1
انتقل لتبويب "المساعد الذكي"
أو اضغط زر "تحليل AI" في لوحة القيادة.
2
اختر الوكيل المناسب
اختر الوكيل من القائمة أو اكتب سؤالك مباشرة — سيختار النظام الوكيل الأنسب.
3
اكتب سؤالك
بالعربية أو الإنجليزية. سيُجيب الوكيل بناءً على بيانات شركتك الفعلية.

إعداد Gemini API

مفتاح Gemini API يُخزّن في:

localStorage: aqarios_universal_integrations_store_{companyId}_v2

يُضاف من تبويب التكاملات → منصة التكامل الموحد → قسم Gemini AI.

🔗
الفصل الثالث والعشرون
التكاملات الحكومية (EJAR، Nafath، Wathq)
ربط المنصات الحكومية السعودية — مبني على EnterpriseIntegrationView.tsx

التكاملات المدعومة

المنصةالغرضبيانات التكاملالخطة المطلوبة
EJAR (إيجار) تسجيل عقود الإيجار الحكومية API Key من منصة إيجار Growth: أساسي | Enterprise: كامل
ZATCA الفاتورة الإلكترونية Phase 2 شهادة ZATCA، Private Key Enterprise فأعلى
Nafath التحقق من الهوية الوطنية Client ID، Secret Enterprise فأعلى
Yakeen استعلام بيانات الهوية API Credentials Enterprise فأعلى
Wathq استعلام السجل التجاري API Credentials Enterprise فأعلى
Gemini AI المساعد الذكي Gemini API Key Enterprise فأعلى
Moyasar بوابة الدفع API Key، Secret جميع الخطط

كيفية إضافة تكامل

1
من تبويب التكاملات
الشريط الجانبي → منصة التكامل الموحد والربط الإلكتروني.
2
اختر التكامل المطلوب
اضغط على البطاقة وأدخل بيانات الاعتماد (API Keys).
3
اضغط "اختبار الاتصال"
يُرسل النظام طلباً اختبارياً للتحقق من صحة البيانات.
4
حفظ
تُخزّن بيانات الاعتماد في localStorage بمفتاح خاص بشركتك.
⚠️
بيانات التكامل تُخزّن في localStorage المتصفح مرتبطة بـ companyId. لا تُشارك هذا الجهاز مع أشخاص غير مخوّلين.
🔍
الفصل الرابع والعشرون
سجلات التدقيق والأمان
تتبع كل الأحداث في النظام — مبني على AuditLogsView.tsx

أنواع الأحداث المسجّلة

نوع الحدثالمعنىمثال
LOGINتسجيل دخولدخول المستخدم أحمد من IP 192.168.x.x
CREATEإنشاء سجل جديدإنشاء عقار "برج الرياض"
UPDATEتعديل سجلتحديث إيجار عقد رقم LC-1234
DELETEحذف سجلحذف وثيقة "صورة هوية"
APPROVEموافقة / اعتماداعتماد أمر شراء PO-567
EXPORTتصدير بياناتتصدير تقرير المستأجرين PDF
AI_RUNتشغيل وكيل AIتحليل المحفظة بـ Gemini

بيانات كل سجل تدقيق

  • الوقت والتاريخ (ISO timestamp)
  • اسم المستخدم الذي نفّذ الإجراء
  • دوره في النظام
  • الوحدة (العقارات / المالية / الصيانة...)
  • نوع الحدث (LOGIN / CREATE / DELETE...)
  • التفاصيل بالعربية والإنجليزية
  • عنوان IP

الأدوار المخوّلة بقراءة سجلات التدقيق

Auditor Accountant FinanceManager CompanyOwner SuperAdmin

تصفية السجلات

  • البحث النصي: يبحث في اسم المستخدم، التفاصيل، عنوان IP
  • فلتر الوحدة: يُستخرج تلقائياً من السجلات الفعلية
  • فلتر النوع: All / LOGIN / CREATE / UPDATE / DELETE / APPROVE / EXPORT / AI_RUN
  • الترقيم: 15 سجلاً في كل صفحة

تصدير السجلات

تصدير CSV يشمل: Timestamp، User، Role، Module، Action، Details، IP Address. اسم الملف: audit_logs_YYYY-MM-DD.csv

🏢
الفصل الخامس والعشرون
إعدادات الشركة والفروع
إدارة هوية الشركة وبياناتها والفروع الإقليمية — مبنية على CompanyView.tsx

تبويب "إعدادات الشركة" يحتوي على 3 أقسام رئيسية.

القسم 1: الهوية المؤسسية والشعار

الحقلقابل للتعديل؟يُحفظ في Firestore؟
اسم الشركة (عربي)
اسم الشركة (إنجليزي)
رقم السجل التجاري (CR)
الرقم الضريبي (VAT)
العملة الافتراضية
الشعار (رفع ملف أو URL)
الدولة✅ (واجهة)⚠️ لا يُحفظ حالياً
الهاتف / البريد / الموقع✅ (واجهة)⚠️ لا تُحفظ حالياً
العنوان الوطني✅ (واجهة)⚠️ لا يُحفظ حالياً
⚠️
الحقول المُحفوظة في Firestore هي: الاسم (ع/إ)، CR، VAT، العملة، الشعار. باقي الحقول تظهر في الواجهة لكنها غير مرتبطة بالحفظ الدائم في الإصدار الحالي.

رفع شعار الشركة

1
اضغط "رفع شعار جديد"
أو اختر من الشعارات الجاهزة (4 تصميمات SVG مدمجة).
2
اختر ملف صورة
أي تنسيق صورة (PNG، JPG، SVG). يُرفع للـ Firebase Storage.
3
الشعار يُطبّق على الفور
يُستخدم في جميع الفواتير وكشوفات الملاك والتقارير الرسمية.

القسم 2: إدارة الفروع

يُمكّنك من إنشاء وإدارة فروع الشركة الإقليمية. بيانات إنشاء فرع جديد:

  • اسم الفرع (عربي) — إلزامي
  • اسم الفرع (إنجليزي) — إلزامي
  • المدينة (عربي/إنجليزي)
  • مدير الفرع — اسم المسؤول

لا يمكن حذف الفرع الأخير (يجب وجود فرع واحد على الأقل).

القسم 3: إعدادات SaaS والنظام

يعرض حالة التكاملات المُفعّلة على مستوى الخطة. جميع الحالات المعروضة ثابتة في الكود ولا تعكس اتصالاً حياً بالمنصات.

العملات المدعومة

SAR (ريال سعودي) — AED (درهم) — KWD (دينار كويتي) — QAR (ريال قطري) — BHD (دينار بحريني) — OMR (ريال عُماني) — EGP (جنيه مصري) — USD (دولار) — EUR (يورو)

👑
الفصل السادس والعشرون
بوابة الحوكمة والمشرف الأعلى (Admin Portal)
إدارة المنصة على المستوى الكامل — للـ SuperAdmin والـ CompanyOwner فقط

لوحة قيادة منصة SaaS

متاحة للـ SuperAdmin فقط. تُعرض مقاييس المنصة بالكامل عبر دالة calculateSaaSPlatformMetrics():

المقياسالمعنى
totalRegisteredCompaniesإجمالي الشركات المسجّلة
activeSubscriptionsCountالاشتراكات النشطة حالياً
trialSubscriptionsCountالشركات في فترة تجريبية
suspendedSubscriptionsCountالاشتراكات الموقوفة
mrrSARالإيراد الشهري المتكرر (SAR)
arrSARالإيراد السنوي المتكرر = MRR × 12
growthPlanCountعدد شركات Growth
enterprisePlanCountعدد شركات Enterprise
reitsPlanCountعدد شركات REITs

تشغيل الاشتراك (Subscription Engine)

دالة enforceSubscriptionActiveGate() تمنع العمليات إذا كان الاشتراك منتهياً أو موقوفاً:

// القاعدة: READ → دائماً مسموح (حتى للاشتراكات المنتهية) WRITE → مسدود إذا كانت الحالة: SUSPENDED | EXPIRED | CANCELLED

إدارة الشركات (SuperAdmin)

الـ SuperAdmin يستطيع:

  • عرض جميع الشركات المسجّلة وحالاتها
  • تعليق أو إلغاء اشتراك شركة
  • ترقية خطة شركة يدوياً
  • الوصول لبيانات أي شركة للدعم التقني
  • عرض لوحة قيادة MRR/ARR
👥
الفصل السابع والعشرون
دعوة الفريق وإدارة المستخدمين
كيفية إضافة الموظفين وتعيين أدوارهم

من يستطيع دعوة مستخدمين جدد؟

الأدوار المخوّلة بإرسال الدعوات: SuperAdmin CompanyOwner Admin

⚠️
قبل دعوة موظف جديد، يتحقق النظام من حصة المقاعد. إذا وصلت للحد (Growth: 5 موظفين، Enterprise: 50)، لن تتمكن من إضافة المزيد دون ترقية الخطة.

كيفية دعوة موظف

1
من بوابة الحوكمة → إدارة المستخدمين
اضغط "دعوة موظف جديد".
2
أدخل بيانات الموظف
البريد الإلكتروني أو رقم الجوال، الاسم، الدور المطلوب.
3
يُنشئ النظام دعوة
تُخزّن الدعوة في localStorage بمفتاح aqar_invite_{email} مع الدور وشركةID.
4
يُرسل رابط الدعوة للموظف
عند تسجيل دخول الموظف بنفس البريد، يقرأ النظام الدعوة تلقائياً ويُعيّن له الدور والشركة.
🌱
الفصل الثامن والعشرون
ESG وتحليلات الطاقة والاستدامة
مؤشرات البيئة والمجتمع والحوكمة

وحدة ESG (Environmental, Social, Governance) تُتيح تتبع مؤشرات الاستدامة لمحفظتك العقارية:

  • استهلاك الطاقة لكل عقار (kWh)
  • استهلاك المياه (م³)
  • انبعاثات الكربون (طن CO₂)
  • مؤشر كفاءة الطاقة
  • تقارير ESG للمستثمرين والمساهمين
ℹ️
وحدة ESG مهمة بشكل متزايد للشركات العقارية الكبرى والصناديق الاستثمارية التي تلتزم بمعايير الاستدامة ESG الدولية.
🛠️
الفصل التاسع والعشرون
دليل استكشاف الأخطاء والحلول
الحلول للمشكلات الشائعة

مشكلات تسجيل الدخول

المشكلةالسببالحل
رسالة "auth/invalid-credential"كلمة مرور خاطئةتحقق من الكلمة أو أنشئ حساباً جديداً
رسالة "auth/invalid-phone-number"الرقم بدون + أو غير صحيحأدخل الرقم بالصيغة: +966xxxxxxxxx
رسالة "auth/too-many-requests"محاولات متكررةانتظر دقيقة ثم أعد المحاولة
الدور خاطئ بعد الدخوللم تُقرأ الدعوةتأكد من تسجيل الدخول بنفس البريد الموجود في الدعوة
لا أستطيع تغيير كلمة المرورالزر غير مفعّلتواصل مع مسؤول النظام لإعادة تعيينها عبر Firebase

مشكلات العقارات والوحدات

المشكلةالسببالحل
"وصلت للحد الأقصى للعقارات"تجاوز حصة الخطةترقية من Growth (5) لـ Enterprise (غير محدود)
الوحدة تظهر "Vacant" رغم وجود عقدالعقد بحالة Pending وليس Activeفعّل العقد وغيّر حالته لـ Active
معدل الإشغال غير صحيحوحدات بحالة غير متوقعةراجع حالات الوحدات — Leased و Occupied فقط تُحسب مشغولة

مشكلات الفواتير وZATCA

المشكلةالسببالحل
خيار ZATCA غير متاحالخطة Growth لا تدعمهترقية لـ Enterprise
الفاتورة بدون بيانات الشركةCR أو VAT غير محفوظأكمل بيانات الشركة في إعدادات الشركة
رفض ZATCA للفاتورةبيانات شهادة ZATCA منتهيةجدّد شهادة ZATCA من قسم التكاملات

مشكلات الأداء العام

المشكلةالحل
النظام بطيءامسح cache المتصفح. النظام PWA — قد تكون نسخة قديمة مُخزّنة.
البيانات لا تتحدثاضغط F5 أو أغلق المتصفح وأعد فتحه لمزامنة Firestore.
الوكيل الذكي لا يستجيبتحقق من مفتاح Gemini API في التكاملات وعدد الطلبات المتبقية.
📚
الفصل الثلاثون
الملحقات والمصطلحات التقنية
قاموس المصطلحات المستخدمة في النظام

مصطلحات النظام

المصطلحالاختصارالتعريف
Enterprise Resource PlanningERPنظام تخطيط موارد المؤسسة — يدمج جميع عمليات الشركة
Role-Based Access ControlRBACالتحكم بالوصول بناءً على الأدوار
Software as a ServiceSaaSالبرمجيات كخدمة سحابية مشتركة
Discounted Cash FlowDCFالتدفق النقدي المخصوم — نموذج تقييم الأصول
Net Operating IncomeNOIصافي الإيراد التشغيلي = إيرادات ناقص مصروفات التشغيل
Return on InvestmentROIالعائد على الاستثمار = صافي الربح ÷ تكلفة الاستثمار × 100
Monthly Recurring RevenueMRRالإيراد الشهري المتكرر من الاشتراكات
Annual Recurring RevenueARRالإيراد السنوي المتكرر = MRR × 12
Universal Business LanguageUBL 2.1معيار XML للفاتورة الإلكترونية المعتمد من ZATCA
General LedgerGLالأستاذ العام — دفتر الحسابات الرئيسي
Progressive Web AppPWAتطبيق ويب تقدمي — يعمل بدون إنترنت ويمكن تثبيته
Environmental Social GovernanceESGمعايير الاستدامة البيئية والاجتماعية والحوكمة
Computer-Aided Facility ManagementCAFMإدارة المنشآت بمساعدة الحاسوب
International Financial Reporting StandardsIFRS16المعيار المحاسبي الدولي للعقود الإيجارية
Real Estate Investment TrustREITصندوق الاستثمار العقاري
One-Time PasswordOTPكلمة المرور لمرة واحدة (رمز التحقق SMS)

الأوضاع والحالات في النظام

الوضعأين يظهرالمعنى
Active / نشطالعقارات، العقود، المستخدموننشط وقيد الاستخدام
Inactive / غير نشطالعقارات، المستخدمونمعطّل مؤقتاً
Pending / معلّقالعقود، المدفوعاتبانتظار الموافقة أو الاستلام
Expired / منتهيالعقود، الاشتراكاتانتهت صلاحيته
Terminated / مُنهىالعقودأُنهي قبل موعده
InProgress / جارٍأوامر الصيانةقيد التنفيذ
Completed / مكتملأوامر الصيانةتم الإنجاز
Closed / مغلقأوامر الصيانة، POمغلق ومؤرشف

مسارات Firestore المرجعية

// كل البيانات تحت مسار الشركة companies/{companyId}/properties/ ← العقارات companies/{companyId}/units/ ← الوحدات companies/{companyId}/leaseContracts/ ← عقود الإيجار companies/{companyId}/payments/ ← المدفوعات companies/{companyId}/workOrders/ ← أوامر الصيانة companies/{companyId}/contacts/ ← CRM (المستأجرون) companies/{companyId}/journalEntries/ ← قيود المحاسبة companies/{companyId}/invoices/ ← الفواتير الإلكترونية companies/{companyId}/documents/ ← الوثائق companies/{companyId}/auditLogs/ ← سجلات التدقيق companies/{companyId}/users/ ← المستخدمون companies/{companyId}/branches/ ← الفروع

اتصل بالدعم

📧
للدعم التقني والاستفسارات: تواصل مع مسؤول النظام أو فريق AqariOS عبر البريد الإلكتروني المسجّل في شركتك.

الدعم حسب الخطة:
  • Growth: دعم عبر البريد الإلكتروني
  • Enterprise: دعم 24/7 ذو أولوية
  • Custom REITs: مدير حساب مخصص
AqariOS Enterprise v2.6.0-pilot-v1
الدليل التشغيلي والتدريبي الشامل — مبني على الكود المصدري الفعلي | Evidence First Methodology
30 فصلاً | 100% Grounded | أغسطس 2026