نظام إدارة الزوار وبوابات الكمبوند بـ QR: المزايا والأمان والتكلفة
Marwan Ayman
مطوّر فل-ستاك ومهندس أتمتة

الإجابة المختصرة: نظام إدارة زوار الكمبوند بـ QR يتيح للمقيم أن يدعو ضيفًا، فيصدر للضيف تصريح QR محدد المدة، ويمسحه الحارس عند البوابة. النظام الجيد لا يضع أي بيانات شخصية داخل الرمز، ويوقّع كل تصريح بحيث يمكن التحقق من أصالته حتى مع ضعف الاتصال، ويسمح بإلغاء التصريح أو تحديد عدد مرات مسحه. تتراوح تكلفة منصة مخصصة من هذا النوع عادةً بين 1,500 و8,000 دولار، وتستغرق من أسبوعين إلى ستة أسابيع بحسب النطاق.
بنيتُ نظامًا بهذه الفكرة اسمه Palmera، وهو منصة SaaS متعددة المستأجرين للكمبوندات والمنتجعات والقرى المسوّرة. يشرح هذا المقال قرارات التصميم المهمة من واقع هذا المشروع، لتقيّم منتج أي مورّد أو تكتب طلبك لمطوّر بشكل صحيح.
ما هو نظام إدارة الزوار بـ QR في الكمبوند؟
الإجابة المختصرة: هو البرنامج الذي يحل محل قائمة الأوراق والاتصال الهاتفي بالمقيم وتصوير البطاقة عند البوابة. يربط أربع فئات: المقيمون الذين يدعون الضيوف، والملاك الذين يؤجرون وحداتهم، والحراس الذين يتحققون عند البوابة، والمديرون الذين يضعون القواعد ويراجعون ما حدث.
الطريقة القديمة تفشل في أماكن معروفة: الحارس يتصل بمقيم لا يرد، والزوار يقفون في طابور عند الحاجز، ولا أحد يستطيع لاحقًا أن يقول من دخل وبدعوة من. المطلوب من البرنامج دخول سريع، وقاعدة واضحة لمن يُسمح له، وسجل يصمد عند أي خلاف.
أحذّر من خطأ شائع منذ البداية. النظام القديم الذي حلّ محله Palmera كان يضع الرقم القومي للزائر نصًّا صريحًا داخل رمز QR. أي شخص يصوّر الرمز أو يمسحه يقرأ الرقم، ولا يملك الحارس وسيلة لإلغاء التصريح بعد إصداره. وكل قرار تصميم أدناه هو ردّ على ذلك.
كيف تعمل تصاريح QR الموقّعة والقابلة للإلغاء؟
الإجابة المختصرة: يحتوي الرمز على رمز موقّع فقط، لا على بيانات شخص. تتحقق البوابة من التوقيع، ثم يفحص الخادم هل التصريح ما زال صالحًا، وتُسجَّل كل مسحة في سجل تدقيق.
في Palmera يتكون الرمز من أربعة أجزاء: رقم الإصدار، ومعرّف التصريح، وتاريخ الانتهاء، وتوقيع HMAC. لا يوجد فيه اسم أو هاتف أو رقم هوية. فإذا صوّر أحدهم الرمز فلن يعرف شيئًا عن الزائر، وأي رمز معدَّل يفشل في فحص التوقيع.
الفحص على مرحلتين:
- فحص التوقيع عند البوابة. يتحقق الماسح من التوقيع دون اتصال، فيُرفض الرمز المعدَّل حتى مع ضعف الشبكة.
- فحص الخادم. يبحث الخادم عن معرّف التصريح ويطبّق القواعد التي لا يعرفها التوقيع: هل أُلغي، وهل هو داخل نافذة الصلاحية، وهل هو مخصص لهذه البوابة، وهل استنفد عدد المسحات المسموح. ثم يكتب المسحة في جدول التدقيق.
هذا الفصل مهم لأن التوقيع يثبت أن نظامك أصدر التصريح، لكن الخادم وحده يعرف إن كان قد أُلغي بعد ذلك. الخطوة غير المتصلة توقف التزوير، والخطوة المتصلة تفرض الإلغاء والحدود. أي تصميم يدّعي أنه يفعل كل شيء دون اتصال لا يستطيع إلغاء أي شيء.
| التصميم | بيانات شخصية في الرمز | قابل للإلغاء | حدود المسح | يعمل مع ضعف الإشارة |
|---|---|---|---|---|
| هوية أو رقم هاتف صريح في الرمز | نعم | لا | لا | نعم، لكنه غير آمن |
| رمز عشوائي ثابت يُبحث عنه في الخادم | لا | نعم | نعم | لا، يحتاج الخادم في كل مسحة |
| رمز موقّع مع قواعد الخادم (Palmera) | لا | نعم | نعم | فحص التوقيع يعمل دون اتصال |
ما الضوابط التي يجب أن يحملها كل تصريح؟
- نافذة زمنية. التصريح صالح من وقت إلى وقت، لا إلى الأبد.
- حد المسح. سائق التوصيل يدخل مرة واحدة، وضيف العائلة في عطلة الأسبوع قد يدخل عدة مرات.
- بوابة محددة. تصريح بوابة الخدمة لا يفتح البوابة الرئيسية.
- الإلغاء. يلغيه المقيم أو المدير فتفشل المسحة التالية.
- سجل التدقيق. كل مسحة تُكتب في جدول تستطيع مراجعته لاحقًا عندما يسأل أحد: من دخل؟

ما المزايا التي يحتاجها المقيم والمالك والحارس والمدير؟
الإجابة المختصرة: كل دور يحتاج واجهة صغيرة ومختلفة. قسّم Palmera الواجهات إلى لوحة عمليات للموظفين وبوابة منفصلة للملاك والمقيمين، لأن خلطهما يضعف كليهما.
| الدور | ماذا يفعل | الشاشات الأساسية |
|---|---|---|
| المقيم | يدعو الضيوف، ويرى تصاريحه، ويطلب الخدمات، ويحجز المرافق | البوابة: الدعوات والتصاريح والطلبات |
| المالك | كل ما يفعله المقيم، وإدارة إيجارات وحدته | البوابة: الوحدات والإيجارات |
| الحارس | يمسح التصاريح عند البوابة | ماسح البوابة |
| المدير والموظفون | يوافقون على الزيارات والإيجارات ويتابعون طلبات الخدمة والشكاوى والفواتير والإعلانات | اللوحة: الوحدات والزوار والبوابات والتقارير |
| المشرف العام | ينشئ الكمبوندات ويضبط حدود الباقة والهوية وأعلام الميزات | إدارة المستأجرين |
التحكم في الوصول يعتمد على صلاحيات الأدوار مع فحص الملكية. الدور وحده لا يكفي: قد يُسمح للمقيم برؤية التصاريح لكن تصاريحه هو فقط. وأدوار الإدارة تُجبَر على تسجيل دخول بخطوتين TOTP، لأن حساب الإدارة يستطيع إلغاء التصاريح واعتماد الإيجارات، فسرقة كلمة المرور هناك هي أسوأ سيناريو.
كيف تُدار الدعوات وقواعد الموافقة والإيجارات؟
الإجابة المختصرة: اجعل الموافقة قاعدة يضبطها الكمبوند لا خطوة ثابتة في الكود، واجعل تداخل الإيجارات مستحيلًا لا مجرد غير محتمل.
بعض الكمبوندات تسمح للمقيم بدعوة أي شخص فورًا، وبعضها يشترط موافقة المدير على زيارات معينة، مثل الضيوف المبيتين أو المقاولين. في Palmera تحمل دعوات الزوار حالة موافقة، فيرى الموظفون المعلّق ومن سجّل دخوله بالفعل.
الإيجارات حالة أصعب، وهي مهمة للمنتجعات والكمبوندات السياحية التي يؤجر ملاكها وحداتهم لفترات قصيرة. لا يجوز أن ينجح حجزان لنفس الوحدة في تواريخ متداخلة. في Palmera توجد مسارات إيجار بحالات موافقة وحماية من التداخل، فيُرفض أي حجز ثانٍ يصطدم بحجز معتمد.

تفاصيل كنت سأضيفها من البداية:
- خزّن الوحدات بسعتها وسعر الليلة وتوفرها، ليُفحص طلب الإيجار على بيانات حقيقية.
- اربط تصاريح ضيوف المستأجر بفترة الإيجار، فتتوقف عن العمل بانتهاء الإقامة.
- أنشئ كتالوج خدمات بتوجيه الطلبات، فيصل طلب الصيانة أو التنظيف إلى الفريق الصحيح لا إلى بريد مشترك.
أين تدخل إشعارات واتساب والرسائل النصية والبريد؟
الإجابة المختصرة: تمر الإشعارات عبر طبقة مشغّلات (drivers)، فيجرّب النظام قناة واحدة ثم ينتقل إلى غيرها عند الفشل. اختر القناة الأولى بسؤال السكان عن القناة التي يقرؤونها فعلًا؛ وفي أسواق كثيرة تكون واتساب.
يضم Palmera مشغّلات لـ WhatsApp Cloud API وSMS والبريد عبر SMTP والتنبيهات داخل التطبيق. الرسائل تخرج من قوالب، وهناك ترتيب بديل بين القنوات، ومهمة مجدولة لإعادة المحاولة تلتقط ما فشل. يصل المقيمَ إشعار واتساب عند الحاجة لموافقة، وإذا فشل التسليم تلحقه رسالة نصية أو بريد.
نقطتان عمليتان. الأولى أن رسائل واتساب للأعمال تعتمد على قوالب معتمدة مسبقًا وتحاسب Meta عليها بحسب الفئة، وهذه القواعد تتغير، فراجع أسعار Meta الحالية قبل وضع الميزانية. الثانية ألا تجعل البوابة تعتمد على إشعار: يجب أن يعمل التصريح سواء وصلت الرسالة أم لا. وإذا أردت مساعدة في هذا الربط فراجع خدمة تكامل واتساب للأعمال.
كيف تعزل عدة كمبوندات داخل نظام واحد متعدد المستأجرين؟
الإجابة المختصرة: ضع معرّف المستأجر على كل سجل، ومرّر كل استعلام عبر دالة واحدة تفلتر به. فإذا كتب المطورون استعلامات يدوية دون هذه الدالة فسينسى أحدهم فلتر يومًا ما وتتسرب بيانات كمبوند آخر.
يخدم Palmera مجتمعات كثيرة من قاعدة بيانات واحدة. لكل مستأجر هويته ولغته وأعلام الميزات وحدود باقته، فيعمل كمبوند بالعربية واتجاه RTL وآخر بالإنجليزية، وبميزات مختلفة. عزل المستأجرين مفروض عبر دالة نطاق واحدة تجعل كل استعلام مفلترًا بـ tenantId. وتغطي حزمة الاختبارات عزل المستأجرين والتفويض صراحةً، لأن هذا هو الخطأ الذي لا تحتمل اكتشافه في الإنتاج.
وهذا يعني أن شركة تطوير أو مجموعة عقارية تستطيع ضم كمبوند جديد بإنشاء مستأجر، لا بنشر نظام جديد. وأستخدم النمط نفسه في بناء منتجات SaaS والنسخ الأولية MVP.
كيف بنيتُ Palmera
الإجابة المختصرة: Next.js 16 بنمط App Router وServer Actions، وPrisma فوق PostgreSQL بنحو 40 نموذج بيانات، ودعم العربية والإنجليزية مع RTL. وسجل المستودع يُظهر 65 commit خلال نحو أسبوعين في يوليو 2026.
كان التحدي ثلاثيًّا: إزالة البيانات الشخصية من الرمز، وفصل بيانات كل مستأجر، وجعل البوابة تعمل مع ضعف الاتصال. وإلى جانب تصميم التصريح أعلاه، هذه القطع التي أصرّ عليها في أي تشغيل جاد:
- تحديد المعدل عبر Redis عند ضبطه.
- تشغيل آمن على عدة نسخ. التطبيق مصمم ليعمل خلف موزّع أحمال، مع نقاط صحة وجاهزية، وصورة Docker، وسكربت نسخ احتياطي.
- فحص أسرار يفشل بأمان عند الإقلاع. إذا غاب سر مطلوب يرفض التطبيق العمل بدل أن يعمل بشكل غير آمن بصمت.
- اختبارات للتصاريح وعزل المستأجرين والتفويض والإشعارات، إضافة إلى خط GitHub Actions.
- إضافات تشغيلية: فواتير قابلة للطباعة، وتخزين خاص للمستندات، وأداة اختيار موقع البوابات على خريطة Leaflet.

كم تكلفة منصة التحكم في دخول الكمبوند وكم تستغرق؟
الإجابة المختصرة: النسخة الأولى المركّزة بضعة آلاف من الدولارات وأسبوعان إلى ثلاثة؛ والمنصة الكاملة متعددة الكمبوندات والوحدات أكثر. نطاقي لمنتجات SaaS متعددة المستأجرين من 1,500 إلى 8,000 دولار، وللأنظمة المخصصة متعددة الأدوار من 1,500 إلى 7,000 دولار خلال ثلاثة إلى ستة أسابيع.
| النطاق | ما تحصل عليه | النطاق التقريبي | المدة |
|---|---|---|---|
| نظام تصاريح لكمبوند واحد | دعوات وتصاريح QR موقّعة وماسح بوابة وسجل تدقيق بلغة واحدة | 1,500 إلى 2,500 دولار | 2 إلى 3 أسابيع |
| منصة متعددة المستأجرين، المرحلة الأولى | ما سبق مع المستأجرين والأدوار وخطوتين للإدارة والهوية وحدود الباقات | 2,500 إلى 5,000 دولار | 2 إلى 4 أسابيع |
| حزمة عمليات كاملة | إيجارات وطلبات خدمة وفواتير ومحرك واتساب ورسائل وبريد وتقارير وعربي وإنجليزي مع RTL | 5,000 إلى 8,000 دولار | 4 إلى 6 أسابيع |
هذه تقديرات ضمن نطاقاتي المنشورة وليست عروض أسعار ثابتة. يُظهر سجل المستودع أن Palmera استغرق نحو أسبوعين، لكنه كان منتجًا بنيته لنفسي؛ أما مشروع العميل فيضيف الاكتشاف والمحتوى وجولات المراجعة. وتتحدد المدة غالبًا بقواعد الموافقة والتكاملات واللغات.
وإن أردت نقطة بداية بسعر ثابت فباقة MVP Sprint بسعر 2,499 دولارًا لسير عمل أساسي واحد مع دورين للمستخدمين خلال 21 يومًا، وهي مدرجة في صفحة الباقات. والكمبوند يحتاج أدوارًا أكثر من ذلك، فاعتبر الباقة شريحة أولى. ويمكنك الحصول على رقم سريع من حاسبة تكلفة التطبيق. أما النطاقات الأكبر فأحددها عبر ورشة اكتشاف قصيرة، وهكذا تبدأ الأنظمة المخصصة للأعمال.
التكاليف المستمرة صغيرة لكنها حقيقية: الاستضافة وقاعدة PostgreSQL ومزوّد الرسائل النصية ورسوم واتساب لدى Meta، وباقة صيانة شهرية (99 دولارًا في الشهر) إن أردت أن أتولى التحديثات والنسخ الاحتياطي.
إذا كنت تدير كمبوندًا أو تطوّره وتريد استبدال القوائم الورقية والمكالمات بتصاريح قابلة للإلغاء والتدقيق، أرسل لي عدد البوابات والأدوار والقنوات التي يستخدمها سكانك، وسأرد عليك بنطاق عمل ونطاق سعر ومدة تنفيذ.




