انتقل إلى المقال

Hollinaلوحة تحكم الحجوزات

لوحة تحكم الحجوزات

ما تفعله لوحة تحكم الفريق المضيف: النظرة العامة، وصفحات الشريط الجانبي، وإعدادات الشركة، والإشعارات، وتسجيل الدخول.

لحزمة الحزمة الكاملة

الصفحات

كل صفحة موجودة بالإنجليزية تحت /en وبالعربية تحت /ar. تفتح لوحة التحكم على /en/dashboard بعد تسجيل الدخول في /en/auth/login. لا يظهر كل عنصر في الشريط الجانبي إلا عندما يملك المسؤول المسجّل صلاحيته.

عنصر الشريط الجانبيالمسارالصلاحيةوظيفته
نظرة عامة/en/dashboardoverview.viewإشغال هذا الشهر وإيراداته، ووصول اليوم ومغادرته، وما ينتظر.
التقويم/en/dashboard/calendarcalendar.viewشهر من الليالي، وصف لكل إقامة، مع نافذة التواريخ المحظورة وسجل الحظر.
الحجوزات/en/dashboard/bookingsbookings.viewالحجوزات مع تبويبات للحالة والبحث والمرشحات، وصفحة لكل حجز.
الإقامات/en/dashboard/staysstays.viewالإقامات مع تبويبات للحالة والبحث والمرشحات، ومحرر الإقامة.
الاستفسارات/en/dashboard/inquiriesinquiries.viewأسئلة الضيوف من الموقع، مع لوحة تفاصيل.
التقييمات/en/dashboard/reviewsreviews.viewما كتبه الضيوف بعد الإقامة؛ انشر كل تقييم أو أخفِه.
المساعد الذكي/en/dashboard/ai-assistantai_chat.useمحادثة تجيب من بيانات الشركة وتتصرف بناءً عليها.
الإعدادات/en/dashboard/settingsلا شيء (لكل تبويب صلاحياته)الشركة، والصفحة الرئيسية، والوجهات، والمدفوعات، والملف الشخصي، والأمان.
إدارة المسؤولين/en/dashboard/admins-managementadmins.viewحسابات الفريق وأدوارهم.
أدوار المسؤولين/en/dashboard/admins-rolesroles.viewالأدوار والصلاحيات.

تجد لوحة بحث في الشريط العلوي الصفحات والإقامات والحجوزات والاستفسارات، ويحمل الجرس الإشعارات. وأي صفحة تُفتح بعنوانها دون الصلاحية تعرض «لا تملك صلاحية الوصول إلى هذه الصفحة.» بدلًا من ذلك، وهو الرفض نفسه الذي تعطيه واجهة API.

النظرة العامة

  • إشغال هذا الشهر وإيراداته وحجوزاته، ووصول اليوم ومغادرته، والضيوف المقيمون حاليًا، بالمنطقة الزمنية للشركة.
  • الإيرادات والحجوزات والإشغال شهرًا بشهر خلال آخر اثني عشر شهرًا، وأفضل الإقامات، والحجوزات حسب الحالة، وبلدان الضيوف.
  • وصول اليوم ومغادرته، والحجوزات قيد الانتظار، وآخر سبعة حجوزات، وأحدث التقييمات، والاستفسارات المفتوحة، وكل منها يرتبط بصفحته.
  • يُحسب كل رقم من الحجوزات حين تطلبه الصفحة، فلا يختلف أبدًا عن التقويم.

الحجوزات

  • مرشح لكل حالة مع عددها، وبحث بالمرجع أو اسم الضيف، ونطاق تاريخ الوصول، الأحدث أولًا، عشرة في الصفحة.
  • صفحة لكل حجز، على /en/dashboard/bookings/<reference>: الإقامة، والضيف، وتفصيل السعر، والدفع، والجدول الزمني، وملاحظة داخلية لا يراها الضيف، والخطوات التي يمكن اتخاذها: تأكيد، وتسجيل الوصول، وإكمال، وإلغاء.
  • الخطوة التي لا يستطيع الحجز اتخاذها الآن تظهر معطّلة مع سببها، مثل حجز بالبطاقة لم يصل دفعه، بدلًا من إخفائها.

الإعدادات

في الإعدادات ستة تبويبات. الملف الشخصي والأمان يخصان المسؤول المسجّل؛ والباقي يحتاج إلى صلاحية للعرض وأخرى للحفظ.

التبويبالصلاحيةما يضبطه
الشركةsettings.view، وsettings.edit للحفظاسم الشركة وشعارها النصي ووصفها باللغتين، وبريد التواصل والهاتف وسطر العنوان، والعملة (USD)، والمنطقة الزمنية (America/New_York)، وأوقات الوصول والمغادرة الافتراضية على شبكة نصف ساعة، وتوقيع الرسائل إلى الضيوف.
الصفحة الرئيسيةsettings.view، وsettings.edit للحفظالإقامة في واجهة الموقع، والإقامات الأربع المختارة بالترتيب (الإقامات المنشورة فقط)، والأسئلة التي تجيب عنها الصفحة الرئيسية، باللغتين.
الوجهاتdestinations.view، والإنشاء أو التعديل أو الحذفاسم كل منطقة وشعارها ووصفها باللغتين، والمعرّف النصي، وصورة الغلاف، وترتيب الفرز، وهل تُعرض. لا يمكن حذف وجهة ما زالت لها إقامات.
المدفوعاتsettings.view، وsettings.edit للحفظهل Stripe وPayPal مضبوطان على واجهة API وهل مفاتيحهما تجريبية أم حقيقية، وهل المحاكي قيد الاستخدام، ومفتاح الدفع عند الوصول، وسياسة الإلغاء التي يقرؤها الضيوف.
الملف الشخصيلا شيء: يحفظ كل مسؤول ملفه بنفسهصورة المسؤول المسجّل واسمه الأول واسم عائلته وبريده وهاتفه. تُغيَّر بيانات تسجيل الدخول تحت الأمان لا هنا.
الأمانلا شيءبيانات تسجيل دخول المسؤول المسجّل.

لا تُعرض مفاتيح الدفع نفسها هنا ولا تُعدَّل أبدًا: هي في .env الخاص بواجهة API. ولا يُرفع شعار العلامة هنا أيضًا: يأتي من ملفات العلامة في المشروع.

الإشعارات

  • يُخطَر كل مسؤول يستطيع عرض الحجوزات حين يُدفع حجز، سواء سوّاه webhook من Stripe أو PayPal أو التقاط PayPal أو المحاكي؛ وحين ينتظر حجز بالدفع عند الوصول أن يؤكده المضيف؛ وحين يُلغى حجز، بجملة تقول هل أنهاه الضيف أم الفريق أم حجز غير مدفوع انتهت مهلته. ويُخطِر السؤال الجديد كل مسؤول يستطيع عرض الاستفسارات، والتقييم الجديد كل مسؤول يستطيع عرض التقييمات.
  • تصل مباشرة، مع رسالة قصيرة على الشاشة، ويسرد الجرس أحدث 30. يُحفظ كل إشعار 30 يومًا، إلى أن يُقرأ أو يُزال.
  • لا يُرسل شيء بالبريد الإلكتروني: لا توجد خدمة بريد في القالب.
  • يستخدم الاتصال المباشر NEXT_PUBLIC_WEBSOCKET_BASE_URL، وهو عنوان واجهة API بدون /api، وتقبله واجهة API من FRONTEND_URL. وإعادة التحميل تعرض دائمًا أحدث الصفوف؛ والتحديثات المباشرة وحدها تعتمد على الاتصال.

تسجيل الدخول

  • يبدأ نموذج تسجيل الدخول فارغًا. تذكر هذا الجهاز يُبقي الجلسة بعد إغلاق المتصفح، حتى ينتهي رمز واجهة API (سبعة أيام افتراضيًا)؛ وإذا أزلت العلامة تنتهي الجلسة بإغلاق المتصفح أو التبويب.
  • البريد الخاطئ وكلمة المرور الخاطئة يظهران بالرسالة نفسها، «بريد إلكتروني أو كلمة مرور غير صحيحة»، فلا يخبر النموذج أحدًا أي العناوين لها حساب. وبعد عشر محاولات فاشلة خلال خمس عشرة دقيقة من عنوان واحد يقول النموذج حاول لاحقًا.
  • عندما ترفض واجهة API جلسة (رمز منتهي أو ملغى)، تسجّل لوحة التحكم الخروج وتفتح صفحة تسجيل الدخول. ويصل تغيير أدوار المسؤول إليه وهو مسجّل الدخول.
  • تعرض صفحة تسجيل الدخول عدد الإقامات التي تنشرها الشركة وعدد الوجهات التي تعرضها، مقروءًا من GET /api/stays وGET /api/destinations العامين في واجهة API، بجوار اللغات التي تشحنها لوحة التحكم؛ وما دامت واجهة API لا يمكن الوصول إليها تعرض اللغات فقط.
  • يضم رأس الصفحة الشعار النصي و«العودة إلى الموقع» ومبدّل اللغة ومبدّل المظهر بين «النظام» و«فاتح» و«داكن»؛ ويضم تذييلها سطر حقوق النشر ورابطًا إلى صفحة الخصوصية في الموقع. ويفتح الشعار النصي و«العودة إلى الموقع» ورابط الخصوصية العنوان المضبوط في NEXT_PUBLIC_SITE_URL، وما دام فارغًا يُحذف الرابطان ولا يرتبط الشعار النصي بشيء.

كيف تترابط أجزاء كود لوحة الإدارة

مُضمَّن مع مشترياتك. سجّل الدخول لقراءته، أو افتحه في ملف التنزيل.

بنية الكود، وطريقة إضافة صفحة وترجمة وخدمة API.

توقفت عند خطوة؟

ابحث عن الحل قبل أن تبدأ من جديد.

حل المشكلات

تفضيلات ملفات تعريف الارتباط

نستخدم ملفات تعريف الارتباط لتعزيز تجربة التصفح الخاصة بك وتحليل حركة المرور على الموقع وتخصيص المحتوى. بالنقر على "قبول الكل"، فإنك توافق على استخدامنا لملفات تعريف الارتباط للتحليلات والإعلانات المخصصة.