قائمة الزبون
قائمة الزبون هي صفحة الويب العامة على handy.cafe/{your-slug}. يصل إليها العملاء عبر مسح رمز QR الموجود على طاولتهم. يشرح هذا الدليل رحلة الزبون من البداية إلى النهاية حتى تتمكن من شرحها للموظفين والتخطيط للإطلاق.
بنية الرابط
لكل طاولة رابط فريد بالشكل handy.cafe/{cafe-slug}/{table-code}. ويشفّر رمز QR هذا الرابط بالإضافة إلى رمز قصير الأجل يثبت أن الملصق أصلي. عندما يمسح الزبون رمز QR:
- يفتح هاتفه الرابط في المتصفح الافتراضي.
- تحل الصفحة الـ slug ورمز الطاولة عبر واجهة السحابة.
- إذا كانت الطاولة
out_of_order، تعرض الصفحة رسالة بعدم الإتاحة. - إذا كانت الطاولة
idle، تشرح الصفحة أن الموظفين لم يجلسوا الزبون بعد وتطلب منه طلب المساعدة. - إذا كانت الطاولة
in_use، تطلب الصفحة رمز الأمان المكوّن من 6 أرقام.
التحقق من رمز الأمان
يضمن رمز الأمان أن الزبون الجالس فعليًا فقط هو من يمكنه إرسال الطلبات. كما يمنع من شاهد رمز QR في صورة أو من خارج مقهاك من تقديم طلبات احتيالية.
بعد إدخال الرمز:
- يتحقق API من الرمز مقابل القيمة المجزأة المخزنة على الطاولة.
- إذا كان صحيحًا، تُنشأ جلسة ويُعاد رمز.
- يُخزَّن الرمز في ملف تعريف ارتباط (
hc_menu_session). كما يُحفظ بديل Bearer token في التخزين المحلي للجهاز. هذا ضروري على iPhone Safari، الذي قد يحظر ملفات تعريف ارتباط الطرف الثالث في بعض الإعدادات. - يُعاد توجيه الزبون إلى القائمة.
تظل الجلسة صالحة لمدة 24 ساعة من وقت الإصدار. وإذا أغلق الزبون المتصفح ثم عاد من الجهاز نفسه، فستظل الجلسة تعمل ويمكنه الدخول مجددًا من دون إعادة التحقق.
اللغات
تدعم القائمة 24 لغة: العربية، الألمانية، اليونانية، الإنجليزية، الإسبانية، الفارسية، الفرنسية، الهندية، الإندونيسية، الإيطالية، اليابانية، الكورية، الملايوية، البولندية، البرتغالية، الرومانية، الروسية، التايلاندية، التاغالوغية، التركية، الأوكرانية، الأردية، الفيتنامية، والصينية.
عند الزيارة الأولى، يفحص الموقع رأس Accept-Language في المتصفح ويختار أفضل تطابق. ويمكن للزبون تغيير اللغة في أي وقت باستخدام أداة الاختيار أعلى القائمة. تُحفظ اللغة المختارة للجلسة.
لا تُترجم أسماء المنتجات وأوصافها ومكوّناتها تلقائيًا؛ بل تظهر باللغة التي أدخلتها في محرر القائمة. أما عناصر الواجهة مثل "إضافة إلى السلة" و"الدفع" ورسائل الدفع فهي مترجمة بالكامل.
السمة
تدعم القائمة سمة فاتحة وسمة داكنة. والافتراضي يعتمد على الجهاز: إذا كان نظام تشغيل الزبون مضبوطًا على الوضع الداكن، تفتح القائمة بالوضع الداكن. يتيح مفتاح تبديل السمة أعلى الصفحة للزبون التبديل يدويًا.
الرأس بعلامة تجارية
يعرض الرأس أعلى القائمة العناصر التالية:
| العنصر | المصدر |
|---|---|
| صورة الرأس | تُرفع من الإعدادات > الكافتيريا (اختيارية) |
| الشعار | يُرفع من الإعدادات > الكافتيريا |
| اسم العرض | من الملف التجاري |
| العنوان | من الملف التجاري (يظهر في التذييل) |
| الهاتف | من الملف التجاري (يظهر في التذييل) |
خصّص هذه الحقول للحصول على أفضل انطباع لدى الزبائن. يتعرّف الزبائن إلى العلامة التجارية عندما تبدو القائمة مثل اللوحات الفعلية في المكان.
التصفح داخل القائمة
تُنظَّم القائمة بحسب الفئة. داخل كل فئة، تظهر المنتجات مع صورة مصغرة والاسم والوصف المختصر والسعر.
يفتح الضغط على منتج بطاقة التفاصيل الخاصة به. وتعرض البطاقة:
- الصورة الكاملة.
- وصف Markdown.
- سطر المكوّنات.
- شارة وقت التحضير عندما يكون "إظهار وقت التحضير في القائمة" مفعّلًا.
- تسمية الوحدة إذا كانت مضبوطة، مثل "250 ml".
- محددات الخيارات لأي مجموعات خيارات مرتبطة بالمنتج.
- أداة ضبط الكمية.
- زر إضافة إلى السلة.
تمنع مجموعات الخيارات المطلوبة زر إضافة إلى السلة حتى يختار الزبون خيارًا.
السلة
يوضع رمز السلة في مكان ثابت بحيث يمكن للزبون الوصول إليه من أي شاشة. تبقى محتويات السلة محفوظة أثناء التنقل داخل الموقع؛ فالتصفح من السلة إلى القائمة والعودة لا يزيل العناصر.
تسمح السلة للزبون بما يلي:
- تعديل الكمية لكل سطر.
- إزالة سطر.
- إضافة ملاحظة اختيارية.
- إدخال رقم هاتف (اختياري).
يظهر المجموع الفرعي وضريبة القيمة المضافة والإجمالي في الوقت الحقيقي.
إرسال الطلب
توفر خطوة الدفع طريقة دفع واحدة أو اثنتين بحسب إعداداتك:
النقد
إذا كان الدفع عبر الإنترنت معطلاً في إعداداتك، يظهر خيار النقد فقط. يؤكد الزبون الطلب ثم يُرسل مباشرة. يدفع الزبون لأمين الصندوق عند وصول الطلب.
عبر الإنترنت (Stripe Checkout)
إذا كان الدفع عبر الإنترنت مفعّلًا، يظهر خيار "عبر الإنترنت". عند الإرسال:
- يُنشأ الطلب بحالة معلّقة.
- يُعاد client secret الخاص بـ Stripe Checkout.
- تفتح واجهة Stripe المضمنة داخل الصفحة. ويدخل الزبون بيانات البطاقة.
- عند التفويض الناجح، يؤكد Stripe عملية الدفع وينتقل الطلب إلى paid.
- يرى الزبون صفحة النجاح.
تترك المدفوعات الفاشلة أو المهجورة الطلب في الحالة المعلقة. ويمكن إجراء محاولة ثانية من الجلسة نفسها، أو يمكن للموظفين إلغاء الطلب من لوحة الطلبات.
صفحة النجاح
بعد الإرسال الناجح، يصل الزبون إلى صفحة إيصال تعرض:
- رقم الطلب ووقته.
- كل سطر مع الكمية والخيارات وإجمالي السطر.
- المجموع الفرعي وضريبة القيمة المضافة والإجمالي الكلي.
- طريقة الدفع.
- أيقونة حالة الدفع (معلّق للنقد، ومدفوع عبر الإنترنت).
- زر "إرسال طلب آخر" يعيد إلى القائمة مع بقاء الجلسة.
- رابط "العودة إلى القائمة".
الاستعلام عن حالة الطلب
بعد الإرسال، تستعلم صفحة الزبون عن نقطة نهاية الحالة لتعكس تحديثات المطبخ. إذا نقل الموظفون عنصرًا من preparing إلى ready، فسيشاهد الزبون شارة السطر تتحدث تلقائيًا خلال ثوانٍ.
هذا مفيد للاستلام الذاتي من الكاونتر. يمكن للزبون الاسترخاء عند الطاولة حتى تخبره القائمة بأن الطلب جاهز.
ما الذي لا يمكن للزبائن فعله
- لا يمكن للزبون تصفح القائمة من دون رمز الأمان. خطوة التحقق مطلوبة دائمًا.
- لا يمكن للزبون إرسال طلبات للطاولات التي هي
idleأوout_of_order. - لا يمكن للزبون تعديل الطلب أو إلغاؤه بعد إرساله. الإلغاء إجراء خاص بالموظفين من لوحة الطلبات.
نصائح لتجربة زبون نظيفة
- اطبع ملصقات QR باسم المقهى وتعليم واضح مثل "امسح للطلب. اطلب الرمز من الموظف." لأن بعض الزبائن قد يفوتهم جزء التحقق.
- حافظ على قِصر أسماء الفئات والمنتجات. الأسماء الطويلة تلتف على الهاتف وتدفع الصور أسفل الشاشة.
- ارفع صورة واحدة على الأقل لكل منتج. القوائم الغنية بالصور تحقق تحويلًا أعلى من القوائم النصية فقط.
- فعّل "إظهار وقت التحضير في القائمة" فقط بعد أن يتعلم التقدير الديناميكي. خلال أول 30 يومًا قد تكون القيمة الثابتة متساهلة أو ضيقة جدًا، والزبائن يلاحظون ذلك.
- اختبر المسار الكامل بنفسك من الهاتف قبل فتح الخدمة للزبائن. امسح رمز QR حقيقيًا، وأدخل الرمز، وأرسل طلبًا تجريبيًا، وتحقق من ظهوره في لوحة التحكم.