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

المقهى

السابقالتالي

مقهى سبيس — الطلب بالرمز من المقعد، ونقطة بيع للكاونتر، وشاشة للبار، وحسابات للأعضاء.

يدير سبيس مقهى داخل المبنى. يطلب الضيوف من هواتفهم بمسح رمز QR عند مقاعدهم، ويسجّل الكاونتر طلبات الحضور المباشر من نقطة البيع، ويعمل البار من شاشته الخاصة، ويستطيع الأعضاء فتح حساب وتسويته لاحقاً.

من يفعل ماذا

الشاشةالمسارالأدوار
القائمة (هدف الرمز)/{lang}/cafe?spot=<code>الضيوف
إتمام الطلب/{lang}/cafe/checkoutالضيوف
متابعة الطلب/{lang}/cafe/order/<token>الضيوف
طابور الكاونتر/{lang}/dashboard/cafeالمدير، الكاشير
نقطة البيع (طلب جديد)/{lang}/dashboard/cafe/newالمدير، الكاشير
شاشة البار/{lang}/dashboard/cafe/barكل الفريق
حسابات الأعضاء/{lang}/dashboard/cafe/tabsالمدير، الكاشير
القائمة والإضافات والمقاعد والإعدادات/{lang}/dashboard/cafe/menu …المدير
المبيعات/{lang}/dashboard/cafe/salesالمدير

دورة الطلب

الإرسال

يبدأ طلب الرمز بحالة NEW وينتظر تأكيد الكاونتر — والتأكيد هو الحماية من الطلبات العبثية. أما طلب نقطة البيع فيبدأ CONFIRMED.

التحضير

ينقله البار CONFIRMED → PREPARING → READY. يتابع الضيف التغيير في صفحة المتابعة (تحديث كل 10 ثوانٍ؛ شاشات الفريق تتحدث كل 5 ثوانٍ وتنبّه بصوت عند وصول طلب جديد).

التسليم

READY → COMPLETED عند الاستلام من الكاونتر أو التوصيل للمقعد. ويمكن إلغاء أي طلب مفتوح CANCELLED مع ذكر السبب.

آلة الحالات ومن يحق له نقل الطلب في src/lib/cafe/status.ts. كل كتابة مشروطة بالحالة التي رآها الموظف، فلا تتخطى نقرتان متزامنتان أي خطوة.

المال

  • المبالغ بالجنيه السوداني الصحيح (Int، SDG) — لا أعداد عشرية.
  • الأسعار من قاعدة البيانات فقط. تعرض السلة الإجمالي بنفس دالة computeLine التي يستخدمها الخادم (src/lib/cafe/pricing.ts).
  • يحفظ الطلب لقطة من أسماء الأصناف (عربي وإنجليزي) والإضافات والأسعار؛ تعديل القائمة لا يغيّر التاريخ.
  • إعادة إرسال نفس الطلب تعيد الطلب نفسه، فكل محاولة تحمل مفتاح عدم تكرار.

الدفع

حالة الدفع منفصلة عن حالة الطلب — إكمال الطلب لا يعني أنه مدفوع.

الطريقةكيف تعمل
كاشيُدفع عند الكاونتر ويسجّله الكاشير مدفوعاً.
بنككيحوّل الضيف إلى حساب المقهى في بنكك (يظهر عند الطلب وفي صفحة المتابعة) ويمكنه كتابة رقم العملية؛ يتحقق الكاشير ويسجّله مدفوعاً.
حساب العضويُسجَّل على الحساب المفتوح برقم هاتف الضيف، ويبقى غير مدفوع حتى تسوية الحساب بدفعة كاش أو بنكك واحدة.

القائمة

القائمة المبدئية مؤقتة: مشروبات ووجبات خفيفة معتادة في مقاهي بورتسودان، كلها غير منشورة وبسعر 0. لا يصل شيء للضيوف حتى يُحدَّد السعر ويُنشر الصنف من الإدارة ← قائمة المقهى. لكل صنف مفتاحان: منشور (ظاهر في القائمة) ومتوفر (موجود الآن — ويستطيع البار تغييره أثناء اليوم).

pnpm cafe:seed     # إنشاء فقط؛ آمن للتكرار ولا يغيّر أي تعديل

المقاعد ورموز QR

كل مقعد أو منطقة (المساحة المشتركة، قاعة الاجتماعات، قاعة التدريب…) هو CafeSpot برمز قصير. يفتح رمز QR الخاص به /ar/cafe?spot=<code>، فتعرف طلبات «توصيل لمكاني» وجهتها. تطبع الإدارة ← قائمة المقهى ← المقاعد والرموز بطاقات جاهزة للقص.