الطلبات
تبويب الطلبات هو اللوحة المباشرة لكل طلب كافتيريا يرسله عملاؤك. يستعلم من السحابة كل 3 ثوانٍ ويعرض النشاط الجديد مع إشعار سطح المكتب وتنبيه صوتي وشارة لعدد الطلبات المعلقة في رأس التبويب.
التخطيط
تتكون صفحة الطلبات من منطقتين:
| المنطقة | الغرض |
|---|---|
| علامات تبويب الحالة | التصفية حسب حالة الطلب: الكل، تم الإرسال، تم التأكيد، قيد التحضير، جاهز، تم التقديم. تُستبعد الطلبات الملغاة والمستردة افتراضيًا. |
| قائمة الطلبات | بطاقة واحدة لكل طلب، مرتبة من الأحدث إلى الأقدم. تعرض كل بطاقة رمز الطاولة، ورقم هاتف الزبون إن وُجد، والعناصر، والإجماليات، وأزرار الإجراءات. |
الاستعلام المباشر
تستعلم لوحة الطلبات من /v1/cafeteria/admin/orders/poll كل 3 ثوانٍ. وكل طلب جديد يسبب ما يلي:
- إشعار سطح مكتب يتضمن رمز الطاولة وعدد العناصر.
- تنبيهًا صوتيًا على سماعات الخادم إذا كانت الإشعارات الصوتية مفعلة في الإعدادات > الكافتيريا.
- زيادة شارة عدد الطلبات المعلقة في تبويب الطلبات.
- طباعة تلقائية للإيصال إذا كانت الطابعة مضبوطة على الطباعة التلقائية عند الطلب الجديد.
تبقى الشارة ظاهرة حتى يُنقَل كل طلب بحالة placed أو confirmed إلى حالة لاحقة أو يُستبعد. تظهر الشارة على مستوى قسم الكافتيريا كاملًا في الشريط الجانبي؛ لست بحاجة إلى إبقاء تبويب الطلبات مفتوحًا لرؤيتها.
دورة حياة الطلب
يمر كل طلب عبر تسلسل محدد من الحالات.
| الحالة | المعنى |
|---|---|
| placed | قدّم الزبون الطلب. لم يتخذ الموظف أي إجراء بعد. |
| confirmed | أكّد الموظف الطلب. |
| preparing | يعمل المطبخ على الطلب. |
| ready | الطلب جاهز للتقديم أو الاستلام. |
| served | تم تسليم الطلب إلى الزبون. |
| cancelled | أُلغي الطلب بواسطة الموظف. يُحذف من العروض المباشرة لكنه يبقى في السجل. |
| refunded | تم إصدار استرداد بعد الدفع. |
يعرض شريط الإجراءات في كل بطاقة الطلب الحالة التالية المتاحة. التقدّم يتم بنقرة واحدة. تعتمد الواجهة على نمط التحديث المتفائل: تُعرض الحالة الجديدة فورًا، وإذا رفض الخادم التغيير تعود الحالة إلى سابقها وتظهر رسالة خطأ.
حالة كل عنصر
قد تحتوي بعض الطلبات على عدة عناصر تنتهي في أوقات مختلفة. على سبيل المثال قد يصبح البرغر جاهزًا قبل البيتزا. تتيح لك حالة كل عنصر تتبع كل سطر بشكل مستقل.
لكل عنصر قائمة منسدلة خاصة به بخمس خيارات: placed، preparing، ready، served، cancelled. ويحمل كل عنصر أيضًا ثلاثة طوابع زمنية:
created_atيُضبط عند وصول الطلب.ready_atيُضبط أول مرة يدخل فيها العنصر حالةready.served_atيُضبط عندما يدخل العنصر حالةserved.
تُظهر قائمة الزبون شارة بجانب كل سطر حتى يرى الزبون العناصر الجاهزة أو التي في الطريق.
إلغاء طلب
- افتح بطاقة الطلب.
- انقر إلغاء.
- أكّد في النافذة التي تظهر.
- ينتقل الطلب إلى
cancelled. يبقى في السجل لكنه يختفي من العرض المباشر الافتراضي.
الإلغاء إجراء على مستوى الطلب بالكامل. لإلغاء سطر واحد فقط، غيّر حالة العنصر نفسه إلى cancelled.
التسوية (تصفية الحساب)
تغلق التسوية كل طلب مفتوح على طاولة واحدة بخطوة واحدة. استخدمها عندما يغادر الزبون ويريد دفع كامل الفاتورة.
- افتح الطاولة من صفحة الطاولات أو من قائمة إجراءات مخطط الطوابق.
- انقر تصفية الحساب.
- يسرد مربع الحوار كل طلب على الطاولة ليس في حالة
servedبالفعل. - اختر طريقة الدفع. الخيارات هي: نقدي، بطاقة، عبر الإنترنت، أخرى.
- أكّد.
ينفذ الخادم الإجراءات التالية بشكل ذرّي:
- ينتقل كل طلب مفتوح على الطاولة إلى
servedمعpayment_status=paid. - يُنشأ سجل
cafeteria_settlementsيحتوي على المبلغ الإجمالي وطريقة الدفع ووقت الإنشاء. - يُنشأ سجل تدقيق يربط طلبات التسوية بهذه العملية.
- تنتهي صلاحية رمز أمان الطاولة حتى يصبح QR غير صالح.
- تعود الطاولة إلى
idle.
إذا اخترت "عبر الإنترنت" كطريقة للدفع، تُعلَّم التسوية على أنها مدفوعة عبر الإنترنت. لا تُنشأ أي عملية Stripe من خلال هذا الإجراء. أما الدفع عبر الإنترنت من جانب الزبون فيتم عند تقديم الطلب؛ بينما يسجّل إجراء التسوية حركة الأموال لأغراض الحسابات.
مؤقت وقت الفتح
تحمل كل طاولة الطابع الزمني opened_at الذي يُضبط عند جلوس الزبون. تعرض صفحات مخطط الطوابق والطاولات مؤقتًا مباشرًا منذ تلك اللحظة. يساعد هذا الموظفين على ملاحظة الطاولات التي ظلت نشطة مدة طويلة من دون طلبات، أو الطاولات التي قد تقترب من نهاية الجلسة.
يعاد ضبط المؤقت إلى الصفر عند إغلاق الطاولة أو تصفية الحساب.
عرض وقت التحضير الديناميكي
عندما يكون وقت التحضير الديناميكي نشطًا لمنتج ما، تعرض بطاقة الطلب التقدير بجانب اسم العنصر. يرى الموظفون التقدير حتى عندما يكون مفتاح "إظهار وقت التحضير في القائمة" متوقفًا عند الزبائن.
يتحدث التقدير في كل مرة يُقدَّم فيها طلب جديد وكل مرة يكتمل فيها طلب. يتعلم النظام من سرعة المطبخ الفعلية.
سلوك إشعار الطلب الجديد
تُطلق الإشعارات على مستوى التطبيق بالكامل، وليس على مستوى التبويب. يعني هذا أنك تتلقى التنبيهات حتى عندما تتصفح جزءًا آخر من خادم HandyCafe، مثل لوحة الإدارة أو الإعدادات. يمكن تفعيل أو تعطيل التنبيه الصوتي من الإعدادات > الكافتيريا > الإشعار الصوتي.
تتطلب إشعارات سطح المكتب أن يمنح نظام التشغيل HandyCafe إذن الإشعارات. إذا لم يظهر إشعار بعد طلب جديد، فتحقق من إعدادات الإشعارات في نظام التشغيل.
نصائح
- استخدم علامات تبويب الحالة لتقسيم العمل. شاشة مفلترة على
preparingتعرض قائمة المطبخ، وشاشة أخرى علىreadyتعرض ما يحتاج إلى تسليم. - تعد تصفية الحساب أسرع طريقة لإغلاق طاولة. استخدم الإلغاء فقط عند وجود خطأ صريح في طلب محدد.
- درّب الموظفين على تحديث الحالة باستمرار. يتعلم مقدر وقت التحضير الديناميكي من هذه الإشارات، لذا فإن تخطي الحالات يقلل من الدقة.
- راجع الطلبات الملغاة والمستردة دوريًا من نقطة النهاية الإدارية لاكتشاف أنماط أخطاء الموظفين.