العقارات والمحرر
ما يحويه العقار، وكيف يضيفه الوكيل ويعدّله في لوحة التحكم، وصوره وموقعه، وكيف يحدد النشر ما يعرضه الموقع.
لحزمة الحزمة الكاملة
ما يحويه العقار
| الجزء | القيم |
|---|---|
| النصوص، بالإنجليزية والعربية | العنوان والوصف المختصر والوصف والمدينة وعنوان تحسين الظهور ووصفه. الإنجليزية مطلوبة للعنوان. |
| الغرض | sale أو rent. تُسعَّر الإيجارات سنويًا. |
| النوع | apartment أو villa أو townhouse |
| السعر | مبلغ موجب بالدرهم (AED) |
| المعلومات | غرف النوم والحمامات والمساحة بالمتر المربع ومواقف السيارات والتأثيث (unfurnished وsemi-furnished وfurnished) والمساحة الخارجية (terrace أو balcony أو garden أو courtyard أو لا شيء) |
| المرافق | أي من 14: مسبح خاص، تراس، حديقة، موقف مغطى، شرفة، صالة رياضية، خدمة الكونسيرج، إطلالة على البحر، إطلالة على المرسى، إطلالة على القناة، فناء، غرفة مكتب، غرفة خادمة، منزل ذكي |
| الموقع | الحي والعنوان ونقطة على الخريطة، وهل هذه النقطة دقيقة أم تقريبية |
| الصور | حتى 30 في المحرر، بالترتيب الذي رُتّبت به، وإحداها الغلاف |
| الحالة | draft أو published أو sold أو rented أو archived |
| داخلي | مرجع يُعطى بالترتيب (P001 وP002 وهكذا)، ومعرّف نصي للعنوان يُصنع من العنوان، وعلامة التميز، وملاحظات لا يعرضها الموقع أبدًا |
تُعرَّف الأنواع والمرافق والقوائم المغلقة الأخرى مرة واحدة في واجهة API وتُسمّى في ملفات رسائل الواجهتين الأماميتين، لذلك فإضافة قيمة جديدة تغيير في التطبيقات الثلاثة.
الحالات وما يعرضه الموقع
| الحالة | في الموقع |
|---|---|
| مسودة | مخفي. يبدأ كل عقار جديد هنا. |
| منشور | معروض وقابل للبحث وفي خريطة الموقع ويمكن اختياره للصفحة الرئيسية. أول نشر يحدد تاريخ النشر، ويحتفظ به أي نشر لاحق. |
| مباع، مؤجر | مخفي، ويبقى في لوحة التحكم كسجل. |
| مؤرشف | مخفي، ويمكن نشره مرة أخرى. |
حذف العقار يزيله من لوحة التحكم أيضًا. تعرض الصفحة الرئيسية المنازل الثلاثة المختارة تحت الإعدادات ثم الصفحة الرئيسية؛ وعندما لا يكون أي منها منشورًا، تعود إلى المنازل المنشورة المعلَّمة بأنها مميزة.
قائمة العقارات
- تبويبات الكل والمنشورة والمسودات مع أعدادها، وبحث بالعنوان (بأي من اللغتين) أو بالمرجع، ومرشحات للغرض والنوع والحالة، وستة عقارات في الصفحة.
- تنشر قائمة كل صف العقار، أو تلغي نشره (يعود مسودة)، أو تؤرشفه، أو تحذفه. الأرشفة والحذف يسألان أولًا.
- تُسرد العقارات بالأحدث تحديثًا أولًا.
محرر العقار
/en/dashboard/properties/new يضيف عقارًا و/en/dashboard/properties/<id>/edit يعدّل عقارًا. للمحرر أربعة تبويبات وبطاقة نشر بجانبها.
| التبويب | ما الذي يحتويه | الحدود |
|---|---|---|
| التفاصيل | العنوان والوصف المختصر والوصف باللغتين، والغرض، والنوع، والسعر، والمعلومات، والمرافق، وعلامة التميز | العنوان 160 حرفًا، والوصف المختصر 500، والوصف 5000 |
| الوسائط | صور تُفلت أو تُختار من الحاسوب، وتُرتَّب بالسحب، وإحداها تُعلَّم غلافًا | حتى 30، بصيغة JPEG أو PNG أو WebP |
| الموقع | المدينة باللغتين، والحي، والعنوان، ودبوس يُسحب على الخريطة أو يُعثر عليه ببحث الأماكن، ودقيق أو تقريبي | المدينة 80، والعنوان 255 |
| تحسين محركات البحث | عنوان تحسين الظهور ووصفه باللغتين، والمعرّف النصي للعنوان، والملاحظات الداخلية | عنوان تحسين الظهور 160، ووصفه 320، والملاحظات 2000 |
- تضبط بطاقة النشر أيًّا من الحالات الخمس، ويفتح «معاينة الإعلان» العقار على الموقع بعد نشره.
- ترسم الخريطة بلاطات OpenFreeMap ويستخدم بحث الأماكن خدمة Photon العامة، كلتاهما بدون مفتاح. وتوجّههما
NEXT_PUBLIC_MAP_STYLE_LIGHTوNEXT_PUBLIC_MAP_STYLE_DARKوNEXT_PUBLIC_PLACE_SEARCH_URLإلى مكان آخر. - تُرفع الصور فور إضافتها وتعيد واجهة API ترميزها، بعرض لا يتجاوز 1920 بكسل.
من يستطيع فعل ماذا
| الصلاحية | يتيح |
|---|---|
properties.view | رؤية كل عقار، بما فيها المسودات |
properties.create | إضافة العقارات |
properties.edit | تغيير التفاصيل والصور |
properties.publish | النشر وإلغاء النشر والأرشفة وتحديد العقار كمباع أو مؤجر |
properties.delete | حذف العقارات |
الدوران الأوليان، المدير العام والوكيل، يملكان الخمس كلها.
ما تتحقق منه واجهة API
- يُتحقق من كل قائمة مغلقة (الغرض والنوع والحالة والتأثيث والمساحة الخارجية والمرافق)، ويُرفض السعر أو العدد أو المساحة خارج نطاقه مع تسمية الحقل.
- تقبل واجهة API حتى 40 صورة في معرض واحد؛ ويتوقف المحرر عند 30.
- يُصنع معرّف نصي فريد من العنوان إذا لم يُعطَ، ولا يُمنح مرجع مرتين أبدًا.
- تقبل قائمة الموقع
purposeوtypeوneighborhoodوmin_priceوmax_priceوbedroomsوamenities(مفصولة بفواصل) وq، وترتّب بـnewestأوprice_ascأوprice_desc، وتقسّم الصفحات بـpageوpage_size(12 افتراضيًا، وأقصاه 24). تُرفض القيمة غير المعروفة في أي منها بدل تجاهلها.