الإقامات ومحرر الإقامة
ما تحتويه الإقامة، وكيف يضيف الفريق إقامة ويعدّلها في لوحة التحكم، وصورها وأسعارها، وكيف يحدد النشر ما يعرضه الموقع.
لحزمة الحزمة الكاملة
ما تحتويه الإقامة
| الجزء | القيم |
|---|---|
| النصوص، بالإنجليزية والعربية | العنوان (160 حرفًا)، والوصف القصير (500)، والوصف (5000)، وتلميح الموقع الذي يقرؤه الضيوف بدل العنوان (500)، وحتى 20 قاعدة للمنزل. الإنجليزية مطلوبة للعنوان. |
| النوع | villa أو apartment أو cabin أو chalet أو loft أو cottage، ولكل منها أيقونتها في الموقع |
| الوجهة | إحدى وجهات الشركة |
| السعة | غرف النوم والأسرّة والحمامات وأقصى عدد ضيوف تتسع لهم، ومساحة اختيارية بالمتر المربع |
| الأسعار | سعر الليلة ورسوم التنظيف، بالدولار الأمريكي الكامل، والحد الأدنى لعدد الليالي |
| الوصول | أوقات الوصول والمغادرة، 15:00 و11:00 افتراضيًا، من إعدادات الشركة |
| المرافق | أي من الـ 18 التي تنشئها التعبئة الأولية: Wi-Fi، مطبخ، مسبح، جاكوزي، موقف سيارات، تكييف، تدفئة، غسالة، مساحة عمل، مدفأة، إطلالة على البحر، إطلالة على الجبل، حديقة، شواء، يسمح بالحيوانات الأليفة، شاحن سيارات كهربائية، صالة رياضية، سرير أطفال |
| الصور | حتى 30، بالترتيب الذي يعرضه الموقع؛ والأولى هي صورة البطاقة والغلاف |
| الحالة | draft أو published |
| داخلي | مرجع يُعطى بالترتيب (S001 وS002 وهكذا)، ومعرّف نصي للعنوان مصنوع من العنوان، وعلامة إبراز في الصفحة الرئيسية، وملاحظات لا يعرضها الموقع أبدًا |
لكل إقامة سعر ليلة واحد: لا أسعار موسمية أو لنهاية الأسبوع، ولا ضرائب أو رسوم خدمة. عرض السعر هو سعر الليلة في عدد الليالي مضافًا إليه رسوم التنظيف مرة واحدة، ويحتفظ الحجز بالأرقام التي أُجري بها، فتغيير السعر لاحقًا لا يغيّر ما وافق الضيف على دفعه.
النشر وما يعرضه الموقع
| الحالة | في الموقع |
|---|---|
| مسودة | مخفية، وتجيب بأنها غير موجودة في كل مسار عام. تبدأ كل إقامة جديدة هنا. |
| منشور | مدرجة وقابلة للبحث والحجز وفي خريطة الموقع ويمكن اختيارها للصفحة الرئيسية. أول نشر يضبط تاريخ نشرها، ويحتفظ به أي نشر لاحق. |
- يُرفض النشر إلى أن يكون للإقامة ثلاث صور («أضف ثلاث صور قبل نشر مكان الإقامة.») وعنوانها ووصفها القصير ووصفها وتلميح موقعها باللغتين.
- لإزالة إقامة من الموقع أعدها إلى المسودة: تختفي من كل صفحة عامة وتحتفظ بحجوزاتها وتقييماتها وسجلها. ليس في لوحة التحكم زر حذف. ولا يحذف مسار الحذف في واجهة API إقامة إلا حين لا يحجز أي من حجوزاتها ليالي؛ وأي حجز غير ملغى، ومنه المكتمل، يبقيها («ما زالت هناك حجوزات غير ملغاة على مكان الإقامة هذا، لذلك لا يمكن حذفه.»).
- تُختار إقامة الواجهة والإقامات المختارة للصفحة الرئيسية في الإعدادات ثم الصفحة الرئيسية، من بين الإقامات المنشورة.
قائمة الإقامات
- أعداد كل الإقامات والمنشورة والمسودات، وبحث باسم الإقامة أو مرجعها، ومرشحات للحالة والنوع والوجهة، والأحدث تحديثًا أولًا.
- يفتح زر «افتح» في كل صف محرر الإقامة، ويبدأ «أضف إقامة» إقامة جديدة.
- ليس في لوحة التحكم زر حذف: تغادر الإقامة الموقع بالعودة إلى المسودة. ومسار الحذف في واجهة API موجود لأدوات المطور الخاصة.
محرر الإقامة
/en/dashboard/stays/new يضيف إقامة، تُحفظ كمسودة، و/en/dashboard/stays/<id> يغيّر واحدة. يضم المحرر أجزاءه في صفحة واحدة، مع بطاقة نشر بجانبها.
| الجزء | ما الذي يحتويه |
|---|---|
| المحتوى | العنوان والوصف القصير والوصف باللغتين، والمعرّف النصي للعنوان |
| النوع والوجهة | نوع المكان، ووجهته، وتلميح الموقع باللغتين |
| السعة | الضيوف وغرف النوم والأسرّة والحمامات والمساحة |
| التسعير والوصول | سعر الليلة، ورسوم التنظيف، والحد الأدنى من الليالي، وأوقات الوصول والمغادرة |
| المرافق | قائمة مرجعية بالمرافق |
| قواعد المنزل | قائمة من القواعد، كل منها باللغتين، تُضاف وتُزال بزرَّي «إضافة» و«إزالة» |
| الصور | تُرفع من الحاسوب وتُرتَّب بـ «قدّم» و«أخّر»؛ الموضع الأول هو الغلاف |
| النشر | حفظ، ونشر أو إعادة إلى المسودة، وعلامة الإبراز في الصفحة الرئيسية، و«عرض الإقامة» بعد نشرها |
تُرفع الصور فور إضافتها وتعيد واجهة API ترميزها بصيغة JPEG، بعرض أقصاه 1920 بكسل، مع نسخة أصغر لبطاقات الإقامات.
يتحقق المحرر من السعة كما تفعل واجهة API: غرف النوم 0 أو أكثر، للاستوديو؛ والأسرّة والحمامات والضيوف 1 أو أكثر؛ والمساحة، التي يمكن تركها فارغة، 1 أو أكثر عند إدخالها. وليس فيه حقول لموقع الخريطة أو عنوان SEO ووصفه ولا يرسلها أبدًا، فيُبقي الحفظ القيم التي تحملها الإقامة أصلًا.
من يستطيع فعل ماذا
| الصلاحية | يتيح |
|---|---|
stays.view | رؤية كل الإقامات، ومنها المسودات |
stays.create | إضافة الإقامات |
stays.edit | تغيير التفاصيل والأسعار والصور |
stays.publish | النشر وإلغاء النشر |
stays.delete | حذف الإقامات عبر مسار الحذف في واجهة API (ليس في لوحة التحكم زر حذف) |
الدوران المضافان، Super Admin وManager، يملكان الخمس كلها.
ما تتحقق منه واجهة API
- يُتحقق من النوع والوجهة وكل مفتاح مرفق مقابل قوائمها، ويُرفض أي عدد أو مبلغ دون حده الأدنى مع تسمية الحقل: غرف النوم قد تكون 0، وكل عدد آخر يبدأ من 1 (سرير وحمام وضيف وليلة على الأقل، وسعر ليلة دولار واحد). والمساحة اختيارية، ومتر مربع واحد على الأقل عند إدخالها؛ ورسوم التنظيف قد تكون 0.
- يُصنع المعرّف النصي فريدًا من العنوان إذا لم يُعطَ، ويُرفض معرّف مستخدم من قبل، ولا يُمنح مرجع مرتين أبدًا.
- تقبل واجهة API أيضًا موقع الإقامة على الخريطة (
latitudeوlongitude) وعنوان SEO ووصفه باللغتين وتعليقات الصور؛ وتملؤها التعبئة الأولية للإقامات التجريبية، ولا ترسم صفحة الإقامة خريطتها إلا حين يُضبط موقع. ولا يرسل محرر الإقامة موقع الخريطة ولا نصوص SEO أبدًا، فتُضبط عبر واجهة API، ولا يغيّرها الحفظ من المحرر. - تقبل قائمة الموقع
destination(المعرّف النصي) وcheckInوcheckOut(YYYY-MM-DD، كلاهما أو لا شيء) وguestsوtypeوsort(recommendedوprice_ascوprice_descوrating)، وتتصفح بـpageوpage_size(6 افتراضيًا، 24 على الأكثر). وتُرفض قيمة غير معروفة في أي منها بدل تجاهلها.