دليل استخدام HorecaPOS
يتكوّن هذا الدليل من ثلاثة أجزاء: أولًا للموظفين (الخدمة)، ثم للمدير، وأخيرًا للمسؤول. كل جزء يبني على الجزء السابق: يستطيع المدير فعل كل ما يفعله طاقم الخدمة، والمسؤول يستطيع فعل كل شيء.
ما يُسمح لدورك به بالضبط يحدده المسؤول في الإعدادات ← الصلاحيات. إذا لم ترَ زرًا ما، فدورك لا يملك (بعد) صلاحية له.
هذا الدليل موجود أيضًا داخل الصندوق: اضغط على زر © في أسفل يمين كل شاشة واختر دليل الاستخدام، أو افتح http://<kassa-pc>:3000/handleiding. انظر أيضًا المقدمة وتوثيق API.
الجزء 1 · الموظفون
البدء
تسجيل الدخول. افتح الصندوق على حاسوب الصندوق أو الجهاز اللوحي أو الهاتف وأدخل رمزك السري (من 4 إلى 8 أرقام). بعد ذلك يظهر لك مخطط الطاولات.
فتح طاولة. اضغط على طاولة. الطاولة الفارغة تبدأ طلبًا جديدًا؛ وفي الطاولة المشغولة تكمل الطلب الموجود. في الأعلى تنتقل بين الصالات (مثل الصالة والتراس). للبيع عند الكاونتر استخدم بيع سريع، ولطلبات الأخذ استخدم للأخذ.
الطلب. اختر مجموعة منتجات واضغط على المنتجات. تظهر على الإيصال في اليسار. يمكنك أولًا اختيار الطبق (1 = فورًا، 2 و3 تنتظر حتى تستدعيها). اضغط على إرسال الطلب: عندها تذهب بونات المطبخ إلى المطبخ والبار. ما دمت لم تضغط على «إرسال الطلب» بعد، يمكنك حذف الأسطر بسهولة.
الدفع. اضغط على الدفع، واختر بطاقة بنكية / Bancontact أو نقدًا أو قسيمة هدية، وبقشيشًا إن أردت، ثم أكّد. عند الدفع بالبطاقة تبدأ العملية تلقائيًا على جهاز الدفع. يُطبع الإيصال؛ ويمكنك أيضًا إرساله بالبريد الإلكتروني.
تسجيل الخروج. سجّل خروجك عند الانتهاء، حتى لا يعمل أحد آخر باسمك. بعد 8 ساعة يتم تسجيل خروجك تلقائيًا.
لا يوجد إنترنت؟ يواصل الصندوق العمل كالمعتاد. إذا ظهر في الأعلى لا إنترنت · بطاقة بنكية يدويًا، فادفع المبلغ على جهاز الدفع نفسه واختر في شاشة الدفع تم الدفع مسبقًا على الجهاز.
عدة مجموعات على طاولة واحدة
يمكن أن تجلس عدة مجموعات على طاولة واحدة، لكل منها حساب خاص وإيصال خاص.
- اضغط على طاولة: فارغة = طلب جديد؛ مجموعة واحدة = تلك المجموعة مباشرة؛ عدة مجموعات = اختر أولًا، أو + مجموعة جديدة (يمكن ترك الاسم فارغًا).
- في شاشة الطلب يظهر في الأعلى شريط المجموعات: التنقل بين المجموعات، و+ مجموعة، واسم المجموعة (مثل "Jansen") وتقسيم / نقل.
- تقسيم / نقل: اختر لكل سطر الكمية التي تنتقل (مثلًا 1 من 3× Pils) وإلى أي مجموعة، أو أنشئ مجموعة جديدة. بهذا تنقل شيئًا سُجّل على الحساب الخطأ، أو تقسّم لاحقًا بحيث "يدفع كل شخص حصته". إذا أصبحت مجموعة فارغة، تُحذف تلقائيًا.
- عدة أجزاء دفعة واحدة: بـ+ جزء آخر تجهّز جزءًا ثم تختار التالي (مثلًا السمك وDry Martini إلى الطاولة 2، والباقي إلى الطاولة 35). يمكن أيضًا نقل جزء إلى + طاولة أخرى (كمجموعة جديدة هناك). بـنقل يُنقل كل شيء دفعة واحدة. ½ يقسم السطر إلى نصفين، حتى نصف زجاجة (0,667 تصبح 2 × 0,3335).
- دمج: كل ما على طاولة أو أكثر (أو على مجموعات أخرى في هذه الطاولة) يُنقل إلى هذا الحساب دفعة واحدة.
- بلجيكا: التقسيم أو الدمج دفعة واحدة يُسجَّل في الصندوق الأسود كتغيير طاولة واحد، كما تطلب FOD (UC242، UC251، UC252، UC4119bis). إذا حُذف شيء بعد الطلب أو أُضيف خصم على سطر سبق طلبه، يُرسَل ذلك مع الرسالة التالية لتلك الطاولة (طلب، حساب مؤقت، تغيير طاولة)، وإلا ففي البيع: السطر القديم بالسالب والجديد بالموجب (UC226، UC4102، UC4104، UC4107، UC4110).
- على شاشة الطاولات تُظهر نقطة برتقالية عدد المجموعات؛ والمبلغ هو إجمالي كل المجموعات.
- يُظهر إيصال الصندوق وبون المطبخ "الطاولة 5 - مجموعة 2" أو "الطاولة 5 - Jansen".
تقسيم الحساب عند الدفع
الدفع يعمل كما هو دائمًا: دفعة واحدة. وفي شاشة الدفع يمكن الآن أيضًا تقسيم الحساب، بالأزرار الموجودة أسفل رجوع والدفع (حتى تبقى دائمًا ظاهرة، دون تمرير):
- التقسيم بالتساوي: اختر باستخدام − و+ عدد الأشخاص (افتراضيًا عدد الضيوف، أو 2 إذا كان الكاشير لا يسجّل عدد الأشخاص). تعرض الشاشة المبلغ لكل شخص؛ ويدفع كل شخص حصته بالبطاقة أو نقدًا أو ببطاقة هدية (مع بقشيش إذا رغبت). بعد كل حصة يتم العدّ التنازلي ("متبقٍ 3 أشخاص")؛ ويدفع الأخير المبلغ المتبقي بالضبط.
- مبلغ مخصص: يدفع شخص مبلغًا محددًا (مثلًا € 20)؛ ويبقى الباقي مفتوحًا.
- حسب المنتج…: يفتح تقسيم / نقل لنقل منتجات إلى حساب منفصل ودفعه على حدة (كما في الأعلى).
الدفعة الجزئية تسجّل الدفع فقط؛ يبقى الحساب مفتوحًا وفي شاشة الطلب يظهر "مدفوع مسبقًا … · المتبقي …". أما الإيصال (وعليه كل الدفعات) فيصدر مع الدفعة الأخيرة، كما في الدفع العادي. الدفع بالبطاقة عبر الربط يكون للمبلغ الجزئي بالضبط. إذا دُفع جزء من الحساب، فلا يمكن نقل أسطر إلى مجموعة أخرى ولا إضافة خصومات؛ والحذف ممكن فقط إذا كان المبلغ المفتوح كافيًا. كل دفعة جزئية تُسجَّل في السجل.
بيع سريع وطلبات للأخذ (دون طاولة)
في أعلى يمين شاشة الطاولات يوجد بيع سريع وللأخذ. كلاهما يفتح فورًا طلبًا دون طاولة. البيع السريع هو البيع عند الكاونتر (ضريبة الاستهلاك في المحل)؛ أما «للأخذ» فيستخدم نسبة ضريبة الأخذ لكل منتج. مع "اسم الزبون" تضيف اسمًا يظهر على الإيصال ("للأخذ – Jansen") وفي أعلى بون المطبخ. الطلبات المفتوحة دون طاولة تظهر تحت أزرار الصالات ("بدون طاولة: للأخذ #12 – Jansen")، حتى تجدها مجددًا. إذا رجعت دون بيع شيء، يختفي الطلب الفارغ تلقائيًا.
يمكن تفعيل الزرين أو إيقافهما لكل محل في الإعدادات ← المحل، مباشرة تحت المظهر الفاتح/الداكن (مفعّل افتراضيًا). غير مفعّل = الزر مخفي؛ والطلبات المفتوحة دون طاولة تبقى ظاهرة.
التوصيل والفترات الزمنية
الطلبات التي تستلمها بنفسك في الصندوق، مثلًا عبر الهاتف أو عند الكاونتر، بنفس قواعد المتجر الإلكتروني: مناطق التوصيل وحد أقصى لعدد الطلبات لكل فترة زمنية. التفعيل في الإعدادات ← المحل ← التوصيل والفترات الزمنية، مباشرة تحت زرَّي بيع سريع وللأخذ (غير مفعّل افتراضيًا).
- زر التوصيل على شاشة الطاولات (بجانب للأخذ): أدخل الاسم والهاتف والعنوان (مع تفعيل إدخال سريع للعنوان: البحث بالرمز البريدي ورقم المنزل). يبحث الصندوق عن منطقة التوصيل ويعرض رسوم التوصيل والحد الأدنى و"مجانًا ابتداءً من". إذا كان العنوان خارج المناطق، فلا يمكن التوصيل.
- مناطق التوصيل: حسب الرمز البريدي (نطاقات ورموز منفردة، مثلًا
5000-5049, 5051, 5052 AB)، أو ضمن نصف قطر بالكيلومترات من المحل (بخط مستقيم)، أو منطقة على الخريطة ترسمها بنفسك. نصف القطر والمنطقة يعملان فقط مع العناوين الهولندية (الموقع عبر PDOK). لكل منطقة: رسوم التوصيل والحد الأدنى ومجانًا ابتداءً من والدقائق الإضافية؛ تُطبَّق أول منطقة مطابقة من الأعلى، لذا يمكن الجمع بين الأنواع (مثلًا أولًا بعض الرموز البريدية، ثم منطقة، ثم نصف قطر للباقي). لا مناطق مضبوطة = التوصيل إلى كل مكان، بلا رسوم أو حد أدنى. مناطق المتجر الإلكتروني تضبطها بشكل منفصل (إدارة المتجر الإلكتروني). - منطقة على الخريطة: اختر في منطقة التوصيل النوع منطقة على الخريطة ثم الرسم على الخريطة. انقر على الخريطة لوضع النقاط (3 على الأقل)؛ اسحب نقطة لتحريكها، وانقر على نقطة لإزالتها، واسحب الدائرة الصغيرة في منتصف الحافة لإضافة نقطة بينهما. تعرض الخريطة أيضًا مناطق نصف القطر والمحل. تأتي مربعات الخريطة من OpenStreetMap، لذا تحتاج الخريطة إلى الإنترنت؛ أما التوصيل نفسه فلا (باستثناء البحث عن العنوان). إذا تعذّر البحث عن العنوان، يُبلغ الصندوق بذلك بدلًا من "خارج مناطق التوصيل".
- رسوم التوصيل تظهر كسطر "رسوم التوصيل" في الطلب وتُحسب من جديد بعد كل تعديل (مجانًا ابتداءً من، بلا منتجات = بلا رسوم)، طالما لم يُدفع شيء بعد. تحت الحد الأدنى لا يمكن الدفع؛ تعرض شاشة الطلب كم يلزم إضافته، مع زر تحويل إلى الأخذ (تُلغى رسوم التوصيل والحد الأدنى).
- الوقت: في أقرب وقت ممكن (الآن + مدة التوصيل، زائد الدقائق الإضافية للمنطقة) أو فترة زمنية من اليوم. إذا ضُبطت أوقات العمل في Thuisbezorgd فإنها تسري هنا أيضًا.
- الحد الأقصى لكل فترة زمنية (0 = بلا حد أقصى؛ الفترة الزمنية من 5 إلى 60 دقيقة): للأخذ والتوصيل معًا؛ وتُحتسب أيضًا طلبات المتجر الإلكتروني في الصندوق. إذا ضُبط حد أقصى، فإن للأخذ أيضًا يطلب وقتًا ولا يمكن اختيار الفترات الممتلئة. صندوقان يحجزان آخر مكان في اللحظة نفسها: يحصل عليه أحدهما فقط.
- على بون المطبخ يظهر العنوان والاسم والهاتف والوقت؛ وفي "بدون طاولة" وفي أعلى بون المطبخ مثلًا "التوصيل – 18:30 Jansen".
إضافات (كلها غير مفعّلة افتراضيًا؛ وبدون هذه الإعدادات يعمل كل شيء تمامًا كما سبق):
- أوقات عمل خاصة للأخذ والتوصيل (لكل يوم من أيام الأسبوع، مثلًا
16:00-21:00أو11:30-14:00, 17:00-22:00؛ بعد منتصف الليل مسموح:17:00-01:00؛ فارغ = مغلق في ذلك اليوم). مُوقف = كما في السابق (أوقات Thuisbezorgd إن وُجدت، وإلا طوال اليوم). - أيام الإغلاق (مثلًا
25-12-2026, 26-12-2026): لا أخذ ولا توصيل في هذه الأيام. - الطلب المسبق: من 0 (اليوم فقط، كما في السابق) إلى 14 يومًا. في نافذة التوصيل/للأخذ تختار أولًا اليوم؛ ويظهر اليوم اللاحق على بون المطبخ قبل الوقت.
- ازدحام: عدد دقائق إضافية عند "في أسرع وقت" (في الصندوق والمتجر الإلكتروني معًا). ويمكن ضبطه بسرعة أيضًا بزر المتجر الإلكتروني في الشريط العلوي.
- العناوين البلجيكية (رمز بريدي من 4 أرقام): عند نصف قطر أو منطقة على الخريطة يبحث الصندوق عن الموقع عبر OpenStreetMap (Nominatim؛ يلزم الشارع والمدينة).
- المتجر الإلكتروني يتبع الصندوق: الصندوق هو المرجع. يستخدم المتجر الإلكتروني حينها مناطق التوصيل، ومدة التوصيل والأخذ، والفترة الزمنية، والحد الأقصى لكل فترة، وأوقات العمل (إن ضُبطت هنا)، وأيام الإغلاق وأيام الطلب المسبق من الصندوق، ويحتسب الطلبات المستلمة في الصندوق ضمن الفترة الزمنية. مُوقف = للمتجر الإلكتروني إعداداته الخاصة (إدارة المتجر الإلكتروني)، كما في السابق. تشغيل الأخذ/التوصيل أو إيقافه يبقى من اختصاص المتجر الإلكتروني.
الكود: lib/bezorgen.ts، routes/bezorgen.ts، BezorgDialoog.tsx، BezorgInstellingen.tsx، BezorgKaart.tsx وlib/kaart.ts (الخريطة، بدون حزمة إضافية؛ الكود نفسه موجود كـ public/kaart.js في المتجر الإلكتروني).
الهاتف: التعرّف على الزبون في الطلب الهاتفي
الإعدادات → الهاتف (غير مفعّل افتراضيًا؛ الإيقاف يحتفظ بكل شيء). مفتاحان منفصلان:
- البحث عن الزبون برقم الهاتف في التوصيل وللأخذ: اكتب الرقم في شاشة التوصيل فيعرض الصندوق الزبون مع العنوان والطلبات السابقة؛ نقل البيانات يملأ الاسم والبريد الإلكتروني والعنوان. يعمل أيضًا بدون مقسم هاتفي.
- التعرّف على رقم المتصل: عندما يتصل زبون، يُبلغ المقسم (أو الجهاز الهاتفي أو FRITZ!Box أو المودم أو هاتف Android) عن الرقم. يظهر على الشاشات إشعار بمن يتصل: الاسم والعنوان وآخر الطلبات (مع الأطباق والمبلغ، أيضًا من المتجر الإلكتروني وThuisbezorgd ومنصات التوصيل) والمجموع وحجز. بـ استلام طلب توصيل أو استلام طلب للأخذ تُفتح شاشة التوصيل وكل شيء معبأ (مع تفعيل التوصيل والفترات الزمنية)؛ يُربط الطلب بالمكالمة ويختفي الإشعار من كل الشاشات. الزر 📞 في الشريط العلوي: مكالمات آخر 24 ساعة. يمكن تعطيله لكل شاشة (عرض الإشعارات على هذه الشاشة).
يتم البحث في بطاقة الزبون وطلبات التوصيل وللأخذ في الصندوق والمتجر الإلكتروني وThuisbezorgd ومنصات التوصيل والحجوزات. تُوحَّد الأرقام (+31 6 1234 5678 و0031612345678 و06-12345678 متطابقة؛ والأرقام البلجيكية أيضًا).
كيف يصل الرقم (يمكن عدة مصادر معًا؛ المكالمة نفسها تُحسب مرة واحدة):
| المصدر | لـ | الإعداد |
|---|---|---|
| Webhook / action URL | 3CX (تكامل CRM)، Aircall، Voys / VoIPGRID، Yeastar سلسلة P، أجهزة هاتفية بـ action URL عند مكالمة واردة (Fanvil، Grandstream، Mitel 6800/6900، Snom، Yealink: يعمل مع أي مقسم ومزوّد)، خدمات الربط (Zapier، Make، n8n، Power Automate) | العنوان من الإعدادات → الهاتف (/api/telefonie/oproep?sleutel=...&nummer=...)، GET أو POST، JSON أو نموذج أو query؛ وأيضًا عبر البوابة: https://<portaal>/telefonie/<kassa-id>/oproep?sleutel=... |
| Asterisk (AMI) | Asterisk, FreePBX, Issabel, VitalPBX, Grandstream UCM | العنوان، المنفذ (5038؛ Grandstream UCM 7777)، مستخدم AMI وكلمة المرور (صلاحيات call) |
| FRITZ!Box | FRITZ!Box مع الهاتف | العنوان (fritz.box) والمنفذ 1012؛ تفعيل callmonitor مرة واحدة بـ #96*5* |
| مودم USB لإظهار رقم المتصل | خط ثابت تناظري مع إظهار الرقم | المنفذ التسلسلي (COM3، /dev/ttyACM0)، Baud وأمر التهيئة (افتراضيًا AT+VCID=1) |
| هاتف Android | الهاتف المدمج في هاتف Android الخاص بالمحل | تطبيق HorecaPOS على ذلك الهاتف، الإعدادات → الهاتف → ربط هذا الهاتف (Android 10+: اختيار التطبيق كتطبيق لإظهار رقم المتصل) |
يحتوي الرد على المتصل، أيضًا كـ contact (firstname، lastname، phone، email، address) لقالب CRM في 3CX. لا تُعرض المكالمات الصادرة والداخلية؛ هذه الخطوط فقط يقصر العرض على خطوط أو أجهزة معيّنة. تُحذف المكالمات بعد مدة الاحتفاظ (افتراضيًا 30 يومًا، GDPR). مكالمة تجريبية تحاكي اتصال رقم ما.
الكود: apps/pos-server/src/lib/telefonie.ts، routes/telefonie.ts، packages/shared/src/telefonie.ts؛ الشاشات Telefonie.tsx، BezorgDialoog.tsx؛ Android android-app/native/java/Beller*.java. السجل: الهاتف.
موصّلون خاصون: جولات، تسليم النقود و Track & trace
للمحلات التي لديها موصّلون خاصون. فعّله من الإعدادات → المحل → التوصيل → الموصّلون الخاصون (معطّل افتراضيًا). لا حاجة إلى تطبيق للموصّل: يستخدم الموصّل صفحة في متصفح هاتفه (ومن يرغب يستخدم تطبيق Optimum Bezorger: انظر تطبيق الموصّلين أدناه).
إنشاء جولة. في الصندوق يوجد زر الجولات (مع عدد التوصيلات التي لم تنطلق بعد بالإضافة إلى الجولات التي في الطريق).
- حدّد في جاهز للتوصيل الطلبات التي ستُرسل. وهي طلبات التوصيل من الصندوق والمتجر الإلكتروني و Thuisbezorgd (فقط توصيل ذاتي؛ وليس تلك التي يوصّلها موصّل Thuisbezorgd).
- اختر الموصّل (موظف) والفكة المرافقة (افتراضيًا المبلغ من الإعداد)، واضغط إنشاء جولة.
- يظهر رمز QR. يمسحه الموصّل بهاتفه ويرى لكل عنوان: الاسم، والعنوان مع زر المسار (الملاحة)، واتصال، والملاحظة، والوقت المطلوب وما يجب تحصيله. توجد حاسبة للفكة (الزبون يعطي € 50 ← الباقي € 31,50). لا حاجة لتسجيل الدخول. شارك الرابط مع الموصّل فقط: من يملكه يرى عناوين هذه الجولة. باستخدام رمز QR للموصّل تنشئ رابطًا جديدًا؛ ولن يعمل الرابط القديم بعد ذلك.
- اضغط انطلاق عندما يغادر الموصّل. تخرج الفكة من درج النقود (إخراج نقود مع السبب). يتلقى الزبون إشعارًا بأن الطلب في الطريق:
- لطلب من الصندوق عبر الرسائل القصيرة و/أو البريد الإلكتروني، إذا كانت الرسائل إلى الزبون مفعّلة (انظر التوصيل والفترات الزمنية)؛
- للمتجر الإلكتروني حسب إعدادات المتجر الإلكتروني (بريد، رسالة قصيرة أو إشعار)؛
- لـ Thuisbezorgd عبر Thuisbezorgd.
إذا لم تنطلق الجولة بعد، يمكن إلغاؤها.
- أثناء الطريق يضغط الموصّل لكل عنوان تم التوصيل، نقدًا أو تم التوصيل، بطاقة بنكية (جهاز دفع خاص) أو تم التوصيل (مدفوع مسبقًا). يرى الصندوق ذلك فورًا. إذا لم يستطع الموصّل الإبلاغ، يمكن ذلك أيضًا في الصندوق. عند العودة إلى المحل يضغط الموصّل عدت إلى المحل.
تسليم النقود. بعد الجولة تضغط الدفع (صلاحية إدارة درج النقود):
- لكل طلب تختار نقدًا أو بطاقة بنكية عند الباب أو مدفوع مسبقًا أو لم يُوصَّل (عاد). ما أبلغ عنه الموصّل يكون معبّأً مسبقًا.
- يسوّي الصندوق كل طلب عليه مبلغ مستحق، دون إيصال جديد (لدى الزبون الإيصال بالفعل؛ يمكن إعادة الطباعة من الإيصالات). الطلب الذي لم يُوصَّل يُزال من الجولة ويبقى مفتوحًا ليُضاف إلى جولة لاحقة.
- ترى ما هو متوقع: الفكة بالإضافة إلى ما تم تحصيله نقدًا. أدخل ما يسلّمه الموصّل، أو عُدّه حسب الورقة والقطعة النقدية (العدّ حسب الورقة والقطعة النقدية). يُظهر الصندوق إن كان مطابقًا، أو مقدار الزيادة أو النقص.
- تعود الفكة إلى درج النقود (إدخال نقود). يُسجَّل الفرق في الجولة وفي السجل، ويظهر أيضًا كفرق صندوق في تقرير Z.
Track & trace (يُفعَّل بشكل منفصل في الإعداد). يتلقى الزبون عند في الطريق رابطًا إلى صفحة تتبع على البوابة. هذا الرابط موجود في الرسالة القصيرة أو البريد الإلكتروني، وفي المتجر الإلكتروني على صفحة الحالة (تتبّع الموصّل). في صفحة التتبع يظهر:
- هل الطلب قيد التحضير أو في الطريق أو تم توصيله؛
- الوقت المتوقع: من موقع الموصّل مرورًا بالعناوين التي تسبق، وإلا فالوقت المطلوب؛
- كم عنوانًا ما زال قبله (دون إظهار العناوين الأخرى)؛
- مع الموصّل مباشرة على الخريطة يظهر أيضًا الموصّل والمحل وعنوان الزبون على خريطة (OpenStreetMap). يفعّل الموصّل مشاركة الموقع بنفسه على الهاتف (مشاركة موقعي). يُرسل الموقع فقط ما دامت الصفحة مفتوحة؛ وتُبقي الصفحة الشاشة مضاءة.
تظهر الصفحات بلغة الهاتف (جميع لغات البوابة). في الصندوق ترى عند الجولة متى أُرسل الموقع آخر مرة (مع رابط إلى الخريطة).
الخصوصية. تحفظ البوابة بيانات الجولة (الأسماء، العناوين، أرقام الهواتف، الموقع) فقط ما دامت الجولة جارية. عند التسوية يُحذف كل شيء، وإلا بعد 24 ساعة. يرى الزبون طلبه فقط. موقع الموصّل مرئي فقط أثناء الجولة، ولم يعد كذلك بمجرد عودة الموصّل.
تخطيط الجولات (اختياري)
فعّله في الإعدادات ← المحل ← التوصيل ← تخطيط الجولات (غير مفعّل افتراضيًا؛ يعمل مع موصّلي المحل). عندها يظهر في نافذة الجولات زر اقتراح جولات. يجمع الصندوق الطلبات التي لم تنطلق بعد في جولات:
- الطلبات القريبة من بعضها والتي تقع أوقاتها المطلوبة ضمن النافذة الزمنية (افتراضيًا 30 دقيقة) تُجمع معًا؛
- حتى الحد الأقصى من العناوين لكل جولة (افتراضيًا 4)، ما دامت الجولة (الذهاب وكل العناوين والعودة إلى المحل) لا تتجاوز المدة القصوى (افتراضيًا 45 دقيقة)؛
- لكل جولة أفضل ترتيب والمسافة (كم) ومدة الطريق ذهابًا وإيابًا، ولكل عنوان وقت الوصول المتوقع عند الانطلاق الآن. إذا كان بعد الوقت المطلوب، يظهر بجانبه بعد الوقت المطلوب.
بزر استخدم هذه الجولة تحدد تلك الطلبات بهذا الترتيب؛ اختر الموصّل واضغط إنشاء جولة. في جولة لم تنطلق بعد، يضع أفضل ترتيب العناوين في أسرع ترتيب (وأيضًا على هاتف الموصّل). عند كل جولة تظهر المسافة ومدة الطريق.
الإعدادات: العناوين لكل جولة، المدة القصوى للجولة، النافذة الزمنية، سرعة الموصّل (دراجة ~15، سكوتر ~25، سيارة ~35 كم/س في المدينة) والدقائق لكل عنوان (الركن، رنّ الجرس، الدفع؛ افتراضيًا 2). يمكن للمدير أيضًا ضبط هذه الأرقام: في نافذة الجولات بزر إعداد تخطيط الجولات (صلاحية إعداد تخطيط الجولات، مفعّلة افتراضيًا للمدير؛ قابلة للتعديل في الإعدادات ← الصلاحيات). تشغيل تخطيط الجولات أو إيقافه وخدمة المسارات (العنوان، مفتاح API) يبقيان لدى المسؤول.
المسافة ومدة الطريق، يختارها المسؤول:
- تقدير (افتراضي): المسافة بخط مستقيم مضروبة في 1,35 (معامل الالتفاف) مع سرعة الموصّل. يعمل بدون إنترنت وبدون حساب.
- OSRM: مسارات عبر الطرق بواسطة خادم OSRM. أدخل العنوان (
https://، أوhttp://داخل الشبكة الخاصة). خادم العرض العام (https://router.project-osrm.org) مخصص للاستخدام العرضي فقط؛ للاستخدام اليومي ثبّت خادم OSRM خاصًا بك أو استعن بمزوّد. - OpenRouteService: مسارات عبر الطرق بمفتاح API خاص بك (يُنشأ مجانًا على openrouteservice.org، مع حد أقصى يومي). العنوان افتراضيًا
https://api.openrouteservice.orgويمكن تغييره إلى خادم خاص. يبقى المفتاح على الصندوق؛ تُظهر الشاشات فقط أنه مُدخل.
بزر اختبار تجرّب الخدمة. إذا لم تنجح الخدمة، يعود التخطيط إلى التقدير ويُشير إلى ذلك. العنوان الذي لا يُعرف موقعه (لا رمز بريدي ورقم منزل صالحان) يظهر في الاقتراح تحت بدون موقع معروف ولا يُدرج في الخطة. يشمل تصدير الإعدادات هذه الإعدادات، لكن ليس المفتاح.
الكود: lib/ritplanning.ts.
تطبيق الموصّلين (اختياري)
فعّله من الإعدادات → المحل → التوصيل → تطبيق الموصّلين (معطّل افتراضيًا؛ يعمل مع الموصّلين الخاصين وبوابة الإدارة). عندها يربط كل موصّل هاتفه مرة واحدة بدلًا من مسح رمز QR لكل جولة:
- اختر في الهواتف المرتبطة الموصّل (موظف)، واسم الهاتف إن شئت، ثم اضغط ربط هاتف.
- يظهر رمز QR. يمسحه الموصّل في تطبيق Optimum Bezorger (زر ربط)، أو بكاميرا الهاتف: عندها تفتح الصفحة في المتصفح. وهي تعمل أيضًا بدون التطبيق ويمكن وضعها على الشاشة الرئيسية.
- يبقى الربط صالحًا حتى تلغيه؛ عندها لا يرى الهاتف أي شيء فورًا. والربط الجديد للموظف نفسه يحلّ محل القديم (مثلًا عند هاتف جديد).
في التطبيق أو على الصفحة تظهر كل الجولات الخاصة (كل جولة ينشئها الصندوق لهذا الموصّل)، بالأزرار نفسها كما في الجولة: المسار، اتصال، المبلغ المستحق مع حاسبة الفكة، تم التوصيل وعدت إلى المحل. يمكن تفعيل ما يلي بشكل منفصل:
- أخذ الطلبات ذاتيًا: يرى الموصّل التوصيلات التي لم تدخل بعد في جولة، ويؤشّر على ما سيأخذه ثم يضغط أخذ. ينشئ الصندوق الجولة (أو يضيفها إذا كانت لدى هذا الموصّل جولة لم تنطلق بعد)؛ وتذهب الفكة الافتراضية معه. ما أخذه غيره لا يمكن أخذه.
- الانطلاق ذاتيًا: زر انطلاق في التطبيق يفعل الشيء نفسه كما في الصندوق (الفكة من الدرج، ويتلقى الزبائن إشعارًا).
- الخريطة المباشرة: في الجولات يوجد زر الخريطة يعرض المحل وكل الموصّلين في العمل والعناوين التي ما زالت تنتظر التوصيل. يشغّل الموصّل في العمل ويوقفه بنفسه. يرسل التطبيق الموقع حتى والشاشة مطفأة (Android: إشعار في الشريط ما دامت المشاركة مفعّلة)؛ وصفحة الويب فقط ما دامت مفتوحة. بدون هذا الإعداد لا يُشارَك الموقع إلا أثناء جولة مع track & trace.
تطبيق Android متوفر في Google Play وعلى صفحة التنزيل في البوابة (/download/). نسخة iPhone جاهزة، لكنها لن تصدر إلا بعد توفر حساب مطوّر Apple؛ وحتى ذلك الحين تستخدم أجهزة iPhone صفحة الويب. في الجولة التي أخذها الموصّل بنفسه يظهر أخذها بنفسه في التطبيق.
الكود: lib/bezorgersapp.ts، وفي البوابة src/volgen.mjs، والتطبيق في المستودع horecapos-bezorger.
يسجّل السجل من أنشأ الجولة، ومن أطلقها، ومن أبلغ عن التوصيل ومن قام بالتسوية، مع المبالغ. عند إلغاء التفعيل: لا يوجد زر الجولات؛ تبقى الجولات والإعدادات محفوظة.
على البوابة: /bezorger/<sleutel> و /volg/<code>. الكود: lib/bezorgers.ts و routes/bezorgers.ts و Bezorgers.tsx وفي البوابة src/volgen.mjs.
تنبيه عند طول مدة التحضير
طلب أخذ أو توصيل يجهز بعد الوقت الموعود: يلاحظ الصندوق ذلك وينبّه إليه، ويمكنه أن يرسل للزبون اعتذارًا فورًا، مع قسيمة رصيد عند الحاجة. فعّله في الإعدادات → المحل → التوصيل → تنبيه عند طول مدة التحضير (غير مفعّل افتراضيًا).
- أي الطلبات: الأخذ والتوصيل مع وقت موعود، من الصندوق (التوصيل والفترات الزمنية) والمتجر الإلكتروني وThuisbezorgd.nl / Takeaway.com.
- متأخر: لم يصبح جاهزًا أو في الطريق بعد هذا العدد من الدقائق (افتراضيًا 10) من الوقت الموعود. جاهز أو في الطريق يعني: كل شيء جاهز على شاشة المطبخ، أو الحالة جاهز أو في الطريق في المتجر الإلكتروني أو لدى Thuisbezorgd، أو الرسالة ✉ جاهز / ✉ في الطريق إلى الزبون، أو تم الدفع. يتحقق الصندوق كل دقيقة.
- التنبيه: زر متأخر في الشريط العلوي مع العدد (مع صوت عند كل تنبيه جديد)، ولكل طلب الوقت الموعود وعدد دقائق التأخير. يختفي الطلب تلقائيًا عندما يصبح جاهزًا أو في الطريق، أو عبر تمت المعالجة؛ وتحتها طلبات آخر 24 ساعة، مع وقت جهوزها. كل شيء مسجّل في السجل.
- المتجر الإلكتروني: تُظهر صفحة حالة الضيف أن الأمر يستغرق وقتًا أطول، مع الوقت المتوقع الجديد.
- مع Thuisbezorgd لا يمكن ذلك (الزبون تابع لـ Thuisbezorgd): هناك التنبيه فقط. يمكن استخدام نص خاص؛ يتم ملء
{naam}و{zaak}و{code}و{korting}و{geldig}. - قسيمة رصيد (فقط مع تفعيل رموز الخصم): مع الاعتذار رمز خصم شخصي للطلب القادم (مثلًا
SORRY-7K4Q2M)، بمبلغ أو نسبة مئوية، يُستخدم مرة واحدة، صالح لعدد من الأيام، في الصندوق وفي المتجر الإلكتروني. لا تظهر هذه الرموز في قائمة رموز الخصم. إذا فشل الإرسال، يُلغى الرمز. عبر الزر في الصندوق فقط مع صلاحية منح خصم. - غير مفعّل: تبقى التنبيهات والرموز الصادرة محفوظة (وكذلك في النسخة الاحتياطية)؛ ويُضمَّن الإعداد في تصدير الإعدادات.
الكود: lib/telaat.ts وroutes/telaat.ts وTeLaat.tsx وpackages/shared/src/telaat.ts.
زر إرسال الطلب: ماذا يفعل ومتى تحتاج إليه
النقر على منتج والنقر على إرسال الطلب خطوتان مختلفتان:
- النقر على منتج يضيفه فورًا إلى الفاتورة (في القائمة الجانبية) بحالة جديد. أنت وحدك تراه: المطبخ والبار لا يعلمان به بعد. السطر الجديد مجرد مسودة: لا يزال بإمكانك حذفه أو تغيير الكمية أو الخيارات، دون إلغاء.
- إرسال الطلب يرسل جميع الأسطر الجديدة دفعة واحدة: تذهب بطاقات الطلب إلى طابعات المطبخ والبار (وإلى شاشة المطبخ)، ثم تصبح الأسطر بحالة مطلوب. بعد ذلك لا يمكن حذفها إلا عبر إلغاء (صلاحية الإلغاء). يظهر على الزر عدد الأسطر الجديدة الجاهزة، مثل إرسال الطلب (3)؛ وإذا لم تكن هناك أسطر جديدة يكون الزر رماديًا.
لماذا خطوتان؟ على الطاولة تأخذ الطلب كاملًا (المشروبات، المقبلات، الطبق الرئيسي)، وتعدّله إذا غيّر الضيف رأيه، ثم ترسله دفعة واحدة إلى المطبخ، ببطاقة واحدة لكل محطة بدلًا من بطاقة لكل منتج. هكذا يستطيع المطبخ أن يبدأ قبل الدفع بوقت طويل.
ما الذي يحدث أيضًا عند إرسال الطلب:
- مراحل التقديم: المرحلة 1 تذهب فورًا إلى المطبخ؛ والمراحل 2 و3 و4 تُرسل بحالة انتظار ولا يبدأ المطبخ إلا عندما تستدعي تلك المرحلة (انظر مراحل التقديم).
- الجولات: كل ضغطة على إرسال الطلب هي جولة واحدة؛ وعلى ذلك يعتمد زر ↻ جولة أخرى.
- يُخصم من المخزون ويُفتح صنبور الجرعات المُعايَرة.
- All-you-can-eat: إذا كان الطلب أكثر من المسموح أو مبكرًا جدًا أو متأخرًا جدًا بالنسبة للباقة، يسأل نظام الكاشير أولًا هل يُسمح به مع ذلك.
- بلجيكا (GKS 2.0): تُرسل الأسطر أولًا كفاتورة مبدئية (pro forma) إلى الصندوق الأسود؛ وإذا فشل ذلك فلا يُرسل شيء إلى المطبخ وتبقى بحالة جديد.
- لا يوجد اتصال: يُحفظ الطلب ويُرسل إلى المطبخ فور عودة الاتصال. الطابعة مطفأة: يتم الطلب رغم ذلك، وتدخل بطاقة الطلب في قائمة انتظار الطباعة (انظر طابعة المطبخ مطفأة أو لا توجد شاشة مطبخ).
يمكنك أيضًا الدفع مباشرة. إذا نقرت على الدفع وما زالت على الفاتورة أسطر جديدة، يرسل نظام الكاشير طلبها تلقائيًا أولًا، حتى يحصل المطبخ والبار دائمًا على بطاقتهما. لذلك في البار أو عند الطلبات الخارجية لا تحتاج إلى النقر على إرسال الطلب أولًا: انقر على المنتجات ثم الدفع مباشرة. وإذا فشل هذا الطلب التلقائي (لا يوجد اتصال، قاعدة all-you-can-eat، الصندوق الأسود)، تبقى شاشة الدفع مغلقة وترى السبب.
تفضّل ألا يحصل البار على إيصال عندما تدفع مباشرةً؟ في الإعدادات → المحل → الطلب والدفع فعّل خانة الدفع المباشر بدون إيصال تحضير. عندها لا يصل إلى المطبخ والبار إلا ما ترسله بزر إرسال الطلب؛ وما تدفعه مباشرةً لا يُطبع له إيصال تحضير.
زر الدفع كبير أو صغير
عند تفعيل خيار زر "الدفع" كبير تعرض شاشة الطلب زر الدفع كبيرًا مباشرة تحت المنتجات المطلوبة: عريضًا وطويلًا ومعه المبلغ، ليسهل الضغط عليه بسرعة. إذا دُفع جزء من الحساب، يعرض الزر المبلغ المتبقي. ويختفي عندها الزر الصغير في الأسفل بجانب إرسال الطلب.
مع الزر الكبير تصبح أزرار شاشة الدفع كبيرة أيضًا: الدفع (مع البطاقة البنكية وقسيمة الهدية وطرق الدفع الأخرى)، ومع الدفع نقدًا يكون الدفع بالمبلغ المضبوط والدفع عريضين وطويلين، يسهل الضغط عليهما حتى بأصابع متسخة (مثلًا عند الجزّار). طرق الدفع أكبر قليلًا وأزرار البقشيش أصغر قليلًا، ليبقى كل شيء ظاهرًا على الشاشة.
في التثبيت الجديد يكون الخيار غير مفعّل: عندها يظهر الزر الصغير في الأسفل بجانب إرسال الطلب وشاشة دفع بأزرار عادية. تفضّل الكبير؟ فعّل في الإعدادات ← المحل، مباشرة تحت السمة الفاتحة/الداكنة، خيار زر "الدفع" كبير. الصندوق الذي كان مستخدمًا من قبل يحتفظ بما كان عليه. ينطبق الاختيار على جميع الصناديق والأجهزة اللوحية في المحل.
تعيين المنتج كـ «نفد» (نفدت الكمية)
يستطيع الجميع في شاشة الطلب الضغط المطوّل على منتج (أو النقر عليه بزر الفأرة الأيمن) واختيار نفد (نفدت الكمية). عندها يصبح المنتج رماديًا ولا يمكن طلبه على أي صندوق. وبالطريقة نفسها تعيده بـ متاح مجددًا. كل تغيير يُسجَّل في السجل. ولا يزال بإمكان المسؤول فعل ذلك أيضًا في الإعدادات ← المنتجات. ويرفض خادم الصندوق كذلك أي منتج معيّن كـ "نفد" ("نفد Cola")، حتى من جهاز لوحي لم يستلم التغيير بعد أو من طلبات محفوظة دون اتصال؛ وعندها يُظهر الجهاز اللوحي "تعذّر الإرسال".
شاشة المطبخ (KDS)
إلى جانب طابعات بونات المطبخ (لا بدلًا منها) يمكن للمطبخ أو البار استخدام شاشة. افتح على جهاز لوحي/حاسوب في المطبخ http://<kassaserver>:3000/keuken، وسجّل الدخول برمز سري واختر المحطة: وهي الأسماء نفسها للطابعات (المطبخ، البار، ...)، فيظهر على الشاشة بالضبط ما كان سيُطبع على بون المطبخ ذاك. "الكل" يعرض جميع المحطات.
- لكل طلب بون، الأقدم أولًا، مع الطاولة/للأخذ والرقم ومدة الانتظار (برتقالي بعد 10، وأحمر بعد 20 دقيقة).
- الأطباق تظهر منفصلة؛ والطبق الذي لم يُستدعَ بعد يظهر رماديًا كـ "في انتظار الاستدعاء". والإلغاءات تظهر مشطوبة.
- اضغط على سطر لتعيينه جاهزًا، أو على جاهز للبون كله. عندها يرى طاقم الخدمة في الشريط العلوي "المطبخ: الطاولة 5 جاهزة". ومع الإعدادات ← المحل ← شاشة المطبخ ← صوت للنادل (غير مفعّل افتراضيًا) يُصدر الصندوق أيضًا تنبيهًا صوتيًا ("دينغ-دونغ"، دون ملف صوتي). لا يسمح المتصفح بالصوت إلا بعد أول لمسة على الشاشة؛ فارفع صوت الجهاز اللوحي.
- استرجاع يعرض ما أُبلغ بجاهزيته في الساعة الأخيرة، فيمكن إعادة ما أُزيل بالخطأ.
تتحدّث الشاشة تلقائيًا وفورًا. وتستمر طباعة بونات المطبخ كالمعتاد؛ ومن لا يستخدم الشاشة لن يلاحظ أي فرق.
شاشة المطبخ: التحويل والترتيب والطبق
الإعدادات → الطابعات → شاشة المطبخ. يمكن تفعيل كل جزء على حدة، وهي مُوقفة افتراضيًا؛ والإيقاف يحتفظ بكل شيء.
- التحويل بين المحطات، مثلًا بارد → ساخن → التسليم. لكل محطة تحدد محطة تالية ثابتة؛ فيظهر على الإيصال زر → ساخن (ودائمًا تحويل إلى… لاختيار محطة أخرى). تنتقل فقط البنود المفتوحة لتلك المحطة. لا تحتاج المحطة إلى طابعة: أدخل محطات مثل التسليم في محطات بدون طابعة. لا يظهر جاهز (وتنبيه الخدمة) إلا في المحطة الأخيرة. في "الكل" يظهر عند البند المحوَّل مكانه الحالي. كل خطوة تُسجَّل عند البند وفي السجل.
- إعادة الترتيب: اسحب الإيصالات (بالفأرة) أو انقلها بـ ◀ ▶ (شاشة اللمس). الترتيب يسري لكل محطة ولجميع شاشات تلك المحطة؛ والإيصالات الجديدة تأتي في الآخر.
- الطبق التالي من شاشة المطبخ: عند إيصال فيه طبق منتظر يظهر طلب الطبق 2. فتتلقى الخدمة "المطبخ يطلب الطبق 2 للطاولة 5" (مع صوت) وتستدعيه كالمعتاد؛ وعلى شاشة المطبخ يظهر "تم طلب الطبق 2 · n د" حتى يتم استدعاء الطبق. أو اختر استدعاء: فتستدعي شاشة المطبخ الطبق بنفسها، مع بون العمل "استدعاء الطبق 2"، تمامًا مثل الزر في الصندوق.
طابعة المطبخ متوقفة أو دون شاشة مطبخ
يواصل الصندوق العمل دائمًا، حتى عندما تكون طابعة المطبخ أو البار متوقفة (أو نفد الورق، أو انفصل الكابل)، وحتى دون شاشة مطبخ:
- الطلب يستمر دائمًا. تصبح الأسطر فورًا مطلوبة، والحساب صحيح والدفع ممكن كالمعتاد. يتم التواصل مع الطابعات في الوقت نفسه ولكل طابعة حوالي 4 ثوانٍ كحد أقصى: الطابعة المتوقفة لا تجعل الطابعات الأخرى (ولا طاقم الخدمة) تنتظر طويلًا.
- قائمة انتظار الطباعة. بون المطبخ الذي تعذّرت طباعته يدخل قائمة انتظار الطباعة. يعيد خادم الصندوق المحاولة كل 30 ثانية، لمدة ربع ساعة؛ وبمجرد أن تعمل الطابعة مجددًا يُطبع، وفي أعلاه LATER GEPRINT (طُبع لاحقًا). وإذا نجحت طباعة بون تالٍ على تلك الطابعة، تُطبع البونات المنتظرة بعده مباشرة.
- بعد ربع ساعة تتوقف إعادة المحاولة تلقائيًا؛ ويبقى إعادة الطباعة الآن متاحًا.
- شاشة المطبخ. إذا كان الطلب على شاشة المطبخ، فإن المطبخ يراه هناك حتى لو كانت الطابعة متوقفة. ومن لا يستخدم شاشة المطبخ لا يفوته شيء: الصندوق لا ينتظر في أي مكان "جاهز" من المطبخ.
- قائمة الانتظار موجودة فقط في ذاكرة خادم الصندوق (بعد إعادة التشغيل تكون فارغة).
- وكذلك إيصال الصندوق: إذا تعذّرت طباعته، يكون الدفع قد تم رغم ذلك (يُبلغ الصندوق "فشلت الطباعة") ويمكنك لاحقًا طباعة نسخة من الإيصالات.
الأطباق (مقبلات، طبق رئيسي ...)
لا تظهر أزرار الأطباق إلا عند الحاجة إليها: بمجرد وجود وجبة مجمّعة (منتج مركّب) على الطلب، أو عندما يكون هناك شيء بالفعل في الطبق 2 إلى 4. مع المنتجات العادية، مثل الكولا، لا تراها ويذهب كل شيء مباشرةً إلى المطبخ. لا يوجد ما يلزم ضبطه.
تحت قائمة الطلب يوجد الطبق 1 2 3 4. افتراضيًا يكون الطبق 1 مفعّلًا ويعمل كل شيء كالمعتاد: "إرسال الطلب" يرسل كل شيء فورًا إلى المطبخ، دون عناوين أطباق على بون المطبخ. إذا اخترت الطبق 2 (أو أعلى) قبل الضغط على المنتجات، فإنها:
- تذهب عند "إرسال الطلب" إلى المطبخ فعلًا، تحت "-- الطبق 2 · في انتظار الاستدعاء --"، حتى يتمكن المطبخ من التحضير؛
- يظهر في قائمة الطلب "الطبق 2 · في الانتظار" مع زر استدعاء؛
- يستلم المطبخ عند الاستدعاء بونًا " استدعاء الطبق 2 " بما يجب تحضيره الآن.
الطبق 1 يذهب دائمًا فورًا. إذا كان الطبق 2 قد طُلب إرساله بالفعل، فإن الطبق الذي يُطلب لاحقًا ضمن الطبق 2 يذهب فورًا أيضًا.
مسببات الحساسية لكل منتج
افتراضيًا غير مفعّل: عندها لا تظهر مسببات الحساسية في أي مكان. للتفعيل عبر الإعدادات ← المحل ← إدخال وعرض مسببات الحساسية لكل منتج.
- الإعدادات ← المنتجات: حدّد لكل منتج مسببات الحساسية الأوروبية الـ 14 (الغلوتين، القشريات، البيض، السمك، الفول السوداني، الصويا، الحليب، المكسرات، الكرفس، الخردل، السمسم، الكبريتيت، الترمس، الرخويات). في قائمة المنتجات تظهر الاختصارات بعد الاسم.
- شاشة الطلب: تظهر الاختصارات بخط صغير على كل زر منتج (مثلًا
Gl Me)، والزر ⚠ مسببات الحساسية في شريط المجموعات يعرض لكل منتج في المجموعة المختارة مسببات الحساسية كاملة، مع شرح الاختصارات. - تغييرات مسببات الحساسية تُسجَّل في السجل (القديم ← الجديد). وإذا كان الإعداد غير مفعّل، تبقى مسببات الحساسية المُدخلة سابقًا محفوظة.
كُل ما تشاء
افتراضيًا غير مفعّل. التفعيل عبر الإعدادات ← المحل ← All-you-can-eat (المسؤول فقط). تُنشئ باقة واحدة أو أكثر، مثل سمك ولحم وسوشي، لكل منها:
- اسم (يظهر على الإيصال: "سمك بالغ"، "سمك طفل")؛
- سعر للبالغ وللطفل (شامل ضريبة القيمة المضافة) ونسبة الضريبة (افتراضيًا في هولندا
LAAG، وفي بلجيكاB)؛ - الأطباق المشمولة (€ 0): مجموعات منتجات كاملة و/أو منتجات مفردة (حتى من مجموعات أخرى، مثل البطاطا المقلية مع السمك واللحم معًا)؛
- حد زمني بالدقائق (0 = بلا حد)؛
- جولات: عدد أقصى من الأطباق لكل شخص في كل جولة (0 = غير محدود) وحد أدنى من الدقائق بين جولتين (0 = بلا حد)؛
- رسوم هدر لكل قطعة (0 = بلا رسوم).
بـ ↑ ↓ تحدد الترتيب. يهم الترتيب عندما ينتمي طبق إلى أكثر من باقة: يُحتسب عندها للباقة الأعلى التي اختارتها المجموعة. حذف يزيل الباقة للطاولات الجديدة؛ أما الطاولات الجارية فتحتفظ بأسطر أسعارها (يمكن هناك تقليل عدد الأشخاص، لا زيادته).
على الطاولة:
- في شاشة الطلب يوجد فوق الإيصال + All-you-can-eat. اختر لكل باقة عدد البالغين والأطفال؛ يمكن المزج (مثلًا 2× سمك و2× لحم). يظهر السعر كبنود في الفاتورة؛ ولا تُرسل هذه البنود إلى المطبخ. يصبح عدد أشخاص المجموعة إجمالي المشاركين (إذا كان الكاشير يسجّل عدد الأشخاص).
- يُظهر الشريط لكل باقة: الأشخاص، والوقت المتبقي (أحمر عند انتهاء الوقت)، ورقم الجولة مع الحد الأقصى، وكم بقي حتى الجولة التالية. الأطباق المشمولة تظهر على الأزرار كـ AYCE وعلى الإيصال بعلامة AYCE بسعر € 0. وكل ما لا ينتمي إلى أي باقة مختارة (المشروبات، الحلويات ...) يبقى مدفوعًا كالمعتاد.
- إرسال الطلب: كل ضغطة على "إرسال الطلب" تتضمن أطباقًا مجانية تُعد جولة، لكل باقة (فقط الباقات التي تتضمن أطباقها). وما سُجّل دون اتصال وأُرسل لاحقًا لا يُمنع.
- تعديل: تغيير الأعداد لكل باقة. تقليل عدد الأشخاص يُعد إلغاءً (صلاحية "الإلغاء"). تعيين باقة إلى 0 (أو إيقاف للكل) ممكن ما دامت لا توجد على الحساب أطباق من تلك الباقة.
- رسوم إضافية (فقط إذا كانت لباقة مختارة رسوم هدر): اختر العدد (والباقة، إذا كان هناك أكثر من واحدة)؛ ويُضاف "رسوم الهدر × العدد" إلى الحساب.
- الدفع والتقسيم والخصومات والإيصال تعمل كما هو دائمًا: أسعار الباقات والرسوم الإضافية والمشروبات أسطر عادية بضريبتها الخاصة.
- إذا أوقف المسؤول ميزة كُل ما تشاء بينما توجد مجموعات قيد الاستخدام، فإن الأطباق المُسجّلة حديثًا تعود إلى سعرها العادي؛ وما هو موجود على الحساب يبقى كما هو.
- في المتجر الإلكتروني (اختياري، غير مفعّل افتراضيًا): مع أيضًا عند الطلب على الطاولة عبر رمز QR (المتجر الإلكتروني) يرى الضيف الذي يطلب من طاولة عليها باقة الأطباقَ التابعة لها على أنها مشمولة بسعر € 0، مع الوضع الحالي في الأعلى (الأشخاص، الجولة، الوقت). كل طلب يُعدّ جولة، بنفس قواعد إرسال الطلب؛ والطلب الزائد أو المبكر جدًا أو المتأخر جدًا يرفضه المتجر الإلكتروني فورًا. المشروبات والأطباق الأخرى يدفعها الضيف كالمعتاد؛ ويُضاف كل شيء إلى حساب الطاولة. غير مفعّل = يحتسب المتجر الإلكتروني الأسعار العادية كما في السابق.
قسائم الهدايا
مفتاحان في الإعدادات ← المحل ← قسائم الهدايا:
- قسيمة هدية كطريقة دفع عند الدفع: مفعّل افتراضيًا، كما كان دائمًا. عند الإيقاف لا يظهر زر قسيمة هدية عند الدفع (ولا في استرداد المبلغ عبر عند الإرجاع)، ويرفض خادم الصندوق الدفع بقسيمة هدية.
- بيع قسائم هدايا برصيد: مُوقف افتراضيًا. عند التفعيل:
- يظهر في شاشة الطلب زر قسيمة هدية: اختر المبلغ (€ 10 أو 25 أو 50 أو 100 أو مبلغًا آخر) ودع الصندوق يُنشئ رمزًا، أو امسح رمز بطاقة مطبوعة مسبقًا. تُضاف القسيمة كسطر في الحساب (رمز الضريبة إيصال: ليست مبيعات، بلا ضريبة قيمة مضافة، ولا تُرسل إلى المطبخ). ومن هناك يمكنك أيضًا الاستعلام عن الرصيد لزبون.
- بعد الدفع تصبح القسيمة نشطة، وتطبع طابعة الإيصالات قسيمة هدية بالمبلغ والرمز ورمز QR.
- الاستعمال: عند الدفع اختر قسيمة هدية وامسح الرمز أو اكتبه (زر الرصيد يعرض الرصيد). يُخصم المبلغ من الرصيد. إذا كان الرصيد أقل من الحساب، يُخصم الرصيد كله كدفعة جزئية وتدفع الباقي بالبطاقة البنكية أو نقدًا. يمكن استعمال الرصيد على دفعات.
- ترك الرمز فارغًا = قسيمة هدية بلا رمز، كما في السابق (مثلًا قسيمة ورقية قديمة).
- التقارير ← قسائم الهدايا (صلاحية إدارة قسائم الهدايا، افتراضيًا للمدير والمسؤول): البحث بالرمز، والرصيد غير المستعمل، والسجل لكل قسيمة، وحظر (مفقودة/مسروقة) وتصحيح الرصيد مع ذكر السبب. يُسجَّل ذلك في السجل.
- التقارير: قسائم الهدايا المبيعة لا تُحتسب مبيعات وتظهر منفصلة (قسائم الهدايا المبيعة)؛ أما المال المستلم فيظهر ضمن طرق الدفع. وما يُدفع بقسيمة هدية فهو مبيعات عادية (مع الضريبة) تحت طريقة الدفع قسيمة هدية.
- المحاسبة: تُسجَّل القسائم المبيعة دائنًا والقسائم المستعملة مدينًا في حساب قسائم الهدايا (أرصدة الزبائن).
- يمكن إرجاع قسيمة هدية مبيعة عبر الإيصالات ← إرجاع ما دامت غير مستعملة (الرصيد = القيمة). بعد الإرجاع تُلغى القسيمة (الرصيد 0، محظورة؛ ويظهر ذلك في سجل القسيمة). وإذا استُعملت (جزئيًا)، فاضبط الرصيد على 0 في التقارير ← قسائم الهدايا وأعِد المبلغ المتبقي بشكل منفصل. لا يمكن منح خصم على قسيمة هدية.
رصيد قابل للشحن (اختياري)
للأندية ومقاصف النوادي الرياضية ومراكز الشباب والفعاليات: تصبح قسيمة الهدية برصيد بطاقة قابلة للشحن. يُفعَّل في الإعدادات ← المحل ← رصيد قابل للشحن، تحت قسائم الهدية (افتراضيًا غير مفعّل؛ يعمل فقط عندما يكون بيع قسائم هدية برصيد مفعّلًا).
- بطاقة أو سوار: بِع قسيمة هدية مع بطاقة مطبوعة مسبقًا وامسح البطاقة (قارئ NFC/RFID يعمل كلوحة مفاتيح، أو رمز شريطي). يصبح رقم البطاقة هو الرمز؛ وبه يدفع الضيف كما مع قسيمة الهدية.
- الشحن: شاشة الطلب ← قسيمة هدية ← شحن الرصيد: امسح القسيمة أو البطاقة وأدخل المبلغ. يُضاف كسطر في الحساب (رمز الضريبة BON: ليست مبيعات، بلا ضريبة قيمة مضافة، تمامًا مثل قسيمة هدية مُباعة) ويصبح في الرصيد بعد الدفع. في سجل القسيمة يظهر تم الشحن.
- أعلى رصيد لكل قسيمة أو بطاقة (افتراضيًا € 500، ويمكن ضبطه حتى € 5.000).
- إرجاع المتبقي (خانة اختيار، افتراضيًا غير مفعّلة؛ صلاحية إدارة درج النقود): بعد الاستعلام عن الرصيد يظهر إرجاع المتبقي. يصبح الرصيد € 0 ويظهر المبلغ كـ إخراج نقود من الدرج في تقرير X وتقرير Z (Tegoed terugbetaald …).
- يمكن إلغاء الشحن عبر الإيصالات ← إرجاع ما دام الرصيد لا يقل عن ذلك المبلغ؛ وتبقى القسيمة أو البطاقة صالحة.
- الشحن على الكشك (اختياري): انظر كشك الخدمة الذاتية.
قسائم الوجبات
فقط للمحلات في بلجيكا، مُوقف افتراضيًا: الإعدادات ← المحل ← الدفع ← قسائم الوجبات. قسائم الوجبات ميزة ضمن الأجر: يضعها صاحب العمل على بطاقة الموظف (Edenred أو Monizze أو Pluxee). يدفع بها الضيف على جهاز الدفع العادي؛ ولا حاجة إلى ربط مع الجهات المُصدِرة.
- مفعّل: عند الدفع يظهر زر قسيمة وجبة. اختر الجهة المُصدِرة (فقط الجهات المُصدِرة التي يقبلها المحل) ودع الضيف يضع البطاقة أمام جهاز الدفع، تمامًا كما في الدفع بالبطاقة. بدون ربط الدفع بالبطاقة: يدفع الضيف على جهاز الدفع نفسه وتنقر أنت على الدفع.
- لا بقشيش ولا فكة مع قسائم الوجبات. إذا كان الرصيد غير كافٍ، يدفع الضيف الباقي بطريقة أخرى (يبقى الحساب مفتوحًا حتى يُدفع كل شيء).
- فقط لمجموعات منتجات معيّنة (اختياري، مثلًا الطعام دون الكحول): عندها يمكن الدفع بقسائم الوجبات حتى مبلغ تلك المنتجات على الحساب كحد أقصى. تُظهر شاشة الدفع المبلغ؛ ويدفع الضيف الباقي بطريقة أخرى.
- على الإيصال: قسيمة وجبة Pluxee (مع اسم الجهة المُصدِرة بعدها).
- تقرير Z وتقرير X: سطر خاص لكل جهة مُصدِرة (قسيمة وجبة Edenred، … Monizze، … Pluxee).
- المحاسبة: حساب دفتر أستاذ خاص لكل جهة مُصدِرة (قسائم الوجبات Pluxee (مستحقة القبض) إلخ، افتراضيًا 416100 و416200 و416300)، لأن المال يأتي من الجهة المُصدِرة وليس من بنك جهاز الدفع.
- المطلوب: اتفاقية مع كل جهة مُصدِرة تقبل قسائمها، وجهاز دفع يقبل هذه البطاقات (اسأل عن ذلك مورّد جهاز الدفع).
عملة أجنبية
الدفع نقدًا بعملة أخرى، مثلًا للسياح البريطانيين أو الأمريكيين، أو في المناطق الحدودية بالفرنك السويسري. افتراضيًا مُوقف: الإعدادات → المحل → الدفع → عملة أجنبية. أضف العملات (CHF, CZK, DKK, GBP, HUF, NOK, PLN, SEK, TRY, USD) مع سعر صرف لكل عملة: كم يورو تحتسب مقابل 1 وحدة (مثلًا 1 GBP = € 1,15).
- مُدخل يدويًا: سعر صرف ثابت؛ عدّله بنفسك عندما يتغير.
- مباشر (ECB): سعر الصرف اليومي للبنك المركزي الأوروبي (أسعار مرجعية، كل يوم عمل نحو الساعة 16:00؛ مجانًا، دون حاجة إلى حساب). مع هامش بالنسبة المئوية (0-20) يصبح السعر أقل بهذا القدر، حتى لا يتحمل المحل تكلفة الصرف بنفسه. يجلب الصندوق الأسعار تلقائيًا إذا كانت أقدم من 6 ساعات؛ تحديث الآن يجلبها فورًا. بدون إنترنت يبقى آخر سعر.
- مفعّل: عند الدفع يظهر زر عملة أجنبية. اختر العملة؛ يعرض الصندوق المبلغ بتلك العملة. أدخل ما يعطيه الضيف: يحوّل الصندوق المبلغ ويُرجع الباقي باليورو. إذا لم يرد الضيف استرجاع شيء، ففعّل الفكة بقشيش: تُسجَّل الفكة كبقشيش على الإيصال، وفي بلجيكا بتلك العملة (GKS 2.0، UC296).
- إذا أعطى الضيف أقل من المبلغ الكامل، فهذا جزء؛ ويدفع الباقي بطريقة أخرى.
- على الإيصال: العملة والمبلغ وسعر الصرف، والباقي باليورو.
- تقرير X وتقرير Z: سطر خاص لكل عملة (عملة أجنبية GBP، باليورو)، وعند درج النقود ما يوجد في الدرج بتلك العملة. يُخصم الباقي المدفوع باليورو من النقود المتوقعة في الدرج؛ أما العملات نفسها فتعدّها على حدة.
- المحاسبة: يُحتسب نقدًا (الصندوق)، باليورو.
أزرار إضافية عند الطلب والدفع
أزرار لما لا يحتاجه كل محل. كل شيء معطّل افتراضيًا؛ التفعيل لكل زر في الإعدادات → المحل → الطلب والدفع (صلاحية إعداد المحل والدفع والطابعات). معطّل = الزر لا يظهر في أي مكان في الصندوق وخادم الصندوق يرفض العملية. في هولندا يعمل كل شيء بدون الصندوق الأسود؛ وفي بلجيكا لا يعمل الزر إلا بعد اختبار تلك الوظيفة مع الصندوق الأسود (يظهر ذلك عند الزر إن لم يتم بعد).
عند فتح طاولة:
- تسجيل عدد الأشخاص: سؤال "كم عدد الأشخاص؟" عند طاولة شاغرة، وعدد الأشخاص على مخطط القاعة وفي شاشة الطلب، والضيوف في التقارير. انظر عدد الأشخاص.
عند الطلب (شاشة الطلب، لما تضغط عليه بعد ذلك):
- تجميع المنتجات المتماثلة (بدون زر، مفعّل افتراضيًا): إذا نقرت على المنتج نفسه مرة أخرى (الخيارات نفسها، ولم يُطلب بعد)، تزداد الكمية بدلاً من إضافة سطر جديد: 4 Cola في سطر واحد بالسعر مضروبًا في 4. وبـ− يُنقص واحد مرة أخرى، حتى لو كان قد طُلب بالفعل (إلغاء واحد). مع ملاحظة أو مقعد أو طلب سفري يبقى سطرًا مستقلًا؛ وما تم طلبه بالفعل يبقى سطرًا مستقلًا (جولة جديدة).
- − و + (قبل السعر في كل سطر): − يُنقص واحدًا، + يضيف واحدًا (نفس المنتج والخيارات والملاحظة؛ إذا كان تجميع المنتجات المتماثلة متوقفًا، فسطر جديد). إذا لم يُطلب بعد ووصل إلى 0: يُحذف السطر. إذا طُلب بالفعل: إنقاص واحد هو إلغاء، ويبقى ذلك السطر مشطوبًا (للمطبخ والتقارير)؛ وإضافة واحد تصبح سطرًا جديدًا يجب طلبه بعد. النقر على السعر نفسه لم يعد يحذف شيئًا. في القائمة (المنيو) − فقط.
- للأخذ (في المحل فقط): يأخذ الضيف هذا المنتج معه، مثلًا قارورة ماء أو حلوى. يحصل ذلك السطر على ضريبة الطلبات الخارجية (في بلجيكا الفئة C)، وبقية الحساب على ضريبة الاستهلاك في المحل. يظهر في الإيصال للأخذ عند السطر.
- المقعد (على طاولة): اضغط للتنقل إلى المقعد 1، 2، 3 ...؛ تحصل السطور على رقم ذلك المقعد (وأيضًا في إيصال العمل). في بلجيكا يُرسَل كل سطر مع مركز تكلفة المقعد (CHAIR، UC4123) إلى الصندوق الأسود. ضغطة أخرى بعد المقعد 12 = بدون مقعد من جديد.
- استرجاع: المنتج التالي يُضاف بـ -1، مثلًا قارورة أو كوب فارغ (رسوم الاسترداد). ذلك ممكن فقط للمنتجات التي عليها قابل للإرجاع (رسوم الاسترداد) (الإعدادات → المنتجات). إذا كان الحساب كله سالبًا (رسوم استرداد فقط دون بيع)، يصبح الدفع استردادًا: نقدًا أو بالبطاقة (يُعاد على الجهاز نفسه). في بلجيكا كاسترداد (REFUND، UC4108 وUC4114).
- استبدال SPV: يدفع الضيف منتجًا أو قائمة بـ single purpose voucher (قسيمة لذلك المنتج تحديدًا، مثلًا "1 menu all-in"). اضغط على استبدال SPV ثم على المنتج في الإيصال: يُضاف بـ -1 (السعر والضريبة نفسهما، ومع المكونات في القائمة)، مع SPV بجانبه. لا يُرسَل إلى المطبخ؛ ويمكن حذفه عاديًا. منتج القسيمة تبيعه مسبقًا كمنتج عادي؛ أضف إليه في الإعدادات → المنتجات SPV (قسيمة). في بلجيكا يُرسَل السطر عند البيع كـ VOUCHER إلى الصندوق الأسود (UC271).
- احتساب الدفعة المقدمة: انظر أدناه.
- السعر المفتوح (ليس زرًا، لكل منتج): لمنتج عليه سعر مفتوح يطلب الصندوق السعر، مثلًا طبق اليوم أو دفعة مقدمة.
عند الدفع:
- الدفع المباشر بدون إيصال تحضير (ليس زرًا): افتراضيًا، يقوم الدفع أولًا بإرسال ما لم يُطلب بعد، حتى يحصل المطبخ والبار دائمًا على إيصالهما (انظر زر إرسال الطلب). عند التفعيل: ما تدفعه مباشرةً دون النقر أولًا على إرسال الطلب لا يُطبع له إيصال تحضير، مثلًا عند البار حيث تأخذه بنفسك. ما طُلب مسبقًا لا يتغيّر.
- الدفع على حدة (على طاولة، في تقسيم الحساب): اختر ما يدفعه ضيف واحد الآن، حتى جزء من سطر (½ لنصف قارورة). يصبح ذلك جزءًا مستقلًا تدفعه فورًا؛ ويبقى الباقي على الحساب، دون تقسيم الحساب أولًا أو نقله إلى مجموعة أخرى. الخصم بالنسبة المئوية على الإيصال كاملًا يُنقل بالتناسب. رجوع دون دفع = كل شيء يعود إلى الحساب. في بلجيكا يُسجَّل البيع في مكان الطاولة، دون تغيير الطاولة (UC4103bis، UC4104).
- غادر الضيف دون أن يدفع (صلاحية الإغلاق بدون دفع، افتراضيًا للمدير والمسؤول فقط): يُغلق الحساب كعملية بيع بدون دفع، مع سبب في السجل. في تقرير X وZ وفي الكشف اليومي يظهر كـ غير مدفوع (غادر الضيف)؛ وفي دفتر اليومية إلى غير قابل للتحصيل (افتراضيًا 4985 / 643000). في بلجيكا عملية بيع بدون دفع (UC4109).
لاحقًا (الإيصالات):
- تصحيح السعر (صلاحية تصحيح سعر إيصال، افتراضيًا للمدير والمسؤول فقط): لم يكن سعر إيصال مدفوع صحيحًا، مثلًا خصم 50% بدل 5%. ينشئ الصندوق إيصالًا جديدًا بدون طاولة بسطور الإيصال القديم مُرجَعة (بالسالب، بما دُفع حينها) والمنتجات نفسها من جديد بالسعر العادي. أعطِ هناك الخصم الصحيح وادفع الفرق (أو أرجع المال إذا كان السعر الجديد أقل). يبقى الإيصال القديم كما كان؛ مرة واحدة لكل إيصال، وليس إذا أُرجع منه شيء بالفعل. في بلجيكا تُرسَل السطور القديمة كـ CORRECTION (UC4116).
الكود: apps/pos-server/src/lib/kassaopties.ts، routes/kassaopties.ts؛ الشاشة KassaOpties.tsx. السجل: تم تغيير إعداد، تم استبدال SPV، تصحيح الإيصال، غير مدفوع.
احتساب الدفعة المقدمة
الدفعة المقدمة (عربون، مثلًا لحفلة أو حجز) تبيعها كمنتج عادي مع تفعيل دفعة مقدمة (الإعدادات → المنتجات؛ له دائمًا سعر مفتوح). أنشئ واحدًا لكل نسبة ضريبة إذا كان يجب أن تكون الدفعة حسب النسبة (مثلًا دفعة مقدمة طعام ودفعة مقدمة مشروبات)، أو منتجًا واحدًا إذا كانت جزءًا من عرض السعر. يدفع الضيف الدفعة المقدمة مسبقًا ويحصل على إيصال.
التفعيل: الإعدادات → المحل → الطلب والدفع → احتساب الدفعة المقدمة (معطّل افتراضيًا). عند الدفع النهائي اضغط في شاشة الطلب على احتساب الدفعة المقدمة وأدخل رقم إيصال الدفعة المقدمة. يضع الصندوق سطور الدفعة المقدمة من ذلك الإيصال بكمية سالبة على الحساب (المنتج والسعر والضريبة نفسها). ما احتُسب بالفعل لا يمكن احتسابه مرة أخرى. إذا كانت الدفعة المقدمة أكثر من الحساب، يسترد الضيف الفرق (استرداد). في بلجيكا تُرسَل السطور المحتسبة كاسترداد (REFUND) إلى الصندوق الأسود (UC4110، UC4111، UC4113). السجل: تم احتساب الدفعة المقدمة.
الإيصال بالبريد الإلكتروني
مُوقف افتراضيًا. التفعيل عبر الإعدادات ← المحل ← الإيصال عبر البريد الإلكتروني أيضًا.
SMTP_HOST=smtp.voorbeeld.nl
SMTP_PORT=587
SMTP_GEBRUIKER=kassa@voorbeeld.nl
SMTP_WACHTWOORD=...
SMTP_AFZENDER=bon@voorbeeld.nl
أعد تشغيل الصندوق بعد ملء البيانات. بعد ذلك يظهر عند الدفع الحقل إرسال الإيصال بالبريد الإلكتروني أيضًا (اختياري): تركه فارغًا = الطباعة فقط كالمعتاد؛ وإدخال بريد إلكتروني = يُرسل الإيصال نفسه (مع تفصيل الضريبة والبيانات الضريبية) أيضًا إلى الضيف بالبريد الإلكتروني، باسم المحل كمرسِل.
- لا يُحفظ البريد الإلكتروني؛ يظهر في السجل فقط "bon N gemaild naar a***@domein.nl" وهل نجح الإرسال.
- إذا تعذّر الإرسال (مثلًا بسبب بيانات دخول خاطئة)، فالإيصال مدفوع ومطبوع كالمعتاد؛ وتوضح الرسالة ما الخطأ.
- لا يعمل مع الدفع الجزئي (تقسيم الحساب): يأتي الإيصال مع آخر دفعة، فأدخل العنوان هناك.
- الإرسال لاحقًا: في الإيصالات يوجد بجانب كل إيصال زر إرسال بالبريد (صلاحية طباعة نسخة من إيصال). يُرسل الإيصال مع عبارة KOPIE عليه، تمامًا مثل النسخة المطبوعة (وفي بلجيكا يُسجَّل كنسخة).
- لا حاجة إلى حزم إضافية: يتواصل الصندوق بنفسه مع خادم البريد (STARTTLS على 587، وTLS على 465).
الحجوزات
التفعيل في الإعدادات ← المحل ← الحجوزات (غير مفعّل افتراضيًا). وهناك تضبط أيضًا قبل كم دقيقة تظهر الطاولة المحجوزة على مخطط الصالة (افتراضيًا 60) والمدة الافتراضية للحجز (افتراضيًا 120 دقيقة).
- زر الحجوزات في الشريط العلوي: نظرة عامة لكل يوم (◀ ▶)، مع عدد الحجوزات والأشخاص ومن لم يحضر. + حجز جديد: الاسم والهاتف والبريد الإلكتروني وعدد الأشخاص والتاريخ والوقت والمدة والطاولة (يمكن لاحقًا) وملاحظة. يقوم الموظفون بالحجز؛ لا يوجد حجز عبر الإنترنت (حتى الآن).
- إذا كان هناك حجز على الطاولة نفسها في تلك الفترة، ينبّهك الصندوق إلى ذلك؛ ويمكنك "حفظ على أي حال".
- التأكيد عبر البريد الإلكتروني (علامة اختيار، أو لاحقًا "إرسال بالبريد") إذا كان هناك بريد إلكتروني وخادم بريد (
SMTP_HOST، انظر الإيصال عبر البريد الإلكتروني). - على مخطط الصالة تظهر الطاولة الشاغرة المحجوزة باللون البنفسجي مع "R 19:30 Jansen (4)". عند الضغط عليها: "Jansen وصل" يفتح الطاولة لـ 4 أشخاص مع "Jansen" كاسم للمجموعة؛ و"ضيوف آخرون" يفتحها بشكل عادي.
- في النظرة العامة: وصل (يفتح الطاولة؛ وإن لم تكن هناك طاولة فاختر واحدة أولًا)، وتعديل، ولم يحضر، وإلغاء، واستعادة. كل شيء يُسجَّل في السجل.
- حجوزات المنصات الإلكترونية: انظر منصات الحجز أدناه.
ربط TheFork بالصندوق: فتح الطاولة عند الوصول، وإرجاع الحساب
باستخدام POS-API من TheFork يعمل الصندوق مع TheFork Manager (غير مفعّل افتراضيًا)، إلى جانب جلب الحجوزات المذكور أعلاه. التشغيل في الإعدادات ← منصات الحجز ← ربط TheFork بالصندوق؛ يعمل عبر بوابة الإدارة.
- عندما تضع ضيفًا في TheFork Manager على وصل أو على الطاولة، تُفتح في الصندوق الطاولة التي تحمل الاسم نفسه، مع عدد الضيوف وملاحظة: الاسم، الحساسيات والحمية، الدفعة المسبقة، العرض/الخصم ونقاط الولاء (Yums). إذا كان على تلك الطاولة طلب مفتوح، فيُربط به. لا توجد طاولة بهذا الاسم: تظهر رسالة، وتختار الطاولة في المنصات.
- بعد المحاسبة يُرسل الحساب إلى TheFork (الإجمالي والبنود مع الاسم ومجموعة المنتج والكمية والمبلغ)؛ ثم يضع TheFork الحجز على غادر. عند تقسيم الحساب: حساب واحد بالإجمالي. إذا لم ينجح ذلك، يعيد الصندوق المحاولة كل ربع ساعة (لمدة يومين)، أو عبر إعادة الإرسال في المنصات.
- الربط: يعرض الصندوق رمز ربط؛ أدخله في TheFork Manager (التكاملات ← الصندوق). يُدخل المسؤول معرّف المطعم في TheFork (Customer-id)، أو يأتي تلقائيًا مع أول طلب.
- خيارات: فتح الطاولة تلقائيًا، الاسم والحساسيات والدفعة المسبقة كملاحظة، الحساب إلى TheFork.
- الشرط: لدى Pin Voordeel مفتاح API من TheFork (للشركاء فقط) وقد سجّلت الصندوق هناك كنقطة بيع (زر في بوابة الإدارة)؛ يفعّل TheFork الربط بعد جلسة اختبار.
توثيق TheFork: https://docs.thefork.io/POS-API/introduction
قائمة انتظار للزبائن بدون حجز
للزبائن بدون حجز الذين ينتظرون طاولة. التفعيل في الإعدادات ← المحل ← قائمة الانتظار (بدون حجز) (غير مفعّل افتراضيًا). تظهر فقط إذا تم إعداد الرسائل القصيرة عبر CM.com؛ وإلا فلا تظهر قائمة الانتظار في أي مكان في الكاشير (ولا حتى في الإعدادات). تعمل بشكل منفصل عن الحجوزات: حتى عندما تكون معطّلة. هناك أيضًا نص الرسالة القصيرة (فارغ = "Hallo {naam}, uw tafel bij {zaak} is klaar. Wilt u zich melden bij de bediening?"؛ يتم ملء {naam} و{zaak} و{personen}).
- زر قائمة الانتظار في الشريط العلوي، مع عدد المنتظرين (برتقالي عندما ينتظر أحد). + إلى قائمة الانتظار: الاسم، الهاتف (للرسالة القصيرة)، عدد الأشخاص، مدة الانتظار المذكورة وطلب (شرفة، كرسي أطفال).
- القائمة مرتبة حسب ترتيب التسجيل، مع مدة انتظار كل شخص (بالأحمر إذا طالت أكثر مما ذُكر)، وفي الأعلى عدد المنتظرين والأشخاص ومتوسط مدة الانتظار اليوم.
- إذا فشلت الرسالة القصيرة، يظهر السبب. يمكن إرسال الرسالة مرة أخرى.
- إجلاس: اختر الطاولة؛ يفتحها الكاشير بعدد الأشخاص (إذا كان الكاشير يسجّل عدد الأشخاص) وبالاسم كاسم للمجموعة (كما في حجز يصل).
- غادر (غادر أو ألغى) واستعادة. أسفل القائمة يظهر من تم إجلاسه أو غادر اليوم، ومدة انتظاره.
- الخصوصية: تُحذف أرقام الهواتف بعد يوم واحد؛ ومن يبقى في القائمة بعد 12 ساعات يُزال تلقائيًا. التسجيل والاستدعاء (مع آخر 3 أرقام فقط من الرقم) والإجلاس تُسجَّل في السجل.
- لماذا ليست ضمن الحجوزات؟ الحجز لوقت لاحق (تاريخ، وقت، طاولة مسبقًا)؛ وقائمة الانتظار للآن (ترتيب، مدة انتظار، رسالة قصيرة عندما تصبح الطاولة متاحة). لذلك مفتاح وزر خاصان، مع نفس "فتح الطاولة" كما في الحجز.
- التسجيل في قائمة الانتظار عبر الإنترنت (اختياري، غير مفعّل افتراضيًا؛ فقط مع المتجر الإلكتروني): مع يمكن للضيوف التسجيل بأنفسهم أيضًا عبر المتجر الإلكتروني تظهر في المتجر الإلكتروني قائمة الانتظار (ويوجد لها رمز QR عند الباب، في إدارة المتجر الإلكتروني ضمن الطاولات وQR). يُدخل الضيف الاسم والهاتف وعدد الأشخاص وطلبًا خاصًا، ويرى مكانه مباشرة. في الصندوق يظهر في القائمة مع عبر الإنترنت؛ الاستدعاء والإجلاس والمغادرة كالمعتاد، ويرى الضيف ذلك أيضًا على هاتفه (ويمكنه إلغاء التسجيل من هناك أيضًا).
بطاقة الزبون / نقاط الولاء
التفعيل في الإعدادات ← المحل ← بطاقة الزبون / نقاط الولاء (غير مفعّل افتراضيًا، وعندها لا يظهر منه شيء في أي مكان). وهناك تضبط أيضًا: النقاط لكل يورو (0 = بطاقات الأختام فقط)، وبعد كم نقطة تُمنح المكافأة، وكم يورو خصمًا تساوي تلك المكافأة.
- في الصندوق يظهر فوق الإيصال "+ بطاقة الزبون": ابحث عن الزبون بالاسم أو رقم الهاتف، أو أنشئ زبونًا جديدًا (الاسم، والهاتف والبريد الإلكتروني اختياريان). بعد ذلك يظهر الاسم مع رصيد النقاط على الإيصال.
- الاستبدال: عند توفر نقاط كافية "استبدال 100 نقطة: خصم € 5"؛ وعند اكتمال بطاقة الأختام "قهوة مجانية" (يجب أن تكون تلك القهوة على الإيصال). يصبح ذلك سطر خصم؛ ويمكن لأي شخص إزالته مجددًا.
- تُضاف النقاط والأختام وتُخصم فقط عند الدفع: النقاط على المبلغ بعد الخصم (دون قسائم الهدايا المبيعة)، والأختام لكل قطعة من منتج له بطاقة أختام (المنتج المجاني لا يُحتسب).
- على إيصال الصندوق: النقاط المكتسبة والمستبدلة والرصيد وحالة بطاقات الأختام.
- التقارير ← الزبائن (صلاحية إدارة بطاقة الزبون): البحث عن الزبائن، وتعديل البيانات، وتصحيح النقاط (مع السبب)، والسجل، والحذف (اللائحة العامة لحماية البيانات: يُحذف الاسم والهاتف والبريد الإلكتروني؛ ويبقى السجل مجهول الهوية). وفي الأسفل بطاقات الأختام لكل منتج (مثلًا 10 قهوة = 1 مجانًا).
- الإرجاع لا يلغي النقاط المكتسبة تلقائيًا؛ صحّحها عند الحاجة في التقارير ← الزبائن.
- بطاقة زبون برقم (اختياري): أدخل رقم البطاقة في التقارير ← الزبائن ← (الزبون) (أو امسح البطاقة في ذلك الحقل). مع ماسح الباركود، يربط مسح تلك البطاقة الزبون بالإيصال، في الصندوق وعلى الكشك. يمكن البحث برقم البطاقة أيضًا في + بطاقة الزبون.
ملف الضيف: VIP والمتطلبات الغذائية والتفضيلات (اختياري)
التفعيل في الإعدادات ← المحل ← ملف الضيف، تحت بطاقة الزبون (افتراضيًا غير مفعّل؛ يعمل فقط عند تفعيل بطاقة الزبون). بعد ذلك:
- في شاشة الطلب يظهر تحت الزبون المرتبط "+ ملف الضيف": ضع علامة على VIP، واختر المتطلبات الغذائية (نباتي، نباتي صرف، نباتي يأكل السمك، حلال، كوشر) والحساسيات (مسببات الحساسية الـ 14)، واكتب التفضيلات (مثلًا "طاولة ثابتة عند النافذة"، 300 حرفًا كحد أقصى). بعد ذلك تظهر عند الزبون في شاشة الطلب، والحساسيات باللون الأحمر. ويمكن تعديلها أيضًا من التقارير ← الزبائن ← (الزبون) ← ملف الضيف.
- إذا ضغطت على منتج يحتوي على مسبب حساسية لدى الضيف (انظر مسببات الحساسية لكل منتج)، يسأل الصندوق أولًا إن كنت تريد إضافته رغم ذلك. يعتمد ذلك فقط على ما أُدخل في المنتج؛ وعند الشك اسأل المطبخ دائمًا.
- يحصل VIP على ★ على مخطط الصالة: عند فاتورة مفتوحة وعند الحجز المعروض لذلك الزبون. وعند وصول ضيوف حجز ما، يربط الصندوق زبون الحجز بالفاتورة.
- تظهر المتطلبات الغذائية والحساسيات (وVIP) على بون المطبخ للمطبخ والبار:
GAST: VIP · Vegetarisch · allergie: Noten. - المتطلبات الغذائية والحساسيات بيانات صحية: لا تُدخلها إلا بموافقة الضيف. لا يُسجَّل في السجل إلا أن الملف قد تغيّر، وليس المتطلبات نفسها. حذف الزبون يحذف ملف الضيف أيضًا.
المفضلة / الأزرار السريعة
مُوقف افتراضيًا. الإعدادات ← المحل ← المفضلة / أزرار سريعة:
- الأكثر مبيعًا: في بداية شريط المجموعات زر ★ المفضلة مع المنتجات الـ 12 الأكثر مبيعًا خلال الـ 14 يومًا الماضية (تُحدَّث تلقائيًا). تُفتح شاشة الطلب على المفضلة.
- اختيار يدوي: في شاشة الطلب اضغط مطولًا على منتج (أو انقر بالزر الأيمن) واختر ★ مفضّل (زر سريع)؛ والضغط مرة أخرى = إزالة. صلاحية إدارة المنتجات. تراه جميع الصناديق فورًا.
- الإضافة والخيارات والقوائم المجمّعة وساعة السعادة و"نفد" تعمل في المفضلة تمامًا كما في المجموعات العادية.
جولة أخرى
في شاشة الطلب يوجد زر ↻ جولة أخرى (بمجرد وجود شيء في الحساب، حتى لو لم يُطلب بعد). نقرة واحدة تضيف آخر جولة (كل ما أُرسل دفعة واحدة عبر "إرسال الطلب"، أو ما نقرت عليه للتو) مرة أخرى كسطور جديدة؛ ثم إرسال الطلب كالمعتاد. الأسعار هي أسعار الآن (بما فيها ساعة السعادة).
- الضغط المطوّل (أو النقر بزر الفأرة الأيمن): اختر بنفسك. بـ ◀ ▶ تتصفح الجولات السابقة، وتشغيل/إيقاف لكل منتج (مثلًا إلغاء تحديد الطعام) والكمية بـ − / +. تُنقل الخيارات والملاحظات أيضًا.
- المنتجات التي نفدت والقوائم المجمّعة لا تُنقل (القوائم المجمّعة تضيفها منفصلة). يعمل أيضًا بدون اتصال.
- تُضاف الأسطر كما تظهر في الفاتورة: عند تفعيل تجميع المنتجات المتماثلة سطر واحد لكل منتج (2 Cola)، وعند إيقافه كل سطر على حدة (2 مرة 1 Cola).
وقت الطاولة على المخطط
على كل طاولة مشغولة يظهر ⏱ 45m · 12m: منذ متى الطاولة مشغولة، ومنذ متى أُضيف آخر شيء (اضغط مطولًا على الطاولة، أو مرّر الفأرة فوقها، لرؤية الأوقات بدقة). إذا لم يُطلب شيء لفترة، تحصل الطاولة على إطار برتقالي: مرّ عليها. عدد الدقائق تضبطه في الإعدادات ← المحل ← وقت الطاولة (افتراضيًا 20، و0 = بلا إطار برتقالي). إذا لم يُضف شيء بعد، يُحتسب الوقت من فتح الطاولة.
إذا جلست عدة مجموعات (لكل منها حسابها) على طاولة واحدة، يظهر سطر لكل مجموعة، مثلًا G1 ⏱ 50m · 12m وJansen ⏱ 10m (اسم المجموعة، وإلا رقمها). المجموعة التي تبقى ساكنة مدة طويلة تحصل على ملصق برتقالي والطاولة على إطار برتقالي.
نقل الطاولة بالكامل
في شاشة الطلب يوجد نقل الطاولة. اختر المكان (مثلًا التراس) وطاولة: تنتقل كل مجموعات الطاولة، كل منها بحسابها الخاص. إذا اخترت طاولة مشغولة، تُدمج الطاولتان (تُضاف المجموعات إليها). لنقل جزء فقط، استخدم كما من قبل تقسيم / نقل. وإذا وجب أن يكون كل شيء على حساب واحد، استخدم دمج.
مواصلة العمل دون اتصال (جهاز لوحي دون واي فاي)
إذا انقطع الاتصال بين جهاز لوحي وخادم الصندوق (الواي فاي في التراس، أو توقف الخادم لحظة)، يظهر شريط أصفر ويواصل الجهاز اللوحي العمل بآخر الطاولات والمنتجات والطلبات المفتوحة المحفوظة:
- فتح الطاولات وإضافة المنتجات وإرسال الطلب تُحفظ على الجهاز اللوحي (حتى عند إعادة تشغيله) وتظهر في قائمة الطلبيات بإطار منقّط ("لم يُرسل بعد")؛
- بمجرد عودة الاتصال، يُرسل كل شيء بالترتيب إلى الخادم، وعندها فقط يذهب بون المطبخ إلى المطبخ. لكل حزمة مفتاح، فلا يصل شيء مرتين. وإذا فتح شخص آخر الطاولة في الأثناء، تُضاف المنتجات إلى ذلك الطلب؛
- الدفع والخصم والتقسيم وما شابه لا تتم إلا مع وجود اتصال؛ و"الدفع" ينتظر حتى يُرسل كل ما يخص تلك الطاولة.
عدد الأشخاص
اختياري ومتوقف افتراضيًا: الإعدادات → المنشأة → الطلب والدفع → تسجيل عدد الأشخاص. متوقف = أقل عدد ممكن من النقرات: تُفتح الطاولة الشاغرة بنقرة واحدة، ولا يظهر عدد الأشخاص في أي مكان، ولا يعرض التقرير ولوحة المعلومات وملخص اليوم الضيوف ولا الإنفاق لكل ضيف.
مفعّل: عند النقر على طاولة شاغرة يسأل الكاشير عن عدد الأشخاص (أزرار كبيرة 1-8، أو الإدخال يدويًا؛ "تخطي" = 1). على مخطط القاعة يظهر عند الطاولة المشغولة "3/4 أشخاص" (الأشخاص/المقاعد، بالأصفر إذا كان الجالسون أكثر من المقاعد). في شاشة الطلب تعدّله بزر "3 أشخاص" في شريط المجموعات؛ وعند وجود عدة مجموعات تجمع الطاولة كل المجموعات.
بدون عدد الأشخاص يستمر كل شيء في العمل: التقسيم بالتساوي عند الدفع يبدأ من 2، وAll-you-can-eat يسأل بنفسه عن عدد البالغين والأطفال، وتحتفظ الحجوزات وقائمة الانتظار بعدد أشخاصها الخاص (وتُفتح الطاولة حينها بدون عدد أشخاص).
سجل HACCP
يجب على كل مطعم أو مقهى مراقبة سلامة الأغذية وتوثيقها: في هولندا وفق Hygiënecode voor de Horeca (بمراقبة NVWA)، وفي بلجيكا وفق نظام الرقابة الذاتية لـ FAVV (الدليل G-023). فعّل سجل HACCP في الإعدادات ← القوانين والأنظمة (معطّل افتراضيًا).
- نقاط القياس (المسؤول): مثلًا غرفة التبريد، المجمّد، الحفظ ساخنًا، درجة الحرارة الداخلية بعد الطهي، إعادة التبريد واستلام البضائع، مع حد أدنى و/أو أقصى بـ °C وعدد المرات (كل يوم، مرتين في اليوم، كل أسبوع أو عند الاستخدام). يوفّر إضافة القائمة القياسية نقطة بداية (التبريد حتى 7 °C، وفي بلجيكا حتى 4 °C؛ المجمّد حتى -18 °C؛ الحفظ ساخنًا من 60 °C؛ الطهي من 75 °C).
- التنظيف والمراقبة: مهام يومية أو أسبوعية (في يوم ثابت إن شئت) أو شهرية، مع المكان والتعليمات، مثلًا تعقيم ألواح التقطيع، فلاتر الدهون، مكافحة الحشرات، فحص مقياس الحرارة.
- التسجيل (كل من سجّل الدخول): زر HACCP في الشريط العلوي، مع عدد المهام المتبقية اليوم. أدخل درجة الحرارة أو أشّر على المهمة (تم أو لم يتم). إذا كانت درجة الحرارة خارج الحد، يجب إضافة إجراء تصحيحي (مثلًا "أغلقت الباب، تخلصت من المنتج"). لا يمكن تعديل السجلات؛ يُصحَّح الخطأ بتسجيل جديد.
- الملخص (صلاحية المبيعات حسب الفترة): لكل فترة جميع السجلات وعدد الانحرافات والسجلات الفائتة لكل يوم؛ بصيغة CSV (Excel) أو لـالطباعة / الحفظ بصيغة PDF للتفتيش.
نظام الصنابير وعدادات التدفق
كل سكبة يُبلغ عنها حاسوب الصنابير أو عداد التدفق تُضاف إلى الفاتورة، فلا "يتسرب" شيء. فعّله من الإعدادات ← نظام الصنابير (متوقف افتراضيًا).
- المصادر (المسؤول): حاسوب الصنابير أو نظام عدادات التدفق. اختر العلامة التجارية؛ يملأ الصندوق إعداداً مسبقاً. من هولندا وبلجيكا: Van Duijnen Horeca (أتمتة السكب، Dashbar)، Beconet (Multi-Tap)، TapSystems، Horecatechniek Nederland، Heineken SmartDispense، WeissBeerger / AB InBev وBarTrack؛ وكذلك Gruber، Addimat، WMF / Hogatron (E-Protokoll)، Drinkotec (ex-Hartec)، ، Berg، Easybar، Azbar، Scanabar، PourMyBeer، iPourIt، BeerBoard، US BeerSAVER، Bevchek، Capton/BarVision، Kegtron، Kegbot Kegboard، أو "صنبور ذكي" أو نظام خاص بك. يمكن الربط بخمس طرق (Kegboard: انظر السكب المُعاير وKegboard أدناه):
- الحقول:
kraan(أوtap،plu)،ml(أوcl،liter،volumeمعeenheid) أوporties،id(السكبة نفسها مرتين = تُسجَّل مرة واحدة)،tijdstip،tafel،bediening؛ سكبة واحدة أو قائمة أو{ "taps": [...] }. - الشبكة (TCP): يتصل الكاشير بحاسوب الصنابير (العنوان والمنفذ) أو يستمع بنفسه على منفذ.
- المنفذ التسلسلي: منفذ COM أو USB تسلسلي، 1200–115200 baud، 8N1 أو 7E1 أو 7O1.
- في الشبكة والمنفذ التسلسلي تضبط صيغة الرسالة (رسالة واحدة في كل سطر، أو STX … ETX مع تحقق XOR اختياري وإرسال ACK/NAK كرد) ونمط الرسالة، بالأجزاء
kraanأوpluوإن أمكنml،cl،liter،porties،tafel،bedieningوid(مثلًاkraan;mlأو PLU فقط لكل كأس). لا يعطي المورّدون صيغتهم الدقيقة إلا للمركّبين؛ اسأل مورّد حاسوب الصنابير. سكبة تجريبية ترسل سكبة كما يفعل حاسوب الصنابير.
- الحقول:
- الصنابير (المسؤول): لكل صنبور أو PLU المنتج وطريقة ظهوره على الفاتورة: لكل كأس (الكأس بالـ ml؛ سكبة 520 ml مع كؤوس 250 ml = 2 كؤوس؛ ابتداءً من 50% تُحسب كأسًا) أو لكل لتر (سعر المنتج هو سعر اللتر؛ على الفاتورة مثلًا "بيرة 0,33 l" بالمبلغ الصحيح).
- على الفاتورة: إذا أبلغ حاسوب الصنابير عن طاولة، تُضاف السكبة مباشرة إلى الطلب المفتوح لتلك الطاولة. وإلا تظهر في مسكوب: يظهر في شاشة الطلبات الشريط "… سكبات بدون فاتورة"؛ اختر السكبات واضغط على هذه الفاتورة. تصبح الأسطر فورًا مطلوبة (لا تُرسل ورقة عمل إلى البار) ويُخصم المخزون. يعرض زر مسكوب في الشريط العلوي كل ما ليس له فاتورة بعد.
- الشطب (صلاحية إلغاء): شطف، كسر، تذوق، موظفون، مجاني أو أخرى (مع ملاحظة)؛ يُسجَّل ذلك في السجل. ما هو أقل من كأس (مثلًا شطف) يجب شطبه.
- النظرة العامة (صلاحية المبيعات حسب الفترة): لكل صنبور المسكوب، وما على الفاتورة، والمشطوب (حسب السبب)، والملغى، وما لا يزال مفتوحًا، باللترات، مع نسبة المبيع، وبصيغة CSV.
- لا يمكن تعديل السكبات المسجلة (يمكن معالجتها فقط).
السكب المُعاير وKegboard
مع السكب المُعاير لا يُفتح الصنبور إلا بعد تسجيل الكأس على الصندوق، ولتلك الكمية فقط. وهكذا لا يُسكب شيء غير مسجّل في الفاتورة. يعمل ذلك فقط عندما يكون نظام الصنابير مفعّلاً، وتفعّله لكل صنبور على حدة (معطّل افتراضياً).
- لكل صنبور (المسؤول، الإعدادات ← نظام الصنابير ← الصنابير): حدّد السكب المُعاير واختر المدة التي يبقى فيها الصنبور مفتوحاً بعد التسجيل (10–600 ثانية، افتراضياً 120). في Kegboard تُدخل أيضاً المُرحّل (الصمام الكهرومغناطيسي). السكب المُعاير ممكن فقط لكل كأس.
- التسجيل: عند إرسال الطلب (أو عند الدفع مباشرة) ينشئ الصندوق لكل سطر في الفاتورة بهذا المنتج تحريراً (عدد الكؤوس × الكأس بالـ ml) ويرسله إلى حاسوب الصنابير. السكبة التي تصل بعد ذلك تتبع ذلك السطر. لذلك لا تُضاف مرة أخرى إلى الفاتورة ولا إلى مسكوب. أما السكبة بدون تحرير فتذهب عادةً إلى مسكوب.
- إلغاء السطر قبل السكب: يُغلق الصنبور من جديد. التحرير الذي لا يُسكب في الوقت المحدد تنتهي صلاحيته؛ ولا يُفتح الصنبور لاحقاً أبداً.
- التحريرات في شاشة الطلبات (شريط فوق الفاتورة): رؤية ما هو جارٍ، وإيقاف، وتحرير من جديد. التحرير من جديد ممكن فقط إذا لم يُسكب شيء بعد، لذا لا يُحرَّر أي شيء إضافي أبداً. تحرير تجريبي (المسؤول) يحرّر كأساً واحدة بدون فاتورة؛ ويُسجَّل ذلك في السجل.
- كيف يصل التحرير إلى حاسوب الصنابير:
- Kegboard (Kegbot، مفتوح المصدر، ESP32 مع عدادات تدفق وصمامات كهرومغناطيسية؛ بروتوكول علني بالكامل): يمنح الصندوق grant للصنابير التي تحمل هذا المنتج، والمُرحّلات، والكمية. تُغلق اللوحة الصنبور بنفسها عند بلوغ الكمية أو انتهاء الوقت.
- الشبكة/تسلسلي: أمر تحرير قابل للضبط مع
{kraan}و{ml}و{porties}و{sec}و{id}(مثلاًV{kraan};{ml})، يُرسل بصيغة رسائل المصدر (سطر أو STX … ETX مع XOR). ويوجد اختيارياً أمر إيقاف. يحدد المورّد الأمر الدقيق.
- ربط Kegboard: في + مصدر اختر العلامة Kegbot Kegboard. تُعلن اللوحة عن نفسها لدى المصدر؛ انقر سماح (أو رفض). تحصل اللوحة حينئذ مرة واحدة على مفتاح خاص بها، يحفظه الصندوق كقيمة hash فقط. لا يغيّر جهاز آخر أو مفتاح خاطئ شيئًا في لوحة مرتبطة؛ إذا فقدت اللوحة مفتاحها، فاستخدم أولًا فك الاقتران. يعرض المصدر البرنامج الثابت والعدادات والمرحّلات الخاصة باللوحة. الصنابير هي أرقام العدادات (0، 1 …). تُرفض أي بطاقة عند اللوحة: الدفع يتم عند الصندوق. إذا كان نظام الصنابير متوقفًا، تحفظ اللوحة رسائلها وترسلها لاحقًا.
- في المصدر تحدد بعد كم ثانية دون تدفق يُغلق الصنبور (5–300، الافتراضي 30). لكل صنبور تُدخل رقم العداد والمرحّل (الصمام الكهرومغناطيسي) والمدة التي يمكن أن يبقى فيها الصنبور مفتوحًا بعد التسجيل.
التحكم في الموسيقى من الصندوق
يتحكم الموظفون في الموسيقى من شاشة اللمس في الصندوق، فلا حاجة إلى شاشة منفصلة عند البار. فعّله في الإعدادات ← المحل ← الشاشات والتشغيل ← التحكم في الموسيقى من الصندوق (غير مفعّل افتراضيًا). عندها يظهر زر الموسيقى في الشريط العلوي: لكل مصدر (مثل البار والتراس) تشغيل وإيقاف مؤقت والتالي والسابق ورفع الصوت وخفض الصوت ومنزلق للصوت، مع ما يُشغَّل الآن. العودة إلى الصندوق يغلق اللوحة. عند الإيقاف تبقى المصادر محفوظة.
- قائمة التشغيل (Sonos وBluesound وVLC): قائمة الانتظار مع ما يُشغَّل الآن. اضغط على مقطع لتشغيله؛ باستخدام تعديل تُزيل المقاطع (✕)، أو ترفعها أو تخفضها (↑ ↓؛ Sonos وBluesound) أو تُفرغ قائمة التشغيل. باستخدام اختيار موسيقى أخرى تُشغّل مفضلة من Sonos (مثل محطة أو قناة Tunify) أو قائمة تشغيل محفوظة، أو إعدادًا مسبقًا من BluOS.
- على شاشة مستقلة: نفس التحكم وقائمة التشغيل بحجم كبير على
http://<kassaserver>:3000/muziek، مثلًا على شاشة ثانية بجانب الصندوق أو جهاز لوحي عند البار (مسجّل الدخول مسبقًا على نفس الجهاز، وإلا برمز PIN). - على جهاز لوحي أو هاتف: رمز QR يحمل عنوان هذه الشاشة المستقلة في شبكة المحل. يمسحه الموظف بجهازه اللوحي أو هاتفه (على شبكة wifi الخاصة بالمحل) ويسجّل الدخول برمزه السري؛ وبـتسجيل الخروج تُغلق من جديد. انظر شاشة ثانية على جهاز لوحي أو هاتف.
يضيف المسؤول المصادر عبر + مصدر موسيقى، ويختار طريقة الربط، ويختبره بـ اختبار:
- Soundtrack (soundtrack.io): عبر الـ API العامة، برمز API (يُطلب من Soundtrack) ومنطقة صوت (تحميل المناطق). تشغيل، إيقاف مؤقت، التالي، الصوت وما يُشغَّل.
- Sonos: عنوان IP للسماعة (في المجموعة: السماعة التي تقود المجموعة). يعمل مع كل ما يُشغَّل على Sonos، مثل Tunify أو Spotify أو الراديو.
- Bluesound (BluOS): عنوان IP للمشغّل؛ يعمل أيضًا مع كل ما يُشغَّل عليه، مثل Tunify.
- VLC على كمبيوتر الموسيقى: فعّل واجهة الويب (أدوات ← التفضيلات ← إظهار الكل ← الواجهة ← الواجهات الرئيسية: الويب، مع كلمة مرور عند Lua)؛ عنوان IP (ويمكن إضافة
:poort، افتراضيًا 8080) وكلمة المرور. - كمبيوتر موسيقى خاص (عناوين ويب): لكمبيوتر أو جهاز موسيقى له عنوان ويب لكل زر؛ GET أو POST، و
{volume}(0-100) في العنوان للتحكم في الصوت. بدون عنوان لرفع/خفض الصوت يضبط الصندوق الصوت خطوة بخطوة. - مشغّل الويب لبرنامج الموسيقى: عنوان الويب لمشغّل الويب أو صفحة التحكم (مثل مشغّل الويب لـ Tunify أو Media Tools) يُفتح في الصندوق عند زر الموسيقى؛ إذا كانت الخدمة لا تسمح بالعرض داخل شاشة أخرى، فاستخدم فتح في نافذة مستقلة.
يتواصل الصندوق مع المشغّلات من الخادم، لذا يجب أن تكون في نفس شبكة الصندوق (Soundtrack عبر الإنترنت). يمكن لكل من سجّل الدخول التحكم؛ أما الإعداد فيتطلب صلاحية إعداد المحل والدفع والطابعات. لا يظهر الرمز وكلمة المرور على الشاشة مرة أخرى ولا في السجل؛ يسجّل السجل الإعداد فقط (تفعيل/إيقاف، المصادر)، وليس كل ضغطة زر. تصدير الإعدادات يشمل التفعيل/الإيقاف فقط (المصادر خاصة بمحل واحد).
شاشة ثانية على جهاز لوحي أو هاتف
يمكن عرض الموسيقى والكاميرات أيضًا على الجهاز اللوحي أو الهاتف الخاص بالموظف، كشاشة ثانية بجانب الصندوق. في نافذة الموسيقى أو الكاميرات يوجد زر على جهاز لوحي أو هاتف: يعرض رمز QR بالعنوان، مثلًا http://192.168.1.20:3000/muziek أو .../camera.
- صِل الجهاز اللوحي أو الهاتف بشبكة wifi الخاصة بالمحل.
- امسح رمز QR بالكاميرا (أو اكتب العنوان في المتصفح).
- سجّل الدخول برمزك السري. لا ترى إلا ما يُسمح لك به: الموسيقى للجميع، والكاميرات فقط مع صلاحية عرض صور الكاميرات.
- انتهيت: تسجيل الخروج في الزاوية العلوية. إذا انتهت صلاحية تسجيل الدخول (مثلًا بقي الجهاز اللوحي دون استخدام طوال الليل)، تطلب الشاشة الرمز السري مجددًا.
نصيحة: أضف الصفحة إلى الشاشة الرئيسية للجهاز اللوحي (في المتصفح: إضافة إلى الشاشة الرئيسية)، فتُفتح كتطبيق.
لذلك يطلب الصندوق عنوان IP لحاسوب الصندوق في الشبكة (إذا كان للحاسوب أكثر من عنوان، مثل wifi وكابل، تختار الشبكة). في بوابة الإدارة (الصندوق عن بُعد) يكون العنوان هو عنوان البوابة. يُنشئ الصندوق رمز QR بنفسه، دون إنترنت.
ربط الأجهزة اللوحية: إلى الجهاز اللوحي بزر واحد (اختياري)
أسهل من ذلك: اربط جهازًا لوحيًا مرة واحدة، وعندها يرسل الصندوق الموسيقى أو الكاميرات إلى ذلك الجهاز بزر واحد. فعّلها في الإعدادات ← المحل ← الشاشات والتشغيل ← الأجهزة اللوحية كشاشة ثانية (غير مفعّلة افتراضيًا).
- على الجهاز اللوحي: افتح
http://<kassaserver>:3000/tablet(عند الإعداد يوجد على جهاز لوحي أو هاتف مع رمز QR)، وسجّل الدخول برمز سري وأعطِ الجهاز اللوحي اسمًا، مثلًا جهاز البار. ثم ربط. - على الصندوق: في نافذة الموسيقى أو الكاميرات يظهر الآن زر إلى جهاز البار (مع نقطة خضراء إذا كان الجهاز اللوحي يعمل). اضغط عليه: يفتح الجهاز اللوحي تلك الشاشة تلقائيًا. في الموسيقى ينتقل المصدر المختار معه (مثلًا التراس).
- على الجهاز اللوحي: إغلاق يعود إلى الانتظار؛ وفك ربط هذا الجهاز اللوحي يزيل الربط.
اترك الصفحة مفتوحة على الجهاز اللوحي؛ إذا كان الجهاز مطفأً أو في وضع السكون، فسيفتح الشاشة بمجرد تشغيله مرة أخرى. يبقى الجهاز اللوحي مسجّل الدخول باسم الموظف الذي سجّل الدخول عليه: لا يمكن إرسال الكاميرات ومشاهدتها إلا بصلاحية عرض صور الكاميرات. يرى المسؤول عند الإعداد الأجهزة اللوحية المرتبطة وما إذا كانت تعمل، ويمكنه إعادة تسميتها أو إزالتها. يحتفظ الجهاز اللوحي بمفتاح خاص به؛ ولا يحفظ الصندوق منه إلا قيمة hash. عند الإيقاف تبقى الأجهزة اللوحية المرتبطة محفوظة. يُسجَّل في السجل من قام بربط جهاز لوحي أو إعادة تسميته أو إزالته.
شاشة استدعاء لطلبات الأخذ
شاشة للزبائن تعرض على اليسار قيد التحضير وعلى اليمين جاهز، بأرقام كبيرة، كما في محلات الوجبات الخفيفة أو السريعة. فعّلها في الإعدادات ← المحل ← الشاشات والتشغيل ← شاشة استدعاء لطلبات الأخذ (غير مفعّلة افتراضيًا).
لا حاجة للربط: افتح عنوان الصندوق مع /oproep على تلفاز به متصفح (تلفاز ذكي أو عصا بث أو حاسوب صغير) أو جهاز لوحي أو شاشة ثانية، مثلًا http://192.168.1.20:3000/oproep. في الإعداد وفي نافذة استدعاء يوجد الزران على شاشة مستقلة وعلى جهاز لوحي أو هاتف (رمز QR بالعنوان). لا حاجة لتسجيل الدخول: الشاشة تعرض الأرقام فقط. انقر مرة واحدة على الشاشة، فيُسمح للمتصفح بإصدار الصوت.
ما يظهر عليها:
- طلبات الأخذ من الصندوق والمتجر الإلكتروني وThuisbezorgd (وإن رغبت أيضًا طلبات الكاونتر بدون طاولة، في البيع السريع)، خلال آخر 12 ساعة؛
- بمجرد إرسال شيء إلى المطبخ أو البار (أو عندما يكون طلب المتجر الإلكتروني على قيد التحضير): يظهر الرقم تحت قيد التحضير؛
- يصبح جاهز تلقائيًا عندما تُعلن شاشة المطبخ أن الطلب كله جاهز أو عندما يكون طلب المتجر الإلكتروني على جاهز. يومض الرقم لحظة وتُصدر الشاشة رنين «دينغ دونغ»؛
- يبقى الرقم الجاهز عدد الدقائق المحدد (افتراضيًا 10)، أو حتى تم الاستلام;
- طلبات الكشك (انظر كشك الخدمة الذاتية) تظهر دائمًا بمجرد دفعها أو عندما ستُدفع عند الصندوق، حتى مع "آكل هنا"، مع رقم الاستلام من إيصالها؛
- اختيارياً أيضاً طلبات سائقي Thuisbezorgd وUber Eats وDeliveroo وHubRise (خانة أيضاً طلبات السائقين …): برقم طلب المنصة واسم المنصة تحته، ليرى السائق متى يكون طلبه جاهزاً. عندها يُبلغ تم الاستلام المنصة أيضاً بأن السائق أخذ الطلب (كما في نافذة المنصة).
الرقم: في المتجر الإلكتروني وThuisbezorgd ومنصات التوصيل هو رقم الطلب الذي لدى الضيف أو السائق مسبقاً؛ وإلا فهو رقم الاستلام (من 1 إلى 999). يُطبع بحجم كبير على الإيصال مع شرح أن الرقم سيظهر على الشاشة عندما يجهز الطلب (بلغة الإيصال).
اختياري (متوقف افتراضيًا، في الإعداد):
- الإعلان عن الرقم بالصوت: عند رقم جاهز جديد تقول الشاشة مثلًا "Nummer 42…" باللغة المختارة (الهولندية أو الإنجليزية أو الألمانية أو الفرنسية أو الإسبانية أو الإيطالية أو البرتغالية أو البولندية أو التركية أو العربية). يأتي الصوت من متصفح الشاشة ويختلف من جهاز لآخر؛ انقر على الشاشة مرة واحدة بعد فتحها. بعد الجرس، إذا كان الصوت مفعّلًا أيضًا.
- حالة الطلب على الهاتف: يظهر رمز QR تحت رقم الاستلام على الإيصال. يمسحه الضيف ويرى رقمه والحالة (تم الطلب، قيد التحضير، جاهز، تم الاستلام) ويتلقى إشعارًا عندما يجهز الطلب. يعمل ذلك عبر بوابة الإدارة، لذا يجب أن يكون الصندوق متصلًا بها. ليس للمتجر الإلكتروني وThuisbezorgd (لهما حالة خاصة) ولا للكشك (له إعداد خاص).
في الصندوق يوجد زر استدعاء (مع عدد الطلبات التي لا تزال قيد التحضير):
- جاهز يضع الرقم يدويًا على جاهز (بدون شاشة مطبخ، أو إذا كان ذلك أسرع). في طلبات المتجر الإلكتروني أو Thuisbezorgd تتغير الحالة أيضًا، فيتلقى الزبون إشعارًا.
- رجوع يعيده إلى قيد التحضير.
- تم الاستلام يزيله من الشاشة (مع تراجع).
في الإعداد تختار أيضًا ما إذا كان الاسم الأول يظهر بجانب الرقم (افتراضيًا لا، حفاظًا على الخصوصية) وما إذا كانت الشاشة تُصدر صوتًا. عند الإيقاف: لا زر «استدعاء» ولا رقم استلام على الإيصال؛ تبقى الإعدادات محفوظة. يسجّل السجل من وضع رقمًا يدويًا على جاهز أو أرجعه أو وضعه على تم الاستلام.
تسجيل الحضور والانصراف
تسجيل الحضور مُوقف افتراضيًا: وعندها لا يظهر في أي مكان في الصندوق (لا زر في الشريط العلوي، ولا في شاشة تسجيل الدخول، ولا تبويب أوقات العمل). فعّله عبر الإعدادات ← المحل، تحت تسجيل حضور/انصراف الموظفين:
- مُوقف: عدم الاستخدام. إذا أوقفت تسجيل الحضور/الانصراف لاحقًا، فلن يظهر في أي مكان، لكن الساعات المسجلة سابقًا تبقى محفوظة (لا يُحذف شيء)؛ وإذا شغّلته مجددًا، تظهر من جديد.
- مفعّل: يمكن للموظفين تسجيل الحضور والانصراف. بعد تسجيل الدخول يسأل الصندوق هل تريد تسجيل الحضور (ليس الآن ممكن). ويظهر في الشريط العلوي تسجيل الحضور أو مسجّل الحضور 17:02؛ اضغط عليه لتسجيل الانصراف.
- إلزامي: بعد تسجيل الدخول يجب تسجيل الحضور أولًا، وإلا لا يمكنك استخدام الصندوق. تسجيل الانصراف يسجّل خروجك فورًا.
من لا يستخدم الصندوق (مثل المطبخ) يسجّل حضوره في شاشة تسجيل الدخول: اضغط تسجيل الحضور / الانصراف وأدخل رمزك السري. يتبدّل ذلك بين الحضور والانصراف، دون تسجيل الدخول.
عند تفعيل تسجيل الحضور، يرى المسؤول في الإعدادات ← أوقات العمل:
- من هو مسجّل الحضور الآن (ويمكنه تسجيل انصراف من نسي ذلك)؛
- ساعات العمل لكل موظف لكل فترة، مع كل الورديات، وتنزيلها كملف CSV (الساعات أيضًا كرقم عشري لإدارة الرواتب)؛
- تعديل الورديات أو إضافتها (اضغط على وردية، أو + إضافة وردية). كل تغيير يُسجَّل في السجل مع الأوقات القديمة والجديدة.
في بلجيكا يُبلَّغ كل تسجيل حضور وانصراف أيضًا إلى الصندوق الأسود. إذا تعذّر الوصول إليه، لا يتم التسجيل (تمامًا كالدفع). أما هل يستوفي هذا بالضبط متطلبات تسجيل الموظفين البلجيكي، فلا يزال بحاجة إلى تأكيد.
الوزن والملصقات (الميزان)
عند تفعيل الميزان (الإعدادات ← الميزان)، يمكن أن يكون للمنتجات سعر للكيلو. وتبقى كل المنتجات الأخرى بالقطعة كالمعتاد.
- الوزن: اضغط على منتج بسعر للكيلو (يعرض الزر مثلاً
12,95/kg). تعرض نافذة الوزن وزن الميزان مباشرةً (مثلاً Aclas OS6X، أو الميزان الذي يعمل عليه الكاشير نفسه)؛ الأخضر = ثابت. ضع المنتج على الميزان واضغط إضافة بمجرد ثبات الوزن. السعر هو سعر الكيلو × الوزن (مقرّب إلى السنت)؛ يُخصم وعاء المنتج (الفارغ) تلقائيًا. إن كانت للمنتج خيارات فتأتي بعد ذلك. - عدة موازين: إذا كانت هناك عدة موازين فاختر في أعلى النافذة الميزان الذي تزن عليه. يتذكر كل كاشير/جهاز لوحي اختياره.
- يدويًا: إذا لم يكن هناك ميزان (أو كان الإدخال اليدوي مسموحًا)، فأدخل الوزن:
0,512أو1,2بالكيلو، و512أو512 gبالغرام. - ملصق TS6X: امسح الباركود الموجود على الملصق بماسح الباركود في شاشة الطلب (مسح عادي، لا حاجة لفتح أي شيء)، أو اضغط ملصق وامسح الأرقام الـ 13 أو أدخلها. يؤخذ المنتج (PLU) والوزن من الملصق. وإذا كان على الملصق سعر، يحتسب الصندوق ذلك السعر بالضبط.
- على الشاشة وإيصال الصندوق وشاشة الزبون يظهر الوزن أيضًا، مثلًا
Gehakt 6,63وتحته0,512 kg x € 12,95/kg؛ وعلى بون المطبخ0,512 kg Gehakt. التقسيم والنقل والإرجاع تتم بالكيلو. - لا يمكن إضافة منتج موزون إلا مع وجود اتصال بخادم الصندوق (الوزن يأتي عبر خادم الصندوق).
Uber Eats وDeliveroo وHubRise
إلى جانب Thuisbezorgd.nl / Takeaway.com تصل إلى الصندوق أيضًا طلبات Uber Eats (هولندا وبلجيكا) وDeliveroo (بلجيكا فقط؛ غادرت Deliveroo هولندا في أواخر 2022) وكل ما هو على HubRise (منها Uber Eats وDeliveroo وJust Eat/Takeaway.com وتطبيقات الطلب الأصغر). يُشغَّل كل منصة على حدة في الإعدادات ← منصات التوصيل (غير مفعّل افتراضيًا، والإيقاف يحتفظ بكل شيء). تعرض علامة التبويب لكل منصة البلدان التي تعمل فيها وتنبّه إذا كانت لا تعمل في بلد المحل.
- شغّله، ثم تسجيل الدخول إلى Uber Eats وربط المتجر (يسجّل المحل الدخول بحسابه الخاص في Uber Eats). إذا كان للحساب أكثر من متجر، فأدخل معرّف المتجر (store id) وسجّل الدخول مرة أخرى. يجب أن توافق Uber Eats أولًا على Pin Voordeel كشريك.
- Deliveroo: مباشرة، عبر البوابة. أدخل معرّف الموقع (location id) ومعرّف العلامة التجارية (brand id). بدون جهاز لوحي (افتراضيًا): الصندوق يقبل أو يرفض؛ مع جهاز لوحي: يقبل المحل على الجهاز اللوحي والبوابة تُبلغ فقط بما إذا كان الطلب في الصندوق.
- HubRise: يجلب الصندوق الطلبات بنفسه (كل 20 ثانية، دون حاجة إلى البوابة).
- لكل منصة: القبول التلقائي، بون المطبخ فورًا إلى المطبخ/البار و(Uber Eats، Deliveroo) إرسال القائمة تلقائيًا بعد أي تعديل وإرسال القائمة الآن. تحتوي القائمة على المنتجات المحددة تحت المنتجات في قائمة Uber Eats وDeliveroo، مع خيارات الاختيار؛ وتُرسل حالة نفاد الكمية أيضًا.
الطلبات. يصبح الطلب طلبًا عاديًا (bezorgen أو afhalen، اسم المجموعة <platform> <nummer>) بأسعار المنصة: يُتعرّف على المنتجات بالمعرّف (من القائمة) أو الرمز أو رقم PLU، والمجهول = بند منفصل بسعر المنصة (مع رسالة)؛ رسوم التوصيل والإضافات والخصم كبنود مستقلة؛ وإذا لم يتطابق الإجمالي رغم ذلك، فبند "الفرق". يذهب بون المطبخ فورًا إلى المطبخ/البار. زر المنصات في الشريط العلوي (مع عدد الطلبات الجارية؛ برتقالي إذا كان هناك ما يجب قبوله): قبول أو رفض (مع السبب)، قيد التحضير، جاهز، في الطريق، تم التوصيل أو تم الاستلام، إلغاء، وإنهاء (مدفوع عبر الإنترنت). ما تعرفه المنصة يُرسل إليها (Uber Eats: قبول، رفض، إلغاء؛ Deliveroo: قبول، رفض، قيد التحضير، جاهز، تم الاستلام؛ HubRise: جميع الحالات). إذا كان المحل يوصّل بنفسه (توصيل ذاتي)، فيظهر الطلب أيضًا في الجولات، ويُرسل الانطلاق والتسليم تلقائيًا إلى المنصة. إلغاء من المنصة يجعل الطلب منتهيًا. إذا لم يكن الصندوق متصلًا بالبوابة لأكثر من 2 دقائق، ترفض البوابة أي طلب جديد من Uber Eats وتُبلغ Deliveroo (مع جهاز لوحي) بأنه لم ينجح، ليراه المحل على الجهاز اللوحي.
الكود: apps/pos-server/src/lib/bezorgplatforms.ts، routes/bezorgplatforms.ts؛ الشاشات Bezorgplatforms.tsx. جهة البوابة: horecapos-portaal/src/platforms.mjs. السجل: منصات التوصيل (تشغيل/إيقاف، الإعدادات، الطلبات). كل شيء يدخل في النسخ الاحتياطية للصندوق.
المنصات الأصغر في هولندا وبلجيكا (Homie وHebtrek وsneleten.nl وBistroo ...) ليس لها ربط عام بالصندوق؛ إذا كانت على HubRise، فهي تعمل عبر HubRise. للمزيد: راجع قائمة المهام (backlog).
آلة النقد (نظام نقد مغلق)
افتراضيًا مُوقف: يعمل الدفع نقدًا كالمعتاد. في نظام النقد المغلق لا يلمس الموظفون النقود: يضع الزبون أو الموظف النقود في الآلة، فتعدّها وتتحقق من النقود المزيفة وتُرجع الباقي.
- الآلات التي تتواصل معها الكاشيرة بنفسها:
- CashDro (3، 4+، 5، 7، S Compact؛ NuKassa، KluisKassa): عبر الشبكة (web service). فعّل على CashDro خيار Web Integration وأنشئ مستخدمًا خاصًا للكاشيرة.
- Cashmatic (SelfPay 460/860/1060؛ في بلجيكا Xpos): عبر الشبكة (المنفذ 50301) بمستخدم على Cashmatic.
- Azkoyen Cashlogy (POS1000، POS1500): عبر CashlogyConnector على حاسوب Windows بجانب الآلة (المنفذ 8092).
- CashKeeper: عبر CKMonitor على حاسوب Windows (المنفذ 16501).
- Glory CASHINFINITY (CI-5، CI-10، CI-10X؛ وأيضًا عبر Cikam): عبر وحدة التحكم (FCC) في الآلة. لا يزال تجريبيًا: اطلب من Glory أو من وكيلك مراجعة الربط الأول.
- خارجي: برنامج آخر يتحكم في الآلة ويتواصل مع الكاشيرة (مثل Cikam وImaCash لـ 25 علامة تجارية، وبرنامج CashGuard/StrongPoint (Merlin)، وPayComplete (SUZOHAPP)، وGunnebo SafePay أو علامات فرنسية مثل CashMag).
- آلة تجريبية: بدون أجهزة، للتدرّب أو العرض. باستخدام اختبار الاتصال تتحقق من العنوان وبيانات الدخول. ضع الآلة في شبكتك الخاصة (لا تفتحها أبدًا على الإنترنت) واستخدم مستخدمًا خاصًا للكاشيرة، ليس مسؤولًا.
- الدفع بـنقدًا: يبدأ الدفع عند آلة النقد عملية الدفع للمبلغ (مُقرّبًا نقديًا إذا كان ذلك مفعّلًا، زائد البقشيش؛ وعند تقسيم الحساب الجزء المعني). تعرض الشاشة ما أُدخل وما يُرجع؛ ولا تُتم الكاشيرة الدفع إلا عندما تُبلغ الآلة بـالانتهاء. إلغاء = تُرجع الآلة النقود. إذا لم تتمكن الآلة من إعطاء كل الباقي (نقص في العملات المعدنية)، يُذكر بجانبه كم يجب إخراجه من درج النقود. الدفعة الناجحة التي لم تُحتسب بعد (مثلًا إذا توقف الجهاز اللوحي) يُعثر عليها مجددًا عند ذلك الطلب.
- النقد عبر الآلة فقط (مفعّل افتراضيًا): عندها لا يقبل خادم الكاشيرة الدفع نقدًا إلا مع دفعة ناجحة عند الآلة لذلك الطلب بالذات وبذلك المبلغ تحديدًا. مُوقف = نقدًا في الدرج العادي أيضًا.
- درج النقود (التقارير ← الصندوق، صلاحية إدارة درج النقود): الاستعلام عن المحتوى (لكل عملة معدنية وورقة نقدية، في Cashmatic وCashlogy وGlory والآلة التجريبية)، وصرف مع سبب (مثلًا الباقي للدرج)، والتعبئة وسحب الفائض (يبقى الباقي؛ في Cashmatic). المتوقع في درج النقود لا يحتسب النقود الموجودة في الآلة (تُذكر منفصلة تحته: في آلة النقد)، لكنه يحتسب الباقي الذي كان يجب إخراجه من الدرج.
زر ©
في أسفل يمين كل شاشة (الرمز السري، ومخطط الصالة، والطلب، والمطبخ) يوجد زر صغير ©. يفتح بيانات OptimumPOS: الشعار والعنوان والهاتف والبريد الإلكتروني والموقع. الأيقونة مخزّنة محليًا في التطبيق، لذا تعمل أيضًا بدون إنترنت. والأيقونة نفسها هي أيقونة التطبيق (التبويب والشاشة الرئيسية).
الجزء 2 · المدير
البدء
يستطيع المدير افتراضيًا كل ما يستطيعه موظف الخدمة، إضافة إلى أمور منها منح الخصومات، وإجراء الإرجاع، وإغلاق اليوم، وإدارة درج النقود، والاطلاع على السجل والمخزون. ويوجد ذلك أساسًا تحت زر التقارير:
- الوضع الحالي (X): المبيعات حتى الآن، دون إغلاق اليوم.
- درج النقود: رصيد البداية، وإدخال/إخراج النقود، وفتح الدرج.
- إغلاق اليوم (Z): في نهاية اليوم؛ وبعدها يبدأ يوم جديد.
- تقارير Z السابقة والمبيعات حسب الفترة ولوحة التحكم.
- السجل وقسائم الهدايا والزبائن.
المخزون
مُوقف افتراضيًا. التفعيل عبر الإعدادات ← المحل ← تتبّع المخزون. عند الإيقاف لا يظهر في أي مكان في الصندوق.
- لكل منتج تختار في الإعدادات ← المنتجات ← (المنتج) ← المخزون:
- لا: كالمعتاد؛
- لكل منتج: كل عملية بيع تخصم 1 (مثل الزجاجات والعلب)، مع مستوى التنبيه لـ "قارب على النفاد"؛
- عبر المكوّنات: وصفة، مثلًا همبرغر = 1 خبزة + 150 غ لحم + 1 شريحة جبن. كل عملية بيع تخصم المكوّنات.
- الإعدادات ← المخزون (صلاحية إدارة المخزون، افتراضيًا للمدير والمسؤول):
- المنتجات والمكوّنات: الكمية الحالية، مع نفد / قارب على النفاد؛ وفلتر "فقط ما نفد (أو قارب)" والتصدير إلى CSV.
- لكل منتج أو مكوّن تسجّل استلام (+) (توريد)، أو جرد (=) (العدد المجرود يصبح الكمية الجديدة)، أو شطب (−) (كسر، انتهاء الصلاحية؛ السبب إلزامي).
- إنشاء المكوّنات مع الوحدة (قطعة، غ، كغ، مل، سل، ل، حصة، زجاجة، برميل) ومستوى التنبيه.
- السجل التاريخي: كل الحركات (بيع، إلغاء، استلام، جرد، شطب) مع من ومتى. وتُسجَّل إجراءات الإدارة أيضًا في السجل.
- يتم الخصم عند إرسال الطلب (أو عند الدفع لما دُفع مباشرة). والإلغاء يعيد الكمية. التقسيم والنقل لا يخصمان مرتين. في القوائم المجمّعة تُخصم الأطباق، لا سطر القائمة. الإرجاعات (إيصال دائن) لا تعيد الكمية (ما يُرجَع لا يمكن بيعه غالبًا)؛ سجّل ذلك كاستلام عند الحاجة.
- إذا نفد المخزون (أو لم يكفِ مكوّن لمرة أخرى)، يظهر المنتج تلقائيًا على كل الصناديق كـ نفدت الكمية. وعند قرب النفاد يظهر متبقٍّ N على زر المنتج. بعد الاستلام أو الجرد يمكن طلبه فورًا مجددًا. ويرفض خادم الصندوق أيضًا المنتج حينها ("Pils" نفد (المخزون 0))، حتى من جهاز لوحي لم يعلم بذلك بعد.
- يمكن أن ينزل المخزون تحت 0 (مثلًا جهازان لوحيان في الوقت نفسه، أو طلب دون اتصال)؛ والجرد يصحّحه.
- قائمة الطلبيات: الإعدادات ← المخزون ← قائمة الطلبيات. لكل منتج (لكل منتج) ولكل مكوّن تضبط إلى جانب مستوى التنبيه أيضًا التعبئة حتى والمورّد. تظهر في قائمة الطلبيات كل الأصناف التي بلغت مستوى التنبيه أو نزلت تحته (بلا مستوى تنبيه: عند 0)، حسب المورّد، مع اقتراح التعبئة حتى − الكمية الحالية. يمكن تعديل الكميات وتحديدها أو إلغاء تحديدها. ثم طباعة (طابعة الإيصالات)، أو نسخ (للبريد أو WhatsApp)، أو تصدير (CSV)، وبعد التوريد تم التوريد: تسجيل كاستلام (يسجّل كل شيء دفعة واحدة). وبعلامة الاختيار في الأعلى ترى أيضًا ما لم ينفد بعد، لطلب كمية إضافية.
- خيارات الاختيار: في مجموعة خيارات (الإعدادات ← المنتجات ← خيارات الاختيار) يوجد زر المخزون. حدّد لكل خيار المكوّنات لكل قطعة، مثلًا جبن إضافي = 1 شريحة جبن، بطاطس مقلية = 150 غ بطاطس. عند اختيار الخيار تُخصم تلك المكوّنات لكل قطعة (حتى لو لم يكن المنتج نفسه يتتبّع المخزون؛ وعند الإلغاء تعود). وإذا نفد مكوّن، يظهر الخيار في الصندوق كـ (نفد) ولا يمكن اختياره.
الطلب من المورّدين
افتراضيًا مُوقف. التفعيل في الإعدادات ← المخزون ← الطلب من المورّدين (فقط عند تفعيل تتبّع المخزون). مُوقف = تعمل قائمة الطلبيات كالمعتاد.
- المورّدون (تبويب المورّدون): اختر واحدًا من القائمة أو أنشئ مورّدًا خاصًا بك. تضم القائمة تجار الجملة و cash & carry (Sligro، Sligro-ISPC/Sligro-M، HANOS، Makro، De Kweker، Horeca Totaal، Van Zon، zegro، Lekkerland)، وخدمات الأغذية (Bidfood وBidfood Belgium، Solucious، Chefs Culinar، Java، Q-Food، Agora Culinair، VHC Jongens/Kreko/Actifood، Hocras، Van Hoeckel ...)، وتجار الجملة للمشروبات (De Klok، Henk Smit، Horesca، De Monnik، Hansen، Dranken Geers ...)، ومصانع الجعة والمشروبات الغازية (Heineken عبر Sligro، AB InBev/BEES، Alken-Maes، Haacht، Duvel Moortgat، Martens، Coca-Cola، Spadel، Grolsch، Bavaria)، ومورّدي المنتجات الطازجة (Van Gelder، Driessen، FiliusKaas، Bakkers Brigade، Rungis ...)، وغير الغذائي (Bunzl، Takeaware، Supplierz) ومتجر النبيذ الإلكتروني Vinify.nl ومنصات الطلب (Apicbase، Exact Horeko، Growzer، inOne، Cuisin.io، OrderXL). لا تظهر فيها إلا مورّدو بلد المحل. عند اختيار أحدهم تكون طريقة الطلب والملف والأعمدة مضبوطة مسبقًا؛ وعند كل مورّد مذكور كيف تطلب منه.
- لكل مورّد: رقم الزبون، الطلب عبر:
- البريد الإلكتروني: الطلب كرسالة بريد إلكتروني (مع جدول) إلى البريد الإلكتروني للطلبات، مع نسخة اختيارية، وقائمة الطلبيات كمرفق: CSV أو Excel أو CSV لـ Care4Fresh (كثير من تجار جملة المنتجات الطازجة) أو UBL 2.1 Order (Peppol BIS Order) أو EANCOM ORDERS (D96A في هولندا، D01B/HO2C في بلجيكا) أو cXML. تصل الردود إلى البريد الإلكتروني للمحل.
- ملف: تُنشئ الكاشيرة الملف، وأنت ترفعه في المتجر الإلكتروني للمورّد (مثلًا Bunzl Snel bestellen:
artikel;aantal، Takeaware:SKU,Quantity). يمكن ضبط الفاصل وسطر العناوين والأعمدة (artikel،ean،omschrijving،aantal،eenheid،prijs،totaal؛ باستخدامartikel=SKUتعطي العنوان اسمًا خاصًا). - ربط (cXML): cXML OrderRequest مع رقم الزبون والسر المشترك إلى عنوان الطلبيات لدى المورّد، كما ترسل أنظمة المشتريات إلى Sligro وHANOS وBidfood. تحصل على العنوان ورقم الزبون والسر من المورّد (Sligro: koppelingen@sligro.nl). لا يعود السر أبدًا إلى الشاشة.
- في كلا نوعي الربط يمكن أيضاً استخدام اسم مستخدم وكلمة مرور (Basic) وترويسات إضافية (واحدة في كل سطر، مثلاً
X-Api-Key: ...). - رفع (SFTP/FTPS): يضع الصندوق الملف (EANCOM أو UBL أو CSV أو Excel ...) بنفسه في مجلد على خادم المورّد، كما يستقبل كثير من تجار الجملة طلبيات EDI. SFTP (SSH)، أو FTPS (صريح على المنفذ 21 أو ضمني على المنفذ 990)، أو FTP فقط في الشبكة الخاصة. تسجيل الدخول بكلمة مرور أو مفتاح SSH (OpenSSH أو PEM أو PuTTY .ppk؛ ed25519 أو ECDSA أو RSA). إنشاء مفتاح يُنشئ زوج مفاتيح في الصندوق؛ وترسل المفتاح العام إلى المورّد. اختبار الاتصال يسجّل الدخول ويبحث عن المجلد. تُسجَّل بصمة خادم SFTP عند أول اتصال ثم يتم التحقق منها بعد ذلك (لا يحصل خادم آخر على كلمة المرور)؛ وفي FTPS مع شهادة خاصة تثبّت بصمة الشهادة. لا حاجة إلى أي برنامج إضافي.
- الطباعة: الطلب على طابعة الإيصالات، لتبليغه بالهاتف.
- لا تعود كلمات المرور والمفاتيح والرموز المميزة والترويسات أبداً إلى الشاشة (الترك فارغاً = الإبقاء، مسح = الإزالة).
- طلب ربط: لدى المورّد يُعدّ الصندوق رسالة بريد إلكتروني لطلب ربط (cXML، أو EDI عبر SFTP/FTPS، أو UBL/Peppol، أو API الخاص بالمورّد) مع بيانات المحل (الاسم، العنوان، رقم ضريبة القيمة المضافة، رقم العميل، GLN) وما هو مطلوب؛ وفي حالة EDI مع المفتاح العام. عدّلها وأرسلها؛ تذهب نسخة والردود إلى البريد الإلكتروني للمحل. يظهر تاريخ الطلب لدى المورّد. لدى Sligro يُرسل إلى koppelingen@sligro.nl، وإلا فأدخل عنوان مدير حسابك.
- يمكن للمورّد الخاص (غير الموجود في القائمة) القيام بكل شيء باستثناء ما يجب أن يوفّره المورّد نفسه: البريد الإلكتروني والملف والطباعة تعمل دائماً؛ أما الربط أو الرفع فلا يعمل إلا ببيانات ذلك المورّد.
- أيام الطلب والتسليم: أيام الطلب، والموعد الأقصى، ومدة التسليم (تاريخ التسليم المطلوب في الطلبية) والحد الأدنى لمبلغ الطلب. تلقائي: في أيام الطلب ابتداءً من ذلك الموعد يُجهّز الصندوق بنفسه طلبية كمسودة (تراجعها أنت) أو يرسلها فوراً (بالبريد الإلكتروني أو الرفع أو الربط؛ وتحت الحد الأدنى لمبلغ الطلب يتم التجهيز كمسودة فقط). مرة واحدة في اليوم لكل مورّد.
- لكل منتج (الإعدادات ← المنتجات ← (المنتج) ← المخزون، عند لكل منتج) ولكل مكوّن: الطلب من (المورّد)، ورقم الطلب لدى ذلك المورّد، وEAN، ولكل عبوة (صندوق من 24 = 24)، واسم العبوة وسعر الشراء لكل عبوة. مستوى التنبيه هو وقت الطلب؛ والتعبئة حتى هو الكمية التي يجب أن تتوفر حينها.
- أوامر الشراء (تبويب أوامر الشراء):
- اقتراح الطلب لكل مورّد: كل ما هو عند مستوى التنبيه أو دونه. ما طُلب ولم يصل بعد (في الطريق) يُحتسب، حتى لا تطلب شيئًا مرتين. الاقتراح = التعبئة حتى − الرصيد − في الطريق (بدون التعبئة حتى: حتى مستوى التنبيه)، مُقرّبًا للأعلى إلى عبوات كاملة. عدّل الكميات ثم إنشاء الطلب.
- يكون الطلب أولًا مُجهَّزًا كمسودة: لا يزال بالإمكان تعديل الكميات والأسطر المنفصلة (بدون منتج، مثلًا مناديل) والملاحظة وتاريخ التسليم. ثم إرسال (بطريقة المورّد أو بطريقة أخرى لمرة واحدة). إذا فشل (مثلًا رفض المورّد)، يُذكر السبب بجانبه ويمكنك إعادة المحاولة.
- الاستلام: لكل سطر الكمية المستلمة (مُعبّأة مسبقًا بالكمية المطلوبة)؛ يُضاف المخزون لكل عبوة (2 صناديق من 24 = 48)، مع الطلب في السجل التاريخي.
- يمكن أيضًا تنزيل كل ملف (CSV، Excel، UBL، EANCOM، cXML) بشكل منفصل.
- المُرسَل والفاشل والمستلم والملغى يُسجَّل في السجل. تبقى قائمة الطلبيات العادية تعمل؛ وإذا كان للمنتج مورّد من القائمة، يظهر هناك تحت ذلك الاسم.
إدارة التقييمات
قراءة تقييمات Google وTrustpilot والرد عليها من الصندوق. التفعيل في الإعدادات ← النقاط والتقييمات ← إدارة التقييمات (غير مفعّل افتراضيًا، وعندها لا يظهر منه شيء في أي مكان). القراءة والرد في التقارير ← التقييمات (صلاحية قراءة التقييمات والرد عليها، وهي افتراضيًا للمدير أيضًا). إذا أوقفته، تبقى الروابط والتقييمات محفوظة.
- بعد ذلك يكفي أن يضغط كل محل على الربط مع Google ويسجّل الدخول بحساب Google الخاص بالملف التجاري. ويمكن أيضًا إعداد مفتاح Places مركزيًا (وتكون التكاليف حينها على المورّد). أما Trustpilot فهو لكل محل: لكل محل حساب Trustpilot Business خاص به (واجهة API تأتي مع اشتراك مدفوع)، ومنه يأتي المفتاح والسر وbusiness user ID. في نظام الكاشير تظهر عند كل طريقة عبارة "من يتولى ذلك؟".
- تطبيق المورّد (عبر بوابة العملاء): إذا كان تطبيق Google و/أو تطبيق Trustpilot الخاص بالمورّد موجودًا في بوابة العملاء (راجع README الخاص بـ horecapos-portaal، "Reviews: apps van de leverancier")، يختار المسؤول في تسجيل الدخول والمفاتيح خيار تطبيق المورّد (وهو الافتراضي عند ربط جديد إذا كان التطبيق متوفرًا في البوابة). ينقر المحل على الربط مع Google أو تسجيل الدخول باستخدام Trustpilot ويسجّل الدخول بحسابه الخاص؛ وينتظر الصندوق بنفسه حتى يكتمل تسجيل الدخول (كل 3 ثانية، بحد أقصى 15 دقيقة) ثم يجلب tokens من البوابة مرة واحدة. ويتم التجديد أيضًا عبر البوابة. لا حاجة إلى client-ID أو secret أو مفتاح API في الصندوق؛ أما مع Trustpilot فيلزم النطاق، وللردود business user ID. ويقرأ Trustpilot العام حينئذ عبر مفتاح البوابة. يتطلب
PORTAAL_URLوPORTAAL_SLEUTEL. ويظل خيار تطبيقك الخاص أو مفتاح API يعمل كما هو موضح أدناه. - لمن تعود التقييمات: تبقى على الملف التجاري الخاص بالمحل على Google وعلى صفحته الخاصة على Trustpilot، ولا يحفظها الصندوق إلا في قاعدة بيانات الصندوق الخاصة. تظهر الردود باسم المحل. تكتفي البوابة بتمرير تسجيل الدخول (في الذاكرة، بحد أقصى 15 دقيقة، ويمكن جلبه مرة واحدة فقط) ولا تحفظ أي تقييمات أو tokens؛ ولا يظهر اسم تطبيق المورّد إلا في شاشة الموافقة.
- التسجيل بنفسك: عند كل منصة يوجد رابط لإنشاء ملف تجاري على Google بنفسك (business.google.com/create) أو حساب Trustpilot Business (business.trustpilot.com)، وعند Trustpilot رابط إلى الاشتراكات (business.trustpilot.com/plans). يتم التسجيل والدفع لدى المنصة نفسها؛ ولا يوجد API لذلك.
- بعد ذلك الربط مع Google وتسجيل الدخول بالحساب الذي يدير الملف التجاري. فرع واحد في الملف = يُختار مباشرة؛ أكثر من فرع = الاختيار في الصندوق.
- Google Places (للقراءة فقط): باستخدام Place ID ومفتاح API من Places API (أو
GOOGLE_PLACES_API_KEY): المتوسط وعدد التقييمات وأكثر 5 تقييمات صلة. لا يمكن الرد بهذه الطريقة. - Trustpilot Business (قراءة ورد): مفتاح API وسر API لتطبيق في Trustpilot Business (Integrations ← API؛ أو
TRUSTPILOT_API_KEYوTRUSTPILOT_API_SECRET)، ونطاق المحل (يبحث الصندوق عن business unit تلقائيًا)، وللرد، business user ID للشخص الذي يرد. - Trustpilot العام (للقراءة فقط): مفتاح API فقط.
- يجلب الصندوق كل 30 دقيقة (وفورًا بعد الربط؛ جلب الآن). لا يحفظ الصندوق البريد الإلكتروني للضيف ولا رقم الطلب (اللذين يرسلهما Trustpilot).
- التقارير ← التقييمات: المتوسط والعدد لكل نجمة وبدون رد وغير مقروءة؛ التصفية حسب المنصة والنجوم وبدون رد وغير مقروءة. لكل تقييم رد (بحد أقصى 4000 حرف؛ يمكن للجميع قراءته) وتعديل الرد وحذف الرد ومقروء. التقييم الجديد أو المعدّل يكون غير مقروء. يُسجَّل في السجل review_beantwoord وreview_antwoord_weg.
- إلغاء الربط يُبقي التقييمات التي تم جلبها.
التسويق بالرسائل القصيرة والبريد الإلكتروني
رسائل إلى زبائن بطاقة الزبون الذين أعطوا موافقتهم على ذلك. دون بطاقة الزبون لا يمكن تفعيل أي منهما.
- موافقة لكل زبون ولكل قناة: عند إضافة زبون جديد في الصندوق توجد العلامتان "الزبون يريد تلقي الحملات بالرسائل القصيرة" و"... بالبريد الإلكتروني" (غير مفعّلتين افتراضيًا). في التقارير → الزبائن ترى الموافقة وتعدّلها (مع تاريخ إعطائها) وكذلك عيد الميلاد (اليوم والشهر فقط). لإلغاء الاشتراك: أزل العلامات واحفظ.
- تحديث القائمة فورًا: عند تفعيل التسويق أو بطاقة الزبون أو إيقافهما، يرسل الصندوق القائمة من جديد إلى المتجر الإلكتروني خلال ثوانٍ (فقط إذا تغيّر شيء)، بحيث تظهر خانة الاختيار أو تختفي فورًا.
- الموافقة عبر المتجر الإلكتروني: إذا كان للمحل متجر إلكتروني، تظهر عند الدفع خانة الاختيار "أرغب في تلقي العروض عبر البريد الإلكتروني/الرسائل القصيرة" (فقط القنوات المفعّلة؛ غير محددة افتراضيًا). عند وصول طلب كهذا، يبحث الصندوق عن الزبون برقم الهاتف (وإلا بالبريد الإلكتروني)، وينشئه عند الحاجة ويسجّل الموافقة مع التاريخ. يُستكمل الرقم أو العنوان الناقص لزبون موجود؛ وفي السجل يظهر klant_toestemming بالمصدر webshop.
- التقارير → التسويق (صلاحية إدارة بطاقة الزبون): في الأعلى عدد الزبائن الذين وافقوا على الرسائل القصيرة وعلى البريد الإلكتروني.
- الحملات (لمرة واحدة): الاسم، رسالة قصيرة أو بريد إلكتروني، (الموضوع،) نص يحتوي
{naam}و{zaak}و{punten}، واختياريًا فقط الزبائن الذين غابوا منذ مدة أو لديهم عدد أدنى من النقاط. عرض يبيّن عدد الزبائن المعنيين، والرسالة كما يتلقاها الزبون، وعدد الرسائل القصيرة لكل زبون. إرسال تجريبي إلى رقمك أو عنوانك. ثم إرسال: يرسل الصندوق في الخلفية (بحد أقصى 1000 في كل مرة) ويحصي ما أُرسل وما فشل. لا يتلقى أحد الحملة نفسها مرتين؛ وإذا توقف الصندوق في المنتصف، فإن متابعة الإرسال تكمل مع من لم يتلقَّ شيئًا بعد. - الإرسال عبر Mailchimp أو Klaviyo (مع ربط بقائمة مختارة، انظر أدناه): في حملة بالبريد الإلكتروني تختار في الإرسال عبر الصندوق (خادم البريد الخاص، كما سبق) أو Mailchimp أو Klaviyo. عندها يحدّث الصندوق القائمة أولًا (إلغاءات الاشتراك، النقاط) وينشئ هناك حملة للزبائن المختارين الموجودين في القائمة بالضبط (Mailchimp: مجموعة ثابتة في الـ audience؛ Klaviyo: قائمة خاصة بالحملة)، ويرسلها بالمرسل الافتراضي للـ audience أو الحساب. يملأ Mailchimp/Klaviyo
{naam}و{punten}لكل زبون؛ ويظهر رابط إلغاء الاشتراك الخاص بالخدمة في الأسفل. لا حد لـ 1000 في كل مرة ولا رمز خصم شخصي ({code}). إذا لم ينجح الإرسال، تبقى الحملة مسودة مع الرسالة. يظهر تبويب التسويق أيضًا إذا كان الربط وحده مفعّلًا (وعندها حملات عبر Mailchimp/Klaviyo فقط؛ ويمكن الإرسال التجريبي بخادم بريد الصندوق). الرسائل التلقائية يرسلها الصندوق دائمًا بنفسه؛ في Mailchimp/Klaviyo تنشئها كـ Customer Journey أو Flow. مفتاح Klaviyo: يحتاج أيضًا صلاحيات الكتابة لـ Campaigns وTemplates (من سجّل الدخول سابقًا: يسجّل الدخول من جديد). - كإشعار فوري عبر المتجر الإلكتروني (إذا كانت الإشعارات الفورية مع العروض مفعّلة في إدارة المتجر): اختر في الإرسال عبر إشعار فوري (المتجر الإلكتروني كتطبيق)، مع عنوان (60 حرفًا كحد أقصى) ونص قصير (200 حرفًا كحد أقصى؛ يُملأ
{zaak}فقط، لأن المتجر الإلكتروني لا يعرف من هو الضيف). يرسل الكاشير العرض الترويجي عبر بوابة الإدارة إلى المتجر الإلكتروني، الذي يرسله إلى الضيوف الذين فعّلوا هناك العروض كإشعارات؛ النقر يفتح قائمة المتجر الإلكتروني. بعد بضع ثوانٍ يظهر عند العرض الترويجي عدد الإشعارات التي وصلت. 3 كحد أقصى في اليوم، مع ما ترسله المنشأة من إدارة المتجر؛ وإلا يبقى العرض الترويجي مسودة مع ذكر السبب. يظهر تبويب التسويق أيضًا إذا كان هذا وحده مفعّلًا (بدون بطاقة الزبون أو التسويق بالبريد الإلكتروني). لا رمز خصم ولا اختيار (الأيام، النقاط)؛ للاختبار: فعّل العروض كإشعارات في المتجر الإلكتروني على هاتفك. - تلقائيًا: رسالة عيد ميلاد (في يوم عيد الميلاد، مرة واحدة في السنة) و"اشتقنا إليك" (بعد عدد معيّن من الأيام دون زيارة، مرة واحدة في كل غياب للزبون). تشغيل/إيقاف لكل رسالة؛ ولا تُرسل إلا نهارًا (10:00–20:00).
- رمز خصم شخصي (اختياري، لكل رسالة أو عرض ترويجي؛ فقط إذا كانت رموز الخصم مفعّلة في الإعدادات → المحل): يحصل كل زبون على رمز خاص به، مثل
TERUG-7K4Q2M(عيد الميلادJARIG-…، العرض الترويجيACTIE-…)، بنسبة مئوية أو بمبلغ ثابت، مع حد أدنى لمبلغ الطلب عند الحاجة، يُستخدم مرة واحدة، وصالح لعدد الأيام المحدد بعد الإرسال (الافتراضي 30)، في الصندوق و/أو في المتجر الإلكتروني. ضع{code}و{geldig}في النص حيث تريدهما؛ وإلا يضع الصندوق أسفل الرسالة "Uw kortingscode: … (10% korting, aan de kassa of in de webshop, geldig t/m …)". يعرض «عرض» و«إرسال تجريبي» رمزًا نموذجيًا (TERUG-VOORBEELD، لا يعمل). إذا فشل الإرسال فلا يُنشأ الرمز. يظهر عند العرض الترويجي عدد الرموز الصادرة والمستخدمة. - إلغاء الاشتراك موجود أسفل كل رسالة: في الرسالة القصيرة "إلغاء الاشتراك؟ اتصل بـ ... أو أخبرنا في زيارتك القادمة"، وفي البريد الإلكتروني رابط إلغاء اشتراك إلى بريد المحل (وكذلك زر إلغاء الاشتراك في Gmail وOutlook). الرد على البريد يذهب إلى المحل.
- الخصوصية (GDPR): فقط الزبائن الموافقون ولديهم رقم أو عنوان؛ لا أرقام ولا عناوين في السجل، بل عدد ما أُرسل وما فشل لكل حملة. إذا حذفت زبونًا، يختفي أيضًا من قائمة الإرسال.
- التكاليف: تُرسل الرسائل القصيرة عبر حسابك الخاص في CM.com (أكثر من 160 حرفًا = عدة رسائل لكل زبون). لدى Gmail وخوادم البريد الأخرى حد يومي؛ إذا كان لديك زبائن كثيرون فأرسل على دفعات.
البقشيش لكل موظف
في الإعدادات ← المحل ← بقشيش (فقط إذا كان "عرض أزرار البقشيش عند الدفع" مفعّلًا) تختار كيف يظهر البقشيش لكل موظف في الوضع الحالي (X)، وتقرير Z (الإيصال والبريد) والمبيعات حسب الفترة (وفي ملف CSV أيضًا):
| الخيار | التوزيع |
|---|---|
| مُوقف (افتراضي) | إجمالي البقشيش فقط، كالمعتاد |
| لكلٍّ بقشيشه | بقشيش الحسابات التي دفعها الموظف بنفسه |
| صندوق مشترك حسب الساعات | كل البقشيش معًا، حسب ساعات الحضور المسجّلة في تلك الفترة (يتطلب تسجيل الحضور والانصراف؛ إن لم يسجّل أحد = بالتساوي) |
| صندوق مشترك بالتساوي | كل البقشيش معًا، بالتساوي بين من سجّلوا حضورهم (دون تسجيل الحضور: من أضاف شيئًا أو قام بالدفع) |
تذهب السنتات المتبقية إلى الأقرب إلى السنت التالي، كي يكون الإجمالي صحيحًا دائمًا. هذه نظرة عامة فقط: الصندوق لا يصرف شيئًا (يمكن ذلك عبر "إخراج نقود من الدرج"). وتبقى تقارير Z القديمة كما كانت.
تقرير Z بالبريد الإلكتروني
أدخل مرة واحدة في الإعدادات ← المحل ← إرسال تقرير Z بالبريد إلى البريد الإلكتروني للمسؤول (عناوين متعددة: فاصلة بينها، 3 كحد أقصى). بعد إغلاق اليوم يُرسل تقرير Z تلقائيًا إلى ذلك العنوان، إلى جانب الإيصال المطبوع. فارغ = بلا إرسال، كالمعتاد.
- يتم الإرسال في الخلفية، حتى لا يؤخّر خادم بريد بطيء إغلاق اليوم.
- إذا فشل الإرسال أو احتجت إليه مرة أخرى: التقارير ← تقارير Z السابقة ← (التقرير) ← إعادة الإرسال بالبريد (مع عبارة KOPIE عليه).
ملخص اليوم (اختياري)
إذا كان هناك عنوان في إرسال تقرير Z بالبريد إلى، فيظهر تحته خيار مع ملخص قصير لليوم في أعلى البريد (افتراضيًا غير مفعّل). مفعّل = في أعلى بريد تقرير Z بضعة أسطر بلغة بسيطة، من بيانات الصندوق نفسه فقط (بدون ذكاء اصطناعي، ولا يخرج شيء إلى الخارج):
- المبيعات والإيصالات والضيوف ومتوسط الإنفاق لكل إيصال، مقارنةً بنفس الفترة قبل أسبوع (بالنسبة المئوية)؛ وإذا لم يكن هناك شيء آنذاك، يُذكر ذلك؛
- أكثر 5 منتجات مبيعًا، وما يلفت الانتباه: المنتجات التي بيع منها 3 على الأقل أكثر أو أقل من الأسبوع الماضي؛
- عدد الإلغاءات (مقارنةً بالأسبوع الماضي) وساعة الذروة (الإيصالات والمبيعات).
يبقى تقرير Z نفسه (الإيصال والبريد) كما هو تمامًا. يعرض معاينة اليوم الملخص من آخر إغلاق لليوم حتى الآن. الملخص باللغة الهولندية، مثل بريد تقرير Z.
لوحة المعلومات
تبويب لوحة التحكم في التقارير (صلاحية المبيعات حسب الفترة)، للقراءة فقط:
- المبيعات في الساعة كرسم بياني: اليوم المختار (بالأزرق) بجانب اليوم نفسه من الأسبوع الماضي (بالرمادي). يُقارَن اليوم بالأسبوع الماضي حتى الساعة نفسها، كي تكون النسبة المئوية عادلة. وبـ ◀ ▶ أو التاريخ تختار يومًا آخر.
- البطاقات: المبيعات (± % مقارنة بالأسبوع الماضي)، والإيصالات ومتوسط الإيصال، ومتوسط الإنفاق لكل ضيف (في المحل فقط؛ الطلبات الخارجية والتوصيل لا تُحتسب) لذلك اليوم وللفترة المختارة.
- أفضل 10 منتجات وأكثر الساعات ازدحامًا خلال آخر 7 أو 28 أو 90 يومًا. أكثر الساعات ازدحامًا خريطة حرارية يوم الأسبوع × الساعة (متوسط المبيعات لكل يوم عمل) مع أكثر ثلاث ساعات ازدحامًا فوقها، وهي مفيدة لجدول العمل.
قسائم الهدايا المبيعة لا تُحتسب مبيعات، والخصومات وعناوين القوائم المجمّعة لا تدخل في أفضل 10 (كما في التقارير الأخرى). يمتد اليوم من 00:00 إلى 24:00.
تقارير إضافية
ثلاث علامات تبويب إضافية في التقارير، تُفعَّل كل واحدة على حدة عبر الإعدادات ← المحل ← الإدارة والتقارير ← تقارير إضافية (مُوقفة افتراضيًا: فلا تظهر علامة تبويب). تتطلب الصلاحية نفسها التي تتطلبها المبيعات حسب الفترة وهي للقراءة فقط. الفترة: هذا الأسبوع، الأسبوع الماضي، هذا الشهر، الشهر الماضي، آخر 90 يومًا، هذه السنة أو فترة تختارها بنفسك (بحد أقصى ما يزيد قليلًا عن سنة).
- هندسة القائمة: لكل منتج عدد مرات بيعه (حصته من جميع القطع المبيعة) مقابل ما يدرّه لكل قطعة (الهامش = سعر البيع بدون ضريبة القيمة المضافة ناقص التكلفة). يحصل كل منتج على تصنيف: نجمة (رائج وهامش كبير: اتركه كما هو)، حصان الحرث (رائج، هامش قليل: ارفع السعر قليلًا أو اجعل تكلفته أقل)، لغز (مبيعات قليلة، هامش كبير: أبرزه بشكل أفضل) وكلب (مبيعات قليلة، هامش قليل: احذفه من القائمة أو استبدله). رائج = 70% على الأقل من الحصة المتساوية؛ هامش كبير = على الأقل متوسط الهامش لكل قطعة مبيعة. تأتي التكلفة من Apicbase (الإعدادات ← الوصفات)، وإلا من سعر شراء المنتج (سعر الشراء لكل عبوة مقسومًا على العدد في العبوة)، وإلا من وصفة المكونات التي لها سعر شراء (المخزون). المنتجات بدون تكلفة تظهر منفصلة في الأسفل. اختياريًا لكل مجموعة منتجات (
?groep=). - الحملات والرموز: لكل رمز خصم، ولكل حملة من التسويق (الرموز الشخصية معًا) ولكل ساعة سعادة: عدد مرات الاستخدام (الإيصالات؛ وفي ساعة السعادة القطع أيضًا)، ومقدار الخصم، والمبيعات والمتوسط لكل إيصال.
- الهدر: ما تم شطبه من المخزون (الإعدادات ← المخزون، شطب (−))، حسب السبب (لا تهم الأحرف الكبيرة والمسافات) وحسب المنتج أو المكوّن، مع القيمة بسعر التكلفة؛ وما أُلغي بعد أن أُرسل إلى المطبخ أو البار، مع قيمة البيع وقيمة التكلفة.
الخصومات
يرى المدير أو المسؤول في شاشة الطلب بجانب الإجمالي زر % خصم:
- على الإيصال كاملًا أو على سطر واحد؛
- كـ نسبة مئوية (10 أو 15 أو 20 أو 25 أو 50، و100% = مجانًا، أو إدخالها يدويًا) أو كـ مبلغ ثابت؛
- دائمًا مع السبب (موظفون، زبون دائم، شكوى، عرض ترويجي، استهلاك شخصي، أو كتابته يدويًا).
يظهر الخصم كسطر مستقل على الإيصال ("خصم 10%"، والسبب تحته) بنفس نسبة الضريبة، كي يكون الإجمالي وتفصيل الضريبة صحيحين. على الإيصال كاملًا يُوزَّع الخصم حسب نسبة الضريبة. للإزالة: اضغط على مبلغ سطر الخصم. وإذا أُلغي سطر عليه خصم خاص، يسقط ذلك الخصم معه. إذا أزلت منتجًا من إيصال عليه خصم بالنسبة المئوية على الإيصال كاملًا، يعيد الصندوق حساب ذلك الخصم على ما تبقى (في بلجيكا UC226)؛ أما المبلغ الثابت فيبقى ويُوزَّع من جديد على السطور عند الدفع. وإذا لم يبقَ شيء للدفع بسبب خصم 100%، فأغلق بـ "إغلاق (لا شيء للدفع)". تظهر الخصومات في السجل، وفي تقرير X/Z والنظرة العامة للفترة كـ "منها خصم". وعند إرجاع إيصال عليه خصم، يُرجَع الخصم بالنسبة نفسها.
رموز الخصم (اختياري)
رموز تمنح خصمًا على الإيصال كله، مثلًا لعرض ترويجي (ZOMER10). التفعيل في الإعدادات → المحل → رموز الخصم (غير مفعّل افتراضيًا)؛ وتُنشئ الرموز في الإعدادات → رموز الخصم (صلاحية إدارة المنتجات):
- خصم بنسبة مئوية أو بمبلغ ثابت، مع إمكانية تحديد حد أدنى لمبلغ الطلب، وصالح من/حتى والحد الأقصى لعدد المرات (فارغ = غير محدود)؛
- لكل رمز: في الصندوق و/أو في المتجر الإلكتروني (يرسل الصندوق الرموز مع القائمة؛ ويُحتسب الاستخدام للصندوق والمتجر الإلكتروني معًا).
في شاشة الطلب يوجد زر رمز الخصم (يمكن لأي شخص إدخال رمز؛ فالرمز أنشأه المحل مسبقًا). يظهر الخصم كسطر "رمز الخصم CODE" على الإيصال، موزّعًا على نسب ضريبة القيمة المضافة؛ رمز واحد لكل إيصال، ولا يمكن إضافته إذا دُفع جزء من المبلغ أو كله. إذا حذفت السطر أو أُلغي الطلب، لا يعود الاستخدام محتسبًا. حذف رمز مستخدم يوقفه (وتبقى التقارير صحيحة). كل شيء مسجّل في السجل (رمز الخصم). الكود: lib/kortingscodes.ts, routes/kortingscodes.ts, Kortingscodebeheer.tsx, KortingscodeDialoog.tsx.
لا تظهر في القائمة في الإعدادات → رموز الخصم (لكن عددها لكل عرض ترويجي يظهر في التقارير → التسويق)، وتُنقل إلى المتجر الإلكتروني ما دامت صالحة وغير مستخدمة.
التقارير وإغلاق اليوم
زر التقارير في الشريط العلوي:
- الوضع الحالي (X): المبيعات، والضريبة، وطرق الدفع، وحسب المجموعة، ودرج النقود منذ آخر إغلاق لليوم. يمكن طباعته أيضًا. لا يُغلق شيئًا.
- إغلاق اليوم (Z) (المدير أو المسؤول): عدّ درج النقود (يُعرض الفرق مع رصيد البداية + النقد)، وإدخال رصيد البداية لليوم التالي، ثم الإغلاق. يحصل تقرير Z على رقم تسلسلي، ويُحفظ ويُطبع على طابعة الإيصالات. لا يمكن ذلك ما دامت هناك طلبات مفتوحة. اختياريًا: العدّ حسب العملة والورقة (مساعد العدّ) يملأ المبلغ المعدود عنك؛ ويظهر العدّ حسب العملة/الورقة أيضًا على تقرير Z. وإدخال الإجمالي يدويًا يعمل كالمعتاد.
- درج النقود (المدير أو المسؤول، اختياري):
- إخراج نقود من الدرج (إيداع في البنك، مصروف، بقشيش مدفوع) أو النقود في الدرج (فكّة) مع المبلغ والسبب. يُفتح الدرج ويُطبع إيصال بسطر للتوقيع للاحتفاظ به مع النقود (يمكن إيقافه). يُحتسب ذلك في المتوقع في الدرج ويظهر سطرًا سطرًا في تقريري X وZ.
- إدخال رصيد البداية لليوم أو تصحيحه (عادةً تُدخله عند إغلاق اليوم لليوم التالي).
- فتح الدرج بدون بيع، مع السبب.
- كل شيء يُسجَّل في السجل. وإذا لم تستخدم ذلك، يعمل إغلاق اليوم تمامًا كما في السابق (رصيد البداية + النقد = المتوقع في الدرج).
- تحت المبيعات يظهر عدد الضيوف (أشخاص الطلبات المدفوعة) والمتوسط لكل ضيف، وأيضًا على تقرير X/Z المطبوع.
- المبيعات حسب الفترة (المدير أو المسؤول): اليوم، أمس، هذا الأسبوع/الأسبوع الماضي، هذا الشهر/الشهر الماضي، هذه السنة، أو اختيار فترة من-إلى بنفسك. يعرض المبيعات والضريبة وطرق الدفع والبقشيش والضيوف ومجموعات المنتجات وحسب اليوم وحسب الموظف. وبـ تصدير (Excel/CSV) تحصل على ملف للمحاسب (فواصل منقوطة وفاصلة عشرية، يُفتح مباشرة في Excel الهولندي).
- تقارير Z السابقة: قائمة بالمبيعات وفرق الصندوق؛ فتحها وطباعة نسخة (مع "KOPIE" عليها).
تصدير إلى المحاسبة
التقارير → المبيعات حسب الفترة → تصدير المحاسبة (اليومية) (صلاحية المبيعات حسب الفترة) ينشئ ملف CSV بقيد يومية لكل يوم، جاهزًا للاستيراد في e-Boekhouden وExact وSnelStart وTwinfield وما شابه (عبر استيراد CSV/قيود التسوية فيها)، أو إحدى الصيغ أدناه (UBL وXAF وصيغ جاهزة لـ 14 برنامجًا).
لكل يوم مستند محاسبي واحد (KASSA-JJJJMMDD) متوازن دائمًا (مدين = دائن):
| الجانب | البيان |
|---|---|
| مدين | المقبوضات حسب طريقة الدفع (نقدًا، بطاقة بنكية، قسيمة هدية، عبر الإنترنت، أخرى)، شاملة البقشيش |
| دائن | المبيعات حسب نسبة الضريبة (دون الضريبة) والضريبة المستحقة الدفع حسب النسبة |
| دائن | البقشيش (مستحق للموظفين، ليس مبيعات) |
| +/- | فرق التقريب (تقريب النقد إلى 5 سنت) |
| +/- | النقود الداخلة/الخارجة من الدرج (إدارة الصندوق) مقابل حساب وسيط، وفرق الصندوق من تقرير Z |
الإرجاعات والخصومات مُدرجة مسبقًا في الإيصالات وتُخفّض المبيعات. الأعمدة: Datum; Boekstuk; Dagboek; Rekening; Omschrijving; Debet; Credit; Btw-code; Btw-% (فواصل منقوطة، فاصلة عشرية). بعد التنزيل يُنبّهك الصندوق إن كانت هناك أيام غير متوازنة أو فيها فرق أكبر من التقريب.
بجانب الزر تختار الصيغة (يُحفظ الاختيار في المتصفح). نفس اليومية، لكن منسّقة بحيث يستطيع البرنامج استيرادها مباشرةً. تعرض القائمة فقط الصيغ الخاصة ببلد المحل (الإعدادات → المحل): أولًا المعايير (CSV وUBL وXAF)، ثم البرامج بالترتيب الأبجدي:
| الصيغة | الملف | الاستيراد في البرنامج |
|---|---|---|
| عام (CSV) | journaal_…csv | أي برنامج يدعم استيراد CSV/قيود التسوية (ربط الأعمدة) |
| UBL 2.1 / Peppol (XML)، NL وBE | journaal_…_ubl.xml (عدة أيام: .zip) | لكل يوم فاتورة "المقبوضات اليومية" باسم Kassaverkopen (مدفوعة) وفق Peppol BIS Billing 3.0، بسطر لكل نسبة ضريبة وحساب الإيرادات في AccountingCost؛ المبيعات والضريبة فقط (طرق الدفع والبقشيش والتقريب والدرج وفرق الصندوق لا تنتمي إلى الفاتورة). للرفع في Adsolut وBillit وBUNNI وDigiBoox وExpert/M وMoneybird وPopsy وRompslomp وStorecove وTriFact365 وغيرها؛ وليس للإرسال عبر شبكة Peppol. الاسم ورقم ضريبة القيمة المضافة والعنوان تأتي من الإعدادات → المحل |
| XML Auditfile Financieel (XAF 4.0)، NL | journaal_…_xaf.xaf | ملف التدقيق (auditfile) لمصلحة الضرائب الهولندية (Belastingdienst) (XSD XmlAuditfileFinancieel4.0): ملف واحد للفترة، يتضمن دفتر الأستاذ ورموز الضريبة والفترات ومعاملة تسوية لكل يوم؛ يمكن استيراده في Caseware وExact Reeleezee وVisma Cash وغيرها |
| AccountView (XML)، NL | journaal_…_accountview.xml | حركات XML (VFPData، وtransact لكل سطر قيد يحتوي على dj_code وperiod وinv_date وinv_nr وacct_nr وtrn_desc وamount: المدين موجب والدائن سالب)، قيد واحد لكل يوم في دفتر اليومية العامة؛ يُستورد بتعريف استيراد (Document → Importeren → Importdefinitie aanmaken، النوع XML)، وأسماء الحقول هي أسماء AccountView نفسها، لذا تربطها مرة واحدة 1 إلى 1. اطلب مراجعة أول استيراد |
| AFAS Profit (XML) | journaal_…_afas.xml | XML من UpdateConnector FiEntries (الحركات المالية)، قيد واحد لكل يوم مع السنة والفترة والإدارة المحاسبية واليومية؛ الاستيراد في Profit عبر استيراد ← XML؛ أدخل رقم الإدارة المحاسبية (افتراضيًا 1) |
| Asperion (CSV)، NL | journaal_…_asperion.csv | تنسيق FMUTA (Extra → Import financiële mutaties)، لكل يوم سطر رأس وأسطر القيود؛ تضبط Asperion تعريف الاستيراد عبر مكتب الدعم |
| الكشف اليومي (HTML)، NL وBE | journaal_…_dagstaat.html | كشف يومي مقروء لكل يوم (المبيعات حسب نسبة الضريبة، طرق الدفع، البقشيش، فرق الصندوق) والإجماليات؛ للطباعة كـ PDF أو الإرسال بالبريد، للبرامج التي لا تدعم الاستيراد (Accountable وDext وDexxter وJortt وKleisteen وMoneyMonk) |
| e-Boekhouden.nl (CSV) | journaal_…_eboekhouden.csv | التاريخ؛ رقم المستند؛ الوصف؛ حساب دفتر الأستاذ؛ المبلغ (المدين موجب، الدائن سالب)؛ رمز الضريبة GEEN (الضريبة مسجّلة أصلًا على حسابات الضريبة)؛ استيراد → الحركات، النوع قيد تسوية |
| Exact Online (XML) | journaal_…_exact.xml | eExact-XML (الموضوع GLTransactions): قيد تسوية لكل يوم (النوع 90) في اليومية؛ استيراد/تصدير → استيراد XML |
| InformerOnline (TXT)، NL | journaal_…_informer.txt | قيود تسوية مفصولة بعلامات جدولة (Geavanceerd → Memoriaal → uploaden)؛ يجب أن تكون اليومية رقمًا بين 1–99 (وإلا 90) |
| KING ERP (XML)، NL | journaal_…_king.xml | KING_JOURNAAL: دفعة قيود واحدة (غير نهائية) بقيد يومية لكل يوم |
| KOMAS (CSV)، NL | journaal_…_komas.csv | تنسيق KOMAS الحر (0401 Importeren journaalposten): Datum; Grootboek; Omschrijving; Bedrag |
| Odoo (CSV)، NL وBE | journaal_…_odoo.csv | Accounting → Journal Entries → Import records؛ اليومية والحساب بالاسم أو الرمز |
| Sage BOB 50 (Excel)، BE | journaal_…_bob.xlsx | Importation de données externes → Opérations diverses (اربط الأعمدة مرة واحدة) |
| SAP Business One (ZIP)، NL وBE | journaal_…_sapb1.zip | Data Transfer Workbench، Journal Entries: JournalEntries.csv وJournalEntries_Lines.csv |
| SnelStart (CSV) | journaal_…_snelstart.csv | التاريخ؛ رقم المستند؛ الوصف؛ حساب دفتر الأستاذ؛ مدين؛ دائن (dd-mm-yyyy، فاصلة عشرية، بدون BOM)؛ استيراد قيد تسوية، وتختار اليومية عند الاستيراد |
| Twinfield (XML) | journaal_…_twinfield.xml | معاملات اليومية كمسودة (destiny="temporary")، ويجعلها المحاسب نهائية؛ أدخل رمز الإدارة المحاسبية (فارغ = الإدارة المحاسبية التي تستورد إليها) |
| Winbooks (CSV)، BE | journaal_…_winbooks.csv | K_DOC.CSV، لكل يوم مستند واحد في اليومية (Winbooks يرقّم بنفسه) |
| Yuki (XML) | journaal_…_yuki.xml | Journal-XML (GeneralJournal)، قيد تسوية واحد لكل يوم، بنفس بنية الربط المباشر؛ معرّف الإدارة المحاسبية اختياري |
نظرة عامة: أي برنامج محاسبة وبأي طريقة
حسب الفئة، بالترتيب الأبجدي. NL/BE = البلد الذي يعمل فيه البرنامج: في الإعدادات → المحاسبة → برنامج المحاسبة لا ترى إلا البرامج الخاصة ببلد المحل (البرامج الهولندية لا تعمل في بلجيكا والعكس). مباشر = يسجّل الصندوق بنفسه كل يوم (يُختار في الإعدادات → المحاسبة → برنامج المحاسبة)؛ عند الطلب = يوجد API، لكنه يتطلب أولًا تسجيل شريك أو موافقة لدى المورّد (أخبرنا بذلك). ملف = الصيغة في تصدير المحاسبة. حيث يمكن الاثنان، يمكنك استخدام الاثنين. القائمة موجودة في packages/shared/src/boekhoudcatalogus.ts وتظهر أيضًا في الإعدادات → المحاسبة.
| البرنامج | NL | BE | مباشر | الملف | ملاحظة |
|---|---|---|---|---|---|
| الشركات الصغيرة والمتوسطة والمستقلون | |||||
| Accountable | – | ✓ | – | الكشف اليومي (HTML، لـ PDF أو البريد) | |
| AccountView (Visma) | ✓ | – | عند الطلب | AccountView (XML)، عام (CSV) | ملف: حركات XML لتعريف استيراد (Document → Importeren)؛ ويمكن استيراد ملف CSV العام أيضًا بتعريف استيراد. مباشرةً عبر AccountView.Net API بعد الطلب لدى AccountView. |
| Acumulus | ✓ | – | ✓ | – | مباشر كفاتورة مبيعات مدفوعة لكل يوم، بسطر لكل نسبة ضريبة. |
| AFAS Profit | ✓ | – | ✓ | AFAS Profit (XML) | |
| Asperion | ✓ | – | عند الطلب | Asperion (CSV) | مباشر بعد التسجيل كشريك API لدى Asperion. |
| Billit | – | ✓ | عند الطلب | UBL 2.1 / Peppol (XML) | رفع UBL عبر Fast input؛ مباشر بعد موافقة Billit. |
| BUNNI | ✓ | – | – | UBL 2.1 / Peppol (XML) | لا توجد بعد وثائق API منشورة. |
| Dexxter | – | ✓ | – | الكشف اليومي (HTML، لـ PDF أو البريد) | |
| DigiBoox (Visma DigiBTW) | ✓ | – | – | UBL 2.1 / Peppol (XML) | |
| e-Boekhouden.nl | ✓ | – | – | e-Boekhouden.nl (CSV) | أيضًا لعملاء Ficsus السابقين. |
| Exact Online | ✓ | ✓ | ✓ | Exact Online (XML) | |
| Exact Reeleezee | ✓ | – | – | XML Auditfile Financieel (XAF 4.0) | |
| Horus | – | ✓ | ✓ | – | |
| InformerOnline | ✓ | – | – | InformerOnline (TXT) | |
| Jortt | ✓ | – | – | الكشف اليومي (HTML، لـ PDF أو البريد) | لا يوجد استيراد: سجّل المبيعات اليومية كإيراد مع الكشف اليومي كمرفق. |
| KING | ✓ | – | عند الطلب | KING ERP (XML) | مباشر بعد تسجيل الشريك لدى KING Software. |
| Kleisteen | ✓ | – | – | الكشف اليومي (HTML، لـ PDF أو البريد) | |
| KOMAS (Adfinis) | ✓ | – | – | KOMAS (CSV) | |
| Minox | ✓ | – | عند الطلب | – | مباشر بعد ربط شراكة عبر Minox. |
| Moneybird | ✓ | – | ✓ | UBL 2.1 / Peppol (XML) | |
| MoneyMonk | ✓ | – | – | الكشف اليومي (HTML، لـ PDF أو البريد) | سيحصل MoneyMonk في 2026 على API للربط. |
| Octopus | – | ✓ | عند الطلب | – | مباشر بعد طلب software house ID من Octopus. |
| Popsy / Allegro | – | ✓ | – | UBL 2.1 / Peppol (XML) | |
| Rompslomp | ✓ | – | – | UBL 2.1 / Peppol (XML) | |
| Sage BOB 50 | – | ✓ | – | Sage BOB 50 (Excel) | |
| Silvasoft | ✓ | ✓ | ✓ | – | مباشر كقيد مبيعات لكل يوم، بسطر لكل نسبة ضريبة؛ طرق الدفع والبقشيش وفرق الصندوق لا تُنقل. |
| SnelStart | ✓ | – | ✓ | SnelStart (CSV) | |
| Twinfield | ✓ | – | ✓ | Twinfield (XML) | |
| Visma Cash | ✓ | – | عند الطلب | XML Auditfile Financieel (XAF 4.0) | API بمفتاح من CASHWeb؛ تنسيق السجلات للقيود لم يُؤكَّد بعد. |
| Visma eAccounting | ✓ | – | عند الطلب | – | مباشر بعد موافقة Visma (تسجيل الشريك). |
| Winbooks | – | ✓ | عند الطلب | Winbooks (CSV) | |
| Wolters Kluwer Adsolut | – | ✓ | عند الطلب | UBL 2.1 / Peppol (XML) | UBL مع حساب الإيرادات في كل سطر؛ فعّل في Adsolut الخيار "grootboekrekening verwerken bij verkopen". |
| Wolters Kluwer Expert/M | – | ✓ | – | UBL 2.1 / Peppol (XML) | |
| Yuki | ✓ | ✓ | ✓ | Yuki (XML) | |
| دولي | |||||
| QuickBooks Online | ✓ | ✓ | ✓ | CSV عام | لا توجد نسخة هولندية أو بلجيكية: تحقّق من إعدادات الضريبة. |
| Xero | ✓ | ✓ | ✓ | CSV عام | |
| Zoho Books | ✓ | ✓ | ✓ | CSV عام | |
| المؤسسات والسلاسل | |||||
| Exact Globe+ | ✓ | ✓ | – | Exact Online (XML) | نفس XML الخاص بـ Exact Online؛ اطلب مراجعة الاستيراد الأول. |
| Microsoft Dynamics 365 Business Central | ✓ | ✓ | ✓ | – | |
| Odoo | ✓ | ✓ | ✓ | Odoo (CSV) | |
| Oracle NetSuite | ✓ | ✓ | عند الطلب | CSV عام | |
| SAP Business One | ✓ | ✓ | ✓ | SAP Business One (ZIP) | |
| Unit4 ERPx | ✓ | ✓ | – | CSV عام | |
| المنصّات والمجمّعات | |||||
| Apicbase | ✓ | ✓ | عند الطلب | – | المبيعات لكل إيصال للمخزون وfood cost: الربط في الإعدادات → الوصفات (وليس كبرنامج محاسبة). |
| Caseware | ✓ | ✓ | – | XML Auditfile Financieel (XAF 4.0) | |
| Combidesk | ✓ | – | عند الطلب | – | تبني Combidesk الربط وتديره بنفسها (إلى Exact وMoneybird وSnelStart وTwinfield وغيرها)؛ عند الطلب كشريك. |
| Dext | ✓ | ✓ | – | الكشف اليومي (HTML، لـ PDF أو البريد) | أرسل الكشف اليومي (PDF) بالبريد إلى عنوان Dext الخاص بك. |
| Jamix | ✓ | ✓ | عند الطلب | – | المبيعات للمخزون وتكلفة الطعام عبر واجهة JAPI من Jamix؛ حلول مخصّصة عند الطلب لدى Jamix. |
| Omniboost | ✓ | ✓ | عند الطلب | – | يمرّر البيانات عبر برنامج شركاء Omniboost إلى كثير من أنظمة المحاسبة والفنادق. |
| Storecove (Peppol) | ✓ | ✓ | عند الطلب | UBL 2.1 / Peppol (XML) | |
| TriFact365 | ✓ | – | – | UBL 2.1 / Peppol (XML)، الكشف اليومي (HTML، لـ PDF أو البريد) | |
| أي برنامج آخر | ✓ | ✓ | – | CSV عام أو UBL أو XAF (NL) |
اطلب من المحاسب مراجعة أول استيراد. التنسيق موجود في packages/shared/src/journaalexport.ts (مع اختبارات).
الإعدادات ← المحاسبة (صلاحية إعداد المحل والدفع والطابعات): رمز دفتر اليومية (افتراضيًا MEM) وحساب الأستاذ العام لكل بند. فارغ = حساب نموذجي (NL: 8000/8010/8020 مبيعات، 1500/1510 ضريبة، 1000 صندوق، 1100 بطاقة بنكية؛ BE: 7000xx مبيعات، 451000 ضريبة، 570000 صندوق). دع المحاسب يُدخل الحسابات الفعلية.
الربط مع برنامج محاسبة
ربط مباشر مع Acumulus وAFAS Profit وMicrosoft Dynamics 365 Business Central وExact Online وHorus وMoneybird وOdoo وQuickBooks Online وSAP Business One وSilvasoft وSnelStart وTwinfield وXero وYuki وZoho Books. بعد كل يوم يسجّل الصندوق نفس القيد الموجود في التصدير أعلاه (المبيعات والضريبة حسب النسبة، طرق الدفع، البقشيش، التقريب، الدرج وفرق الصندوق) كقيد تسوية في البرنامج المختار، مع اليومية وحسابات دفتر الأستاذ من الإعدادات → المحاسبة. يكون مفعّلًا دائمًا برنامج واحد على الأكثر.
- القائمة مقسّمة حسب الفئة (الشركات الصغيرة والمتوسطة والمستقلون، دولي، المؤسسات والسلاسل) ولا تعرض إلا البرامج التي تعمل في بلد المحل؛ يرفض الخادم برنامجًا من بلد آخر (400) ولا يسجّل فيه (409). تحتها مباشرةً يحصل المسؤول على حقول ذلك البرنامج بالضبط؛ الربط وقائمة الأيام المسجّلة موجودة تحت حسابات دفتر الأستاذ، وتحتها نظرة عامة على كل البرامج لهذا البلد. إذا كان اثنان مفعّلين عند التحديث (كان ذلك ممكنًا في نسخة أقدم)، يبقى Exact Online مفعّلًا ويُوقف البرنامج الآخر.
| البرنامج | البلد | الربط بواسطة | ما يسجّله الصندوق |
|---|---|---|---|
| Acumulus | NL | رمز العقد والمستخدم وكلمة المرور لمستخدم API | لكل يوم فاتورة مبيعات مدفوعة بسطر لكل نسبة ضريبة؛ ترسل Acumulus الأخطاء بالبريد إلى ACUMULUS_FOUTMAIL |
| AFAS Profit | NL | البيئة، الرمز، الإدارة المحاسبية | قيد تسوية (FiEntries) |
| Business Central | NL، BE | الـ tenant والبيئة والشركة ومعرّف العميل والسر لتطبيق Microsoft Entra (API.ReadWrite.All) | أسطر في اليومية العامة برمز حقل اليومية |
| Exact Online | NL، BE | تسجيل الدخول (OAuth، تطبيق خاص بك: انظر Exact Online أدناه؛ بلجيكا: start.exactonline.be) | قيد تسوية في اليومية (مثلًا 90) |
| Horus | BE | تسجيل الدخول (OAuth، التطبيق أدناه)، اختياريًا الملف | عملية متنوعة |
| Moneybird | NL | رمز API، اختياريًا الإدارة المحاسبية | قيد تسوية (general journal document) |
| Odoo | NL، BE | العنوان، قاعدة البيانات، المستخدم، مفتاح API | قيد يومية في اليومية ذات الرمز القصير (مثلًا MISC) |
| QuickBooks Online | NL، BE | تسجيل الدخول (OAuth، التطبيق أدناه؛ QUICKBOOKS_OMGEVING) | journal entry؛ الحسابات حسب الرقم |
| SAP Business One | NL، BE | عنوان Service Layer، قاعدة البيانات، المستخدم، كلمة المرور | قيد يومية (JournalEntries) |
| Silvasoft | NL، BE | المستخدم ومفتاح API | قيد مبيعات على الطرف Kassaverkopen، بسطر لكل نسبة ضريبة (طرق الدفع والبقشيش وفرق الصندوق لا تُنقل) |
| SnelStart | NL | مفتاح الربط ومفتاح الاشتراك | قيد تسوية |
| Twinfield | NL | تسجيل الدخول (OAuth، التطبيق أدناه)، اختياريًا المكتب | معاملة يومية |
| Xero | NL، BE | تسجيل الدخول (OAuth، التطبيق أدناه)، اختياريًا المؤسسة | manual journal؛ الحسابات حسب الرمز |
| Yuki | NL، BE | مفتاح API، اختياريًا الإدارة المحاسبية | قيد تسوية (GeneralJournal) |
| Zoho Books | NL، BE | تسجيل الدخول (OAuth، التطبيق أدناه؛ افتراضيًا مركز البيانات الأوروبي)، اختياريًا المؤسسة | قيد يومية؛ الحسابات حسب الرمز |
- OAuth (Horus وQuickBooks وTwinfield وXero وZoho): تسجيل تطبيق مرة واحدة لدى البرنامج.
- في عدد من البرامج لا يمكن التأكد بالكامل من حقول API من الوثائق المنشورة (منها Horus وZoho Books والإشارة في Business Central والبنية في SAP Business One): اطلب دائمًا من المحاسب مراجعة القيد الأول.
- Exact Online: يسجّل القيد كقيد تسوية في الإدارة المحاسبية المختارة.
- يُختار من الإعدادات → المحاسبة → برنامج المحاسبة → Exact Online (افتراضيًا مُوقف). بلجيكا: يستخدم الصندوق تلقائيًا
start.exactonline.be. - الإعدادات → المحاسبة → Exact Online: الربط مع Exact Online يفتح تسجيل الدخول إلى Exact؛ وبعدها تظهر الإدارة المحاسبية التي يرتبط بها الصندوق. أدخل في اليومية رمز يومية تسوية في Exact (مثلًا
90) وتأكد من وجود حسابات دفتر الأستاذ في Exact. - متى: مباشرة بعد إغلاق اليوم ثم كل ساعة، لجميع الأيام الماضية (حتى أمس) ابتداءً من التسجيل ابتداءً من (افتراضيًا يوم الربط؛ الأيام السابقة لدى المحاسب أصلًا). كل يوم مرة واحدة؛ وتُتخطى الأيام دون مبيعات. سجّل الآن متاح دائمًا.
- الأخطاء (حساب غير موجود في Exact، اليوم غير متوازن، لا إنترنت) تظهر مع السبب بجانب ذلك اليوم؛ يعيد الصندوق المحاولة لاحقًا، وتنتظر الأيام التالية حتى ينجح (ليبقى الترتيب صحيحًا). في السجل: "exact_geboekt".
- تُسجَّل الضريبة على حسابات ضريبة القيمة المضافة (دون رمز ضريبة، كما في التصدير). اطلب من محاسبك مراجعة القيود الأولى.
- Exact: يبقى الربط فعّالًا ما دام الصندوق يستخدمه (رمز جديد كل 10 دقيقة، وrefresh token جديد في كل مرة). إذا أُلغي أو لم يُستخدم لفترة طويلة، يطلب الصندوق إعادة الربط. فك الربط يحذف الرموز؛ وما سُجّل يبقى.
- يُختار من الإعدادات → المحاسبة → برنامج المحاسبة → Exact Online (افتراضيًا مُوقف). بلجيكا: يستخدم الصندوق تلقائيًا
- AFAS Profit: رقم البيئة (مثلًا
12345؛ الإنتاج أو الاختبار أو القبول)، والرمز المميز لـ app-connector مع UpdateConnector FiEntries ورقم الإدارة المحاسبية (افتراضيًا 1). اليومية = رمز يومية تسوية في AFAS (مثلًا90). - اليومية = رقم أو اسم يومية تسوية؛ إذا لم توجد إلا يومية تسوية واحدة، يأخذها الصندوق. يجب أن تكون حسابات دفتر الأستاذ أرقامًا.
- Twinfield: تسجيل الدخول عبر OAuth. بدون هذا التطبيق لا يستطيع الصندوق الربط. يبحث الصندوق عن الـ cluster والإدارة المحاسبية (فارغ = الأولى)؛ اليومية = رمز يومية تسوية (مثلًا
MEMO). يسجّل بشكل نهائي (destiny="final"). - Yuki: مفتاح API للإدارة المحاسبية (Yuki → الإعدادات → Webservices)؛ الإدارة المحاسبية فارغة = الأولى المرتبطة بذلك المفتاح. يسجّل قيد تسوية (GeneralJournal)؛ لا يستخدم Yuki رمز يومية.
- متى: مباشرة بعد إغلاق اليوم وكل ساعة، لجميع الأيام الماضية ابتداءً من التسجيل ابتداءً من (افتراضيًا يوم الربط؛ عند برنامج آخر من جديد ابتداءً من ذلك اليوم). كل يوم مرة واحدة لكل برنامج؛ تُتخطّى الأيام بدون مبيعات؛ عند حدوث خطأ يظهر السبب عند ذلك اليوم وتنتظر الأيام التالية. سجّل الآن ممكن دائمًا. في السجل: "boekhoudpakket_geboekt".
- المفاتيح والرموز المميزة لا تظهر أبدًا على الشاشة (اتركها فارغة عند إعادة الربط = الإبقاء عليها). لا يتم التسجيل من نسخة الصندوق على البوابة.
ملف تدقيق الكاشير (XAA)
للمحلات الهولندية يوجد في التقارير → المبيعات حسب الفترة بجانب تصدير المحاسبة زر ملف تدقيق الكاشير (XAA): XML Auditfile Afrekensystemen 3.2 الصادر عن مصلحة الضرائب الهولندية (Belastingdienst) و XML Platform (SRA) عن الفترة المختارة (بحد أقصى ما يزيد قليلًا على سنة؛ صلاحية المبيعات حسب الفترة). هذا هو الملف الذي توصي به Belastingdienst لتقديم بيانات الكاشير عند التدقيق أو إلى المحاسب؛ والقواعد واردة في Handreiking voor een betrouwbaar afrekensysteem (دليل نظام دفع موثوق، docs/xaa).
في الملف (auditfile_kassa_<van>_tm_<tot>.xml، المخطط docs/xaa/XmlAuditfileAfrekensystemen3.2.xsd):
- البيانات الأساسية: المحل (الاسم، رقم ضريبة القيمة المضافة، العنوان)، ورموز ضريبة القيمة المضافة، وجميع الموظفين (مع الدور وتاريخ الإنشاء؛ إضافة إلى
SYSTEEMلما يقوم به الكاشير بنفسه، مثل المتجر الإلكتروني والربط) وجميع المنتجات مع مجموعتها؛ - الأحداث: كل ما في السجل خلال الفترة (تسجيل الدخول والخروج، فتح درج النقود، إقفال اليوم، تغيير الإعدادات والأسعار، الإلغاء، الخصم، المرتجع، نسخة الإيصال، تسجيل الحضور والانصراف ...) وفتح يوم الكاشير مع مبلغ البداية، كلٌّ منها برمز Belastingdienst (18001 تسجيل الدخول، 18003 الدرج، 18006 تغيير التثبيت، 18008 تقرير Z، وإلا 18999)؛
- معاملات الصندوق: كل إيصال (بيع ومرتجع وفاتورة مبدئية، مع رقم الإيصال والموظف والحالة الضريبية إن لم تكن سليمة) مع جميع البنود (المنتج، المجموعة، الكمية، السعر، ضريبة القيمة المضافة؛ وكذلك الخصومات وبطاقات الهدايا وعناوين القوائم والبنود الملغاة قبل الدفع، وهذه بمبلغ 0)، وضريبة القيمة المضافة لكل نسبة، والتقريب، والمدفوعات لكل طريقة دفع (نقدًا، بالبطاقة، بطاقة هدية، عبر الإنترنت؛ والبقشيش منفصل) والنقود الداخلة إلى درج النقود والخارجة منه.
المبالغ موجبة مع C (بيع، قبض) أو D (مرتجع، صرف)؛ والأوقات بالتوقيت الهولندي مع فارق التوقيت. جميع المفاتيح هي معرّفات قاعدة البيانات بدون شرطات، لذا يمكن تتبعها في الكاشير.
التوقيع (الفصل 6 من المواصفات): إذا ضبطت Optimum POS شهادة، يأتي ملف التدقيق موقّعًا داخل مغلف (XML Signature) ويكون اسم الملف …_ondertekend.xml؛ وإلا فهو ملف تدقيق مستقل، ويُعلم الكاشير بذلك عند التنزيل.
الدفع على الحساب
العملاء من الشركات (شركة تطلب الغداء كل أسبوع، أو فندق، أو جمعية) يشترون على الحساب ويدفعون لاحقًا بفاتورة. فعّل الميزة من الإعدادات ← الفواتير ← الدفع على الحساب (فقط عند تفعيل الفواتير؛ معطّلة افتراضيًا).
- الزبائن: من التقارير ← على الحساب تسجّل العملاء من الشركات مع بيانات الفاتورة (الاسم، العنوان، رقم ضريبة القيمة المضافة، رقم KvK أو رقم المؤسسة، معرّف Peppol، البريد الإلكتروني)، ومع حد ائتماني اختياري (أقصى مبلغ يمكن أن يبقى مستحقًا) ومهلة دفع خاصة (وإلا فمهلة الفواتير)، وما إذا كانت الفاتورة تُرسل فورًا.
- الدفع: طريقة الدفع على الحساب، اختر الزبون (مع ما هو مستحق عليه حاليًا والحد الائتماني). الإيصال عملية بيع عادية: المبيعات وضريبة القيمة المضافة في ذلك اليوم، وفي بلجيكا عبر الصندوق الأسود كالمعتاد، ويُطبع على الإيصال "على الحساب". وتُنشئ الكاشير الفاتورة فورًا (UBL/Peppol وللطباعة) بالمبلغ المتبقي المستحق وتاريخ الاستحقاق، وترسلها كما هو مضبوط في الفواتير (بريد إلكتروني، أو Peppol عبر Billit/Storecove/Banqup أو العنوان الخاص). الدفع على الحساب مبلغ واحد لباقي الحساب (يمكن دفع جزء بطريقة أخرى أولًا)، بلا بقشيش؛ ولا يمكن بيع قسيمة هدية على الحساب. وعند تجاوز الحد ترفض الكاشير.
- السداد: يدفع الزبون في المحل نقدًا أو بالبطاقة أو بقسيمة هدية (التقارير ← على الحساب ← تم استلام الدفعة؛ ويمكن دفع جزء أيضًا). هذه ليست عملية بيع جديدة ولا إيصالًا جديدًا: النقد يدخل كنقود في الدرج (يُفتح الدرج)، وكل شيء يظهر في تقريري X وZ تحت المقبوض على الحساب. وعند سداد كل شيء تصبح الفاتورة "مدفوعة". الدفع عبر الإنترنت ليس جزءًا من ذلك.
- التحويل البنكي: إذا كان هناك رقم IBAN في بيانات الفاتورة، فإنه يظهر على الفاتورة (وفي UBL)، مع عبارة "يمكن الدفع أيضًا في المحل". إذا حوّل العميل المبلغ، تسجّل ذلك عبر تم استلام الدفعة ← تم التحويل (بنك): لا يدخل الدرج، لكنه يظهر في تقريري X وZ تحت المقبوض على الحساب. بدون IBAN تظهر عبارة "يُدفع في المحل". في بلجيكا يظهر بيان مهيكل (+++123/4567/89012+++، مأخوذ من رقم الفاتورة) على الفاتورة وفي UBL، حتى يرسله البنك مع الدفعة.
- البنك: تسوية التحويلات دون إعادة كتابتها يدويًا، انظر أدناه.
- الرصيد (مال مسبق): في التقارير → على الحساب → إيداع رصيد تضع مالًا مسبقًا على حساب زبون، نقدًا (يُفتح الدرج) أو بالبطاقة، مثلًا لسلسلة وجبات غداء. عند البيع التالي على الحساب يُخصم الرصيد أولًا من الفاتورة؛ وإذا كانت الفاتورة أكبر، يبقى الباقي مفتوحًا. يظهر الرصيد عند الزبون (رصيد € ...)، وفي تقريري X وZ تحت المقبوض على الحساب (رصيد مُودَع، من رصيد الزبون) وفي دفتر اليومية كمقبوض مسبقًا (افتراضيًا 1640 / 460000). في بلجيكا يُرسَل الإيداع كمال وارد (signMoneyInOut) إلى الصندوق الأسود (UC4100).
- فاتورة مجمّعة (لكل زبون، معطّلة افتراضيًا): مع فاتورة واحدة لكل الإيصالات لا يحصل الزبون بعدُ على فاتورة عند البيع على الحساب. يبقى الإيصال مفتوحًا لدى الزبون (إيصالات لم تُفوتر بعد، ويُحتسب ضمن الحد) ويمكن دفعه من الآن. بـإنشاء فاتورة مجمّعة (مثلًا في نهاية الشهر) توضع كل الإيصالات المفتوحة في فاتورة واحدة، وقبل كل سطر رقم الإيصال؛ وما دُفع يظهر كمدفوع. الإرجاع إلى الحساب يظهر كسطور سالبة. معطّلة = فاتورة لكل عملية بيع كالمعتاد. في بلجيكا فاتورة واحدة بكل الإيصالات في الصندوق الأسود (signInvoice، UC4121 وUC4122).
- بلجيكا: إذا دفع الزبون لاحقًا بيعًا على الحساب (نقدًا أو بالبطاقة أو بقسيمة هدية أو بالتحويل)، يُبلغ الصندوق ذلك كـ تصحيح دفع على الإيصال: من ائتمان الزبون إلى طريقة الدفع الفعلية (signPaymentCorrection، UC4118).
- نظرة عامة: الفواتير المستحقة مع تاريخ الاستحقاق (المتأخرة بالأحمر)، والفواتير والدفعات لكل زبون. وفي الإعدادات ← الفواتير عمود مستحق.
- المحاسبة: في دفتر اليومية يذهب البيع على الحساب إلى المدينين (افتراضيًا 1300 في هولندا و400000 في بلجيكا؛ يمكن ضبطه في الإعدادات ← المحاسبة)، والسداد من الصندوق أو البطاقة أو قسيمة الهدية أو البنك (افتراضيًا 1050 / 550000) إلى المدينين. XAA: طريقة الدفع "على الحساب".
- الصلاحية: الدفع على الحساب واستلام الدفعات على الحساب (افتراضيًا: الخدمة لا، المدير نعم). كل شيء مسجّل في السجل.
- التعطيل: تبقى الزبائن والفواتير والدفعات محفوظة (وفي النسخة الاحتياطية أيضًا)؛ والمفتاح يُصدَّر مع الإعدادات، أما الزبائن فلا (فهم يخصّون محلًا واحدًا).
- في المتجر الإلكتروني (اختياري، غير مفعّل افتراضيًا): مع أيضًا في المتجر الإلكتروني يطلب العملاء من الشركات عبر الإنترنت على الحساب (استلام وتوصيل). من التقارير ← على الحساب تُنشئ لكل زبون رمز زبون وتعطيه له؛ لا يحفظ الصندوق إلا نسخة مشفّرة، لذا تراه مرة واحدة فقط. رمز زبون جديد = الرمز القديم لم يعد يعمل؛ حذف رمز الزبون = لم يعد بإمكان هذا الزبون الطلب على الحساب عبر الإنترنت. يلتزم المتجر الإلكتروني بالحد الائتماني. في نافذة المتجر الإلكتروني تُنهي مثل هذا الطلب بـإنهاء (على الحساب): الدفع على الحساب، مع الفاتورة فورًا.
البنك: تسوية التحويلات
في التقارير ← على الحساب ← البنك يبحث الصندوق لكل إيداع عن الفاتورة على الحساب المطابقة:
- استيراد كشف الحساب البنكي: الملف من خدمتك المصرفية عبر الإنترنت، بصيغة CAMT.053 (XML، جميع البنوك في هولندا وبلجيكا)، أو MT940 (.sta/.940) أو CODA (.cod، بلجيكا). الإيداعات فقط؛ واستيراد الكشف مرتين لا ينشئ سطورًا مكررة.
- البحث: حسب رقم الفاتورة أو البيان المهيكل في الوصف (مؤكد)، وإلا حسب المبلغ (والاسم): وعندها يكون اقتراحًا. يمكنك لكل سطر التسوية (مع الاقتراح أو مع فاتورة أخرى)، أو التجاهل أو لاحقًا التسوية رغم ذلك. التسوية = تم التحويل (بنك) بـتاريخ البنك، ولا تتجاوز أبدًا المبلغ المستحق؛ ولا تدخل الدرج.
- الربط البنكي (PSD2، اختياري): من الإعدادات ← الفواتير ← الربط البنكي يجلب الصندوق الإيداعات بنفسه كل ساعة عبر Enable Banking (بنوك في هولندا وبلجيكا وبقية أوروبا). اختر البنك وسجّل الدخول لدى البنك (حساب تجاري)؛ الإذن صالح لمدة 180 يومًا، ثم يجب إعادة الربط. فك الربط يسحب الإذن؛ وتبقى الإيداعات محفوظة. بدون عقد مع Enable Banking يعمل هذا لحساباتك الخاصة فقط (restricted production).
- التسوية التلقائية (متوقفة افتراضيًا): الإيداع الذي يخص فاتورة بشكل مؤكد يسوّيه الصندوق فورًا (وكذلك عند الاستيراد).
- الصلاحية: التسوية بصلاحية الدفع على الحساب واستلام الدفعات على الحساب؛ وإعداد الربط البنكي بصلاحية إعداد المحل والدفع والطابعات. الاستيراد والربط والجلب والتسوية كلها مسجّلة في السجل.
- إيقاف: عند إيقاف الدفع على الحساب لا يجلب الصندوق شيئًا؛ وتبقى الإيداعات والربط محفوظة (وفي النسخة الاحتياطية أيضًا).
صور الكاميرات في الصندوق
جميع صور كاميرات المحل في صفحة واحدة، بدون شاشة أو تطبيق منفصل. فعّلها في الإعدادات ← المحل ← الشاشات والتشغيل ← صور الكاميرات في الصندوق (غير مفعّلة افتراضيًا). عندها يظهر زر الكاميرات في الشريط العلوي لمن لديه صلاحية عرض صور الكاميرات (افتراضيًا المدير والمسؤول؛ ويمكن تفعيلها للخدمة أيضًا في الإعدادات ← الصلاحيات). تظهر جميع الكاميرات جنبًا إلى جنب؛ اضغط على كاميرا لعرضها بحجم كبير. عند الإيقاف تبقى أنظمة الكاميرات محفوظة.
أيضًا كشاشة مستقلة: على شاشة مستقلة يفتح http://<kassaserver>:3000/camera (مثلًا شاشة خلف البار)، وعلى جهاز لوحي أو هاتف يعرض رمز QR: يمسحه الموظف بجهازه اللوحي أو هاتفه ويسجّل الدخول برمزه السري (وهناك أيضًا فقط مع صلاحية عرض صور الكاميرات). على الشاشة الضيقة تظهر الكاميرات تحت بعضها. انظر شاشة ثانية على جهاز لوحي أو هاتف.
يضيف المسؤول أنظمة الكاميرات بـ + نظام كاميرات، ويختبرها بـ اختبار ويختار لكل كاميرا الاسم وهل تظهر في الصفحة:
- Hikvision وDahua وAxis وReolink: كاميرا أو جهاز تسجيل (NVR) في الشبكة: عنوان IP (مع
:poortعند الحاجة)، ومستخدم (يُفضَّل للمشاهدة فقط) والقنوات، مثل1-8أو1,3,5. تسجيل الدخول بـ Basic أو Digest؛ ويُسمح بـ https مع شهادة خاصة. - Synology Surveillance Station: عنوان NAS (المنفذ الافتراضي 5000، ومع https 5001) ومستخدم؛ جلب الكاميرات يجلب الكاميرات بأسمائها.
- UniFi Protect: عنوان وحدة التحكم (https) وحساب محلي؛ جلب الكاميرات.
- ONVIF: أي كاميرا أو جهاز تسجيل يدعم ONVIF (مثل Hanwha وBosch وUniview وAnnke)؛ جلب الكاميرات يبحث عن عنوان الصورة لكل مصدر فيديو.
- عنوان ويب خاص: صورة (JPEG) أو بث MJPEG أو عنوان
rtsp://. - صفحة الويب لنظام الكاميرات (مثل Frigate أو Blue Iris أو go2rtc): تُفتح في الصندوق عند زر الكاميرات (أو في نافذة مستقلة).
بدون ffmpeg: الصورة.
الخصوصية: يجلب الصندوق الصور من نظام الكاميرات ويمرّرها فقط؛ لا يُحفظ أي شيء (لا تسجيلات ولا ذاكرة تخزين مؤقت). يبقى المستخدمون وكلمات المرور على الخادم ولا يظهرون أبدًا على الشاشة أو في السجل. يُسجَّل في السجل من شاهد الكاميرات. تطلب الصفحة الصور نفسها بمفتاح (صالح لمدة 12 ساعة، طالما الموظف مسجّل الدخول)، لأن الصورة في المتصفح لا يمكنها إرسال رمز مميّز. تصدير الإعدادات يتضمن فقط التفعيل/الإيقاف.
سجل الإجراءات الحساسة
التقارير ← السجل (المدير أو المسؤول) يُظهر من فعل ماذا ومتى.
- اختر فترة (اليوم، أمس، هذا الأسبوع، هذا الشهر/الشهر الماضي أو من-إلى بنفسك)، وما تريد رؤيته (افتراضيًا إجراءات حساسة، أو مثلًا الإلغاء والخصم فقط، أو الكل) وموظفًا واحدًا عند الحاجة.
- في الأعلى حسب الموظف: عدد ومبلغ الإلغاءات (المحذوفة بعد الطلب)، والخصومات والإرجاعات، وعدد مرات فتح الدرج بدون بيع، وإخراج النقود من الدرج، ونسخ الإيصالات، والفواتير المبدئية، والدفع بالبطاقة يدويًا. اضغط على اسم لرؤية ذلك الموظف فقط. وكذلك عدد مرات إدخال رمز سري خاطئ.
- وتحت ذلك كل إجراء مع الوقت ومن وماذا ووصف مقروء (مثلًا "2x Cola geschrapt na bestellen € 5,60 · tafel 4 · reden: klant wilde niet").
- تنزيل (CSV) لـ Excel.
ما يتم تسجيله: الإلغاءات، الخصومات (وإزالتها)، المرتجعات، نسخ الإيصالات، الفواتير المبدئية، الدفع اليدوي بالبطاقة، فتح الدرج، إدخال/إخراج النقود من الدرج، رصيد البداية، إغلاق اليوم، نقل البنود أو الطاولات، إغلاق الطلبات الفارغة، تغيير سعر/اسم/ضريبة القيمة المضافة للمنتجات، المنتجات الجديدة أو المحذوفة، تغيير الموظفين والإعدادات، تعديل أوقات العمل، تسجيل الدخول والخروج، رموز PIN الخاطئة، وتسجيل الحضور والانصراف. مع الدفع على الحساب أيضًا: الزبائن، والمبيعات والمدفوعات على الحساب، واستيراد كشوف الحساب البنكية، والربط البنكي والجلب من البنك. مع التنبيه عند طول مدة التحضير: الطلبات المتأخرة والاعتذارات المرسلة. مع Mailchimp أو Klaviyo: الاتصال، واختيار القائمة، وفك الربط، وإلغاءات الاشتراك من هناك. مع التحكم في الموسيقى: التفعيل/الإيقاف وإضافة مصادر الموسيقى وتعديلها وإزالتها. مع صور الكاميرات: من شاهد الكاميرات (مرة واحدة كل نصف ساعة لكل موظف على الأكثر)، والتفعيل/الإيقاف وأنظمة الكاميرات. مع المراقبة: كل تنبيه، ومعالجته، وتفعيلها وتعطيلها.
المراقبة: الاحتيال والانحرافات
الإعدادات ← المراقبة. جزءان، يُفعَّل كل منهما على حدة وهما معطّلان افتراضيًا؛ التعطيل يحتفظ بكل التنبيهات والإعدادات. يحق الإعداد لمن لديه صلاحية إعداد المراقبة (افتراضيًا المدير والمسؤول)؛ ويحق رؤية التنبيهات ومعالجتها لمن يحق له رؤية السجل. يفحص الصندوق كل 5 دقائق (وعبر افحص الآن)؛ لا يعمل على صندوق الظل.
رصد الاحتيال والسرقة (لكل موظف، لكل يوم عمل ابتداءً من 05:00)، كل قاعدة تُفعَّل أو تُعطَّل على حدة ولها حدّها الخاص:
- الإلغاءات بعد الفاتورة المبدئية: حذف بعد أن رأى الضيف الحساب؛
- الإلغاءات والخصومات والمرتجعات: ابتداءً من عدد معيّن من المرات، أو بمجموع ابتداءً من مبلغ (0 = بدون مبلغ)؛
- فتح الدرج بدون بيع (زر فتح الدرج)؛
- فاتورة مفتوحة طويلًا: طُلبت لكن لم تُدفع بعد عدد معيّن من الدقائق.
تنبيهات عند الانحرافات، مقارنةً بنفس يوم الأسبوع ونفس الوقت في الأسابيع الماضية (افتراضيًا 4؛ الأيام بدون مبيعات لا تُحتسب، يوما مقارنة على الأقل):
- المبيعات حتى الآن أقل (و/أو أعلى) من المعتاد بأكثر من الهامش، فقط ابتداءً من مبيعات معتادة بمبلغ محدد؛
- وقت المطبخ (من إرسال الفاتورة إلى المطبخ حتى تجهيزها على شاشة المطبخ) في الساعة الأخيرة فوق الهامش، أو فوق عدد ثابت من الدقائق؛
- الإلغاءات اليوم فوق الهامش، فقط ابتداءً من عدد أدنى.
يصدر كل تنبيه مرة واحدة (لكل قاعدة وموظف ويوم؛ وقت المطبخ مرة واحدة في الساعة على الأكثر) ويذهب إلى:
- الصندوق: زر التنبيهات (n) في الشريط العلوي مع تنبيهات اليوم أو الأسبوع أو آخر 30 يومًا؛ تمت المعالجة مع ملاحظة. الشاشات الأخرى تتلقى إشارة فقط بدون أسماء؛
- إشعار عبر ntfy (تطبيق مجاني؛ ntfy.sh أو خادم خاص، topic وtoken عند الحاجة)، Pushover (API-token الخاص بالتطبيق والـ user key) أو Telegram (token الخاص بالبوت والـ chat-id)؛
لكل قناة زر رسالة تجريبية. تبقى الـ tokens والمفاتيح على الصندوق (الشاشات ترى فقط ما إذا كانت مُدخلة). التنبيه ليس دليلًا: راجع الفاتورة والسجل وناقش الأمر مع الموظف.
الإيصالات: نسخة وإرجاع (إيصال دائن)
زر الإيصالات في الشريط العلوي:
- قائمة بالإيصالات منذ آخر إغلاق لليوم، أو لآخر 7 يومًا؛ والإيصال الأقدم تبحث عنه برقمه.
- طباعة نسخة: الإيصال نفسه مع "KOPIE" عليه (في بلجيكا مع كتلة FDM من الإيصال الأصلي). يُسجَّل في السجل.
- إرجاع / إيصال دائن (المدير أو المسؤول): اختر لكل سطر الكمية المُرجَعة، والسبب، وطريقة إعادة المال (نقدًا، بطاقة بنكية، قسيمة هدية، أخرى). يبقى الإيصال القديم كما هو: يُضاف إيصال دائن جديد برقم خاص في اليومية (نوع التذكرة
retour، مبالغ سالبة، وفي بلجيكا كـ NR إلى FDM). لا يمكن أبدًا إرجاع أكثر مما بيع. في تقريري X وZ يُحتسب الإرجاع كمبيعات سالبة. - مع CCV أو جهاز دفع آخر: أعِد المبلغ أولًا على جهاز الدفع نفسه ثم حدّد "تم الاسترداد على جهاز الدفع".
- نقدًا مع التقريب إلى 5 سنت: يُقرَّب المبلغ المُعاد أيضًا.
- إرجاع إلى الحساب (بيع على الحساب): إذا كان الإيصال على حساب زبون من الشركات، تختار على الحساب. يُخصم المبلغ من الفاتورة المفتوحة وينشئ الصندوق فورًا إشعارًا دائنًا (في UBL هو CreditNote، النوع 381، مع إحالة إلى الفاتورة؛ وفي بلجيكا موقّع بـ signInvoice، UC4122). لا يمكن إرجاع أكثر مما هو مفتوح على الفاتورة إلى الحساب؛ أرجع الباقي نقدًا أو بالبطاقة. يظهر الإشعار الدائن في الفواتير وتُرسله كفاتورة.
درج النقود مع مستشعر ودرج لكل موظف
افتراضيًا مُوقف. الضبط في الإعدادات ← الدفع ← درج النقود.
- المستشعر: كثير من الأدراج تُبلغ عبر طابعة الإيصالات عمّا إذا كانت مفتوحة أو مغلقة (ESC/POS
DLE EOT 1، منفذ DK الدبوس 3). لا يعمل ذلك إلا مع طابعة إيصالات عبر الشبكة. اضغط قياس: الدرج مغلق وقياس: الدرج مفتوح؛ إذا ظهر فرق، تعتمد الحالة الصحيحة (مرتفع = مفتوح أو منخفض = مفتوح). لا فرق = هذا الدرج (أو الكابل) ليس فيه مستشعر. لا رد من الطابعة = غير معروف، وليس أبدًا "مغلق".- عدم الدفع ما دام الدرج مفتوحًا: عندها يرفض خادم الكاشيرة أي عملية دفع جديدة برسالة "درج النقود لا يزال مفتوحًا".
- درج خاص لكل موظف: يمكن لطابعة إيصالات أن تفتح درجين (الدرج 1 والدرج 2). اختر لكل موظف درجه؛ عندها تفتح الكاشيرة عند الدفع نقدًا وإدخال/إخراج النقود من الدرج وفتح الدرج درجَ الموظف المسجَّل دخوله. وفي التقارير ← الصندوق يظهر حينها درج لكل موظف: رصيد البداية لكل موظف، والنقد (بدون آلة النقد)، والمتوقع، وعدّ والفرق لكل شخص (في السجل باسم
ladetelling). يبقى إغلاق اليوم العادي كما هو. - اختبار الدرج 1 واختبار الدرج 2 يفتحان الدرج للتحقق.
- فتح الدرج بدون بيع يُسجَّل دائمًا (مع السبب) في السجل وفي ملف التدقيق للكاشيرة (XAA)، كما تطلب مصلحة الضرائب (Belastingdienst) (الاستثناءات مثل "no sale").
الجزء 3 · المسؤول
البدء
التثبيت. تثبّت HorecaPOS باستخدام برنامج التثبيت الخاص بنظامك، المتوفر في صفحة التنزيل لدى OptimumPOS: Android (تطبيق)، وWindows (برنامج تثبيت)، وmacOS (برنامج تثبيت لأجهزة Mac بمعالجات Apple Silicon وIntel)، وLinux (برنامج تثبيت رسومي، أو الحزمة .deb أو .rpm)، وRaspberry Pi (برنامج تثبيت رسومي أو .deb لجهاز Raspberry Pi 3 أو 4 أو 5 مع Raspberry Pi OS بنظام 64-bit)، وChromebook (تطبيق Android من Google Play). اختر لجميع المستخدمين لخادم كاشير تتصل به الأجهزة اللوحية وشاشة المطبخ، أو لي فقط لكاشير واحد فقط على ذلك الجهاز. يثبّت البرنامج كل ما يلزم، بما في ذلك قاعدة البيانات، ويأخذ نسخة احتياطية كل ليلة. للتحديث، ثبّت الإصدار الجديد: تبقى بياناتك كما هي. يبدأ برنامج التثبيت بلغة حاسوبك (وإلا بالإنجليزية)؛ وفي Windows وLinux يمكنك اختيار لغة أخرى في الشاشة الأولى. ثم يبدأ الصندوق فورًا بتلك اللغة. أما الحزمتان .deb و.rpm وتطبيق Android فتتبع لغة النظام، وإلا فالهولندية.
يُعدّ المسؤول الصندوق عبر الإعدادات. وهناك تبويبات مثل المحل والموظفون والصلاحيات وأوقات العمل والمنتجات وساعة السعادة والمخزون ومخططات الصالة والدفع والطابعات والمحاسبة والنسخ الاحتياطية واستيراد/تصدير وقاعدة البيانات. أما التبويبات التي يراها المدير أيضًا فتتوقف على الصلاحيات.
قاعدة البيانات. في الإعدادات → قاعدة البيانات (للمسؤول فقط) تختار بين MySQL / MariaDB وقاعدة البيانات المدمجة و PostgreSQL؛ وعند التحويل تُنقل جميع البيانات (انظر قاعدة البيانات). إذا كانت Optimum POS قد ضبطت عنوانًا ثابتًا أثناء التثبيت فذلك العنوان هو المعتمد ولا توجد حقول إدخال. وإلا تملأ بنفسك الخادم والمنفذ وقاعدة البيانات والمستخدم وكلمة المرور. يحفظها الصندوق بنفسه، ثم يعرضها معبأة من جديد، ويمكنك دائمًا تغييرها عبر تعديل بيانات MySQL/MariaDB أو تعديل بيانات PostgreSQL. ترك كلمة المرور فارغة يعني: الاحتفاظ بكلمة المرور المحفوظة (للمستخدم نفسه). لا يغيّر المثبّت ولا التحديث شيئًا في DATABASE_URL أو في قاعدة البيانات المختارة.
المحاسبة
كل ما يخص المحاسبة موجود في الإعدادات → المحاسبة. املأ مع محاسبك اليومية وحسابات دفتر الأستاذ. إذا أردت أن يسجّل الصندوق المبيعات اليومية بنفسه كل يوم، فاختر برنامجك في الأعلى عند برنامج المحاسبة، بما في ذلك Exact Online: لا ترى إلا البرامج التي تعمل في بلد محلك. تحته مباشرةً تملأ بيانات ذلك البرنامج وتربطه. في البرامج التي تتطلب تسجيل الدخول (مثل Exact Online أو Twinfield أو Xero) تملأ أولًا التطبيق: معرّف العميل وسر العميل. إذا ضبطت Optimum POS البرنامج أو أحد البيانات بشكل ثابت عند التثبيت، فلن ترى ذلك الاختيار أو ذلك الحقل. هناك أيضًا نظرة عامة على كل البرامج: أيها يمكن ربطه مباشرةً وأيها يحصل على ملف. تنشئ الملف في التقارير → المبيعات حسب الفترة → تصدير المحاسبة: اختر صيغة برنامجك، أو UBL (Peppol) أو XAF أو كشفًا يوميًا. اطلب دائمًا من محاسبك مراجعة القيد الأول أو الاستيراد الأول.
للمحل الهولندي يوجد هناك أيضًا ملف تدقيق الكاشير (XAA): XML Auditfile Afrekensystemen من مصلحة الضرائب الهولندية (Belastingdienst) مع جميع إيصالات الكاشير وبنوده ومدفوعاته وأحداثه عن الفترة المختارة. تقدّمه إلى محاسبك أو إلى Belastingdienst عند التدقيق.
الرواتب والتخطيط
إذا كان موظفوك يستخدمون تسجيل الحضور والانصراف، تجد في الإعدادات → أوقات العمل في الأسفل الرواتب والتخطيط، في قسمين. في الرواتب تختار برنامج الرواتب أو (في بلجيكا) الأمانة الاجتماعية، وتُدخل لكل موظف رقمه الوظيفي في ذلك البرنامج. بعد ذلك تُنشئ لفترة معيّنة الملف الذي يحتوي على ساعات العمل والمبيعات لكل موظف، وتستورده في برنامج الرواتب. في تخطيط الموظفين تختار نظام التخطيط: مع Deputy وDyflexis وShiftbase تذهب المبيعات تلقائيًا كل ساعة، ومع الأنظمة الأخرى تُنشئ ملف مبيعات. هكذا ترى في التخطيط تكاليف الأجور بجانب المبيعات. إذا كنت تعمل دون تسجيل الحضور والانصراف، يمكنك مع ذلك إرسال المبيعات إلى التخطيط: تجد ذلك حينئذ في أسفل الإعدادات → المحاسبة، عند المبيعات إلى التخطيط. إذا ضبطت Optimum POS شيئًا بشكل ثابت عند التثبيت، فلن ترى ذلك الخيار أو ذلك الحقل.
النسخ الاحتياطية
يُنشئ الصندوق نسخة احتياطية تلقائيًا كل ليلة، ودائمًا قبل أي تحديث. في الإعدادات ← النسخ الاحتياطية ترى كل النسخ الاحتياطية (متى، ومن أنشأها أو تلقائيًا، والحجم) وتُنشئ واحدة بنفسك بـ إنشاء نسخة احتياطية. وإذا كانت آخر نسخة احتياطية أقدم من يومين، يظهر تحذير أحمر: تواصل حينها مع Optimum POS.
الاستعادة ممكنة بزر استعادة بجانب نسخة احتياطية. يضيع حينها كل ما حدث بعد تلك النسخة. يجب أن تؤكد ذلك بعلامة اختيار وتُدخل رمزك السري مرة أخرى. يُنشئ الصندوق أولًا نسخة أمان من الحالة الراهنة ثم يسجّل خروج الجميع. في بلجيكا لا يمكن ذلك من الصندوق (عدّادات الصندوق الأسود تستمر)؛ هناك تقوم Optimum POS بذلك.
قاعدة البيانات
في الإعدادات → قاعدة البيانات (للمسؤول فقط) ترى أين يحفظ الصندوق بياناته. في الأعلى تظهر قاعدة البيانات الحالية مع البرنامج والإصدار والجداول والصفوف والعنوان أو المجلد. بالنسبة للموظفين والأجهزة اللوحية يعمل الصندوق بالطريقة نفسها مع كل قاعدة بيانات. على Windows وmacOS وLinux وRaspberry Pi تختار من بين ثلاث قواعد بيانات:
- MySQL / MariaDB: برنامج قاعدة بيانات منفصل (MySQL 8.0 أو أحدث، MariaDB 10.6 أو أحدث)، مثلًا على خادم أو جهاز NAS لديك أصلًا. عندها تكون كل البيانات في جداول عادية في MySQL أو MariaDB، يمكن لبرنامج التقارير أو BI الخاص بك قراءتها. يحسب الصندوق تمامًا كما مع PostgreSQL.
- مدمجة (PGlite): موجودة داخل الصندوق نفسه، ولا تحتاج إلى تثبيت أي شيء. أفضل خيار لمعظم المحلات، وهي قاعدة البيانات على Android وChromebook.
- PostgreSQL: برنامج قاعدة بيانات منفصل على حاسوب الصندوق أو في مكان آخر في الشبكة.
متى MySQL أو MariaDB؟ إذا كان لدى محلك خادم MySQL أو MariaDB أصلًا، أو كان مسؤول تقنية المعلومات لديك يعمل به، أو أردت قراءة البيانات في تقاريرك أو Excel أو برنامج BI. إذا كنت مترددًا فاختر المدمجة: تعمل فورًا.
ماذا تحتاج لـ MySQL أو MariaDB؟
- MySQL 8.0 أو أحدث، أو MariaDB 10.6 أو أحدث، يمكن الوصول إليه من خادم الصندوق.
- قاعدة بيانات خاصة بالصندوق (أو بصناديق سلسلة فروع)، بمجموعة الأحرف utf8mb4.
- مستخدم لقاعدة البيانات مسموح له بإنشاء الجداول وتعديلها وإعادة تسميتها وحذفها في تلك القاعدة (CREATE وALTER وDROP وINDEX وSELECT وINSERT وUPDATE وDELETE)، مثلًا هكذا:
CREATE DATABASE horecapos CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
CREATE USER 'horecapos'@'localhost' IDENTIFIED BY 'wachtwoord';
GRANT ALL PRIVILEGES ON horecapos.* TO 'horecapos'@'localhost';
إذا كان MySQL أو MariaDB يعمل على حاسوب آخر، فضع في السطرين الأخيرين عنوان IP لخادم الصندوق بدلًا من localhost.
التحويل إلى MySQL / MariaDB:
- في عنوان MySQL/MariaDB املأ الحقول: الخادم (افتراضيًا localhost)، المنفذ (افتراضيًا 3306)، قاعدة البيانات (افتراضيًا horecapos)، المستخدم وكلمة المرور؛ وكذلك لـ MariaDB. إذا كان العنوان مضبوطًا مسبقًا فالحقول معبأة؛ وإذا تركت كلمة المرور فارغة تبقى كلمة المرور المحفوظة (للمستخدم نفسه). يحفظ الصندوق العنوان بنفسه؛ وإذا كانت Optimum POS قد ضبطت عنوانًا ثابتًا مسبقًا فذلك العنوان هو المعتمد ولا توجد حقول. إذا كان الصندوق يعمل بالفعل على MySQL/MariaDB، فعدّل البيانات لاحقًا عبر تعديل بيانات MySQL/MariaDB. تضبط لك Optimum POS الاتصال المشفّر.
- اضغط اختبار الاتصال: ترى البرنامج والإصدار، أو سبب عدم النجاح.
- اضغط التحويل إلى MySQL/MariaDB، وضع علامة تأكيد أنك فهمت، ثم أدخل رمزك السري (PIN).
التحويل يعمل في كل الاتجاهات بين قواعد البيانات الثلاث، وكل البيانات تنتقل معه:
- لا يستقبل الصندوق أي طلبات لوقت قصير (عادةً أقل من دقيقة)؛ ثم تتابع الأجهزة اللوحية من تلقاء نفسها.
- أولًا يُنشئ الصندوق نسخة احتياطية من الحالة الراهنة (في الإعدادات → النسخ الاحتياطية).
- ينتقل كل شيء إلى قاعدة البيانات الجديدة، ويعدّ الصندوق في كل جدول هل كل شيء موجود بدقة.
- فقط عندما يتطابق كل شيء يتابع الصندوق العمل على قاعدة البيانات الجديدة. يبقى الموظفون المسجّلون مسجّلين.
إذا فشل شيء، لا يتغير شيء ويواصل الصندوق العمل على قاعدة البيانات القديمة. تبقى القاعدة القديمة كما هي، فيمكنك الرجوع دائمًا. بيانات الصندوق التي كانت موجودة أصلًا في قاعدة MySQL/MariaDB أو PostgreSQL الجديدة تُستبدل. وهذا ممكن في بلجيكا أيضًا: تنتقل عدّادات الصندوق الأسود بدقة.
النسخ الاحتياطي والاستعادة يعملان بالطريقة نفسها مع قواعد البيانات الثلاث (الإعدادات → النسخ الاحتياطية). يمكن استعادة نسخة احتياطية من قاعدة بيانات في أي قاعدة أخرى، حتى نسخة من PostgreSQL في MySQL أو MariaDB.
ماذا يوجد في MySQL أو MariaDB؟ كل جدول من جداول الصندوق، بالاسم والأعمدة نفسها (الأوقات بتوقيت UTC). يحصل كل جدول على عمود مفتاح إضافي _hp_sleutel، وفي الجداول المساعدة _horecapos_stand و_horecapos_kolom و_horecapos_reeks و_horecapos_wijziging (سجل التغييرات، يُحفظ 14 يومًا) يحفظ الصندوق الحالة وأنواع الأعمدة والعدّادات والتغييرات. البرامج الأخرى تقرأ البيانات؛ الصناديق وحدها تكتب.
كيف يعمل: يحسب الصندوق في نسخة عمل سريعة على خادم الصندوق، ويكتب كل تغيير في MySQL/MariaDB في الخطوة نفسها. إذا فشل ذلك لا يُنفَّذ التغيير ويعرض الصندوق خطأً؛ لذا أبقِ MySQL/MariaDB متاحًا. عند التشغيل يقرأ الصندوق كل شيء من MySQL/MariaDB.
عدة صناديق على قاعدة بيانات واحدة. كما في PostgreSQL، يمكن لعدة صناديق استخدام قاعدة بيانات MySQL/MariaDB نفسها، مثلًا كل فرع من سلسلة بخادم صندوق خاص به. تتم التغييرات واحدًا بعد الآخر، ويأخذ كل صندوق أولًا ما فعلته الصناديق الأخرى، فلا يضيع شيء عند التغيير في الوقت نفسه. إذا استعاد صندوق نسخة احتياطية أو حدّث صندوق بإصدار أحدث قاعدة البيانات، تعيد الصناديق الأخرى قراءة كل شيء تلقائيًا؛ لذا حدّث جميع الصناديق في الوقت نفسه. الصندوق الذي كان مطفأً أكثر من 14 يومًا يعيد قراءة كل شيء عند التشغيل.
عند التثبيت تختار قاعدة البيانات أيضًا: MySQL / MariaDB أو مدمجة (موصى بها) أو PostgreSQL مع العنوان. إذا تعذّر الوصول إليها يُثبَّت الصندوق مع قاعدة البيانات المدمجة؛ ويمكنك التحويل هنا لاحقًا. عند التحديث يبقى الاختيار كما هو.
ربط الأجهزة اللوحية والشاشات
- افتح على كل جهاز لوحي/صندوق عنوان خادم الصندوق، مثلًا
http://192.168.1.20:3000، وضعه كاختصار على الشاشة الرئيسية (Chrome: إضافة إلى الشاشة الرئيسية). - شاشة المطبخ:
http://192.168.1.20:3000/keuken. - شاشة الزبون (موجّهة نحو الزبون، اختيارية):
http://192.168.1.20:3000/klantscherm، انظر شاشة الزبون. - تجد الشاشات خادم الصندوق تلقائيًا (العنوان نفسه، المنفذ 4000).
شاشة الزبون
شاشة على الصندوق موجّهة نحو الزبون. يرى الزبون تقريبًا ما طُلب، وبوضوح تام المبلغ وطريقة الدفع. لا يمكن التحكم بها: تتبع الشاشة فقط ما يفعله الصندوق. مُوقفة افتراضيًا؛ والتفعيل عبر الإعدادات ← المحل ← شاشة الزبون. على حاسوب صندوق بشاشتين يفعّلها الصندوق تلقائيًا في المرة الأولى؛ وإذا أوقفتها بعد ذلك تبقى مُوقفة. ودون شاشة زبون (مُوقفة، أو غير موجودة) يعمل كل شيء تمامًا كالمعتاد: يرسل الصندوق الصورة في الخلفية، ولا يلاحظ موظف الخدمة أبدًا أي خطأ أو شاشة مفقودة.
ما يراه الزبون:
- هدوء (لا أحد يدفع): اسم المحل ونص ترحيب خاص (الإعدادات ← المحل؛ فارغ = "مرحبًا").
- إرسال الطلب: المنتجات مع الكمية والمبلغ (السطور المتماثلة معًا، والقائمة المجمّعة كسطر واحد مع مكوّناتها بخط صغير تحته، والخصم كسطر واحد)، والإجمالي بخط كبير. وما دُفع مسبقًا عند الدفع المقسّم يظهر تحته. ومع الإعدادات ← المحل ← صور المنتجات ← على شاشة الزبون تظهر صورة صغيرة بجانب كل منتج.
- الدفع: طريقة الدفع (الدفع بالبطاقة، نقدًا، قسيمة هدية)، والبقشيش، والمبلغ المستحق بخط كبير. نقدًا: ما يعطيه الزبون وما يسترده، بمجرد إدخال ذلك في الصندوق. بطاقة بنكية: "اتبع التعليمات على جهاز الدفع".
- شكرًا: بعد الدفع تظهر لبضع ثوانٍ عبارة "شكرًا!" مع المبلغ المدفوع (نقدًا: ما يسترده الزبون)، ثم تعود شاشة الهدوء.
التوصيل بطريقتين (كلتاهما تُضبط على الجهاز نفسه):
- شاشة ثانية على حاسوب الكاشير (Windows، Linux/Raspberry Pi، macOS): تلقائيًا. عند تسجيل الدخول وبعد التثبيت يعرض الكاشير شاشة العميل بملء الشاشة على أصغر شاشة ليست الشاشة الرئيسية (وعند تساوي الحجم على الشاشة الأبعد يمينًا)؛ وعلى Windows دائمًا على شاشة غير شاشة الكاشير (الكاشير يعمل على الشاشة اللمسية ويفتح أيضًا تلقائيًا عند بدء التشغيل). الحجم والموضع يأتيان من النظام، لذا يعمل أي مقاس. بدون شاشة ثانية لا يحدث شيء. على Windows تعود شاشة العميل المغلقة تلقائيًا؛ وعلى Linux وmacOS يعيد الاختصار HorecaPOS klantscherm في القائمة ضبطها. على Windows تُفتح في وضع الكشك في Chrome (أو Edge): بملء الشاشة، دون شريط عنوان ودون شريط مهام (الإغلاق بـ Alt+F4). تتبع شاشة العميل الكاشير على الحاسوب نفسه دون رمز ربط.
- في كل متصفح، لا يُظهر الضغط المطوّل قائمة المتصفح في أي مكان، ولا يظهر أي طلب لترجمة الصفحة.
- إغلاق الكاشير = إغلاق شاشة العميل. إذا توقف برنامج الكاشير (إعادة التشغيل، أو تحديث، أو إيقاف الكاشير أو إزالته)، تُغلق شاشة العميل أيضًا بعد أكثر من 10 ثوانٍ بقليل؛ وعندما يعمل الكاشير مجددًا تعود تلقائيًا. على Windows تُغلق أيضًا إذا أغلقت نافذة الكاشير فقط. تحت Wayland (Linux) لا يستطيع الكاشير إغلاق النافذة بنفسه.
- أُغلقت شاشة العميل عن طريق الخطأ؟ على Windows تعود تلقائيًا بعد بضع ثوانٍ، طالما أن الكاشير مفتوح والشاشة الثانية متصلة.
- شاشة عميل واحدة فقط دائمًا. على Windows تظهر شاشة العميل فقط في وضع الكشك على الشاشة الثانية. أي شاشة عميل داخل نافذة الكاشير (مثلًا أعادها Edge بعد انقطاع الكهرباء، أو فُتحت بالزر في الكاشير) تُغلق تلقائيًا خلال بضع ثوانٍ؛ وتحل شاشة العميل الصحيحة محلها.
- لا أحد مسجّل الدخول = الترحيب فقط. إذا كان الكاشير على شاشة رمز PIN (وكذلك بعد إعادة التشغيل أو تسجيل الخروج)، تعرض شاشة العميل نص الترحيب فقط، ولا تعرض أبدًا الفاتورة السابقة.
- في Windows يمكن أيضًا إيقاف الفتح التلقائي بمربع الاختيار فتح شاشة العميل تلقائيًا ... في برنامج التثبيت.
- في Linux ينقل الكاشير النافذة باستخدام wmctrl (يأتي مع الحزمة). تحت Wayland (مثل Raspberry Pi OS مع labwc) لا يمكن ذلك: انقل شاشة العميل بنفسك مرة واحدة إلى الشاشة الثانية (يتذكرها المتصفح)، أو اختر X11 في raspi-config. في macOS يطلب جهاز Mac الإذن في المرة الأولى ضمن تسهيلات الاستخدام.
- يدويًا: الإعدادات → المنشأة → شاشة العميل → فتح شاشة العميل (الشاشة الثانية). في Chrome وEdge (وأيضًا على Chromebook) ينقل الزر النافذة فورًا إلى شاشة العميل (في المرة الأولى يطلب المتصفح الإذن)؛ ونقرة واحدة على شاشة العميل تجعلها بملء الشاشة. في المتصفحات الأخرى: اسحب النافذة واضغط F11.
- كاشير Android بشاشة عميل مدمجة (مثل Sunmi D2/T2) أو شاشة عبر HDMI/USB-C: أيضًا تلقائيًا. بمجرد تثبيت التطبيق على الكاشير تظهر شاشة العميل على الشاشة الثانية؛ والتوصيل والفصل يعملان فورًا.
- Sunmi T1 mini / T2 mini مع شاشة النص الصغيرة (2 أسطر): يعرض التطبيق المبلغ عليها تلقائيًا: المجموع، المطلوب دفعه، وعند الدفع نقدًا الباقي، وبعد الدفع شكرًا!، وفي وضع الخمول اسم المنشأة. يجب أن تكون شاشة العميل مفعّلة.
- iPad (شاشة التشغيل) مع شاشة خارجية عبر HDMI/USB-C أو AirPlay: يعرض التطبيق شاشة العميل تلقائيًا على تلك الشاشة (قيد التحضير؛ تطبيق iOS لم يصدر بعد).
- Chromebook: كشاشة تشغيل في Chrome يعمل الزر فتح شاشة العميل (الشاشة الثانية) كما هو موضح أعلاه. في تطبيق Android تظهر شاشة العميل تلقائيًا على الشاشة الثانية بمجرد أن يتيح ChromeOS تلك الشاشة لتطبيقات Android؛ وإن لم يفعل، فاستخدم جهازًا منفصلًا برمز ربط.
- جهاز مستقل (جهاز لوحي أو حاسوب خاص بجانب الصندوق): افتح
http://<kassaserver>:3000/klantscherm. تعرض الشاشة في أسفل اليمين رمز الربط من 6 أحرف. أدخله في الصندوق في الإعدادات ← المحل ← شاشة الزبون ← ربط. وفك الربط يعيد الشاشة إلى رمز الربط. يُحفظ الربط لكل صندوق (في متصفح ذلك الصندوق)، لذا يمكن أن تكون لكل صندوق شاشة زبون خاصة به.
لا تطلب شاشة الزبون رمزًا سريًا (لا يوجد ما يُتحكَّم فيه) وتعرض فقط صورة الصندوق المرتبطة به. الصورة موجودة فقط في ذاكرة خادم الصندوق؛ وبعد إعادة التشغيل تبقى الشاشة فارغة حتى التغيير التالي. يُحفظ الإعداد (تشغيل/إيقاف ونص الترحيب) مع النسخة الاحتياطية ومع الاستيراد/التصدير (إعدادات أخرى).
الإيصال الرقمي عبر QR (اختياري)
مُوقف افتراضيًا. يُفعَّل عبر الإعدادات ← المحل ← المطبخ وشاشة الزبون ← الإيصال الرقمي (يظهر هذا الخيار عندما تكون شاشة الزبون مفعّلة ومحفوظة). بعد الدفع يظهر رمز QR عند شكرًا؛ ويبقى حينها 45 ثانية بدلًا من بضع ثوانٍ. يمسحه الضيف بهاتفه ويرى الإيصال تمامًا مثل الإيصال الورقي (النص نفسه، وفي الصندوق البلجيكي مع كتلة FDM أيضًا). على الهاتف يمكنه طباعة الإيصال أو حفظه بصيغة pdf أو تنزيله كملف نصي.
- يتم ذلك عبر بوابة الإدارة:
https://kassa.<portaal>/__bon/<kassa>/<sleutel>. لذا يجب أن يكون الصندوق متصلًا بالبوابة؛ وإلا فلن يظهر رمز QR ولن يتغير شيء. - المفتاح عشوائي ولا يمكن تخمينه، ويعمل لمدة 30 يومًا. بعد ذلك يحذفه الصندوق تلقائيًا. لا تحفظ البوابة أي شيء.
- يعمل مع شاشة ثانية ومع شاشة زبون منفصلة. يظل الإيصال الورقي والإيصال بالبريد الإلكتروني يعملان كالمعتاد.
شاشة الزبون في وضع الانتظار: عرض شرائح (اختياري)
مُوقف افتراضيًا. يُفعَّل عبر الإعدادات ← المحل ← المطبخ وشاشة الزبون ← شاشة الزبون في وضع الانتظار. عندما لا يكون هناك حساب على شاشة الزبون، تتناوب الشرائح (افتراضيًا كل 8 ثانية، قابلة للضبط من 4 إلى 60):
- الحملات: ساعات السعادة (إذا كانت ساعة السعادة مفعّلة)، مع الخصم والأيام والأوقات والمنتجات أو المجموعات؛ الجارية الآن تظهر أولًا مع "الآن!".
- منتجات مميزة (بحد أقصى 12، مثلًا جديد في القائمة)، مع السعر و(إذا كانت صور المنتجات على شاشة الزبون مفعّلة) الصورة. المنتج الذي نفدت كميته تتخطاه الشاشة.
- بطاقة الولاء: النقاط لكل يورو، والمكافأة وبطاقات الأختام (فقط إذا كانت بطاقة الزبون مفعّلة).
- نصوص خاصة: بحد أقصى 5، لكل منها شريحة خاصة (مثلًا "جديد ابتداءً من الجمعة: قائمتنا الصيفية").
بدون شرائح تعرض شاشة الزبون شاشة الترحيب كالمعتاد.
ساعة التخفيضات (happy hour)
مُوقف افتراضيًا. التفعيل عبر الإعدادات ← المحل ← استخدام ساعة السعادة؛ وبعدها يظهر تبويب الإعدادات ← ساعة السعادة.
- لكل ساعة سعادة: الاسم (يظهر على الإيصال)، والأيام، ومن–إلى (يمكن أن تتجاوز منتصف الليل، مثلًا 23:00–01:00)، والخصم بالنسبة المئوية أو سعر ثابت، ولأي مجموعات منتجات و/أو منتجات منفردة.
- ضمن تلك الفترة يحتسب الصندوق تلقائيًا سعر ساعة السعادة عند الإضافة (لا يكون أبدًا أغلى من العادي؛ ومع السعر الثابت تُضاف خيارات الاختيار كالمعتاد). على زر المنتج يظهر السعر القديم مشطوبًا مع السعر الجديد وHH؛ وفي الطلب وعلى الإيصال يظهر اسم ساعة السعادة. وما أُضيف مسبقًا يحتفظ بسعره.
- عرض اليوم: فعّل طوال اليوم (00:00–24:00) واختر اليوم (الأيام)، مثلًا كل ثلاثاء spareribs بسعر ثابت.
- الموسم: فعّل في موسم فقط (كل سنة) واختر من وإلى غاية (اليوم والشهر، مثلًا 1 يونيو إلى 31 غشت؛ ويمكن تجاوز رأس السنة، مثلًا 1 دجنبر إلى 28 فبراير). خارج الموسم لا تسري ساعة السعادة.
- تُسجَّل التغييرات في السجل.
فترات اليوم والمواسم
مُوقف افتراضيًا. التفعيل عبر الإعدادات ← المحل ← فترات اليوم ونوع الطلب ← التشكيلة حسب فترة اليوم والموسم؛ وبعدها يظهر تبويب الإعدادات ← فترات اليوم. إذا أوقفته، تُباع كل المنتجات دائمًا من جديد وتبقى الفترات محفوظة.
- لكل فترة: الاسم (مثلًا الفطور، الغداء، العشاء، قائمة الصيف)، الأيام، من–إلى (يمكن تجاوز منتصف الليل؛ طوال اليوم = 00:00–24:00)، وموسم عند الحاجة (كل سنة، اليوم والشهر)، ومجموعات المنتجات و/أو المنتجات المفردة التابعة لها.
- المنتجات ومجموعات المنتجات الموجودة في فترة أو أكثر لا تُباع إلا أثناء إحدى تلك الفترات؛ وما لا يوجد في أي فترة يُباع دائمًا. تعرض شاشة الطلب ما يُباع الآن فقط وتتغيّر تلقائيًا عند بداية فترة أو نهايتها؛ ويرفض الخادم الباقي ("غير متوفر للبيع الآن، فقط في الفطور").
- يعرض المتجر الإلكتروني التشكيلة نفسها ويحتسبها (في لحظة الطلب).
- السعر المختلف في يوم أو في موسم هو ساعة سعادة (عرض اليوم، انظر أعلاه).
- قائمة لكل موقع: لكل صندوق (فرع) منتجاته وفتراته وأسعاره الخاصة.
- تُسجَّل التغييرات في السجل.
التشكيلة والأسعار حسب نوع الطلب
مُوقف افتراضيًا. التفعيل عبر الإعدادات ← المحل ← فترات اليوم ونوع الطلب ← التشكيلة والأسعار حسب نوع الطلب. إذا أوقفته، يسري السعر العادي في كل مكان من جديد ويُباع كل شيء في كل مكان؛ وتبقى الأسعار المُدخلة محفوظة.
- في الإعدادات ← المنتجات لكل منتج: السعر للأخذ والسعر للتوصيل (فارغ = السعر العادي) ويُباع في (في المحل، للأخذ، التوصيل؛ واحد على الأقل). ولمجموعة المنتجات أيضًا يُباع في، لكل المنتجات في تلك المجموعة.
- تعرض شاشة الطلب في طلب الأخذ أو التوصيل سعر نوع الطلب ذاك وما يُباع فيه فقط؛ ويحتسب الخادم ذلك السعر ويرفض الباقي. ساعة السعادة والوجبات المجمّعة والخيارات تُحتسب بذلك السعر.
- نسبة ضريبة القيمة المضافة للأخذ (في المنتج) مستقلة عن ذلك، كما هو الحال دائمًا.
- يعرض المتجر الإلكتروني عند الأخذ والتوصيل أسعار ومنتجات ذلك الاختيار (عند التغيير تُعاد تحميل صفحة القائمة)، وعلى الطاولة أسعار ومنتجات الأكل في المحل.
- تصدير الإعدادات واستيرادها (الإعدادات ← استيراد/تصدير) يشملان الأسعار حسب نوع الطلب و"يُباع في" وفترات اليوم وموسم ساعات السعادة.
القوائم
مُوقف افتراضيًا. التفعيل عبر الإعدادات ← المحل ← استخدام القوائم المجمّعة.
- القائمة المجمّعة منتج عادي (بسعر القائمة) تضبط له مكوّنات في الإعدادات ← المنتجات ← (المنتج) ← قائمة وجبة:
- ثابت: هذا المنتج دائمًا (مثلًا "مشروب: نبيذ البيت")؛
- حسب الاختيار: اختر 1 (أو أكثر) من مجموعة منتجات، وقد يقتصر ذلك على منتجات معيّنة (مثلًا "الطبق الرئيسي: اختر 1 من الأطباق الرئيسية").
- لكل مكوّن الطبق (1 = فورًا، 2/3 = ينتظر الاستدعاء).
- عند إضافة القائمة المجمّعة تختار الأطباق لكل مكوّن. ولكل طبق (بما فيها الثابتة) يمكنك اختيار خيارات الاختيار كما في المنتج المنفرد (طريقة الطهي، جبن إضافي؛ ويجب اختيار الخيارات الإلزامية) وإضافة ملاحظة. السعر الإضافي للخيارات يُضاف إلى سعر القائمة. تظهر القائمة كسطر واحد مع الأطباق (وخياراتها) تحته.
- تذهب الأطباق كسطور منفصلة إلى المطبخ/البار (بون المطبخ وشاشة المطبخ)، كل منها في طبقه. أما سطر القائمة نفسه فلا.
- يُوزَّع سعر القائمة لأغراض الضريبة على المكوّنات بنسبة أسعارها العادية، كي يحصل الطعام والشراب كلٌّ على النسبة الصحيحة. وعلى الإيصال تظهر القائمة بالسعر الإجمالي والأطباق تحتها.
- إذا كانت للقائمة نفسها خيارات اختيار (مثل الحجم)، فاخترها في أعلى نافذة القائمة. تظهر بجانب سطر القائمة على الإيصال، وبجانب كل طبق من القائمة على بون المطبخ وشاشة المطبخ كـ "(قائمة)".
- الإزالة/الإلغاء تتم للقائمة كاملة (اضغط على سطر القائمة).
- تقسيم / نقل: اختر سطر القائمة؛ فتنتقل الأطباق معه. ومع 2× القائمة نفسها يمكنك أيضًا نقل 1 منها (يُقسَّم العنوان والأطباق).
- بدون اتصال يمكنك إضافة القوائم المجمّعة كالمعتاد؛ تُحفظ على الجهاز اللوحي وتُرسل بمجرد عودة الاتصال (كالمنتجات المنفردة).
- يمكن أن تسري ساعة السعادة على قائمة مجمّعة أيضًا.
الوصفات والتكلفة (Apicbase)
ربط مع Apicbase (الوصفات والتكلفة والمخزون والمشتريات) عبر Generic POS API الخاص بـ Apicbase (غير مفعّل افتراضيًا، ويُفعَّل كل جزء أو يُوقف على حدة). الإعداد في الإعدادات → الوصفات (صلاحية إعداد المحل والدفع والطابعات). يتواصل الصندوق بنفسه مع Apicbase (حركة صادرة فقط، دون الحاجة إلى البوابة).
- الاتصال (يملأ المسؤول كل شيء)، بإحدى ثلاث طرق:
- لصق token: في Apicbase Library Settings → API Settings → New token → Service Account Token (scopes accounts وlibrary وsales)؛ ثم لصق access token وrefresh token؛
- تسجيل الدخول عبر API-app الخاص بالمحل (client-id والسر من API Settings): تسجيل الدخول إلى Apicbase، ثم لصق الرمز الذي يعرضه Apicbase بعد ذلك؛
- يجدّد الصندوق تلقائيًا الـ token المنتهي (بعد 7 يومًا) باستخدام refresh token.
- Outlet: جلب الـ outlets واختيار outlet هذا المحل. يضبط الصندوق هناك الـ POS على Generic POS API مع location-id خاص به (يمكن إدخاله؛ افتراضيًا
HORECAPOS-…، فريد لكل صندوق). - مفعّل، مع خانات اختيار:
- المنتجات والمجموعات وخيارات الاختيار إلى Apicbase: مجموعات المنتجات، والمنتجات (PLU = رقم PLU للمنتج، وإلا الرمز، وإلا المعرّف id)، وخيارات الاختيار كـ modifiers، مع السعر والضريبة. تلقائيًا بعد كل تغيير (بعد دقيقة) وكل يوم. بعد ذلك تربط في Apicbase كل منتج في الصندوق بوصفة؛
- كل إيصال مدفوع إلى Apicbase: الأقدم أولًا، بحد أقصى 100 في كل مرة، خلال ربع ساعة من الدفع (وكل 5 دقيقة). يُوزَّع الخصم على السطور؛ والمبالغ المفتوحة ورسوم التغليف أحادي الاستخدام والعربون تظهر كمنتجات مستقلة في Apicbase؛ والمنتجات الموزونة كـ 1 قطعة بالمبلغ الإجمالي. إذا فشل الإرسال يتوقف الصندوق (يريد Apicbase الإيصالات بالترتيب) ويعيد المحاولة لاحقًا: لا يتأثر الدفع بذلك. عند التفعيل تختار من أي يوم (افتراضيًا من الآن)؛
- استعادة تكلفة الحصة (كل 6 ساعات): لكل وصفة مرتبطة food cost (المكونات والهدر)، مع تكاليف الموظفين، وسعر البيع والهامش حسب Apicbase. تُحسب حسب أرخص مورّد أو آخر سعر طلب أو متوسط قيمة المخزون؛
- اعتماد سعر البيع من Apicbase (مُوقف افتراضيًا): يضع سعر بيع المنتجات المرتبطة في الصندوق (يُسجَّل في السجل).
- في الأسفل: التكلفة لكل منتج مع التكلفة، والتكلفة مع الموظفين، والسعر في الصندوق، والتكلفة % والهامش. الأزرار إرسال الكتالوج الآن وإرسال الإيصالات الآن وجلب التكاليف الآن.
الكود: apps/pos-server/src/lib/apicbase.ts، routes/apicbase.ts؛ الشاشة Apicbase.tsx. السجل: Apicbase. الشرط: وحدة API في Apicbase. لتطبيق Pin Voordeel لجميع العملاء: شراكة واعتماد لدى Apicbase (انظر الـ backlog). التوثيق: https://developers.apicbase.com/docs/generic-pos-api-guide
برنامج الفندق: التسجيل على الغرفة
لمطعم أو بار في فندق: تسجيل الحساب على غرفة ضيف. افتراضيًا معطّل: الإعدادات → الفندق (صلاحية إعداد المحل والدفع والطابعات).
- قائمة واحدة بكل برامج الفنادق (برنامج الفندق الذي يستخدمه الفندق). الروابط المدمجة:
- Mews (Connector API: رمز العميل client token ورمز الوصول access token، وخدمة المطعم، ولكل نسبة ضريبة رمز الضريبة في Mews)، apaleo (تطبيق خاص بمعرّف العميل client-id وسرّ العميل client secret، ومعرّف العقار property-id؛ ولكل نسبة ضريبة نوع الضريبة عند الحاجة) وCloudbeds (مفتاح API ومعرّف العقار property-id)، ولكل منها بيئة تجريبية وبيئة حقيقية؛
- Oracle OPERA Cloud (OHIP)، protel (protel I/O)، RoomRaccoon، Booking Experts، Amadeus (XMLPOS)، VIPS، Stayntouch، Clock PMS+، Guestline (Rezlynx)، Hotelogix، eviivo، Little Hotelier، Shiji وInfor HMS (Databridge). بعد الاختيار تظهر بالضبط الحقول الخاصة ببرنامج الفندق هذا (المفاتيح، معرّف الفندق، وعند الحاجة عنوان واجهة API الخاصة بهم ولكل نسبة ضريبة رمزهم)، مع شرح قصير لما تطلبه من المورّد. بُنيت هذه الروابط وفق توثيق المورّدين؛ اطلب من المورّد تأكيد الربط، وجرّب أولًا بـ اختبار الاتصال وإيصال واحد؛
- عرض تجريبي (أربعة أجنحة، الغرف من 4 إلى 7) للتجربة؛
- Sirvoy، كـربط جزئي وفقط مع Sirvoy Pro. لا يملك Sirvoy واجهة API تتيح للصندوق إضافة شيء إلى حجز، ولا حتى عبر ملف (استيراد CSV ينشئ حجوزات جديدة فقط). بذلك يعرف الصندوق الضيوف (الغرفة، الاسم، الوصول، المغادرة): البحث في على الغرفة والخدمة الذاتية على الكشك وفي المتجر الإلكتروني يعملان بشكل عادي. لا يصل الإيصال إلى Sirvoy تلقائيًا: بعد الدفع يظهر في الإعدادات → الفندق تحت بانتظار الإدخال في Sirvoy، مع الغرفة والضيف ورقم الإيصال والمبلغ لكل نسبة ضريبة. يضيفه الفندق يدويًا كإضافة على الحجز ثم ينقر على تم الإدخال (للتراجع: ليس بعد). المطلوب:
- يُفضَّل صندوق متصل بـبوابة الإدارة: عندها يمر العنوان عبر البوابة (
https://<portaal>/hotel/<kassa-id>/sirvoy?sleutel=...) ولا حاجة لفتح أي منفذ في الفندق. وإلا فيجب أن يكون الصندوق نفسه متاحًا من الإنترنت عبر https (نطاق خاص مع شهادة أو إعادة توجيه المنافذ؛ يتطلب Sirvoy إصدار TLS 1.2 أو أحدث) وتُدخل ذلك العنوان؛ - يظهر العنوان مرة واحدة فقط؛ يحفظ الصندوق قيمة الـhash فقط. إنشاء عنوان جديد = العنوان القديم لا يعود يعمل؛
- يُفضَّل صندوق متصل بـبوابة الإدارة: عندها يمر العنوان عبر البوابة (
لا يرسل Sirvoy شيئًا إلا عند تغيّر حجز: الحجوزات التي سبقت الربط لا يعرفها الصندوق إلا بعد تعديل في Sirvoy. قد تصل الرسائل بغير ترتيب؛ والرسالة الأقدم (generatedAt) مما لدى الصندوق بالفعل يتم تخطيها. في الفندق = غير ملغى ولم يغادر، سجّل الوصول أو موعد الوصول اليوم أو قبله، والمغادرة اليوم أو بعده. يبيّن اختبار الاتصال عدد الحجوزات التي وصلت.
كل برامج الفنادق متوفرة للبيع في هولندا و/أو بلجيكا. اختبار الاتصال يتحقق من البيانات. الكود لكل ربط: apps/pos-server/src/lib/pms/<naam>.ts.
- الخدمة الذاتية (معطّلة افتراضيًا): يضع نزيل الفندق طلبه على غرفته بنفسه، على الكشك و/أو في المتجر الإلكتروني (الاستلام والتوصيل، وليس عند الطلب على الطاولة). يُدخل رقم غرفته واسم عائلته؛ ويتحقق الكاشير لدى برنامج الفندق مما إذا كان هذا النزيل يقيم الآن في تلك الغرفة. مع حد أقصى لكل طلب (افتراضيًا € 150)، وبعد 5 محاولات خاطئة خلال ربع ساعة يجب التوجه أولًا إلى الاستقبال. الرسالة لا تذكر أبدًا من يقيم في الغرفة.
- الدفع: إذا كان الربط مفعّلًا، تظهر طريقة الدفع على الغرفة. ابحث عن الضيف بالاسم أو رقم الغرفة (فقط الضيوف المقيمون الآن في الفندق) واضغط على التسجيل على الغرفة .... يسجّل الصندوق الإيصال لكل نسبة ضريبة على حساب الضيف في الفندق؛ ويدفع الضيف عند المغادرة.
- بلجيكا: إذا كان الطلب مسجّلًا على الطاولة لدى الصندوق الأسود، فإنه ينتقل أولًا من الطاولة إلى الغرفة (signCostCenterChange إلى ROOM، UC4101)؛ ويُرسَل الإيصال كائتمان غرفة (ROOM_CREDIT) إلى الصندوق الأسود.
- إذا فشل التسجيل في برنامج الفندق (لا إنترنت)، فالبيع موجود ويظهر التسجيل كـ فشل في الإعدادات → الفندق، مع مرة أخرى.
- التقارير والمحاسبة: على الغرفة (فندق) طريقة دفع مستقلة في تقرير X وZ، وفي الكشف اليومي وملف التدقيق (XAA).
الكود: apps/pos-server/src/lib/hotel.ts، routes/hotel.ts، الروابط في lib/pms/، الكتالوج packages/shared/src/hotelcatalogus.ts؛ الشاشة Hotel.tsx. السجل: الفندق. الأسرار (tokens) محفوظة في قاعدة البيانات فقط، ولا تظهر أبدًا على الشاشة.
إدارة النبيذ مع Vinify
الإعدادات → إدارة النبيذ (غير مفعّل افتراضيًا؛ الإيقاف يحتفظ بكل شيء). يتابع Vinify قبو النبيذ وقائمة النبيذ والمخزون، وهو المصدر الرئيسي للنبيذ. وفقًا لمتطلبات POS لدى Vinify، يوفّر الصندوق API يتيح لـ Vinify:
تسجيل الدخول، بالطرق الثلاث التي يعرفها Vinify (يحدد المسؤول أيّها مفعّل):
- API-id ومفتاح API (
X-Api-IdوX-Api-Key، أوAuthorization: Bearer <id>:<sleutel>)؛ - مفتاح API وAPI-secret مع توقيع:
X-Api-KeyوX-TimestampوX-Signature= hex HMAC-SHA256(secret,<timestamp>\n<METHODE>\n<pad met query>\n<sha256 van de body>)، بعمر 5 دقائق كحد أقصى.
المفتاح والـ secret ينشئهما الصندوق (يُعرضان مرة واحدة)؛ ولا ترى الشاشات إلا ما إذا كانا مُدخلين. الوصول عبر البوابة على https://<portaal>/vinify/<kassa-id>/... (لا حاجة لفتح منفذ في المحل؛ العنوان موجود في الإعدادات → إدارة النبيذ). أي المنتجات نبيذ: ما ينشئه Vinify، إضافةً إلى المجموعات التي تحددها. إذا أعطى Vinify عنوانًا لإرسال المبيعات إليه، يرسلها الصندوق بنفسه أيضًا (push، مع token): بعد كل إيصال مدفوع وكل 5 دقائق ما لم يُرسل بعد. يفعّل Vinify الربط مع HorecaPOS (hello@vinify.no). كل شيء في السجل. لا يجب الخلط بينه وبين Vinify.nl، وهو متجر نبيذ إلكتروني: تجده ضمن المورّدين (الطلب من المورّدين).
إدخال سريع للعنوان بالرمز البريدي ورقم المنزل
يُفعَّل من الإعدادات → المحل → إدخال سريع للعنوان (غير مفعّل افتراضيًا؛ فقط لمحل في هولندا). اكتب الرمز البريدي ورقم المنزل (مع حرف أو إضافة أيضًا، مثلًا 12A أو 12-1) واضغط ابحث عن العنوان: يُملأ الشارع ورقم المنزل والرمز البريدي والمدينة. إذا كان لهذا الرقم عدة عناوين (12، 12A، 12B)، تختار العنوان الصحيح. بعد ذلك يمكنك تعديل كل شيء بنفسك.
- في بيانات المحل (الإعدادات → المحل، فوق العنوان).
- عند زبون بطاقة الزبون: في الصندوق عند إضافة زبون جديد وفي التقارير → الزبائن. يحصل الزبائن لذلك على عنوان (اختياري): الشارع ورقم المنزل، الرمز البريدي والمدينة.
- تأتي العناوين من Locatieserver التابع لـ PDOK المجاني (العناوين الرسمية في هولندا، BAG): لا حاجة إلى حساب أو مفتاح، لكن يلزم الإنترنت. دون إنترنت أو لعنوان بلجيكي تكتب العنوان بنفسك.
إشعار عند صدور إصدار جديد
التفعيل في الإعدادات ← المحل ← تنبيه التحديث (غير مفعّل افتراضيًا).
- تم تحديث الصندوق: إذا حُدّث خادم الصندوق بينما لا تزال الشاشات القديمة مفتوحة على جهاز لوحي، يظهر في الأعلى "تم تحديث الصندوق (الإصدار …)" مع تحديث. يتحقق الجهاز اللوحي كل 5 دقائق، وعند ظهور الشاشة مجددًا، وبعد إعادة تشغيل الخادم.
- تحديث متوفر: إذا كان الصندوق مربوطًا ببوابة الإدارة (
PORTAAL_URL/PORTAAL_SLEUTEL) وكانNIEUWSTE_VERSIEمُدخلًا هناك، يرى من يحق له إدارة الإعدادات "تحديث متوفر: الإصدار …" (مع الشرح منUPDATE_NOTITIE). لاحقًا يخفي التنبيه على ذلك الجهاز اللوحي حتى يصدر إصدار أحدث. ويتم التحديث كالمعتاد بـscripts\windows\update.cmd(انظر التحديث).
منصات الحجز
تصل حجوزات TheFork وFormitable وZenchef وResengo (بلجيكا فقط) وOpenTable (هولندا فقط) وPlanPanther وRestoManager وAqqo (هولندا فقط) تلقائيًا إلى الصندوق ومخطط القاعة. فعّلها من الإعدادات → منصات الحجز (معطّلة افتراضيًا). ممكن فقط إذا كانت الحجوزات مفعّلة.
- بلد المحل: يمكنك اختيار المنصات التي تعمل في بلد المحل فقط (Resengo في بلجيكا فقط، OpenTable وAqqo في هولندا فقط). الخادم يتحقق من ذلك أيضًا.
- عدة منصات في وقت واحد: يمكنك ربط عدة منصات جنبًا إلى جنب، مثل TheFork وFormitable. لا تحصل منصتان أبدًا على الطاولة نفسها في الفترة الزمنية نفسها؛ وعندها يصل الحجز الثاني بدون طاولة.
- + ربط منصة: اختر المنصة وأدخل البيانات. الأسرار (client secret، مفتاح الإبلاغ) لا تظهر أبدًا في النظرة العامة؛ ترك الحقل فارغًا = الإبقاء، مسح = الحذف.
- TheFork (API عامة B2B): Restaurant UUID وClient ID وClient Secret (تُطلب من TheFork). إذا ألغى الصندوق الحجز، يُلغى أيضًا في TheFork.
- Formitable وZenchef وResengo وOpenTable وPlanPanther وRestoManager وAqqo: الـAPI الخاصة بها للشركاء فقط أو غير عامة (PlanPanther وRestoManager وAqqo: الربط مع الصندوق يتم بالتنسيق معها). يتم التعرف على أحداث Formitable (
booking.created،.changed،.canceled،.checkin،.checkout). - على مخطط القاعة: إذا كان اسم طاولة في الصندوق مطابقًا لاسم طاولة المنصة وكانت شاغرة في تلك الفترة الزمنية، يوضع الحجز على تلك الطاولة؛ وإلا يبقى بدون طاولة (اخترها عند الوصول). الحجز الذي يصل مرة أخرى يُحدَّث ولا يتكرر. في النظرة العامة يظهر "عبر TheFork".
- الحالة: إذا ألغت المنصة الحجز أو أبلغت عن عدم الحضور (no-show)، يعتمد الصندوق ذلك. ما سُجّل في الصندوق كوصول يبقى وصولًا.
- الإبلاغ (إرجاع عدم الحضور): أدخل عنوان الإبلاغ (مثلًا من خدمة الربط الخاصة بك). يرسل الصندوق كل تغيير من الصندوق (وصول، no-show، إلغاء، دفع مع المبلغ) بصيغة JSON:
{ platform, id, status, statusEn, bedrag, valuta, tafel, tijdstip, gemeldOp }(المبلغ بالسنت، عند الدفع فقط)، معAuthorization: Bearer <terugmeld-sleutel>إذا أدخلته. إذا فشل، يحاول الصندوق مرة أخرى كل دقيقة ويظهر الخطأ عند المنصة. ما جاء من المنصة نفسها لا يُعاد إرساله. - حجز تجريبي: ينشئ حجزًا كما سترسله المنصة.
- حذف: يُزال الربط والمفتاح؛ تبقى الحجوزات.
- جميع التغييرات مسجلة في السجل (بدون أسرار).
برامج الولاء والتقييمات
مفتاحان منفصلان في الإعدادات ← النقاط والتقييمات (كلاهما غير مفعّل افتراضيًا، وعندها لا يظهر منهما شيء في أي مكان). إذا أوقفتهما تبقى الإعدادات وما حدث سابقًا محفوظة.
برنامج ولاء من منصة أخرى: يجمع الضيف النقاط في Joyn (بلجيكا) و/أو Piggy (Leat؛ هولندا وبلجيكا). هذا مستقل عن بطاقة الزبون الخاصة بالصندوق؛ ويمكن تشغيلهما معًا.
- عدة في الوقت نفسه: في بلجيكا يمكن تشغيل Piggy وJoyn معًا، كلٌّ ببياناته الخاصة (اختر المنصة، املأ البيانات، حفظ؛ تعديل وحذف لكل منصة). يحصل الضيف لكل برنامج على رمز QR خاص على الإيصال، ورابط خاص في الإيصال المرسل بالبريد الإلكتروني، وزر خاص في المتجر الإلكتروني، ويجمع النقاط مرة واحدة لكل طلب في كل برنامج. ما كان مُعدًّا من قبل يستمر في العمل كالمعتاد.
- رمز QR على الإيصال: بعد الدفع يظهر أسفل الإيصال رمز QR مع "امسح واجمع النقاط في ...". في الإيصال المرسل بالبريد يوجد رابط، وفي المتجر الإلكتروني (للأخذ والتوصيل) زر في صفحة الطلب ورابط في رسالة التأكيد. الطلب الواحد يمنح النقاط مرة واحدة فقط: الإيصال والبريد والمتجر الإلكتروني تستخدم الرمز الفريد نفسه (رقم الطلب). يمكنك إيقاف "رمز QR على الإيصال المطبوع"؛ ويبقى الرابط في البريد والمتجر الإلكتروني.
- Piggy، طريقة "رمز QR ورابط": أدخل عنوان بوابة زبائن Piggy وShop UUID وAccount secret (Piggy Business Dashboard). تعمل بدون إنترنت: ينشئ الصندوق الرابط بنفسه.
- Piggy، طريقة "الإضافة الفورية": أدخل إضافة إلى ذلك personal access token (Piggy ← Marketplace ← Private App). إذا أرسل الصندوق الإيصال بالبريد وكان الضيف صاحب ذلك البريد عضوًا مسبقًا، يضيف الصندوق النقاط فورًا؛ ويظهر على الإيصال "أُضيفت النقاط في Piggy". لا ينشئ الصندوق عضوًا جديدًا أبدًا؛ ليس عضوًا (أو لا يوجد بريد) = رمز QR.
- Joyn، طريقة "رمز QR ورابط": باستخدام partner key وshop reference وshared secret من Joyn (تُطلب عبر api-integration@joyn.be). تعمل بدون إنترنت. رمز QR صالح لمدة 2 ساعة.
- Joyn، طريقة "عبر API": باستخدام shop API key (فعّل الربط في بوابة التجار لدى Joyn). عند الدفع يطلب الصندوق رمز نقاط من Joyn. يتم استبدال النقاط كالمعتاد على Joyn-iPad.
- إنشاء رابط تجريبي: يتحقق من صحة البيانات (رابط بقيمة € 10؛ افتحه للاطلاع فقط).
- لا يمكن اختيار إلا منصات بلد المحل؛ تُحفظ الأسرار في قاعدة البيانات فقط ولا تظهر على الشاشة أبدًا (الترك فارغًا = الإبقاء).
طلب التقييمات: بعد الزيارة رسالة واحدة فيها زر إلى Google و/أو Trustpilot.
- بعد بضع ساعات (قابلة للضبط، افتراضيًا 3) يتلقى الضيف الرسالة بلغة الإيصال.
- المتجر الإلكتروني: في الأخذ والتوصيل يرسل المتجر الإلكتروني الرسالة بنفسه، بعد بضع ساعات من إنهاء الطلب في الصندوق، بلغة الضيف.
- Google: الصق رابط التقييم من ملفك التجاري (Google ← ملفك التجاري ← طلب التقييمات،
https://g.page/r/.../review) أو أدخل Place ID. - Trustpilot: أدخل نطاق محلك (يقود الزر إلى
trustpilot.com/evaluate/<domein>). إذا كان لديك في Trustpilot عنوان دعوة (Automatic Feedback Service،...@invite.trustpilot.com) فأدخله أيضًا: تُرسل الرسالة حينها بنسخة مخفية (BCC) إلى Trustpilot، مع الاسم والبريد الإلكتروني ورقم الإيصال بشكل غير ظاهر، وترسل Trustpilot الدعوة بنفسها (فلا يظهر زر Trustpilot خاص). Trustpilot فقط مع عنوان دعوة: يراسل الصندوق Trustpilot فقط. - ليس كثيرًا: يتلقى الضيف نفسه (البريد الإلكتروني) طلبًا واحدًا على الأكثر في كل فترة (افتراضيًا 90 يومًا؛ 0 = كل مرة). لذلك يحتفظ الصندوق بقيمة hash للعنوان فقط؛ أما البريد الإلكتروني نفسه فيُحذف فور إرسال الرسالة (وإن تعذّر ذلك فبعد ثلاث محاولات، وإلا فبعد 14 يومًا).
- رمز QR على الإيصال (اختياري): رمز QR للتقييم أيضًا أسفل الإيصال المطبوع.
- معاينة الرسالة وحذف الرسائل المنتظرة (تُحذف العناوين فورًا). يعرض السجل review_gevraagd مع a***@domein.nl.
- تمنع Google وTrustpilot تقديم مكافأة مقابل التقييم أو الطلب من الضيوف الراضين فقط ("review gating"). لذلك يطلب الصندوق من الجميع بالطريقة نفسها ولا يقدم شيئًا مقابل التقييم.
- قراءة التقييمات والرد عليها من الصندوق: انظر إدارة التقييمات أدناه.
الربط مع Mailchimp وKlaviyo
زبائن بطاقة الزبون في برنامج البريد الخاص بك: من الإعدادات → المحل → Mailchimp وKlaviyo (تحت التسويق بالرسائل القصيرة والبريد الإلكتروني). لا يوجد مفتاح تشغيل: بدون ربط بقائمة مختارة لا يحدث شيء.
- الربط: باستخدام مفتاح API (Mailchimp: الملف الشخصي ← Extras ← API keys؛ Klaviyo: مفتاح خاص
pk_…بصلاحيات الكتابة لـ Lists وProfiles وSubscriptions وEvents وCampaigns وTemplates). لا يظهر سر العميل والمفتاح على الشاشة مرة أخرى أبدًا (اتركه فارغًا = الاحتفاظ به). بعد ذلك تختار القائمة (Mailchimp: audience). - الزبائن: من وافق على البريد الإلكتروني يُضاف إلى القائمة (مشترك)، مع الاسم الأول واسم العائلة والهاتف وعيد الميلاد ونقاط الولاء (Mailchimp: الحقل
PUNTEN، ينشئه الصندوق بنفسه؛ Klaviyo: الخاصيةpunten). إذا سُحبت الموافقة أو تغيّر البريد الإلكتروني أو حُذف الزبون: يُلغى الاشتراك. يُرسل مجددًا فقط ما تغيّر. مع الربط يطلب الصندوق (وخانة "العروض" في المتجر الإلكتروني) من كل زبون جديد أيضًا الموافقة على البريد الإلكتروني، ويمكن تغييرها من التقارير → الزبائن، حتى بدون التسويق بالبريد الإلكتروني الخاص بالصندوق. - إلغاء الاشتراك: من يلغي اشتراكه في Mailchimp أو Klaviyo لن تبقى له موافقة على البريد الإلكتروني في الصندوق أيضًا (السجل: "أُلغي الاشتراك في Mailchimp"). ومن ألغى اشتراكه بنفسه لا يعيد الصندوق اشتراكه.
- الطلبات: كل إيصال مدفوع لزبون في القائمة يُرسل كحدث (Mailchimp:
bestelling، مع المبلغ ورقم الإيصال والعدد؛ Klaviyo:Placed Order، مع القيمة باليورو). بذلك تنشئ رسائل تلقائية في برنامج البريد، مثلًا بعد الطلب الأول أو إذا لم يأتِ شخص منذ شهر. الإيصالات السابقة لاختيار القائمة لا تُرسل. - الحملات: من التقارير → التسويق ترسل الحملة أيضًا عبر Mailchimp أو Klaviyo (انظر التسويق بالرسائل القصيرة والبريد الإلكتروني)؛ وعندها ينشئ الصندوق الحملة هناك ويرسلها.
- التحديث: كل 5 دقيقة، أو عبر تحديث الآن. فك الربط: يُزال من الصندوق؛ ويبقى كل شيء في Mailchimp وKlaviyo. المفاتيح محفوظة في قاعدة البيانات (ضمن النسخة الاحتياطية، وليس في تصدير الإعدادات).
الكود: lib/mailinglijst.ts وroutes/mailinglijst.ts وMailingKoppelingen.tsx.
BI وتصدير البيانات
بيانات المبيعات إلى Power BI وLooker Studio وExcel وGoogle Sheets وTableau وQlik Sense وMetabase، أو خدمة BI (مثلًا YourBI أو BI4Horeca أو Moore DRV) أو مستودع بيانات خاص. التفعيل من الإعدادات ← BI وتصدير البيانات (غير مفعّل افتراضيًا). قراءة فقط: لا يمكن تغيير أي شيء في الصندوق عبر الربط. لا توجد بيانات عن الزبائن.
- البيانات: التذاكر (بما فيها تذاكر الإرجاع)، المنتجات المبيعة (أسطر التذاكر)، المدفوعات، رقم المعاملات لكل يوم، رقم المعاملات لكل ساعة، الإلغاءات، المنتجات، الموظفون (بدون رمز PIN) وساعات العمل. المبالغ باليورو مع نقطة كفاصل عشري، والأوقات بالتوقيت المحلي للمحل.
- + ربط: اختر البرنامج والطريقة. كل برنامج يدعم طريقة واحدة أو أكثر؛ يمكنك أن تملك عدة روابط في الوقت نفسه (حتى للبرنامج نفسه).
- البرنامج يجلب البيانات بنفسه (API): يمنح الصندوق مرة واحدة مفتاح قراءة فقط. الفترة بـ
?van=&tot=(YYYY-MM-DD) أو عنوان ثابت بـ?periode=(اليوم، أمس، 7d، 30d، 90d، 365d، أسبوع، شهر، الشهر الماضي، سنة)؛ بحد أقصى 366 يومًا و200.000 سطر. المفتاح فيAuthorization: BearerأوX-Sleutelأو?sleutel=. - عبر البوابة: إذا كان الصندوق مربوطًا ببوابة العملاء، فإن العنوان نفسه يعمل أيضًا من خارج المحل، دون فتح منفذ:
https://<portaal>/bi/<kassa-id>/<gegevens>?periode=90d&formaat=csv&sleutel=.... هكذا تحدّثه خدمة Power BI حسب الجدولة (دون gateway) ويمكن لـ Google Sheets جلبه بـ=IMPORTDATA("...")(وهو أيضًا مصدر Looker Studio). يعرض الصندوق العنوان عند الربط. - نظرة شاملة على السلسلة عبر بوابة العملاء (عدة محلات): عنوان واحد ومفتاح واحد لجميع صناديقك معًا. في كل صندوق يجب أن يشارك، فعّل نظرة شاملة على السلسلة عبر بوابة العملاء (تحت مفتاح تشغيل BI) وأنشئ مفتاحًا في بوابة العملاء ضمن صناديقي → BI لجميع محلاتك. ثم:
https://<portaal>/bi/keten/<gegevens>?periode=90d&formaat=csv&sleutel=hpk_.... تجلب البوابة البيانات من كل صندوق وتدمجها، معkassaIdوzaakفي كل سطر. الصناديق غير المتصلة أو غير المشاركة تظهر فيontbrekend(JSON) وفي الترويسةX-Ontbrekend. لا يحتاج الصندوق نفسه إلى مفتاح خاص لهذا؛ وإيقافه في الصندوق أو في بوابة العملاء يوقف ذلك. - مع الرمز يُرسل بصفة
Authorization: Bearerويوجد توقيع فيX-HorecaPOS-Handtekening(sha256=HMAC للمحتوى). إذا فشل الإرسال، يعيد الصندوق المحاولة كل دقيقة؛ لا يُرسل شيء مرتين. مع ابتداءً من يرسل أيضًا التذاكر الأقدم. - الصندوق يسلّم ملفات: كل يوم (في وقت محدد، اليوم السابق؛ تُستدرك الأيام الفائتة) أو كل ساعة (اليوم حتى الآن)، بصيغة CSV (فاصلة، أو فاصلة منقوطة لـ Excel الهولندي) أو JSON، إلى مجلد على حاسوب الصندوق (مثلًا مجلد OneDrive أو SharePoint لـ Power BI أو Excel)، أو خادم FTP(S) أو SFTP، أو عبر البريد الإلكتروني. أسماء الملفات:
horecapos_<gegevens>_<datum>.csv. - إرسال اختبار (push) وتصدير الآن (ملف) عند الربط.
- التنزيل بنفسك: اختر البيانات والفترة والتنسيق.
- قالب Power BI (
.pbit): تقرير جاهز لـ Power BI Desktop، عبر تنزيل قالب Power BI في BI وتصدير البيانات. أنشئ أولًا ربط API (Power BI). في النموذج: جدول لكل مجموعة بيانات بالأنواع الصحيحة، وتقويم (سنة، شهر، أسبوع، يوم الأسبوع)، وعلاقات (التاريخ ← التقويم، بنود الإيصال ← المنتجات، ساعات العمل ← الموظفون) ومقاييس (المبيعات شاملة وغير شاملة الضريبة، الضريبة، البقشيش، الإيصالات، الضيوف، المتوسط لكل إيصال ولكل ضيف، الكمية المباعة، مبيعات المنتجات، المدفوع، الإلغاءات، ساعات العمل، المبيعات لكل ساعة عمل). ثلاث صفحات: نظرة عامة (الأرقام الرئيسية، المبيعات حسب اليوم ويوم الأسبوع والساعة، طرق الدفع)، المنتجات (حسب المجموعة وحسب المنتج) والموظفون (الساعات والمبيعات لكل موظف). عبر البوابة تقوم خدمة Power BI أيضًا بالتحديث وفق جدول زمني. - الأسرار (الرمز، كلمة المرور، المفتاح) لا تظهر أبدًا في النظرة العامة؛ تركها فارغة = الإبقاء عليها، مسح = حذفها. كل شيء مسجّل في السجل (دون الأسرار).
الرواتب والتخطيط
مع تفعيل تسجيل الحضور/الانصراف (الإعدادات → المحل) تجد في الإعدادات → أوقات العمل في الأسفل الرواتب والتخطيط (صلاحية إدارة الإعدادات)، في قسمين منفصلين. إذا كان التسجيل غير مفعّل، فلا توجد ساعات: عندها يوجد فقط قسم تخطيط الموظفين (المبيعات، مباشرة أو كملف مبيعات) في أسفل الإعدادات → المحاسبة، تحت العنوان المبيعات إلى التخطيط:
- الرواتب (payroll): اختر برنامج الرواتب أو (بلجيكا) الأمانة الاجتماعية، واملأ حقوله، ولكل موظف رقمه الوظيفي في ذلك البرنامج. بعد ذلك تُنشئ لفترة معيّنة الملف الذي يحتوي على ساعات العمل (الورديات المغلقة، لكل موظف ولكل يوم تسجيل حضور) والمبيعات لكل موظف (دون ضريبة القيمة المضافة، ما حاسب عليه هو/هي): جاهز لـ Loket.nl (Variabele gegevens، المجموع لكل موظف خلال الفترة، سطر العنوان
aanslnr;persnr;ploeg;<looncomponent>) وSD Worx بلجيكا (Tijdsregistratie، مواضع ثابتة، لكل موظف ويوم)، وإلا قائمة الساعات (CSV: التاريخ؛ الرقم الوظيفي؛ الاسم؛ الساعات؛ المبيعات دون الضريبة). الموظفون الذين ليس لديهم رقم وظيفي لا يدخلون في ملف Loket أو SD Worx؛ ويُبلغك الكاشير بأسمائهم. - تخطيط الموظفين (WFM): اختر نظام التخطيط. إعادة الإرسال تستبدل البيانات السابقة. بالإضافة إلى ذلك قائمة المبيعات (CSV لكل يوم وساعة، دون الضريبة ومعها) ولـ Strobbo ملف Excel لأجل Importeer omzet.
- فقط البرامج التي تعمل في بلد المحل، حسب المجموعة وبالترتيب الأبجدي؛ يرفض الخادم أي برنامج من بلد آخر (400).
- المفاتيح والرموز (tokens) لا تُعرض على الشاشة أبدًا.
- يمسّ المحاسبة: تكاليف الأجور يقيّدها برنامج الرواتب في المحاسبة، والمبيعات يقيّدها الكاشير (الإعدادات → المحاسبة). يوجد AFAS Payroll وExact Online Loon في البيئة نفسها التي فيها محاسبة AFAS وExact.
- لا يمكن ذلك على نسخة الكاشير في البوابة (الكاشير في المحل هو من يقوم به).
- لدى عدد من البرامج واجهة API غير منشورة أو متاحة للشركاء فقط (منها Loket وNmbrs وNostradamus وEmployes وShyfter وPlanday وEitje): هذه مذكورة عند الطلب؛ وحتى ذلك الحين الملف. بنية ملفات SD Worx وStrobbo مأخوذة من توثيقها: اطلب مراجعة أول استيراد.
| البرنامج | NL | BE | مباشر | الملف | ملاحظة |
|---|---|---|---|---|---|
| برامج الرواتب ومعالجو الرواتب | |||||
| ADP | ✓ | ✓ | عند الطلب | قائمة الساعات لكل موظف ويوم (CSV) | ربط عبر ADP (عند الطلب)؛ وحتى ذلك الحين قائمة الساعات لكل موظف ويوم. |
| AFAS Payroll | ✓ | – | عند الطلب | قائمة الساعات لكل موظف ويوم (CSV) | إدارة الرواتب في AFAS Profit (البيئة نفسها التي فيها المحاسبة في AFAS)؛ الربط عند الطلب، وحتى ذلك الحين قائمة الساعات. |
| BCS HR | ✓ | – | عند الطلب | قائمة الساعات لكل موظف ويوم (CSV) | ربط عبر BCS (عند الطلب)؛ وحتى ذلك الحين قائمة الساعات. |
| Buddee | ✓ | – | عند الطلب | قائمة الساعات لكل موظف ويوم (CSV) | برنامج للموارد البشرية والرواتب؛ الربط عند الطلب، وحتى ذلك الحين قائمة الساعات لكل موظف ويوم. |
| Employes | ✓ | – | عند الطلب | قائمة الساعات لكل موظف ويوم (CSV) | لدى Employes واجهة API لساعات العمل (رمز token من العميل)؛ يأتي الربط بعد التنسيق مع Employes. وحتى ذلك الحين قائمة الساعات. |
| Exact Online Loon | ✓ | – | عند الطلب | قائمة الساعات لكل موظف ويوم (CSV) | إدارة الرواتب في Exact Online (البيئة نفسها التي فيها المحاسبة في Exact)؛ الربط عند الطلب، وحتى ذلك الحين قائمة الساعات. |
| Humanwave | ✓ | – | عند الطلب | قائمة الساعات لكل موظف ويوم (CSV) | ربط عبر Humanwave (عند الطلب)؛ وحتى ذلك الحين قائمة الساعات. |
| Loket.nl | ✓ | – | عند الطلب | Loket.nl Variabele gegevens (CSV)، قائمة الساعات لكل موظف ويوم (CSV) | ملف لـ Werkgever → Collectieve mutaties → Importeren → Variabele gegevens (الساعات لكل موظف خلال الفترة). مباشر عبر API الخاصة بـ Loket بعد التسجيل لدى Loket. |
| Nmbrs | ✓ | – | عند الطلب | قائمة الساعات لكل موظف ويوم (CSV) | قائمة الساعات لكل موظف ويوم، لنقلها إلى Nmbrs. مباشر عبر API الخاصة بـ Nmbrs بعد تسجيل تطبيق لدى Nmbrs. |
| Salar (Van Winckel) | ✓ | – | – | قائمة الساعات لكل موظف ويوم (CSV) | قائمة الساعات لكل موظف ويوم لمكتب المحاسبة؛ صيغة الاستيراد في Salar غير منشورة. |
| الأمانات الاجتماعية | |||||
| Acerta | – | ✓ | عند الطلب | قائمة الساعات لكل موظف ويوم (CSV) | أمانة اجتماعية: تحصل على بنية ملف الخدمات المؤدّاة من Acerta؛ وحتى ذلك الحين قائمة الساعات. |
| Group S | – | ✓ | عند الطلب | قائمة الساعات لكل موظف ويوم (CSV) | أمانة اجتماعية: تحصل على بنية ملف الخدمات المؤدّاة من Group S؛ وحتى ذلك الحين قائمة الساعات. |
| Liantis | – | ✓ | عند الطلب | قائمة الساعات لكل موظف ويوم (CSV) | أمانة اجتماعية لديها واجهة API تتيحها Liantis لكل شركة على حدة؛ وحتى ذلك الحين قائمة الساعات. |
| Partena Professional | – | ✓ | عند الطلب | قائمة الساعات لكل موظف ويوم (CSV) | أمانة اجتماعية: تحصل على بنية ملف الخدمات المؤدّاة من Partena؛ وحتى ذلك الحين قائمة الساعات. |
| SD Worx | ✓ | ✓ | – | SD Worx Tijdsregistratie (TXT)، قائمة الساعات لكل موظف ويوم (CSV) | بلجيكا: ملف Tijdsregistratie (تسجيل الوقت؛ مواضع ثابتة، لكل موظف ويوم) لأجل "Tijdsregistratie importeren". هولندا: قائمة الساعات. |
| Securex | – | ✓ | عند الطلب | قائمة الساعات لكل موظف ويوم (CSV) | أمانة اجتماعية: الربط يتم عبر شركاء؛ وحتى ذلك الحين قائمة الساعات. |
| التخطيط وتسجيل الساعات | |||||
| Book'u | – | ✓ | عند الطلب | المبيعات لكل يوم وساعة (CSV) | تقوم Book'u بتصريحات Dimona؛ الربط مع الكاشير عند الطلب. وحتى ذلك الحين قائمة المبيعات. |
| Deputy | ✓ | ✓ | ✓ | المبيعات لكل يوم وساعة (CSV) | مباشر: تُرسل المبيعات لكل ساعة كل ساعة إلى Deputy (Sales). تنشئ رمزًا دائمًا (token) في Deputy ضمن روابط API. |
| Dyflexis | ✓ | – | ✓ | المبيعات لكل يوم وساعة (CSV) | مباشر: تُرسل المبيعات لكل ساعة كل ساعة إلى Dyflexis (information streams). تحصل على رمز API عبر Dyflexis. |
| Eitje | ✓ | – | عند الطلب | المبيعات لكل يوم وساعة (CSV) | يرتبط Eitje عبر برنامج الشركاء الخاص به؛ وحتى ذلك الحين قائمة المبيعات لكل يوم وساعة. |
| Exact Horeko | ✓ | – | عند الطلب | المبيعات لكل يوم وساعة (CSV) | ربط عبر Horeko (عند الطلب)؛ وحتى ذلك الحين قائمة المبيعات. |
| Fooks | ✓ | – | عند الطلب | المبيعات لكل يوم وساعة (CSV) | يبني Fooks روابط الكاشير بنفسه؛ وحتى ذلك الحين قائمة المبيعات لكل يوم وساعة. |
| L1NDA | ✓ | – | عند الطلب | المبيعات لكل يوم وساعة (CSV) | يبني L1NDA روابط الكاشير بالتعاون مع شركاء؛ وحتى ذلك الحين قائمة المبيعات لكل يوم وساعة. |
| Mr. Einstein | ✓ | – | عند الطلب | المبيعات لكل يوم وساعة (CSV) | الموارد البشرية والجداول وتكاليف الأجور للمطاعم والمقاهي؛ تبني Mr. Einstein روابط الكاشير بالتعاون مع مزوّد الكاشير (اطلبها عبر mreinstein.nl/contact). وحتى ذلك الحين قائمة المبيعات لكل يوم وساعة. |
| Nostradamus | ✓ | ✓ | عند الطلب | المبيعات لكل يوم وساعة (CSV) | يستقبل Nostradamus المبيعات عبر واجهة الكاشير الخاصة به (رمز API ونطاق المحل، بعد الطلب لدى Nostradamus)؛ وحتى ذلك الحين قائمة المبيعات لكل يوم وساعة. |
| Plan-Me | – | ✓ | عند الطلب | المبيعات لكل يوم وساعة (CSV) | تقوم Plan-Me بتصريحات Dimona؛ الربط مع الكاشير عند الطلب. وحتى ذلك الحين قائمة المبيعات. |
| Planday | ✓ | ✓ | عند الطلب | المبيعات لكل يوم وساعة (CSV) | لدى Planday واجهة API مفتوحة لأنظمة الكاشير؛ يأتي الربط بعد التنسيق. وحتى ذلك الحين قائمة المبيعات. |
| Shiftbase | ✓ | – | ✓ | المبيعات لكل يوم وساعة (CSV) | مباشر: تُرسل المبيعات اليومية كل ساعة إلى يومية القسم في Shiftbase. تنشئ مفتاح API في Shiftbase ضمن App center. |
| Shyfter | – | ✓ | عند الطلب | المبيعات لكل يوم وساعة (CSV) | تقوم Shyfter بتصريحات Dimona وتستقبل المبيعات اليومية عبر واجهة API الخاصة بها؛ يأتي الربط بعد التنسيق مع Shyfter. وحتى ذلك الحين قائمة المبيعات. |
| Strobbo | ✓ | ✓ | – | استيراد المبيعات لـ Strobbo (Excel)، المبيعات لكل يوم وساعة (CSV) | ملف Excel لـ Planning → € → Importeer omzet (المبيعات لكل يوم ولكل مكان عمل). |
| Tamigo | ✓ | ✓ | عند الطلب | المبيعات لكل يوم وساعة (CSV) | ربط عبر Tamigo (عند الطلب)؛ وحتى ذلك الحين قائمة المبيعات. |
| Werktijden.nl | ✓ | – | – | المبيعات لكل يوم وساعة (CSV)، قائمة الساعات لكل موظف ويوم (CSV) | يسجّل Werktijden.nl الساعات بنفسه ولا يستقبل (بعد) المبيعات عبر واجهة API الخاصة به؛ القوائم متاحة للمقارنة. |
| XPS Logic | ✓ | – | عند الطلب | المبيعات لكل يوم وساعة (CSV) | يركّز XPS Logic على العمالة المرنة وعمالة الوكالات المؤقتة؛ الربط عند الطلب. وحتى ذلك الحين قائمة المبيعات. |
المتطلبات القانونية في بلجيكا وهولندا
ما يطلبه القانون وما يفعله HorecaPOS لذلك (اطلب من محاسبك تأكيد ما ينطبق على محلك):
| البلد | المتطلب | HorecaPOS |
|---|---|---|
| بلجيكا | نظام كاشير مسجّل (GKS 2.0) مع صندوق أسود لمحلات المطاعم والمقاهي الملزمة به (منها عندما تتجاوز المبيعات من الوجبات € 25.000 سنويًا، بدون ضريبة القيمة المضافة) | الربط بالصندوق الأسود (FDM)، والبيانات الإلزامية على الإيصال والعدّادات في تقرير Z (البلد بلجيكا في الإعدادات → المحل، FDM_API_KEY وFDM_TERMINAL_ID); في أعلى الإعدادات → المحل تختار هل المحل ملزم بـ GKS: نعم = الدفع فقط مع صندوق أسود يعمل، لا = بدونه، مع إقرار من المسؤول (يُجدَّد كل سنة)؛ ما دام لم يُختَر شيء لا يمكن الدفع. يحسب الصندوق مبيعات الوجبات وينبّه عند تجاوز 25.000 € |
| بلجيكا | الفوترة الإلكترونية عبر Peppol: منذ 1 يناير 2026 أصبحت الفواتير بين الشركات البلجيكية الخاضعة لضريبة القيمة المضافة إلزاميًا إلكترونية ومهيكلة (UBL، Peppol BIS 3)؛ إيصالات الصندوق للمستهلكين لا تدخل ضمنها | تصدير المبيعات اليومية بصيغة UBL وفق Peppol BIS Billing 3.0 لبرنامج المحاسبة (تصدير المحاسبة)؛ وفواتير من الإيصال للعملاء من الشركات (الإعدادات ← الفواتير): UBL وفق Peppol BIS Billing 3.0 مع فاتورة للطباعة، والإرسال بالبريد الإلكتروني، أو عبر Billit إلى شبكة Peppol، أو إلى عنوان خاص، أو التنزيل (انظر فواتير للعملاء من الشركات) |
| بلجيكا | ضريبة القيمة المضافة في الضيافة منذ 1 مارس 2026: الوجبات الجاهزة والمشروبات غير الكحولية 12% (داخل المحل وللاستلام)، الكحول 21%، الوجبات التي يحضّرها الزبون بنفسه (فوندو، غورميه) 6% | مساعد ضريبة القيمة المضافة (الإعدادات ← القوانين واللوائح): نوع كل منتج، والنسبة الصحيحة فورًا أو ابتداءً من تاريخ؛ تم تحديث أوصاف النسب A/B/C |
| هولندا | قانون الكحول: لا كحول للشباب دون 18، ولا حتى عند البيع عبر الإنترنت والتوصيل (التحقق من العمر عند التسليم) | التحقق من العمر: المنتجات التي تحتوي على الكحول؛ في المتجر الإلكتروني يؤكّد الزبون بنفسه 18+ (المربع غير محدد مسبقًا) مع تنبيه بأن العمر سيُتحقق منه عند التسليم؛ "18+" على بون المطبخ وإيصال التوصيل وإيصال الكاشير |
| هولندا | أكواب وعلب الاستخدام الواحد (SUP): منذ 2024 سعر منفصل وظاهر لعبوات البلاستيك ذات الاستخدام الواحد عند الاستلام والتوصيل | رسوم الاستخدام الواحد لكل منتج، كسطر منفصل على الإيصال (بضريبة المنتج) وبشكل منفصل في المبيعات |
| هولندا | رسوم الاسترداد على العلب والقوارير البلاستيكية | رسوم الاسترداد لكل منتج (€ 0,15 / € 0,25)، سطر منفصل بدون ضريبة القيمة المضافة عند الاستلام والتوصيل، وبشكل منفصل في المبيعات |
| هولندا | الدفع نقدًا: منذ 1 يناير 2026 لا يُقبل € 3.000 أو أكثر نقدًا مقابل السلع | تحذير عند الاستلام والتوصيل (وأيضًا عند جهاز النقد)؛ يمكن التأكيد، ويُسجَّل في السجل |
| هولندا وبلجيكا | تغيير ضريبة القيمة المضافة: نسبة أو منتج يحصل ابتداءً من تاريخ على نسبة ضريبة مختلفة | جدولة تغيير ضريبة القيمة المضافة: ينفّذه الكاشير في اليوم نفسه (في بلجيكا لكل منتج، الرموز A/B/C/D ثابتة) |
| هولندا | الإقامة (المبيت) 21% منذ 1 يناير 2026 | نسبة ضريبة القيمة المضافة قابلة للضبط لكل منتج |
| الاتحاد الأوروبي | توجيه Omnibus: السعر "الأصلي" المشطوب لا يجوز أن يكون إلا أدنى سعر خلال آخر 30 يومًا | لا يشطب المتجر الإلكتروني إلا مقابل أدنى سعر خلال 30 يومًا (يحتفظ الكاشير بسجل الأسعار؛ وساعات التخفيض المتكررة أسبوعيًا تُحتسب) |
| الاتحاد الأوروبي | European Accessibility Act (منذ 28 يونيو 2025): متاجر إلكترونية سهلة الوصول (WCAG 2.1 AA) | يعمل المتجر الإلكتروني بلوحة المفاتيح وقارئ الشاشة (رابط "انتقل إلى المحتوى"، تركيز ظاهر، تسميات) ولديه بيان إمكانية الوصول (رابط في الأسفل) |
| هولندا | XML Auditfile Financieel (XAF): معيار مصلحة الضرائب الهولندية (Belastingdienst) لنقل السجلات المحاسبية (أو جزء منها)؛ XAF 4.0 إلزامي ابتداءً من 2027 | التصدير بصيغة XAF 4.0 (تصدير المحاسبة) |
| هولندا | نظام دفع موثوق: حفظ بيانات الكاشير (جميع الإيصالات والتصحيحات والأحداث) والقدرة على تقديمها رقميًا عند التدقيق؛ وتوصي مصلحة الضرائب الهولندية (Belastingdienst) لذلك بـ XML Auditfile Afrekensystemen (XAA) | التصدير بصيغة XAA 3.2 (التقارير → المبيعات حسب الفترة → ملف تدقيق الكاشير)، موقّعًا بشهادة المورّد إن رغبت |
| بلجيكا | تسجيل الحضور في نظام كاشير مسجّل: تسجيل بداية ونهاية وقت عمل العاملين في نظام الكاشير | تسجيل الحضور/الانصراف (الإعدادات → المحل؛ إلزامي = تسجيل الحضور أولًا) يُسجَّل في الصندوق الأسود |
| بلجيكا | Dimona: التصريح بكل تشغيل (بما في ذلك flexi-jobs والطلاب) لدى RSZ قبل بدئه | تقوم بذلك الأمانة الاجتماعية أو أداة التخطيط لديك (مثلًا Shyfter وBook'u وPlan-Me)؛ ويوفّر HorecaPOS ساعات العمل والمبيعات (الإعدادات → أوقات العمل → الرواتب والتخطيط) |
| هولندا | تسجيل أوقات العمل والراحة (قانون أوقات العمل الهولندي، Arbeidstijdenwet) | تسجيل الحضور والانصراف مع ساعات العمل لكل موظف، قابلة للتعديل من قبل المسؤول (مع سجل)، وقائمة الساعات لبرنامج الرواتب |
| هولندا وبلجيكا | HACCP / سلامة الأغذية: تسجيل درجات الحرارة (التبريد، المجمّد، الحفظ ساخنًا، الطهي، إعادة التبريد، الاستلام) والتنظيف؛ هولندا Hygiënecode voor de Horeca (NVWA)، بلجيكا الرقابة الذاتية FAVV (الدليل G-023) | سجل HACCP في الكاشير (الإعدادات ← القوانين والأنظمة، زر HACCP في الأعلى): نقاط قياس بحدود، مهام تنظيف ومراقبة، إجراء تصحيحي إلزامي عند الانحراف، غير قابل للتعديل، ملخص بالسجلات الفائتة بصيغة CSV أو مطبوع (انظر سجل HACCP) |
| هولندا وبلجيكا | واجب الحفظ (NL 7 سنوات، BE 10 سنوات) | الإيصالات وتقارير Z والسجل محفوظة في قاعدة البيانات وفي النسخ الاحتياطية؛ لا يمكن تعديل السجل أو حذفه من الصندوق |
القوانين واللوائح
الإعدادات ← القوانين واللوائح (المسؤول؛ ومساعد ضريبة القيمة المضافة أيضًا بصلاحية إدارة المنتجات). كل شيء معطّل افتراضيًا؛ بدون هذه الإعدادات يعمل الكاشير كالمعتاد.
- التحقق من العمر للكحول (18+): حدّد في المنتجات يحتوي على كحول (أو استخدم مساعد ضريبة القيمة المضافة). عند الاستلام والتوصيل مع الكحول يظهر "18+" على بون المطبخ وإيصال الكاشير وفي شاشة الطلبات. في المتجر الإلكتروني يؤكّد الزبون بنفسه أن عمره 18 عامًا أو أكثر (المربع غير محدد مسبقًا) ويرى أن العمر سيُتحقق منه عند التسليم.
- رسوم الاستخدام الواحد (هولندا): مبلغ لكل منتج (أسعار استرشادية: كوب € 0,25، علبة وجبة € 0,50، علبة صغيرة € 0,05). عند الاستلام والتوصيل يضيف الكاشير تلقائيًا سطر "رسوم الاستخدام الواحد" على الإيصال (بضريبة المنتج)؛ ويرافق المنتجات تلقائيًا (تتابعه قاعدة البيانات، حتى بعد الحذف أو النقل أو تغيير نوع الطلب) ويظهر بشكل منفصل في المبيعات. لا رسوم داخل المحل. Thuisbezorgd.nl والمتجر الإلكتروني يحتسبان رسومهما الخاصة.
- رسوم الاسترداد (هولندا): لكل منتج (€ 0,15 علبة/قارورة، € 0,25 قارورة كبيرة)، سطر "رسوم الاسترداد" بدون ضريبة القيمة المضافة، فقط عند الاستلام والتوصيل.
- الدفع نقدًا € 3.000 أو أكثر (هولندا، ممنوع للسلع منذ 1-1-2026): عند الاستلام والتوصيل يظهر تنبيه عند الدفع وعند جهاز النقد؛ ويمكن للموظف التأكيد (مثلًا التموين كخدمة)، ويُسجَّل ذلك في السجل. الأكل والشرب داخل المحل خدمة: لا تنبيه.
- مساعد ضريبة القيمة المضافة: نوع كل منتج (وجبة، مشروب غير كحولي، مشروب كحولي، أغذية بدون تحضير، أخرى؛ في البداية تخمين بناءً على الاسم والمجموعة). يعرض الكاشير النسبة الصحيحة داخل المحل وعند الاستلام (بلجيكا منذ 1-3-2026: الوجبات والمشروبات الغازية 12%، وللاستلام أيضًا؛ الكحول 21%؛ الأغذية بدون تحضير 6%. هولندا: 9% و21%) ويطبّقها، فورًا أو ابتداءً من تاريخ.
- جدولة تغيير ضريبة القيمة المضافة: منتج إلى نسبة أخرى، أو (في هولندا فقط) نسبة برقم جديد، ابتداءً من تاريخ. ينفّذه الكاشير بنفسه في ذلك اليوم (يفحص كل ربع ساعة، وعند التشغيل).
الفواتير (إلزامية في بلجيكا بين الشركات) موجودة في قسم فواتير للعملاء من الشركات. ما زال للتنفيذ: GKS 2.0، الاستفسار عن وضع الاعتماد (انظر docs/backlog-concurrenten.md).
فواتير للعملاء من الشركات
الإعدادات ← الفواتير (المسؤول؛ معطّلة افتراضيًا): فعّل فواتير للعملاء من الشركات (UBL / Peppol). وعند تفعيلها تظهر تحتها الدفع على الحساب وبيانات الفاتورة وخدمات Peppol والربط البنكي (مع الدفع على الحساب) وقائمة بجميع الفواتير. في بلجيكا أصبحت الفوترة الإلكترونية بين الشركات إلزامية منذ 1-1-2026.
- الفواتير للعملاء من الشركات: الإيصالات ← اختر الإيصال ← فاتورة. أدخل العميل (أو اختر عميلًا سابقًا)؛ ينشئ الكاشير فاتورة برقم (مثلًا F2026-0001، تسلسلي لكل سنة)، بصيغة UBL وفق Peppol BIS Billing 3.0 وكفاتورة للطباعة أو للحفظ بصيغة PDF. الإرسال بالبريد الإلكتروني (كلاهما كمرفق، مع نسخة للمحاسب عند الحاجة)، أو عبر Billit إلى شبكة Peppol (
BILLIT_API_KEY،BILLIT_PARTY_ID)، أو عبر Storecove (STORECOVE_API_KEY،STORECOVE_LEGAL_ENTITY_ID؛ يُحدَّد المستلم من معرّف Peppol للعميل، مثلًا 0208 → BE:EN، 0106 → NL:KVK، وإلا بالبريد الإلكتروني عبر Storecove) أو عبر Banqup من Unifiedpost (BANQUP_CLIENT_ID،BANQUP_CLIENT_SECRET،BANQUP_SPACE_ID؛BANQUP_SANDBOX=1لبيئة الاختبار؛ يتحقق Banqup من ملف UBL ويسلّمه بنفسه)، أو إلى عنوان خاص بك (FACTUUR_HTTP_URL، مثلًا برنامج محاسبة أو خدمة Peppol أخرى) أو التنزيل. فاتورة واحدة لكل إيصال؛ الإيصال مدفوع مسبقًا، لذا "مسدَّدة". رقم KvK/رقم المؤسسة وIBAN ومعرّف Peppol والبادئة وأجل الدفع في بيانات الفاتورة. جميع الفواتير في أسفل التبويب (صلاحية المبيعات حسب الفترة). - المفاتيح والأسرار والترويسات لا تُعرض أبدًا (فقط "مُدخَل"؛ اتركه فارغًا = الإبقاء عليه، مسح = حذف) ولا تُسجَّل في السجل (فقط الحقول التي تغيّرت). وهي محفوظة في قاعدة البيانات (
vestiging.peppol_gegevens): ضمن النسخ الاحتياطية، وليس في تصدير الإعدادات.
كشك الخدمة الذاتية
يطلب الضيوف بأنفسهم على عمود أو جهاز لوحي، كما في مطعم الوجبات السريعة، ويدفعون عند الصندوق أو بالبطاقة عند الكشك. شاشات الطلب جزء من الصندوق نفسه، لذا تأتي القائمة والأسعار والخيارات والوجبات وساعات العروض وفترات اليوم والصور ومسببات الحساسية واللغات والإيصال من الصندوق ولا حاجة لإعدادها في مكان آخر. يعمل على الكشك تطبيق PinPortal Kiosk 2 (أندرويد، ومنه Sunmi، وويندوز ولينكس وmacOS) الذي يعرض الصفحة ويطبع الإيصال. متوقف افتراضيًا.
التفعيل والإعداد (المسؤول): الإعدادات ← المحل ← الشاشات والتشغيل ← كشك الخدمة الذاتية.
- اختر ما يمكن للضيف اختياره: الأكل هنا و/أو للأخذ (للأخذ يُحسب بسعر الأخذ ونسبة الضريبة للأخذ إن كانت مضبوطة).
- نص الترحيب، وبعد كم ثانية دون لمس يعود الكشك إلى البداية (وتُفرغ السلة)، وأي مجموعات منتجات تظهر على الكشك (لا شيء محدد = الكل).
- هل تريد شيئاً آخر؟: حدّد مجموعات منتجات (مثل المشروبات والحلويات)؛ عند السلة يقترح الكشك بعض المنتجات منها.
- الدفع، لكل كشك (انظر إضافة كشك وربطه):
- عند الصندوق (افتراضي، كما في الكشك القديم): يطلب الضيف ويحصل على رقم استلام ويدفع عند الصندوق. لا حاجة لجهاز دفع عند الكشك.
- بالبطاقة عند الكشك: يدفع الضيف على جهاز الدفع بجانب الكشك.
- الضيف يختار: عند الصندوق أو بالبطاقة. إذا لم يكن للكشك جهاز دفع، فالدفع عند الصندوق.
- إلى المطبخ (عند الدفع في الصندوق): فورًا بعد الطلب على الكشك (افتراضي)، أو فقط بعد الدفع عند الصندوق.
- الإيصال: على طابعة الكشك (افتراضي)، أو على طابعة إيصالات الصندوق، أو بدون إيصال (الرقم على الشاشة فقط). عند الدفع في الصندوق يطبع الكشك ورقة بالرقم ولم يُدفع بعد؛ ويأتي الإيصال عند المحاسبة في الصندوق.
- حالة الطلب على الهاتف (اختياري، متوقف افتراضيًا): يظهر رمز QR على إيصال الكشك وعلى الشاشة الأخيرة. يمسحه الضيف ويرى رقمه والحالة (تم الطلب، قيد التحضير، جاهز) ويتلقى إشعارًا عندما يجهز الطلب. يعمل ذلك عبر بوابة الإدارة، لذا يجب أن يكون الصندوق متصلًا بها.
- الكحول والمنتجات بالكيلو لا تظهر أبداً على الكشك: بدون موظفين لا يمكن التحقق من العمر ولا يوجد ميزان.
- ماسح الباركود (اختياري، كل شيء غير مفعّل افتراضيًا): حدّد ما يمكن أن يفعله المسح على الكشك:
- منتج في السلة (الرمز الموجود عند المنتج)؛
- رمز خصم؛
- بطاقة زبون (يجمع الضيف نقاطًا)؛
- قسيمة هدية أو بطاقة رصيد كوسيلة دفع. إن كان الرصيد كافيًا، يُدفع الطلب فورًا. وإلا تدفع القسيمة جزءًا ويدفع الضيف الباقي بالبطاقة أو عند الصندوق (ويجوز ذلك حينها أيضًا على كشك يقبل البطاقة فقط). بعد مثل هذا الدفع الجزئي لا يمكن للضيف الإلغاء؛ ويظهر الطلب في الصندوق باسم Kiosk … · الرقم.
تضبط الماسح نفسه على الكشك: في تطبيق PinPortal Kiosk 2 عبر الإدارة ← ماسح الباركود (كلوحة مفاتيح، أو الماسح المدمج، أو منفذ COM)، مع اختبار الماسح. الماسح الذي يعمل كلوحة مفاتيح يعمل أيضًا بدون التطبيق.
- شحن الرصيد (اختياري، غير مفعّل افتراضيًا؛ يعمل فقط عندما يكون الرصيد القابل للشحن مفعّلًا): عندها يظهر شحن الرصيد على شاشة البداية في الكشك. يمسح الضيف بطاقته أو قسيمته (أو يكتب الرمز)، ويرى الرصيد ويختار مبلغًا. تضبط المبالغ بنفسك (من 1 إلى 6، افتراضيًا € 10 و€ 20 و€ 50). يتم الدفع كما هو مضبوط في الكشك: بالبطاقة، أو عند الصندوق برقم الاستلام. بعد الدفع يُضاف المبلغ إلى الرصيد. هذا الشحن لا يذهب إلى المطبخ، ولا يظهر على شاشة الاستدعاء ولا يحصل على رمز QR. ينطبق هنا أيضًا أعلى رصيد للرصيد القابل للشحن.
- على غرفتي (ربط الفندق، معطّل افتراضيًا؛ الإعدادات → الفندق → الخدمة الذاتية): يظهر عندها عند السلة ضعه على غرفتي. يُدخل نزيل الفندق رقم الغرفة واسم العائلة؛ إذا تطابق ذلك مع نزيل يقيم الآن في تلك الغرفة، يذهب الطلب إلى المطبخ ويُسجَّل مدفوعًا على الغرفة (انظر برنامج الفندق: التسجيل على الغرفة).
- بلجيكا (الصندوق الأسود): ما لم يُختبر بعد مع الصندوق الأسود يكون معطّلًا تلقائيًا على الكشك (قسيمة الهدية أو الرصيد كوسيلة دفع، الشحن، رمز الخصم، القوائم، خيارات بسعر إضافي، الساعة السعيدة)، تمامًا كما في الكاشير.
إضافة كشك وربطه
- في الأكشاك اكتب اسماً (مثلاً كشك المدخل) واختر إضافة كشك. ستحصل على رمز ربط من 6 أرقام (صالح 30 دقيقة).
- اختر عند الكشك طريقة دفع الضيف: افتراضيًا عند الصندوق. إذا كان كشكًا بجهاز دفع، اختر بالبطاقة أو الضيف يختار، واختر جهاز الدفع لهذا الكشك (من الإعدادات ← الدفع).
- افتح صفحة الكشك على الكشك:
- داخل المحل: في التطبيق ضمن الإدارة ← Vast adres العنوان الظاهر عند الإعداد، مثلاً
http://192.168.1.20:3000/kiosk؛ - أو عبر بوابة الإدارة (https، حتى لو لم يكن الكشك في الشبكة نفسها): اربط عنوان الكشك الظاهر عند الإعداد برمز الكشك في التطبيق، كما في الكشك القديم.
- داخل المحل: في التطبيق ضمن الإدارة ← Vast adres العنوان الظاهر عند الإعداد، مثلاً
- أدخل رمز الربط على الكشك. تم: يحفظ الكشك مفتاحه الخاص. اربط من جديد يعطي رمزاً جديداً؛ وإزالة يفك الربط.
يظهر عند كل كشك إن كان متصلاً.
هكذا يطلب الضيف
- شاشة البداية مع نص الترحيب؛ يختار الضيف لغته (كل لغات الكاشير) ويلمس الشاشة للطلب.
- الأكل هنا أو للأخذ.
- القائمة حسب مجموعة المنتجات، مع الصور والسعر (مع الساعة السعيدة) ومسببات الحساسية وما نفد. المنتجات ذات الخيارات أو الوجبة تفتح نافذة الاختيار.
- السلة: تعديل الكميات واختيارياً هل تريد شيئاً آخر؟.
- اطلب (الدفع عند الصندوق): يرى الضيف رقم الاستلام كبيرًا على الشاشة مع المبلغ، ويأخذ الورقة ويدفع عند الصندوق. في الصندوق يكون الطلب مفتوحًا باسم كشك المدخل · 42 (الرقم الذي يذكره الضيف)؛ والمحاسبة كالمعتاد. بعدها يظهر مدفوعًا على شاشة النداء ويذهب إلى المطبخ إن كان ذلك بعد الدفع فقط.
- الدفع بالبطاقة: يرسل الصندوق المبلغ إلى جهاز الدفع لهذا الكشك (نفس ربط الدفع كما في الصندوق). إذا فشل، يمكن للضيف المحاولة مجددًا أو الإلغاء (أو، إن سُمح له بالاختيار، الدفع عند الصندوق). فقط بعد نجاح الدفع يذهب الطلب إلى المطبخ ويُحاسب. يرى الضيف رقم الاستلام كبيرًا على الشاشة ويحصل على الإيصال.
- بعد بضع ثوانٍ يعود الكشك إلى البداية.
عند العطل: تنبيه ووضع الطوارئ (في تطبيق الكشك، الإدارة ← Bij storing؛ مُوقف افتراضيًا). إذا تعذر على الكشك الوصول إلى الصندوق، يظهر Even gesloten. ميزتان إضافيتان:
- Teams أو Slack أو Discord أو ntfy أو Home Assistant أو Make أو Zapier)، ثم hersteld عندما يعمل كل شيء من جديد. باستخدام Testmelding sturen تتحقق من العنوان.
- وضع الطوارئ: يحفظ الكشك قائمة بسيطة تمررها صفحة الكشك: منتجات بدون خيارات أو وجبات مجمّعة، بسعر الأكل هنا (أو سعر السفري إذا كان هو الخيار الوحيد).
- إذا غاب الصندوق لفترة (افتراضيًا 60 ثانية)، يطلب الضيف من هذه القائمة.
- يدفع الضيف بالبطاقة أو عند الكاونتر. الدفع بالبطاقة ممكن فقط إذا كان Pinbetaling مفعّلًا في التطبيق.
- يُطبع إيصالا طوارئ: واحد للضيف (N1، N2 …) وواحد للكاونتر/المطبخ. ومكتوب عليهما أنهما ليسا إيصال صندوق.
- عندما يعود الصندوق، تضع صفحة الكشك طلبات الطوارئ في الصندوق باسم Nood N… <kiosk>. لا تُرسل إلى المطبخ (فقد استلم إيصال الطوارئ مسبقًا) ولا تظهر على شاشة الاستدعاء.
- مدفوع بالبطاقة وبنفس المبلغ الموجود في الصندوق: تتم التسوية كـ دفع بالبطاقة يدويًا. وإلا (الدفع عند الكاونتر أو مبلغ مختلف) يبقى الطلب مفتوحًا لفريق الخدمة.
- كل شيء مسجّل في السجل.
- بلجيكا: مع نظام الكاشير المسجّل (GKS، الصندوق الأسود) يجب أن تمر كل عملية بيع فورًا عبر الصندوق والـFDM. لذلك على الأرجح لا يُسمح بوضع الطوارئ؛ استفسر أولًا. لا يفعّله تطبيق الكشك في بلجيكا إلا بعد تأكيد إضافي، ويعرض الصندوق تحذيرًا عند الكشك.
في الصندوق، طلب الكشك طلب عادي (سفري أو محلي، باسم كشك المدخل) باسم الموظف Kiosk. ينشئه الصندوق بنفسه؛ ولا يمكن لأحد تسجيل الدخول به. لا تجعله غير نشط، وإلا لن يستطيع الكشك الطلب. تظهر طلبات الكشك في التقارير وفي الإيصالات وعلى شاشة النداء. الطلب الذي لا يكتمل على الكشك (لم يُطلب أو لم يُدفع بالبطاقة) ينتهي تلقائيًا بعد 30 دقيقة.
الدفع بالبطاقة في وضع الاختبار (الإعدادات ← الدفع)؟ عندها لا يقبض الكشك فعلاً؛ مفيد للتجربة. بدون إنترنت لا يمكن الدفع بالبطاقة؛ يقول الكشك عندها إنه يمكن الطلب عند الكاونتر.
عطل: إذا تعذر الوصول إلى الصندوق، يعرض تطبيق الكشك "مغلق مؤقتًا" ويستأنف من تلقاء نفسه. إذا كان الكشك يعمل عبر بوابة الإدارة وانقطع الإنترنت، يمكن للتطبيق الرجوع إلى الصندوق في الشبكة المحلية (في التطبيق: الإدارة ← الإضافات ← عند العطل الرجوع إلى الشبكة المحلية)؛ والكشك يمرر ذلك العنوان بنفسه.
التعطيل: يُظهر الكشك أنه مغلق لحظات. تبقى الأكشاك والإعدادات محفوظة. يسجّل السجل التفعيل/التعطيل والإعدادات والأكشاك المضافة والمزالة والربط والطلبات الملغاة.
لوحة القائمة الرقمية
القائمة مع الأسعار على تلفاز (أو شاشة أخرى بها متصفح)، مباشرةً من الصندوق. مُوقفة افتراضيًا؛ تُفعَّل عبر الإعدادات ← المحل ← الشاشات والتشغيل ← لوحة القائمة الرقمية. بعد ذلك افتح على التلفاز http://<kassaserver>:3000/menubord (أو الزر على شاشة مستقلة / على جهاز لوحي أو هاتف مع رمز QR). بدون تسجيل دخول وبدون ربط.
- لكل مجموعة منتجات المنتجات مع أسعارها، بترتيب الصندوق. اختر بنفسك المجموعات (وبأي ترتيب)، ومن 1 إلى 4 أعمدة، داكن أو فاتح، وعنوانًا خاصًا (فارغ = اسم المحل)، وصور المنتجات ومسببات الحساسية.
- صحيح فورًا: تطلب اللوحة القائمة كل 10 ثانية (وفورًا عند أي تغيير)، لذا فإن المنتج الذي نفدت كميته (مشطوب مع نفدت الكمية، أو محذوف من اللوحة)، والمخزون الفارغ، وساعة السعادة (سعر العرض مع السعر العادي مشطوبًا، والاسم ووقت الانتهاء في الأعلى) وفترات اليوم (فقط ما يُباع الآن) تظهر عليها صحيحة تلقائيًا.
- إذا لم يتسع كل شيء على الشاشة، تتناوب الصفحات (افتراضيًا كل 12 ثانية، قابلة للضبط من 5 إلى 120).
الموظفون والرموز السرية
الإعدادات ← الموظفون (المسؤول فقط): إضافة موظفين، وتغيير الاسم والدور والرمز السري، وجعلهم غير نشطين.
- الأدوار: الخدمة (الطلب، الدفع، تقرير X)، والمدير (إضافة إلى ذلك الخصم، والإرجاع، وإغلاق اليوم، ودرج النقود والسجل) والمسؤول (كل شيء، بما فيه كل الإعدادات). هذا هو الافتراضي؛ ويمكن تعديل ما يحق للخدمة والمدير (انظر الصلاحيات حسب الدور).
- الرمز السري من 4 إلى 8 أرقام، فريد بين الموظفين النشطين. تُخزَّن الرموز السرية مشفّرة فقط (hash) في قاعدة البيانات ولا يمكن قراءتها.
- الحذف النهائي غير ممكن (الإيصالات والسجل تشير إلى الموظف)؛ غير نشط = لا يمكنه تسجيل الدخول بعد ذلك.
- يبقى دائمًا مسؤول نشط واحد على الأقل.
- عند تغيير الدور أو الرمز السري أو جعله غير نشط: تُنهى الجلسات الجارية لذلك الموظف فورًا.
- بلجيكا: رقم السجل الوطني اختياريًا لتسجيل الموظفين.
- اللغة: لغة الشاشات لهذا الموظف (أو "لغة الجهاز"). بعد تسجيل الدخول تعمل الكاشيرة مباشرةً بتلك اللغة؛ ويمكن للموظف أيضًا تغييرها بنفسه عبر العلم الصغير في أسفل اليمين (انظر اللغات).
- نصيحة: استبدل الرموز السرية التجريبية 1111 و2222 قبل تشغيل الصندوق فعليًا.
تسجيل الدخول بالبطاقة (اختياري)
مُوقف افتراضيًا. التفعيل: الإعدادات ← الموظفون، خانة تسجيل الدخول بالبطاقة (NFC أو RFID أو iButton). المطلوب: قارئ بطاقات USB يعمل كلوحة مفاتيح (لبطاقات NFC أو RFID، أو الميداليات، أو أساور المعصم، أو مفاتيح iButton). مثل هذا القارئ "يكتب" رقم البطاقة ويضغط Enter؛ ولا حاجة إلى برنامج تشغيل أو ربط.
- الربط: انقر على الموظف، ثم ربط بطاقة وضع البطاقة أمام القارئ. البطاقة تخص موظفًا واحدًا. إزالة البطاقة إذا فُقدت.
- تسجيل الدخول: ضع البطاقة أمام القارئ في شاشة تسجيل الدخول. يبقى الرمز السري يعمل كالمعتاد أيضًا.
- تسجيل الحضور والانصراف (إذا كان مفعّلًا): في شاشة تسجيل الدخول تسجيل الحضور / الانصراف ثم البطاقة أمام القارئ.
- يُخزَّن رقم البطاقة مشفّرًا فقط (hash) في قاعدة البيانات، تمامًا مثل الرمز السري. الموظفون غير النشطين لا يمكنهم تسجيل الدخول حتى ببطاقتهم.
- مُوقف: تسجيل الدخول بالرمز السري فقط، كالمعتاد. تبقى البطاقات المرتبطة محفوظة.
الصلاحيات حسب الدور
الإعدادات ← الصلاحيات (المسؤول فقط): حدّد لكل دور ما يحق للخدمة والمدير. افتراضيًا كل شيء تمامًا كما هو أعلاه (كما كان الصندوق يعمل دائمًا)؛ والخانة المختلفة عن الافتراضي تكون ملوّنة.
| الصلاحية | الخدمة | المدير |
|---|---|---|
| حذف سطور بعد الطلب (إلغاء) | نعم | نعم |
| منح خصم / إزالة خصم | لا | نعم |
| وضع المنتج على "نفد" | نعم | نعم |
| طباعة نسخة من إيصال | نعم | نعم |
| إرجاع (إيصال دائن) | لا | نعم |
| الدفع على الحساب واستلام الدفعات على الحساب (فقط عند تفعيل الدفع على الحساب) | لا | نعم |
| الوضع الحالي (تقرير X) | نعم | نعم |
| إغلاق اليوم (تقرير Z) | لا | نعم |
| المبيعات حسب الفترة | لا | نعم |
| إدارة درج النقود | لا | نعم |
| إدارة قسائم الهدايا (فقط مع قسائم الهدايا برصيد) | لا | نعم |
| قراءة التقييمات والرد عليها (فقط عند تفعيل إدارة التقييمات) | لا | نعم |
| إدارة بطاقة الزبون (فقط عند تفعيل بطاقة الزبون) | لا | نعم |
| عرض السجل | لا | نعم |
| عرض صور الكاميرات (فقط عند تفعيل صور الكاميرات) | لا | نعم |
| إدارة المخزون (فقط عند تفعيل المخزون) | لا | نعم |
| إدارة المنتجات | لا | لا |
| إدارة مخططات الصالة | لا | لا |
| إعداد المحل والدفع والطابعات | لا | لا |
| عرض أوقات العمل وتعديلها | لا | لا |
- يحق لـ المسؤول كل شيء دائمًا. وتغيير الموظفين والصلاحيات يبقى دائمًا للمسؤول وحده (وإلا أمكن لأحدهم أن يمنح نفسه صلاحيات أكثر).
- الأزرار والتبويبات غير المسموح بها لدور ما تكون مخفية عنه؛ ويتحقق خادم الصندوق من ذلك أيضًا. فإذا حصل مدير مثلًا على إدارة المنتجات، يرى زر الإعدادات مع تبويب المنتجات فقط.
- تسري التغييرات فورًا على كل الصناديق وتُسجَّل في السجل. والعودة إلى الافتراضي تعيد كل شيء كما كان.
بيانات المحل
الإعدادات ← المحل (المسؤول فقط): اسم الفرع وعنوانه ورمزه البريدي ومدينته وهاتفه ورقم ضريبة القيمة المضافة. تظهر هذه في أعلى كل إيصال صندوق وفاتورة مبدئية. ويمكن هنا أيضًا ضبط النص أسفل الإيصال (يُسمح بعدة أسطر؛ فارغ = بلا نص؛ افتراضيًا "Bedankt en tot ziens!")، وتحته لغة إيصال الصندوق (افتراضيًا الهولندية؛ انظر اللغات). تتغير معاينة الإيصال مباشرةً. بعد الحفظ يستخدم الإيصال التالي البيانات الجديدة فورًا. أما البلد والبيانات الضريبية (GKS) فلا يمكن تغييرها هنا عن قصد. في بلجيكا رقم ضريبة القيمة المضافة إلزامي. وبعلامة الاختيار تقريب الدفعات النقدية إلى 5 سنت (غير مفعّلة افتراضيًا) يُقرَّب الإجمالي عند الدفع نقدًا (€ 6,62 ← € 6,60، و€ 6,63 ← € 6,65)؛ ويظهر الفرق كـ "تقريب" على الإيصال. البطاقة البنكية تبقى دائمًا بالسنت.
إدارة المنتجات
سجّل الدخول كمسؤول واختر الإعدادات ← المنتجات.
- إضافة مجموعات المنتجات والمنتجات وتعديلها (الاسم، والسعر، والمجموعة، ونسبة الضريبة في المحل وللطلبات الخارجية، والاسم على الإيصال، والرمز، ونفاد الكمية) وحذفها. يمكن أن يكون للمجموعات والمنتجات لون خاص؛ والمنتج الملوّن يحصل على زر ملوّن في شاشة الطلب (النص أبيض أو داكن تلقائيًا لسهولة القراءة).
- تغيير الترتيب بسحب مجموعة أو منتج من ≡. يعمل ذلك بالفأرة وبالإصبع على الجهاز اللوحي. ويظهر هذا الترتيب نفسه بعد ذلك في شاشة الطلب؛ وتتحدّث شاشات الصندوق المفتوحة فورًا.
- الحذف يزيل المنتج من الصندوق، لكن الطلبات القديمة واليومية الضريبية تبقى تعرف المنتج. ولا يمكنك حذف مجموعة إلا إذا كانت فارغة.
- خيارات الاختيار: افتح منتجًا أو مجموعة منتجات وأضف تحت "خيارات الاختيار" مجموعات خيارات، مثل "طريقة الطهي" (واحد بالضبط، إلزامي)، و"الصلصة" (واحد على الأكثر) أو "إضافات" (عدة، مع حد أدنى وحد أقصى؛ حد أقصى فارغ = بلا حدود). لكل خيار اسم وسعر إضافي (يمكن أن يكون سالبًا، مثلًا -0,50). مجموعات الخيارات لمجموعة منتجات تسري على كل منتجات تلك المجموعة، إضافة إلى خيارات المنتج نفسه. الترتيب بـ ▲▼. الحذف ممكن دائمًا: الطلبات والإيصالات الموجودة تحتفظ بالخيارات المختارة بنفسها. ويتحقق الخادم أيضًا من الخيارات الإلزامية والحد الأقصى.
- صورة لكل منتج: انظر صور المنتجات.
- السعر للكيلو ورقم PLU والوزن الفارغ (فقط عند تفعيل الميزان): انظر إعداد الميزان. ودون علامة الاختيار يبقى المنتج بالقطعة كالمعتاد.
صور المنتجات
يمكن أن يحصل كل منتج على صورة.
- إضافة صورة: الإعدادات ← المنتجات ← اختر المنتج ← اختيار صورة (على الجهاز اللوحي أو الهاتف يمكن ذلك مباشرة بالكاميرا أيضًا). تُصغَّر الصورة في المتصفح إلى 512 × 512 بكسل كحد أقصى (JPEG، عادةً 20–80 كيلوبايت) وتُحفظ فورًا؛ وصورة أخرى تستبدلها، وحذف الصورة يزيلها. في قائمة المنتجات تظهر صورة صغيرة قبل الاسم. فقط بصلاحية إدارة المنتجات؛ jpg وpng وwebp، بحد أقصى 512 كيلوبايت.
- العرض يختاره المسؤول في الإعدادات ← المحل ← صور المنتجات، كلٌّ على حدة ومُوقف افتراضيًا:
- صورة المنتج على أزرار شاشة الطلب: الصورة في أعلى زر المنتج، مع الاسم والسعر تحتها.
- صورة المنتج بجانب المنتجات على شاشة الزبون: صورة صغيرة قبل كل سطر على شاشة الزبون (يجب أن تكون شاشة الزبون نفسها مفعّلة أيضًا). المنتجات بلا صورة تبقى كما هي؛ وعند الإيقاف يعمل كل شيء تمامًا كما في السابق.
ماسح الباركود
بماسح باركود على الصندوق تمسح المنتجات ورموز الخصم وبطاقات الزبائن وقسائم الهدايا. التفعيل في الإعدادات ← الماسح (تبويب بجانب الطابعات والميزان؛ افتراضيًا غير مفعّل). حدّد ما يفعله المسح في شاشة الطلب:
- منتج على الإيصال: المنتج بذلك الرمز (الإعدادات ← المنتجات، الحقل الرمز؛ مثل باركود EAN على العبوة). إن كان للمنتج اختيارات أو قائمة وجبات أو سعر بالكيلو، تُفتح أولًا نافذة الاختيار أو الميزان، تمامًا كما عند النقر. وهذا ما يفعله أيضًا المسح في شاشة الطلب في طباعة الملصقات؛ ويستمر في العمل كالمعتاد.
- رمز خصم على الإيصال (إن كانت رموز الخصم مفعّلة).
- بطاقة الزبون: يُضاف الزبون صاحب رقم البطاقة إلى الإيصال (إن كانت بطاقة الزبون مفعّلة). إن مسحت رمزًا غير معروف على إيصال عليه زبون، يسأل الصندوق إن كانت هذه بطاقته الجديدة.
- قسيمة هدية أو بطاقة رصيد: يعرض الصندوق الرصيد (إن كانت قسائم الهدايا برصيد مفعّلة). الدفع يتم عبر الدفع ← قسيمة هدية؛ ويمكنك هناك أيضًا مسح القسيمة.
يبحث الصندوق أولًا في المنتجات، ثم في بطاقات الزبائن وقسائم الهدايا ورموز الخصم. يعمل المسح في شاشة الطلب عندما لا تكون داخل حقل إدخال. داخل حقل إدخال يُكتب الرمز في ذلك الحقل كالمعتاد.
اختبار الماسح: في الإعدادات ← الماسح ترى مع كل مسح الرمز وكيف يفهمه الصندوق، حتى لو كان الماسح غير مفعّل بعد. إن لم يعمل:
- اضبط الماسح على لوحة المفاتيح (USB-HID)، مع Enter بعد الرمز. في معظم الماسحات يكون ذلك مضبوطًا مسبقًا.
- الماسح المدمج (مثل ماسح صندوق Sunmi) تضبطه في إعدادات الماسح في الجهاز على إدخال لوحة المفاتيح.
- ملصقات ميزان TS6X (الوزن والسعر) يتولاها الميزان نفسه، حتى عندما يكون الماسح مفعّلًا.
على الكشك تضبط الماسح بشكل منفصل (الإعدادات ← المحل ← الكشك)؛ انظر كشك الخدمة الذاتية.
طباعة الملصقات
ملصقات منتجات عليها الاسم والسعر وباركود، على طابعة ملصقات (Brother، Dymo، Zebra ...) مثبّتة على الحاسوب أو الجهاز اللوحي. التفعيل في الإعدادات ← المحل ← طباعة الملصقات (افتراضيًا غير مفعّل). هناك تختار أيضًا مقاس الملصق (38 × 25 أو 57 × 32 أو 62 × 29 أو 100 × 50 مم) وما إذا كان السعر والباركود سيظهران عليه. طباعة تجريبية تطبع ملصقًا تجريبيًا واحدًا.
- الإعدادات ← المنتجات ← (المنتج) ← الملصقات: اختر العدد ثم طباعة.
- الشراء ← (طلبية مستلمة) ← طباعة الملصقات: لكل منتج عدد ملصقات بقدر ما وصل (وحدات الطلب المستلمة × العدد في كل وحدة طلب؛ دون المكوّنات). 500 ملصق كحد أقصى في المرة الواحدة.
- يفتح الصندوق نافذة الطباعة: اختر فيها طابعة الملصقات ومقاس ورق اللفافة. كل ملصق صفحة واحدة.
- الباركود هو رمز المنتج (الإعدادات ← المنتجات): 8 أو 13 رقمًا مع رقم تحقق صحيح = EAN (12 رقمًا: يُضاف رقم التحقق)، وإلا Code 128 (حروف وأرقام وعلامات ترقيم، حتى 30 حرفًا). بدون رمز لا يوجد باركود.
- المسح في شاشة الطلب (خانة اختيار، غير مفعّل افتراضيًا): ماسح باركود يعمل كلوحة مفاتيح يضيف المنتج بذلك الرمز، مع الاختيارات المعتادة (الخيارات، الميزان، الحساسية). ليس مع ميزان TS6X، الذي له ملصقاته الخاصة بالوزن والسعر.
- الصلاحية: إدارة المنتجات أو إدارة المخزون.
إعداد الميزان (A&D وAclas وAdam Equipment وAvery Berkel وAvery Weigh-Tronix وBalanzas Marques وBaxtran وBizerba وBrecknell وCAS وDatalogic وDibal وDIGI وDini Argeo وExcell Precision وGram وIshida وKern & Sohn وMettler Toledo وMinebea Intec وOhaus وPrecia Molen وPrecisa وRice Lake وRongta وSartorius وStar Micronics وT-Scale وUWE وWedderburn وWintec وZebra)
تبويب خاص الإعدادات ← الميزان (صلاحية إعداد المحل والدفع والطابعات، افتراضيًا للمسؤول فقط؛ التبويب موجود دائمًا، حتى لو كان الميزان مُوقفًا بعد). مُوقف افتراضيًا: وعندها يعمل الصندوق تمامًا كما في السابق. لا ترى التبويب؟
البحث التلقائي. إذا لم يُضبط شيء بعد، يبحث الصندوق تلقائيًا عند فتح هذا القسم (زر بحث يعيد البحث):
- هل تعمل نقطة البيع (الخادم) نفسها على ميزان Aclas من نوع PC أو بالذكاء الاصطناعي (TS6X, TS3X, TS5EX/NX/GX, iS6X, iS2X, iR6X, Ti6X, iL8X؛ علامة/طراز الجهاز: Windows عبر WMI، وAndroid عبر
getprop، وLinux عبر DMI) وتستجيب Aclas Scale Module؟ عندها يُضبط ذلك الميزان كـ على هذا الجهاز، وميزان الملصقات أيضًا؛ وعلى Linux (بدون Scale Module) يُضاف الميزان المدمج على المنفذ الداخلي الذي عُثر عليه (/dev/ttyS...) باسم "TS6X (ingebouwd)" مع الطراز؛ - هل يوجد OS6X على منفذ COM/USB؟ يُجرَّب كل منفذ بسرعة 9600 و4800 و2400 و19200 baud: أولًا الاستماع لحظة (مستمر)، ثم إرسال
W(Toledo)، وإلا Dialog 06 (9600، و7 بتات بيانات، وتماثل فردي: طلب الحالة).
عند العثور عليه = يُدرج في النموذج مع زر تفعيل واستخدام: ضغطة واحدة ويعمل. (يرسل البحث W إلى كل منفذ COM شاغر؛ والمنفذ المشغول، مثلًا بجهاز الدفع، يُتخطّى.)
جميع موازين Aclas. لكل ميزان تختار الطراز؛ فيعرف الكاشير كيف يمكن توصيله. هناك نوعان:
- على هذا الجهاز (يُضبط مرة واحدة): تعمل نقطة البيع على الميزان (ميزان PC أو بالذكاء الاصطناعي). مع Windows أو Android يزن عبر Aclas Scale Module بدون منفذ أو سرعة أو بروتوكول؛ ومع Linux (بدون Scale Module) عبر المنفذ الداخلي للميزان (عادةً
/dev/ttyS0أو/dev/ttyS1) مع منفذ وسرعة وبروتوكول. يوجد واحد فقط لكل نقطة بيع؛ والبحث يجده تلقائيًا. ميزان PC أو بالذكاء الاصطناعي (TS6X، iS6X ...) يكون دائمًا على هذا الجهاز: يظهر مرة واحدة فقط في القائمة، ولا يمكن بعدها اختيار طرازات PC/AI الأخرى. يمكن لميزان TS6X في مكان آخر من المطعم أن يطبع الملصقات (فعّل عندها مسح الملصقات فقط). - متصلة (عدة في وقت واحد): الميزان متصل بخادم الكاشير بكابل (RS232/USB) أو بلوتوث أو عبر الشبكة. بقدر الحاجة (حتى 8)، ولكل منها اسمه الخاص.
قائمة واحدة، خانتا اختيار. جميع الموازين في قائمة واحدة. لكل ميزان تحدد ما يفعله: الوزن عند الكاشير (يطلب الكاشير الوزن عند الطلب) و/أو مسح الملصقات (يطبع الميزان ملصقًا بباركود يمسحه الكاشير، ويتلقى أرقام PLU من الكاشير). يمكن لميزان حاسوبي أو بالذكاء الاصطناعي مثل TS6X القيام بالأمرين؛ أما ميزان الملصقات LS فالملصقات فقط. يمكن أن تأتي الملصقات من ميزان واحد لكل منشأة.
| الطراز | النوع | التوصيلات | في الكاشير |
|---|---|---|---|
| OS6X | ميزان نقطة البيع | RS232, USB, Bluetooth | متصل، عدة في وقت واحد |
| OS2X | ميزان نقطة البيع | RS232, USB | متصل، عدة في وقت واحد |
| CS6X, CS3X | ميزان كاشير | RS232, USB, Ethernet, wifi | متصل، عدة في وقت واحد |
| TS6X, TS3X, TS5EX, TS5NX, TS5GX | ميزان حاسوبي (ويندوز، أندرويد، لينكس) | RS232, USB, Ethernet, wifi | على هذا الجهاز (1 مرة)، وأيضًا كميزان ملصقات |
| iS6X, iS2X, iR6X, Ti6X, iL8X | ميزان بالذكاء الاصطناعي مع التعرف على المنتجات (ويندوز، أندرويد، لينكس) | RS232, USB, Ethernet, wifi | على هذا الجهاز (1 مرة)، وأيضًا كميزان ملصقات |
| iS5X, OiT2X | ميزان بالذكاء الاصطناعي (لينكس فقط) | RS232, USB, Ethernet | متصل أو كميزان ملصقات |
| LS2S, LS2RX, LS2CX, LS2NX, LS5SX, LS5RX, LS5CX, LS5NX, LS6CX, LS6RX, LS6NX | ميزان الملصقات | RS232, Ethernet, wifi | مسح الملصقات وأرقام PLU |
| PS1CX, PS1DX, PS6CX, PS6DX | ميزان حساب السعر | RS232 | متصل، عدة في وقت واحد |
| PS1BX | ميزان حساب السعر بدون توصيل | لا يوجد | الوزن يدويًا |
| LH15X | ميزان معلق مع طابعة ملصقات | RS232, Ethernet, wifi | متصل أو كميزان ملصقات |
A&D وAdam Equipment وAvery Berkel وAvery Weigh-Tronix وBalanzas Marques وBaxtran وBizerba وBrecknell وCAS وDatalogic وDibal وDIGI وDini Argeo وExcell Precision وGram وIshida وKern & Sohn وMettler Toledo وMinebea Intec وOhaus وPrecia Molen وPrecisa وRice Lake وRongta وSartorius وStar Micronics وT-Scale وUWE وWedderburn وWintec وZebra. أُدرجت الطرازات الشائعة من هذه العلامات التي ثبت كيف تتواصل معها نقطة البيع (قيد الاختبار = البروتوكول غير مذكور حرفيًا في أي مصدر؛ وتختار نقطة البيع الخيار الأرجح). كلها موصولة (عدة موازين معًا) أو كميزان ملصقات تمسح نقطة البيع ملصقه:
| العلامة التجارية | الطراز | النوع | الاتصال | البروتوكول (إعداد المصنع) | في الكاشير |
|---|---|---|---|---|---|
| A&D | EK-i (ومنها EK-610i)، HV-WP | ميزان كاشير (الوزن فقط) | RS232، وEK-i أيضًا عبر USB | مستمر (وضع stream)، 2400 باود، 7E1 | متصل، عدة في وقت واحد |
| Adam Equipment | Swift | ميزان حساب السعر | RS232، USB (اختياري) | مستمر (مستمر إلى الحاسوب)، 9600 8N1 (قيد الاختبار) | متصل، عدة في وقت واحد |
| Avery Berkel | FX110, FX120, FX131 (مدمج مع ماسح ضوئي) | ميزان كاشير | RS232، وFX131 أيضًا عبر USB | Mettler Toledo 82/7 = Toledo 8217 (ترسل نقطة البيع W)، 9600 باود، 7E1 | متصل، عدة في وقت واحد |
| Avery Berkel | FX125 | ميزان حساب السعر | RS232 | Checkout-Dialog 06 (9600، 7O1) | متصل، عدة في وقت واحد |
| Avery Berkel | Xs, XTs, XTi | ميزان الملصقات | Ethernet، Wi-Fi، USB | أرقام PLU خاصة على الميزان | مسح الملصقات |
| Avery Weigh-Tronix | 7820, 7829, ZP900 | ميزان كاشير | RS232، و7820 أيضًا عبر USB، وZP900 أيضًا عبر USB وEthernet | NCI (ترسل نقطة البيع W)، 9600 باود، 7E1 | متصل، عدة في وقت واحد |
| Balanzas Marques | BM1000P TOP | ميزان كاشير (الوزن فقط) | RS232 | METTLER (ترسل نقطة البيع W، Toledo)، 9600 باود، 7E1 | متصل، عدة في وقت واحد |
| Balanzas Marques | BM5 Junior Tower Label, BM500 ETQ | ميزان الملصقات | Ethernet, USB, RS232، وBM500 ETQ أيضًا عبر wifi | أرقام PLU خاصة على الميزان | مسح الملصقات |
| Baxtran | TW, VW, XTA, XTA-P | ميزان حساب السعر | RS232 | Toledo (ترسل نقطة البيع W)، 9600 باود، 7E1 | متصل، عدة في وقت واحد |
| Bizerba | CS 300 (ومدمج أيضًا) | ميزان كاشير | RS232 | Checkout-Dialog 06 (9600، 7O1) | متصل، عدة في وقت واحد |
| Bizerba | K-Class Flex, KH II | ميزان الملصقات | Ethernet | أرقام PLU خاصة على الميزان | مسح الملصقات |
| Brecknell | 6702U, 6710U, 6720U | ميزان كاشير | RS232، USB (منفذ COM افتراضي) | NCI (ترسل نقطة البيع W)، 9600 باود، 7E1 | متصل، عدة في وقت واحد |
| CAS | PD-II, PDN, PDI, PDS-B | ميزان كاشير | RS232، وPDN أيضًا عبر USB وBluetooth، وPDI أيضًا عبر USB | ECR type 2 = Toledo (ترسل نقطة البيع W)، 9600 باود، 7E1 | متصل، عدة في وقت واحد |
| CAS | CL3000, CL5500, CL7200 | ميزان الملصقات | Ethernet, USB, RS232، وCL5500 وCL7200 أيضًا عبر wifi | أرقام PLU خاصة على الميزان | مسح الملصقات |
| Datalogic | Magellan 9300i, 9400i, 9800i (ماسح ضوئي مع ميزان) | ميزان كاشير | RS232 (منفذ وزن منفصل)، USB | Mettler Toledo 8217 (ترسل نقطة البيع W)، 9600 باود، 7E1 | متصل، عدة في وقت واحد |
| Dibal | KS-400, D-POS 400 | ميزان كاشير | RS232، وD-POS 400 أيضًا عبر USB | Checkout-Dialog 06 (9600، 7O1) | متصل، عدة في وقت واحد |
| Dibal | G-325, PI-100 | ميزان حساب السعر | RS232 | Checkout-Dialog 06 (9600، 7O1) | متصل، عدة في وقت واحد |
| Dibal | M-500 (Mistral), D-900, CS-2200 | ميزان الملصقات | Ethernet، Wi-Fi، USB | أرقام PLU خاصة على الميزان | مسح الملصقات |
| DIGI | DS-781 | ميزان حساب السعر | RS232 | DIGI Type B (ترسل نقطة البيع ENQ)، 9600 8N1 | متصل، عدة في وقت واحد |
| DIGI | SM-120, SM-6000 | ميزان الملصقات | Ethernet، Wi-Fi | أرقام PLU خاصة على الميزان | مسح الملصقات |
| Dini Argeo | DFW, DGT, 3590E | ميزان كاشير (الوزن فقط) | RS232, USB, Ethernet، وDFW و3590E أيضًا عبر wifi | مستمر (ST,GS, 0.512,kg)، 9600 8N1 | متصل، عدة في وقت واحد |
| Excell Precision | TPE, AM4, FD4-P, FDP4-P, GE4, GEP4 | ميزان حساب السعر | RS232 | مستمر (ST,GS,+0.876kg)، 9600 8N1 (باستثناء TPE: قيد الاختبار) | متصل، عدة في وقت واحد |
| Gram | XFOC RS, XFOC+ RS, ZFOC RS | ميزان حساب السعر | RS232، USB (كابل من Gram) | Gram (ترسل نقطة البيع ENQ، ثم DC1)، 9600 8N1 (XFOC قيد الاختبار) | متصل، عدة في وقت واحد |
| Ishida | Uni-3, Uni-5, Uni-7, Uni-9 | ميزان الملصقات | Ethernet، Wi-Fi، USB | أرقام PLU خاصة على الميزان | مسح الملصقات |
| Kern & Sohn | RPB, RFC | ميزان حساب السعر | RS232, USB | Checkout-Dialog 06 (Prot = DLG-06، 9600، 7O1) | متصل، عدة في وقت واحد |
| Kern & Sohn | RFE (تسعير)، IFB، EOC | ميزان حساب السعر/ميزان كاشير | RS232 | مستمر، 9600 8N1 | متصل، عدة في وقت واحد |
| Mettler Toledo | Ariva-S | ميزان كاشير | RS232، USB (منفذ COM افتراضي) | Toledo 8217 (ترسل نقطة البيع W)، 9600 باود، 7E1 | متصل، عدة في وقت واحد |
| Mettler Toledo | Viva | ميزان كاشير | RS232 | Toledo 8217، 9600 باود، 7E1 | متصل، عدة في وقت واحد |
| Mettler Toledo | bPlus, UC Evo | ميزان الملصقات | Ethernet، Wi-Fi | أرقام PLU خاصة على الميزان | مسح الملصقات |
| Minebea Intec | Signum, Combics, Midrics, Puro | ميزان كاشير (الوزن فقط) | RS232, USB، وSignum وCombics أيضًا عبر Ethernet | مستمر (SBI، طباعة تلقائية)، 9600 8N1 | متصل، عدة في وقت واحد |
| Ohaus | Aviator 7000 | ميزان حساب السعر | RS232 أو USB | Checkout-Dialog 06 (9600، 7O1) | متصل، عدة في وقت واحد |
| Ohaus | Valor 7000, Ranger 3000, Ranger 4000, Ranger 7000, Defender 3000 | ميزان كاشير (الوزن فقط) | RS232, USB, Ethernet | مستمر (Auto Print Continuous)، 9600 8N1 | متصل، عدة في وقت واحد |
| Precia Molen | DP400 | ميزان كاشير | RS232, USB | Checkout-Dialog 06 (9600، 7O1) | متصل، عدة في وقت واحد |
| Precia Molen | DPOS CR, C 210 B, C 210 C | ميزان حساب السعر | RS232 | Checkout-Dialog 06 (9600، 7O1؛ C 210 قيد الاختبار) | متصل، عدة في وقت واحد |
| Precia Molen | Corail 500 | ميزان الملصقات | Ethernet، Wi-Fi | أرقام PLU خاصة على الميزان | مسح الملصقات |
| Precisa | XB, XT, LS, LX (موازين دقيقة) | ميزان كاشير (الوزن فقط) | RS232، وLS وLX أيضًا عبر USB | مستمر (وضع الطباعة CONTINUOUS)، 9600 8N1 | متصل، عدة في وقت واحد |
| Rice Lake | BenchPro BP-S, BenchPro BP-R | ميزان كاشير | RS232 | BP-S Toledo 8213، BP-R NCI (كلاهما: ترسل نقطة البيع W)، 9600 باود، 7E1 (قيد الاختبار) | متصل، عدة في وقت واحد |
| Rongta | RLS1000, RLS1100 | ميزان الملصقات | Ethernet, RS232, wifi | أرقام PLU خاصة على الميزان | مسح الملصقات |
| Sartorius | Entris, Quintix | ميزان كاشير (الوزن فقط) | RS232, USB | مستمر (SBI، طباعة تلقائية)، 9600 8N1 | متصل، عدة في وقت واحد |
| Star Micronics | mG-T12, mG-T30, mG-T60, mG-S8200 | ميزان كاشير (الوزن فقط) | RS232، USB (منفذ COM افتراضي) | مستمر، 9600 8N1 (قيد الاختبار) | متصل، عدة في وقت واحد |
| T-Scale | PA10, PA15, PEA10 | ميزان الملصقات | Ethernet | أرقام PLU خاصة على الميزان | مسح الملصقات |
| UWE | ASEP | ميزان حساب السعر | RS232 | مستمر، 9600 8N1 (قيد الاختبار) | متصل، عدة في وقت واحد |
| Wedderburn | TSDS983 | ميزان كاشير | RS232 | DIGI Type B (ترسل نقطة البيع ENQ)، 9600 8N1 (قيد الاختبار) | متصل، عدة في وقت واحد |
| Wedderburn | TSDS781T, TSDS782T | ميزان حساب السعر | RS232 | DIGI Type B، 9600 8N1 (قيد الاختبار) | متصل، عدة في وقت واحد |
| Wedderburn | TSSM120 | ميزان الملصقات | Ethernet, RS232 | أرقام PLU خاصة على الميزان | مسح الملصقات |
| Wintec | ScalePOS ACS-S60E (نقطة بيع مع ميزان مدمج) | ميزان كاشير | منفذ COM6 الداخلي (Windows) أو COM4 (Android) | مستمر، 9600 8N1 (قيد الاختبار) | متصل |
| Zebra | MP7000, MP72 (ماسح ضوئي مع ميزان) | ميزان كاشير | RS232 (منفذ AUX) | SASI = Toledo (ترسل نقطة البيع W)، 9600 باود، 7E1 (قيد الاختبار) | متصل، عدة في وقت واحد |
- A&D EK-i وHV-WP: اضبط الميزان على stream (EK-i:
prt 0؛ وفي ضبط المصنع يكون على زر PRINT) ونقطة البيع على مستمر مع 2400 باود و7E1 (وهو ضبط المصنع لدى A&D). الرسالة هيST,+00512.00 g(US= يتحرك،OL= ثقيل جدًا). - Adam Equipment Swift: اضبط الميزان على مستمر إلى الحاسوب (8N1)؛ وتكون نقطة البيع عندئذ على مستمر.
- Avery Berkel FX110 وFX120 وFX131: اختر في الميزان البروتوكول Mettler Toledo 82/7 واضبط نقطة البيع على استعلام (Toledo) مع 7E1 (9600 باود). ويعمل Dialog 06 أيضًا. أما FX125 (مع شاشة سعر) فلا يدعم Toledo: هناك Dialog 06. تضبط نقطة البيع ذلك تلقائيًا عند اختيار الطراز.
- Avery Weigh-Tronix 7820 و7829 وZP900 وBrecknell 6702U و6710U و6720U: NCI، بروتوكول Weigh-Tronix. ترسل نقطة البيع
W(كما مع Toledo)، ويرد الميزان بالوزن (1.234KG) وبسطر حالة يبيّن ما إذا كان يتحرك أو ثقيلًا جدًا أو خفيفًا جدًا. تكون نقطة البيع على استعلام (Toledo) مع 7E1 (9600 باود). يعمل USB كمنفذ COM افتراضي. مع ZP900 اضبط نقطة البيع على المنفذ 2 (NCI). ومع 67xxU يمكن أيضًا ضبط الميزان على 8213 (SCP03). - Balanzas Marques BM1000P TOP: اختر عند منفذ COM البروتوكول B (METTLER) و9600 باود و7 بتات بيانات وتماثل زوجي؛ وتكون نقطة البيع عندئذ على استعلام (Toledo) مع 7E1.
- Baxtran TW وVW وXTA وXTA-P (موازين تسعير؛ VW وXTA-P مع عمود): اختر في قائمة RS232 في الميزان البروتوكول Toledo، و9600 باود و7 بتات بيانات مع تماثل زوجي (7E1)؛ وتكون نقطة البيع عندئذ على استعلام (Toledo) مع 7E1. تضبط نقطة البيع ذلك تلقائيًا عند اختيار الطراز. يعمل CONT (يرسل الميزان بنفسه) أيضًا: اضبط نقطة البيع عندئذ على مستمر بالسرعة نفسها وبتات البيانات نفسها. التوصيل بكابل RS232 (9 أطراف) أو بكابل USB إلى RS232.
- Bizerba CS 300: Checkout-Dialog 06 (مواصفات Bizerba): ترسل نقطة البيع سعر الكيلو ويحسب الميزان المعتمد المبلغ. إذا طلب الميزان رموز التحقق، تحصل عليها من Bizerba أو المورد.
- CAS PD-II وPDN وPDI وPDS-B (يُباع PDS-B مثلًا لدى LRE): اختر في الميزان ECR type 2 (Toledo) واضبط نقطة البيع على استعلام (Toledo) مع 7E1 (9600 باود).
- Datalogic Magellan 9300i و9400i و9800i: اضبط Scale Interface Type لمنفذ الوزن المنفصل على Mettler Toledo 8217 ونقطة البيع على استعلام (Toledo) مع 7E1.
- Dibal KS-400 وD-POS 400 وG-325 وPI-100: اختر في الميزان البروتوكول Checkout_Dialog06 (البروتوكول 24) و9600 باود و7 بتات بيانات وتماثل فردي (نوع المعلمات 5)؛ وتكون نقطة البيع عندئذ على Dialog 06. ويمكن توصيل D-POS 400 أيضًا عبر USB.
- DIGI DS-781: اضبط الميزان على Type B / الأمر القياسي (data transmission
00011)؛ ترسل نقطة البيعENQوتستلم الوزن الصافي والفارغ وسعر الكيلو والمبلغ. - Dini Argeo DFW وDGT و3590E: اضبط المنفذ التسلسلي على الإرسال المستمر (9600 8N1)؛ وتكون نقطة البيع عندئذ على مستمر.
- Excell Precision TPE (والجيل 4 من AM4 وFD4-P وFDP4-P وGE4 وGEP4): اضبط خرج RS232 على مستمر (9600 8N1)؛ وتكون نقطة البيع عندئذ على مستمر.
- Gram XFOC RS وXFOC+ RS وZFOC RS: البروتوكول Gram (9600 8N1). ترسل نقطة البيع
ENQ، فيرد الميزانACK، ثم ترسل نقطة البيعDC1ويرسل الميزان الوزن:SOH STX S/U/F teken gewicht eenheid BCC ETX EOT(S= مستقر،U= يتحرك،F= خطأ؛ BCC = XOR من الحالة حتى الوحدة). التوصيل عبر RS232 أو كابل USB من Gram. - Kern & Sohn RPB وRFC: اضبط على الميزان
Prot = DLG-06(توصيل نقطة البيع هو الخيار 965-419)؛ وتكون نقطة البيع عندئذ على Dialog 06. RFE وIFB وEOC: إرسال مستمر (8N1)، ونقطة البيع على مستمر. - Mettler Toledo Ariva/Viva: اضبط الميزان على بروتوكول Toledo (8217) ونقطة البيع على استعلام (Toledo) مع بتات البيانات / التماثل = 7E1 (Mettler: 9600 باود، 7 بتات بيانات، تماثل زوجي؛ ويمكن توصيل Ariva أيضًا عبر USB كمنفذ COM افتراضي). تضبط نقطة البيع ذلك تلقائيًا عند اختيار الطراز.
- Minebea Intec Signum وCombics وMidrics وPuro وSartorius Entris وQuintix: SBI مع طباعة تلقائية (9600 8N1)؛ وتكون نقطة البيع عندئذ على مستمر. الرسالة هي
N + 0.512 kg؛ وإذا لم تظهر الوحدة فهو لا يزال يتحرك. - Ohaus Aviator 7000: اختر في إعدادات الميزان (الخطوة 20) البروتوكول Dialog 06؛ وتكون نقطة البيع عندئذ على Dialog 06. RS232 أو USB، حسب الكابل.
- Ohaus Valor 7000 وRanger 3000/4000/7000 وDefender 3000 (وزن بدون سعر): اضبط الميزان على Auto Print Continuous (9600 باود، 8N1) ونقطة البيع على مستمر. يرسل الميزان
0.512 kg G؛ وعلامة?بعد الوزن تعني أنه لا يزال يتحرك. ويمكن توصيل Ranger 7000 أيضًا عبر Ethernet (منفذ TCP 9761). - Precia Molen DP400 وDPOS CR وC 210 (موازين التجارة تابعة لـ Dibal منذ 2025): Dialog 06 (9600 7O1)، تمامًا كما مع Dibal. إذا لم يعمل مع C 210، فجرّب استعلام (Toledo) مع 7E1.
- Precisa XB وXT وLS وLX: اضبط وضع الطباعة على CONTINUOUS و9600 8N1، بدون تاريخ ووقت ومعرّف في السطر؛ وتكون نقطة البيع عندئذ على مستمر. إذا لم تظهر الوحدة فالوزن لا يزال يتحرك.
- Rice Lake BenchPro BP-S (Toledo 8213) وBP-R (NCI): تكون نقطة البيع على استعلام (Toledo) مع 7E1.
- Star Micronics mG-T وmG-S8200: عبر RS232 أو USB (منفذ COM افتراضي، مع برنامج تشغيل Star) على مستمر.
- UWE ASEP: RS232 إلى الحاسوب/نقطة البيع، ونقطة البيع على مستمر (قيد الاختبار).
- Wedderburn TSDS983 وTSDS781T وTSDS782T هي موازين DIGI تحت رقم خاص: DIGI (Type B)، تمامًا كما مع DIGI DS-781. إذا لم يعمل ذلك، فجرّب استعلام (Toledo) مع 7E1.
- Wintec ScalePOS ACS-S60E: تعمل نقطة البيع على ScalePOS نفسه؛ والميزان المدمج على COM6 (Windows) أو COM4 (Android)، 9600 8N1. اختر مستمر؛ وإذا لم يرسل شيئًا، يجد بحث البروتوكول الصحيح.
- Zebra MP7000 وMP72: منفذ RS232-AUX مضبوط في المصنع على SASI (9600 7E1، ترسل نقطة البيع
W): اضبط نقطة البيع على استعلام (Toledo) مع 7E1. - موازين الملصقات من هذه العلامات (Avery Berkel وBalanzas Marques وBizerba وCAS وDibal وDIGI وIshida وMettler Toledo وPrecia Molen وRongta وT-Scale وWedderburn) أنظمة مستقلة لها ملف PLU خاص. فعّل مسح الملصقات لهذا الميزان واضبط نفس الباركود كما على الميزان (EAN-13، يبدأ بـ 20–29، PLU والوزن أو السعر). تضبط أرقام PLU على الميزان نفسه أو ببرنامج العلامة التجارية؛ إرسال إلى TS6X وتنزيل ملف PLU متاحان لـ Aclas فقط.
نفس القائمة موجودة في نقطة البيع ضمن الإعدادات → الميزان → كل الموازين (ACLAS_MODELLEN في packages/shared/src/weegschaal.ts، مع العلامة لكل طراز).
أقل قدر ممكن من الإدخال: عند اختيار طراز، تجهّز نقطة البيع الباقي كما تضبطه العلامة في المصنع: الاتصال منفذ COM / USB على أول منفذ متاح، و9600 باود (A&D: 2400) وبروتوكول العلامة (Toledo: Aclas مع 8N1، ومع 7E1 Avery Berkel FX وAvery Weigh-Tronix وBalanzas Marques وBaxtran وBrecknell وCAS وDatalogic وMettler Toledo وRice Lake وZebra؛ Dialog 06: Avery Berkel FX125 وBizerba وDibal وKern & Sohn RPB/RFC وOhaus Aviator وPrecia Molen؛ DIGI Type B: DIGI وWedderburn؛ Gram: Gram؛ مستمر: A&D وAdam Equipment وDini Argeo وExcell Precision وموازين Kern & Sohn الأخرى وMinebea Intec وموازين Ohaus الأخرى وPrecisa وSartorius وStar Micronics وUWE وWintec)، واسمًا (مثل OS6X، OS6X 2). يصبح ميزان PC أو بالذكاء الاصطناعي على هذا الجهاز (مثل TS6X (ingebouwd)؛ وعلى Linux على المنفذ الداخلي /dev/ttyS0). إذا لم يكن شيء صحيحًا، يجد بحث المنفذ والسرعة والبروتوكول الصحيحة.
على هذا الجهاز (Aclas Scale Module): يعرض الميزان الوزن المعتمد؛ يرسل الكاشير سعر الكيلو والفارغ (كفارغ مسبق) ويأخذ المبلغ الذي يحسبه الميزان، تمامًا كما مع Dialog 06.
- Android: تطبيق Aclas AclasScaleDriver (
com.aclas.aclasscaledriver) يكون عادةً مثبتًا على الميزان؛ وإن لم يكن، فثبّتaclas-android/AclasScaleDriver.apk. يتحدث تطبيق HorecaPOS مباشرة مع خدمة ذلك التطبيق، لذا لا حاجة إلى مكتبة إضافية. - Linux: لا توجد لدى Aclas وحدة Scale Module لنظام Linux. اختر الطراز فقط (مثل TS6X): يصبح الاتصال عندها على هذا الجهاز (منفذ داخلي) على
/dev/ttyS0، و9600 باود، وToledo. يكون الميزان المدمج عادةً على/dev/ttyS0أو/dev/ttyS1؛ يجرّبها البحث ويملأ المنفذ والسرعة والبروتوكول الصحيحة. وهنا أيضًا مرة واحدة فقط.
برامج Aclas مضمّنة في نقطة البيع: Scale Module لنظام Windows (aclas-module)، وAclasScaleDriver لنظام Android (aclas-android)، وAclas Sync SDK لنظامي Windows وLinux (aclas-sdk). تسمح لنا Aclas بتضمينها. مثبّتات Windows وLinux تتضمنها؛ لا حاجة لتنزيل أو تثبيت أي شيء على حدة.
بلوتوث (مثلاً OS6X): قم بإقران الميزان أولاً. يحوّله ويندوز إلى منفذ COM (إعدادات البلوتوث ← مزيد من خيارات البلوتوث ← منافذ COM)، ولينكس /dev/rfcomm0: أدخل ذلك المنفذ. في تطبيق أندرويد تُدخل عنوان البلوتوث (00:11:22:AA:BB:CC)؛ يطلب التطبيق مرة واحدة إذنًا لـ الأجهزة القريبة ويتصل عبر Bluetooth SPP.
موازين الذكاء الاصطناعي (التعرف على المنتجات): تتعرف الكاميرا على المنتج في برنامج Aclas على الميزان. يتم الوزن عبر Scale Module (على هذا الجهاز) أو منفذ RS232؛ وتطبع موازين الملصقات بالذكاء الاصطناعي بعد التعرف ملصقًا بباركود يمسحه الكاشير (كما مع TS6X).
Aclas AI Recognition Plugin (ميزان ذكاء اصطناعي يعمل عليه الصندوق، مثل iS6X بنظام Windows): تتعرف إضافة Aclas على المنتج وتكتب الباركود الخاص به في الصندوق، تمامًا مثل الماسح الضوئي (متبوعًا بـ Enter)؛ وتضيف شاشة الطلب المنتج مع الوزن إلى الطلب. طريقة الإعداد:
- فعّل مسح الملصقات للميزان بنفس الباركود المضبوط في الإضافة. يُنصح بما يلي: يبدأ بـ
27، و5 أرقام لـ PLU، ثم الوزن (نوع Aclas 17): عندها يحسب الصندوق بنفسه بالسعر للكيلو. ويمكن أيضًا استخدام السعر (النوع 12، يبدأ بـ22). - أوقف الوزن عند الكاشير لهذا الميزان: لا يمكن للإضافة وScale Module الوصول إلى الميزان في الوقت نفسه. يأتي الوزن من الباركود. إذا استجابت الإضافة عند بحث، يقترح الصندوق هذا الإعداد ولا يشغّل Scale Module. بدون رمز تفعيل تزن الإضافة وتحسب المبلغ، لكنها لا تتعرف على المنتجات.
- في الإضافة نفسها: الباركود في Scale and Barcode Format Settings → Default Barcode Format (النوع 17)، وفي إعدادات النافذة النقطة التي تنقر فيها الإضافة وتكتب الرمز. اختر لذلك مكانًا فارغًا في شاشة الطلب، لا على زر. تعلّم المنشأة الإضافة المنتجات الجديدة بنفسها على الميزان (تدريب AI).
- أعطِ المنتجات الموزونة رقم PLU وأرسل أرقام PLU إلى الميزان (إرسال إلى TS6X أو ملف PLU)؛ تتعرف الإضافة على المنتج برقم PLU.
- لا يسمح الصندوق للإضافة بالتعرف إلا ما دامت شاشة الطلب مفتوحة على الميزان نفسه (
POST /aiplugin/resume، وعند الإغلاق/aiplugin/suspend، المنفذ 5003 على الميزان؛ وفي المرة الأولى أيضًا EmployeeMode: لا تعرض شاشة الزبون في الميزان أي منتجات). على الصناديق والأجهزة اللوحية الأخرى وعبر بوابة الإدارة لا يحدث شيء. - تبدأ الإضافة دائمًا في وضع Resume ولا يمكنها إبلاغ حالتها. لذلك ترسل شاشة الطلب كل 30 ثانية resume من جديد؛ وإذا توقف ذلك (الشاشة مغلقة، أو أُعيد تشغيل الإضافة أو الميزان)، يضع الصندوق الإضافة خلال دقيقة على Suspend ويبقيها هناك.
- تتطلب الإضافة رمز تفعيل من Aclas لكل ميزان (مرتبطًا بالرقم التسلسلي). تعمل حاليًا على Windows؛ وستتبعها نسخة Android من Aclas (والصندوق يفعل هناك الشيء نفسه).
Aclas OS6X (ميزان نقطة البيع عند الكاشير، RS232/USB؛ وتعمل بقية الموازين المتصلة بالطريقة نفسها):
- ميزان واحد أو أكثر (8 كحد أقصى)، لكل منها اسم (مثلًا الكاونتر، البار) واتصال خاص: منفذ COM / USB (
COM3على Windows، و/dev/ttyUSB0على Linux/Android) مع السرعة، أو الشبكة عبر محوّل تسلسلي إلى شبكة (عنوان IP ومنفذ TCP، مثلًا 4001). - البروتوكول: استعلام (Toledo) = ترسل نقطة البيع
Wويرد الميزان بالوزن (Toledo 8217، كما يُضبط OS6X عادةً؛ ورسائل الحالة غير مستقر/تحميل زائد/تحت الصفر أيضًا) أو مستمر = يرسل الميزان الوزن بنفسه باستمرار (ST,GS, 0.512kg،US= غير مستقر) أو Dialog 06 (معاير)، انظر أدناه، أو DIGI (Type B) = ترسل نقطة البيعENQويرد DIGI بالحالة والوزن الصافي والفارغ وسعر الكيلو والمبلغ (37 حرفًا:<status> <toestand> CR 0<netto> CR 4<tarra> CR U<kiloprijs> CR T<bedrag> CR LF؛ بت الحالة 1 = مستقر، بت 2 = تحت الصفر، بت 3 = ثقيل جدًا، بت 4 = خفيف جدًا)، أو Gram = ترسل نقطة البيعENQوتنتظرACKوترسلDC1وتقرأSOH STX <S/U/F> <teken> <gewicht> <eenheid> <BCC> ETX EOT. اضبط نفس البروتوكول والسرعة على الميزان. بتات البيانات / التماثل: 8N1 (Aclas وAdam Equipment وDIGI وDini Argeo وExcell Precision وGram وKern & Sohn وMinebea Intec وOhaus وPrecisa وSartorius وStar Micronics وUWE وWedderburn وWintec) أو 7E1 (A&D وAvery Berkel وAvery Weigh-Tronix وBalanzas Marques وBaxtran وBrecknell وCAS وDatalogic وMettler Toledo 8217 وRice Lake وZebra)؛ وDialog 06 دائمًا 7O1. يقرأ استعلام أيضًا NCI (Avery Weigh-Tronix وBrecknell وRice Lake BP-R): علىWيرد الميزانLF 1.234KG CR LF S00 CR ETX؛ ويبيّن سطر الحالة (S+ 2 أو 3 بايت) ما إذا كان يتحرك (البايت 1 البت 0) أو خفيفًا جدًا (البايت 2 البت 0) أو ثقيلًا جدًا (البايت 2 البت 1)؛^^^^^= ثقيل جدًا،_____= خفيف جدًا. - Dialog 06 (Checkout-Dialog 06، البروتوكول الأوروبي لميزان معاير متصل بصندوق): يرسل الصندوق سعر الكيلو (والوزن الفارغ للمنتج) إلى الميزان؛ يزن الميزان ويحسب المبلغ بنفسه ويعرض سعر الكيلو والوزن والمبلغ على شاشته (المعايرة). يأخذ الصندوق الوزن والمبلغ؛ وفي نافذة الوزن يظهر "محسوب من الميزان". دائمًا 9600 baud، و7 بتات بيانات، وتماثل فردي، و1 بت توقف (السرعة في الإعداد لا تُحتسب حينها). التسلسل:
EOT STX 01 ESC <kiloprijs 6> ESC ETX(مع الوزن الفارغ: السجل03بـ 4 أرقام بالغرام) ← ACK؛ENQ←STX 02 ESC 3 ESC <gram 5> ESC <kiloprijs 6> ESC <bedrag 6> ETX؛ NAK ←EOT STX 08 ETX←STX 09 ESC <code> ETX(22 = غير جاهز بعد، فيُعاد بعد 100 ms؛ 20 = يتحرك؛ 21 = ارفع أولًا؛ 30/31 = خفيف جدًا؛ 32 = ثقيل جدًا؛ 11 = سعر غير صالح). رموز التحقق: كثير من موازين Dialog 06 تطلب من حين لآخر (مثلًا كل 30 عملية وزن) رموز التحقق لبرنامج الصندوق (السجل 11 ← السجل 10). لا تعطي الشركة المصنّعة للميزان هذه الرموز وطريقة حسابها إلا لمورّد الصندوق. أدخلها في رموز التحقق (أزواج من 4 أحرف ست عشرية، مثلًا74AE 1B2C)؛ ويرسلها الصندوق عندما يطلبها الميزان. وإذا كان الميزان يحسب برقم متغيّر (Z) فلا تصلح الرموز الثابتة، وينبّهك الصندوق إلى ذلك؛ اطلب حينها من المورّد ضبط الميزان دون هذا التحقق، أو استخدم Toledo. - الموازين متصلة بالحاسوب أو الجهاز الذي يعمل عليه خادم الصندوق؛ كل الصناديق والأجهزة اللوحية تزن عبر خادم الصندوق وتختار في نافذة الوزن الميزان الذي تستخدمه. اختبار يزن مرة واحدة.
- الشبكة تعمل في كل مكان.
- إدخال الوزن يدويًا أيضًا: مفعّل = يمكن إدخال الوزن يدويًا حتى مع وجود ميزان؛ ودون OS6X يكون ذلك ممكنًا دائمًا.
مسح الملصقات (خانة عند الميزان: Aclas TS6X أو ميزان حاسوبي أو بالذكاء الاصطناعي آخر أو سلسلة LS أو LH15X؛ ميزان + طابعة ملصقات، واحد لكل منشأة):
- عنوان IP: مطلوب فقط لـ Naar TS6X sturen. يعمل الوزن ومسح الملصقات بدونه. إذا كان الكاشير يعمل على TS6X نفسه فاتركه فارغًا: عندها يرسل الكاشير إلى نفسه (127.0.0.1). إذا كان الميزان نفسه يزن أيضًا عند الكاشير، فإن الخانتين عند الميزان نفسه (البحث يضبطه هكذا).
- مسح الملصقات: مسح الملصقات في شاشة الطلبات. اضبط شكل الباركود كما في TS6X: يبدأ بـ (20–29، الافتراضي
28)، وعدد أرقام PLU (4 أو 5 أو 6)، ثم الوزن بالغرام أو السعر بالسنت، مع رقم التحقق (EAN-13). يوجد مثال أسفل الإعداد. - أرقام PLU: في الإعدادات ← المنتجات يحصل المنتج القابل للوزن على سعر للكيلو، وربما وزن فارغ ورقم PLU (فريد). تختار رقم PLU من قائمة (بلا PLU، الرقم الشاغر التالي، رقم آخر…)؛ وعند تحديد السعر للكيلو يكون الرقم الشاغر التالي مُدخلًا مسبقًا. مطلوب فقط لملصقات TS6X ورموز PLU الخاصة به: دون TS6X يمكن أن يبقى بلا PLU.
- الإرسال المباشر يعمل على Windows وLinux؛ على Android وmacOS استخدم ملف PLU. عند التثبيت الأول تحقّق من أسماء حقول ملف PLU والرموز في
aclas-plu.ps1مقابل دليل SDK للميزان المورَّد (مكان واحد للتعديل:ACLAS_PLU_KOLOMMENفيpackages/shared/src/weegschaal.ts).
بوابة الإدارة: يتضمن الإبلاغ إلى البوابة الوظيفة الميزان (A&D وAclas وAdam Equipment وAvery Berkel وAvery Weigh-Tronix وBalanzas Marques وBaxtran وBizerba وBrecknell وCAS وDatalogic وDibal وDIGI وDini Argeo وExcell Precision وGram وIshida وKern & Sohn وMettler Toledo وMinebea Intec وOhaus وPrecia Molen وPrecisa وRice Lake وRongta وSartorius وStar Micronics وT-Scale وUWE وWedderburn وWintec وZebra) مع تشغيل/إيقاف والموازين حسب الطراز (مثل TS6X (op dit apparaat), 2x OS6X, PS1CX, Ariva-S, DS-781, LS6RX, 5 producten per kilo)؛ دون عناوين IP أو منافذ COM أو عناوين بلوتوث.
قانون المعايرة: الميزان الذي تبيع عليه يجب أن يكون معايرًا (الفئة III، مثل OS6X). مع Toledo/المستمر يحتسب الصندوق بالوزن الذي يعطيه الميزان؛ ومع Dialog 06 يحسب الميزان المعاير السعر بنفسه.
الكود: packages/shared/src/weegschaal.ts (البروتوكولات، والملصقات، وملف PLU)، وapps/pos-server/src/lib/weegschaal.ts وroutes/weegschaal.ts؛ والشاشات WeegschaalInstellingen.tsx وWeegDialoog.tsx.
Thuisbezorgd.nl / Takeaway.com
تصل طلبات Thuisbezorgd.nl مباشرة إلى الصندوق، دون طرف وسيط (لا Deliverect ولا HubRise ولا ما شابه): تتواصل JET Connect من Just Eat Takeaway مع بوابة الإدارة لـ Pin Voordeel، ويجلب الصندوق رسائله من هناك.
في بلجيكا تُسمّى المنصة Takeaway.com: الشركة نفسها (Just Eat Takeaway) والربط نفسه. في المنشأة البلجيكية تظهر Takeaway.com بدلًا من Thuisbezorgd.nl في كل مكان: الشاشات والإشعارات وبون المطبخ وبوابة الإدارة. فيما يلي تعني Thuisbezorgd الاثنين معًا.
لماذا عبر البوابة؟ يحتاج الصندوق فقط إلى PORTAAL_URL وPORTAAL_SLEUTEL (انظر بوابة الإدارة) ويقوم بطلبات صادرة فقط.
الإعداد (الإعدادات ← منصات التوصيل ← Thuisbezorgd.nl / Takeaway.com، صلاحية إعداد المحل والدفع والطابعات؛ سابقًا كان هذا في الإعدادات ← المحل):
- فعّل استخدام Thuisbezorgd (يسري فورًا، بمعزل عن الحفظ).
- التسجيل في Thuisbezorgd. بعد ذلك يختار المحل لدى Thuisbezorgd (Partner Hub أو مدير الحساب) OptimumPOS / Pin Voordeel كصندوق. تبدأ JET حينها جلسة تهيئة؛ تبحث البوابة عن الصندوق المسجّل (بالرمز البريدي والاسم، وإلا تربط Pin Voordeel الجلسة يدويًا في البوابة)، وترسل الإعدادات، وتطلب من الصندوق قائمة الطعام. بعد ذلك يصبح الربط فعّالًا.
- حدّد المنتجات القابلة للطلب عبر Thuisbezorgd (حسب المجموعة أو منفردة)، مع وصف لـ Thuisbezorgd عند الحاجة. تُنقل قائمة الطعام (السعر، وخيارات الاختيار كـ modifiers، ومسببات الحساسية، والضريبة) تلقائيًا؛ PLU = معرّف المنتج/الخيار. بعد أي تغيير في الكتالوج يحدّث الصندوق القائمة خلال 30 ثانية؛ أما "نفد"/"متوفر مجددًا" فقط فيمر عبر واجهة API للتوفر.
- أوقات العمل على Thuisbezorgd: منفصلة للتوصيل وللأخذ (مثلًا
16:00-22:00، وعدة فترات مفصولة بفاصلة). تُحفظ بزر حفظ أوقات العمل أسفلها وتُرسل كأوقات خدمة إلى Thuisbezorgd بمجرد جاهزية الربط. - مغلق مؤقتًا / مفتوح مجددًا (في هولندا وبلجيكا يُفتح مجددًا في موعد أقصاه صباح اليوم التالي 07:00).
الطلبات. يصبح الطلب طلبًا عاديًا بلا طاولة (bezorgen أو afhalen، واسم المجموعة TB <ordernummer>) بالأسعار التي دفعها الزبون، إضافة إلى رسوم التوصيل/الخدمة كسطر مستقل وخصم Thuisbezorgd كسطر خصم؛ وإذا لم يتطابق الإجمالي مع ذلك، يُضاف سطر "فرق Thuisbezorgd". يذهب بون المطبخ فورًا إلى المطبخ/البار (يمكن إيقافه). يؤكد الصندوق خلال ثوانٍ للبوابة، التي تُبلغ JET؛ وإذا لم يتم ذلك خلال 3 دقائق أو كان الصندوق غير متصل، تتلقى JET "فشل" ويعود المحل إلى Orderpad.
زر Thuisbezorgd في الشريط العلوي (مع عدد الطلبات الجارية): القائمة، والزبون والعنوان، ووقت الجاهزية/التوصيل والخط الزمني (track & trace): تم الاستلام، المُوصّل في الطريق إلى المحل، المُوصّل في المحل، في الطريق إلى الزبون، تم التوصيل (من JET)، إضافة إلى خطوات خاصة (قيد التحضير، جاهز، في الطريق/تم التوصيل عند التوصيل الذاتي، تم الاستلام). لا توفر JET Connect للصندوق خريطة مباشرة للمُوصّل؛ يراها الزبون في تطبيق Thuisbezorgd. الطلب الجديد والإلغاء و"المُوصّل في المحل" تُظهر شريطًا برتقاليًا وصوتًا. إنهاء (مدفوع عبر الإنترنت) يُتمّ الدفع بطريقة الدفع online؛ وإذا دفع الزبون عند الباب، فادفع بشكل عادي. إلغاء من Thuisbezorgd يُسقط الطلب ويطبع بون مطبخ "مُلغى".
الكود: apps/pos-server/src/lib/thuisbezorgd.ts، routes/thuisbezorgd.ts؛ والشاشات ThuisbezorgdInstellingen.tsx وThuisbezorgd.tsx. جهة البوابة: horecapos-portaal/src/thuisbezorgd.mjs (انظر README البوابة).
العدّ في بوابة الإدارة. يُرسل عدد طلبات Thuisbezorgd اليومية ضمن الإبلاغ إلى بوابة الإدارة (verkoopTelling في lib/portaal.ts): الواردة وغير الملغاة، في يوم ورودها. وطلب Thuisbezorgd الذي يُدفع في الصندوق (بما في ذلك إنهاء (مدفوع عبر الإنترنت)) لا يُحتسب هناك مرة أخرى ضمن الأخذ/التوصيل. بيانات Thuisbezorgd موجودة في قاعدة بيانات الصندوق، وبالتالي تُحفظ تلقائيًا في نسخه الاحتياطية.
المتجر الإلكتروني والطلب عبر الإنترنت
يمكن لكل محل الحصول على متجر إلكتروني خاص: موقع طلبات (وتطبيق) بهوية المحل الخاصة للأخذ والتوصيل والطلب على الطاولة برمز QR والحجز، مع الدفع عبر الإنترنت (MultiSafepay أو Buckaroo) أو الدفع عند الأخذ/التوصيل. المتجر الإلكتروني مشروع منفصل، horecapos-webshop (Node.js، راجع ملف README هناك)، ويعمل على نفس الخادم الذي تعمل عليه بوابة الإدارة.
التفعيل والإعداد يتمّان في إدارة المتجر الإلكتروني: زر إدارة المتجر الإلكتروني في بوابة العملاء (المالك) أو عند التثبيت في بوابة الإدارة (Pin Voordeel). هناك تجد التفعيل/الإيقاف، وعنوان الويب (<zaak>.<webshopdomein> أو نطاق خاص)، والهوية البصرية (الألوان، الشعار، صورة الرأس، الخط)، وأوقات العمل والفترات الزمنية للأخذ والتوصيل، ومنطقة التوصيل (رموز بريدية أو نصف قطر أو منطقة على الخريطة، مع الرسوم والحد الأدنى)، والدفع، وأكواد الخصم، والنصوص، واللغات، ورموز QR للطاولات، والحجز والتطبيق (قابل للتثبيت كـ PWA؛ وتطبيق Android عبر Trusted Web Activity)، والإشعارات الفورية (اختيارية، معطّلة افتراضيًا): يفعّل الزبون الإشعارات في صفحة طلبه ويتلقى إشعارًا فوريًا عندما يكون الطلب جاهزًا أو في الطريق؛ ومن يرغب يتلقى أيضًا عرضًا من حين لآخر، يرسله المحل من إدارة المتجر الإلكتروني (تبويب الإشعارات الفورية). يعمل ذلك على Android والحواسيب (Chrome وEdge وFirefox وSamsung Internet)، وفي تطبيق Android، وعلى iPhone وiPad (iOS 16.4 أو أحدث) إذا أضاف الزبون المتجر الإلكتروني إلى الشاشة الرئيسية. لا تُرسل أي رسالة نصية أو بريد إلكتروني ولا يُحفظ أي اسم أو رقم. التفاصيل في ملف README الخاص بالمتجر الإلكتروني.
القائمة. يرسل الصندوق القائمة تلقائيًا: كل المنتجات النشطة (ليس بالكيلو)، حسب مجموعة المنتجات، مع السعر وخيارات الاختيار ومسببات الحساسية وحالة النفاد وصورة المنتج، إضافة إلى الطاولات وبيانات المحل، وقنوات التسويق المفعّلة (لخانة الاختيار "تلقي العروض" عند الدفع، راجع التسويق بالرسائل القصيرة والبريد الإلكتروني). يحدث ذلك عند التشغيل، وبمجرد تفعيل المتجر الإلكتروني، وخلال 30 ثانية بعد أي تغيير في الكتالوج، وخلال ثوانٍ بعد أي تغيير في الإعدادات ← المحل، مثل التسويق أو بطاقة الزبون (أو عبر إرسال القائمة الآن). يمكن إبعاد منتج عن المتجر الإلكتروني في إدارة المتجر الإلكتروني (إخفاء)، أو في قاعدة البيانات عبر artikel.webshop = false.
الطلبات. يصبح الأخذ والتوصيل طلبًا عاديًا بدون طاولة (اسم المجموعة WEB <bestelnummer>) بالأسعار التي رآها الضيف، إضافة إلى رسوم التوصيل ورسوم المعاملة كسطر مستقل وكود الخصم كسطر خصم؛ وإذا لم يتطابق المجموع رغم ذلك، يُضاف سطر "فرق المتجر الإلكتروني". بقشيش الضيف لا يُحتسب ضمن الإيرادات: يُسجَّل عند الإنهاء (مدفوع عبر الإنترنت) كبقشيش في الدفعة. الطلب على الطاولة (رمز QR) يُضاف إلى الحساب المفتوح لتلك الطاولة (المدفوع عبر الإنترنت: كمجموعة مستقلة على تلك الطاولة). يُرسل بون المطبخ فورًا إلى المطبخ/البار (يمكن إيقافه في نافذة المتجر الإلكتروني). يؤكد الصندوق خلال ثوانٍ مع رقم الإيصال؛ فيرى الضيف "تم الاستلام" ويتلقى بريدًا إلكترونيًا. إذا كان الصندوق غير متصل، فلا يقبل المتجر الإلكتروني طلبات (ويرى الضيف ذلك فورًا) ويراسل المحل بالبريد إذا بقي طلب دون معالجة لمدة طويلة. الحجوزات من المتجر الإلكتروني تظهر في الحجوزات (فقط إذا كان الحجز مفعّلًا في الصندوق). إذا ضُبط حد أقصى لكل فترة زمنية (التوصيل والفترات الزمنية)، تُحتسب فيه طلبات المتجر الإلكتروني التي لها وقت.
بلجيكا (الصندوق الأسود). يُرسل طلب المتجر الإلكتروني فورًا كطلب (signOrder) إلى الصندوق الأسود، قبل بون العمل، تمامًا مثل إرسال الطلب في الكاشير. إذا لم ينجح ذلك، لا يدخل إلى الكاشير ويعيد المتجر الإلكتروني إرساله لاحقًا. ما لم يُختبر بعد مع الصندوق الأسود يكون معطّلًا في قائمة المتجر الإلكتروني (قسائم الهدايا، رموز الخصم، على الحساب، على الغرفة، القوائم، خيارات بسعر إضافي، الساعة السعيدة والبقشيش) ويُرفض إذا أرسله متجر إلكتروني قديم رغم ذلك. إنهاء يتحقق من البقشيش والدفع على الحساب وعلى الغرفة كما في الكاشير.
على الغرفة (ربط الفندق، الإعدادات → الفندق → الخدمة الذاتية → في المتجر الإلكتروني): تحصل القائمة على kamer: { maxBedrag }؛ ويرسل المتجر الإلكتروني betaling.wijze = "kamer" مع kamer وachternaam. يتحقق الكاشير من النزيل لدى برنامج الفندق (ليس على الطاولة، وليس مع قسيمة هدية) ويحفظه مع الطلب؛ إنهاء (على الغرفة) يحاسب على الغرفة ويسجّل الإيصال على حساب الفندق. الفاتورة المجمّعة عند الدفع على الحساب: يبقى الإيصال عندها بندًا مفتوحًا.
زر المتجر الإلكتروني في الشريط العلوي (مع عدد الطلبات الجارية): القائمة، الزبون والعنوان، الوقت المطلوب أو "في أقرب وقت ممكن"، طريقة الدفع والخط الزمني. يرى الضيف الخطوات قيد التحضير وجاهز وفي الطريق مباشرة في المتجر الإلكتروني (وعبر البريد الإلكتروني، إذا رغب المحل في ذلك). الدفع في الصندوق = مكتمل؛ إلغاء يلغي فقط أسطر طلب المتجر الإلكتروني هذا، ويطبع بون مطبخ "ملغى"، والطلب المدفوع عبر الإنترنت يُعيد المتجر الإلكتروني مبلغه. حالة وصل أو لم يحضر أو أُلغي في الحجز تُرسل أيضًا إلى المتجر الإلكتروني. الطلب أو الحجز الجديد يُظهر شريطًا برتقاليًا ويُصدر صوتًا.
الكود: apps/pos-server/src/lib/webshop.ts، routes/webshop.ts؛ الشاشة Webshop.tsx. جهة البوابة: horecapos-portaal/src/webshop.mjs.
الصندوق والمتجر الإلكتروني متطابقان (يُفعَّل كل جزء على حدة، غير مفعّل افتراضيًا؛ المتجر الإلكتروني الأقدم يتجاهل الحقول الجديدة). ما هو مفعّل في الصندوق يعمل أيضًا في المتجر الإلكتروني:
- ساعة السعادة: يحتسب المتجر الإلكتروني السعر نفسه الذي يحتسبه الصندوق في تلك اللحظة (مع السعر العادي مشطوبًا واسم ساعة السعادة)، حتى مع موسم.
- فترات اليوم ونوع الطلب (إذا كانت مفعّلة): يعرض المتجر الإلكتروني ما يُباع الآن فقط، وعند الأخذ والتوصيل سعر ومنتجات ذلك الاختيار (على الطاولة: في المحل). تحصل القائمة لكل منتج على
prijzen(afhalen،bezorgen) وnietBij، وعلى القائمةdagdelen. - الوجبات المجمّعة: يختار الضيف الأطباق (الثابتة والاختيارية، مع خياراتها)؛ وفي الصندوق تظهر كسطر وجبة تحته الأطباق مع توزيع سعر الوجبة (فتكون ضريبة القيمة المضافة لكل طبق صحيحة). الأطباق التي تنتمي إلى وجبة فقط تُرسل كـ
menuArtikelen. متجر إلكتروني قديم بدون اختيارات: تظهر الوجبة كمنتج عادي على الإيصال، كما في السابق. - نفاد المخزون = نفدت الكمية، وكذلك الخيارات التي تحتوي على مكوّن نفد.
- مسببات الحساسية: مُوقفة في الصندوق = لا تظهر في المتجر الإلكتروني.
- بطاقة الزبون: يمكن للضيف عند الدفع أن يجمع النقاط (برقم الهاتف أو البريد الإلكتروني)؛ يربط الصندوق الزبون بالطلب، وتُضاف النقاط عند الدفع (الاستبدال يتم في المحل). يعرض المتجر الإلكتروني الرصيد.
- قسائم الهدايا (الإعدادات → المحل → قسائم الهدايا → بيع قسائم الهدايا في المتجر الإلكتروني، بالرصيد فقط): يشتري الضيف قسيمة ويدفع عبر الإنترنت؛ ينشئ الصندوق القسيمة وتكون فعّالة فورًا، ويعود الرمز عبر البوابة إلى المتجر الإلكتروني (الحالة والبريد). وإذا كانت قسيمة هدية كطريقة دفع مفعّلة أيضًا، يمكن للضيف عند الأخذ أن يختار "بقسيمة هدية في المحل".
- رموز الخصم (الإعدادات → رموز الخصم، مع المفتاح في المحل): لكل رمز في الصندوق و/أو في المتجر الإلكتروني؛ ويُحتسب الاستخدام للاثنين معًا.
- الإيقاف المؤقت والازدحام: زر المتجر الإلكتروني في الشريط العلوي: إيقاف المتجر الإلكتروني مؤقتًا (مع نص للضيف) وازدحام (دقائق إضافية). يصل إلى المتجر الإلكتروني خلال ثوانٍ قليلة.
- الحجز عبر الإنترنت وفق قواعد الصندوق (الإعدادات → المحل → الحجوزات): الحد الأقصى للأشخاص، الأيام مسبقًا، الفترة الزمنية، الحد الأدنى مسبقًا والأوقات لكل يوم من أيام الأسبوع.
- التوصيل والفترات الزمنية: انظر المتجر الإلكتروني يتبع الصندوق في التوصيل والفترات الزمنية.
- All-you-can-eat على الطاولة (الإعدادات ← المحل ← All-you-can-eat ← أيضًا عند الطلب على الطاولة عبر رمز QR): إذا كانت هناك باقة جارية على الطاولة، يرى الضيف الأطباق التابعة لها على أنها مشمولة بسعر € 0، مع الجولات والحد الأقصى لكل شخص ووقت الانتظار والحد الزمني. الباقي يدفعه كالمعتاد؛ ويُضاف كل شيء إلى حساب الطاولة. إذا تغيّر وضع الطاولة للتو، يرفض الصندوق الطلب ويطلب الضيف من جديد.
- على الحساب (الإعدادات ← الفواتير ← الدفع على الحساب ← أيضًا في المتجر الإلكتروني): انظر في المتجر الإلكتروني ضمن الدفع على الحساب.
- التسجيل في قائمة الانتظار عبر الإنترنت (الإعدادات ← المحل ← قائمة الانتظار): انظر التسجيل في قائمة الانتظار عبر الإنترنت ضمن قائمة انتظار للزبائن بدون حجز.
- البيع الإضافي (Upsell): "هل تريد شيئاً آخر؟" (اختياري، مُوقف افتراضيًا؛ الإعدادات ← المحل ← الدفع ← البيع الإضافي (Upsell) في المتجر الإلكتروني): اختر مجموعات المنتجات (مثل المشروبات والصلصات والحلويات) وعدد الاقتراحات. عندها تظهر في المتجر الإلكتروني عند السلة وعند الدفع منتجات من تلك المجموعات ليست في السلة بعد (فقط ما هو معروض للبيع الآن، غير نافد وبدون خيارات إلزامية)؛ يضيفها الضيف بنقرة واحدة. لا مجموعات مختارة = مُوقف، كما في السابق. للكشك بيع إضافي خاص به (انظر كشك الخدمة الذاتية).
لهذا الغرض تحمل قائمة المتجر الإلكتروني versie: 2 مع الحقول menuArtikelen, allergenenAan, happyhours, menus, klantenkaart, cadeaubon, kortingscodes, pauze, drukteMin, volgt, bezetting, reserveren.online, ayce, opRekening, wachtlijst وupsell. ويتضمن التأكيد المرسل إلى البوابة أيضًا cadeaubonnen (الرموز) وklant (النقاط) وplek (قائمة الانتظار).
العدّ في بوابة الإدارة. يُحتسب الأخذ والتوصيل عبر المتجر الإلكتروني بشكل منفصل (webshop، webshopGeannuleerd في verkoopTelling)، في يوم الورود، ولا يُحتسب مرة أخرى ضمن الأخذ/التوصيل. الطلب على الطاولة يُحتسب عاديًا ضمن الطاولة.
الدفع بالبطاقة وأجهزة الدفع
الإعدادات ← الدفع (المسؤول فقط):
- أجهزة الدفع: لكل جهاز اسم، ومعرّف الجهاز، ومفتاح API الخاص من PinPortal (Klant ← Bewerk klant ← Overige ← API Keys). بعد الحفظ لا يظهر من المفتاح إلا نهايته؛ ولا يعود إلى المتصفح أبدًا. وبـ اختبار الاتصال تتحقق من المفتاح والجهاز.
- وضع الاختبار: يحاكي جهاز دفع (ينجح بعد ±7 ث؛ والمبلغ الذي ينتهي بـ 13 سنت يُرفض). مفيد للاختبار دون جهاز دفع.
إذا وُجد جهاز دفع واحد على الأقل بمفتاح API (أو كان وضع الاختبار مفعّلًا)، يبدأ الدفع ← بطاقة بنكية / Bancontact الدفع تلقائيًا على الجهاز، بالمبلغ الذي يحسبه الخادم.
ما دام الربط مفعّلًا، يقبل الخادم "بطاقة بنكية" فقط مع دفعة ناجحة على الجهاز لذلك الطلب وذلك المبلغ بالضبط. تُرسل الطلبات كنموذج عادي كما في PHP-SDK الرسمية، مع واجهة API الاحتياطية (api-backup.pinvandaag.com) إذا لم تستجب الواجهة الرئيسية. كل رد من الواجهة يظهر مع [pin] في نافذة الخادم، وهذا مفيد عند الأعطال. والدفعة الناجحة التي لم تُعالَج بعد (مثلًا بسبب انطفاء الجهاز اللوحي) يُعثر عليها عند الدفع التالي لذلك الطلب.
البقشيش (بطاقة بنكية، نقدًا وقسيمة هدية)
في شاشة الدفع يوجد بجانب كل طريقة دفع صف من أزرار البقشيش: لا شيء، و5%، و10%، و15% (مقرّبة للأعلى إلى 10 سنت)، وتقريب (إلى اليورو الكامل التالي) ومبلغ آخر. بالبطاقة البنكية يدفع الزبون المبلغ + البقشيش دفعة واحدة على الجهاز؛ ونقدًا يُحتسب البقشيش في الباقي وفي درج النقود. على الإيصال يظهر المبلغ المدفوع بالبطاقة مع "منها بقشيش" تحته؛ ويبقى الإجمالي والضريبة كما هما، لأن البقشيش ليس مبيعات. يظهر البقشيش في تقرير X/Z لكل طريقة دفع وكـ "إجمالي البقشيش".
يضبط المسؤول أزرار البقشيش في الإعدادات ← المحل ← بقشيش: تشغيل/إيقاف، وأي نسب مئوية (4 كحد أقصى، مثلًا "5، 10، 15")، وهل يظهر زر "تقريب"، ومع أي طرق دفع (بطاقة بنكية، نقدًا، قسيمة هدية) يمكن إعطاء البقشيش. و"لا شيء" و"مبلغ آخر" موجودان دائمًا.
"اجعلها …" موجود دائمًا، مع كل طريقة دفع، حتى لو كانت أزرار البقشيش مُوقفة (بلا إعداد): يقرّب الزبون الحساب بنفسه للأعلى والفرق بقشيش. توجد أزرار باليورو الكامل التالي والمبالغ المستديرة التالية (مثلًا € 28,00 ← 29، 30، 40؛ € 44,00 ← 45، 50، 60) وإجمالي آخر لكتابة الإجمالي بنفسك. الضغط مرة أخرى على الزر المختار = بلا تقريب. بقشيش € 500 كحد أقصى (الحد نفسه في خادم الصندوق).
لا يوجد إنترنت
يعمل الصندوق في الشبكة المحلية ولا يحتاج إلى إنترنت؛ فقط الدفع بالبطاقة عبر الربط يحتاج إليه. إذا لم يكن لدى المحل إنترنت، يظهر في الشريط العلوي لا إنترنت · بطاقة بنكية يدويًا (يُفحص كل دقيقة). وفي شاشة الدفع يظهر حينها، وكذلك بعد فشل البدء على الجهاز، زر تم الدفع مسبقًا على الجهاز: ادفع المبلغ على الجهاز نفسه وسجّله بهذا الزر.
مخططات الصالة والطاولات
الإعدادات ← مخططات الصالة (المسؤول فقط):
- إضافة مخططات الصالة (مثل القاعة، والتراس، والبيت الزجاجي)، وإعادة تسميتها، وحذفها، وتغيير ترتيبها بـ ◀ ▶.
- أضف الطاولات بالأزرار فوق الشبكة (دائرية، مربعة، مستطيلة، طاولة وقوف) واسحبها بالفأرة أو بالإصبع إلى مكانها. والزاوية الزرقاء للطاولة المختارة تكبّرها أو تصغّرها.
- لكل طاولة اضبط الاسم/الرقم، وعدد الأشخاص (الكراسي حول الطاولة تُحتسب) والشكل؛ ويمكن نسخها أو حذفها.
- بلوحة المفاتيح: الأسهم للتحريك (Shift = خطوة أكبر)، وDelete للحذف.
- لا تسري التغييرات إلا بعد حفظ؛ و"تراجع" يعيد كل شيء.
- لا يمكن حذف طاولة أو مخطط صالة عليه طلب مفتوح. والطاولات المحذوفة تبقى محفوظة في الطلبات القديمة.
نقل الإعدادات إلى محل ثانٍ
الإعدادات ← استيراد/تصدير (المسؤول فقط). إذا أعددت محلًا واحدًا بالكامل، فصدّر الإعدادات إلى ملف .json واستورده في صندوق المحل الثاني. يمكن الاختيار لكل جزء:
- المنتجات: المجموعات، المنتجات، الأسعار (أيضًا حسب نوع الطلب)، ضريبة القيمة المضافة، الخيارات، الوجبات المجمّعة، ساعات السعادة (مع الموسم)، فترات اليوم، مسببات الحساسية، المكونات/الوصفات، بطاقات الطوابع، عروض all-you-can-eat وصور المنتجات.
- مخططات الصالة: القاعات والطاولات.
- إعدادات أخرى: كل خيارات المحل، والطابعات (دون عنوان IP)، والصلاحيات حسب الدور، والمحاسبة.
لا تُنقل أبدًا: اسم المحل وعنوانه ورمزه البريدي ومدينته وهاتفه وبريده الإلكتروني ورقم ضريبة القيمة المضافة وسطر ختام الإيصال، والبريد الإلكتروني لتقرير Z، وأجهزة الدفع ومفاتيحها، والموظفون ورموزهم السرية، وكل المبيعات والإيصالات والزبائن وكميات المخزون.
الاستيراد محمي بشدة: تحذير أحمر كبير، وعلامة اختيار "أفهم..."، وإدخال الرمز السري الخاص بالمسؤول مجددًا، وعدم وجود طلبات مفتوحة، والبلد نفسه (نسب الضريبة)، ونسخة احتياطية تلقائية مسبقًا. يتم الاستيراد في معاملة واحدة: إذا حدث خطأ، لا يتغير شيء. المنتجات والمجموعات والمكوّنات والطاولات الموجودة لا تُمسح بل تُزال من الصندوق (كما عند الحذف)، كي تبقى الإيصالات والتقارير القديمة صحيحة.
الاستيراد من صندوق آخر
انتقل دون إعادة كتابة كل شيء. متاح دائمًا (بدون مفتاح تشغيل): في الإعدادات ← استيراد/تصدير (للمسؤول فقط) يوجد قسم الاستيراد من صندوق آخر.
- ماذا: المنتجات (الاسم، السعر شامل الضريبة، الضريبة، المجموعة، الرمز/PLU، المخزون) أو زبائن بطاقة الزبون (الاسم، الهاتف، البريد الإلكتروني، النقاط، العنوان، الرمز البريدي، المدينة؛ يُدمج الاسم الأول واسم العائلة).
- الملف: ملف تصدير من صندوقك السابق (Dobizzz/DoPos، Lightspeed، MplusKASSA، unTill، Tebi ...) أو قائمة خاصة بك: CSV (; , علامة الجدولة أو |؛ UTF-8 أو Excel الهولندي) أو Excel (.xlsx)، الورقة الأولى، مع أسماء الأعمدة في السطر الأول. احفظ ملف .xls القديم أولًا بصيغة .xlsx أو CSV.
- المعاينة: يتعرّف الصندوق على الأعمدة من أسمائها (Omschrijving، Verkoopprijs incl. BTW، BTW %، Omzetgroep، Artikelnummer، GSM، Spaarpunten ...) ويعرض أول 10 سطر. إذا كان عمود ما غير صحيح، فاختره بنفسك. لا يتغير شيء إلا عند استيراد.
- المنتجات: الأسعار بصيغة 3,50 أو € 3,50 أو 1.234,50؛ والضريبة بصيغة 21 أو 9% أو 0,09 أو مرتفعة أو منخفضة (غير معروفة أو فارغة: النسبة التي تختارها، افتراضيًا الأعلى). تُنشأ مجموعات المنتجات غير الموجودة بعد (دون مجموعة: "مستورد").
- المخزون (العمود Voorraad أو Stock أو Aantal ...): إذا كان تتبّع المخزون مفعّلًا (الإعدادات ← المحل)، يتتبّع المنتج المخزون ويصبح المخزون هذه الكمية (جرد في سجل المخزون، السبب "مستورد"). فارغ: يبقى المخزون كما هو.
- ملف نموذجي (CSV): قائمة لتملأها بنفسك (Naam;Productgroep;Prijs;Btw;Voorraad;Code)، مثلًا في Excel.
- الزبائن: تُضاف النقاط كتصحيح "مستورد من صندوق آخر" (ظاهر في السجل التاريخي). موافقة الرسائل القصيرة أو البريد لا تُنقل (GDPR): تطلبها من جديد. فعّل بطاقة الزبون أولًا.
- المنتجات الموجودة (نفس الرمز، أو نفس الاسم دون رمز) والزبائن (نفس الهاتف أو البريد الإلكتروني) يتم تخطيهم، أو تحديثهم إذا حددت ذلك (للمنتجات: الاسم والسعر والضريبة والمجموعة والمخزون). الأسطر المكررة في الملف تؤخذ مرة واحدة.
- في النهاية: عدد الجديد والمحدَّث والمتخطّى، مع ما لم يكن صحيحًا في كل سطر (مثلًا لا يوجد سعر). بحد أقصى 5000 سطر في كل مرة. يظهر في السجل باسم "تم استيراد الإعدادات".
اللغات (42، منها التركية والعربية والدارجة والأمازيغية والبولندية والبلغارية والمجرية والروسية والصربية والألبانية والفارسية والتغرينية والأمهرية والصومالية والبابيامنتو والسرانانتونغو والهندية والأردية والإندونيسية والفيتنامية والسريانية الآرامية والصينية والأوكرانية)
بجانب زر © في أسفل اليمين يوجد في كل شاشة زر صغير للغة (مثلًا NL والعلم الصغير). اضغط عليه لفتح قائمة الاختيار: اللغات مرتبة أبجديًا، مع الاسم باللغة نفسها قبل العلم: Bahasa Indonesia (الإندونيسية)، Čeština (التشيكية)، Darija (العربية المغربية بالحرف اللاتيني)، Deutsch، English، Español، Français، Hrvatski (الكرواتية)، Italiano، Kurdî (Kurmancî)، Latviešu (اللاتفية)، Lietuvių (الليتوانية)، Magyar (المجرية)، Nederlands، Papiamentu (البابيامنتو)، Polski، Português، Română، Shqip (الألبانية)، Slovenčina (السلوفاكية)، Soomaali (الصومالية)، Sranantongo، Srpski (الصربية، بالحرف اللاتيني)، Tarifit (الأمازيغية الريفية)، Tiếng Việt (الفيتنامية)، Türkçe، ثم بالحرف الكيريلي Български (البلغارية)، Русский (الروسية) و Українська (الأوكرانية)، ثم اللغات المكتوبة بالحرف العربي: اردو (الأردية)، الدارجة (العربية المغربية)، العربية، دری (الدارية)، فارسی (الفارسية، فارسي)، پښتو (البشتو) وکوردی (سۆرانی) (الكردية السورانية)، ثم بالحرف السرياني ܣܘܪܝܝܐ (السريانية الآرامية، سورويو)، ثم بالحرف الديفاناغاري हिन्दी (الهندية)، ثم بالحرف الجعزي ትግርኛ (التغرينية) و አማርኛ (الأمهرية)، ثم بحرف تيفيناغ ⵜⴰⵎⴰⵣⵉⵖⵜ (تمازيغت، الأمازيغية)، وأخيرًا 中文(简体)(الصينية، الكتابة المبسّطة). تُترجم كل الشاشات والأزرار والتنبيهات ورسائل الخطأ من خادم الصندوق.
- حسب الموظف: تُحفظ اللغة المختارة لدى الموظف المسجّل الدخول (
gebruiker.taal). وإذا سجّل أحدهم الدخول بلغة أخرى، يتحوّل الصندوق فورًا. ويتذكر الجهاز نفسه آخر لغة استُخدمت، كي تظهر شاشة الرمز السري أيضًا بتلك اللغة. إذا اخترت لغة (في شاشة الرمز السري أو بعد تسجيل الدخول) وسجّلت الدخول (مجددًا) خلال 10 دقائق، فإن هذا الاختيار يُقدَّم ويصبح لغة ذلك الموظف. التبديل يعيد تحميل الشاشة؛ وتبقى مسجّل الدخول ويبقى الحساب المفتوح مفتوحًا. - أول مرة على جهاز: إذا لم تُحدَّد لغة بعد على جهاز لوحي أو حاسوب، يبدأ الصندوق باللغة التي اختيرت عند التثبيت. وإذا لم تُختر لغة، فبلغة الجهاز نفسه (المتصفح أو نظام التشغيل، وكذلك في تطبيق Android)، وإن لم تكن من بينها فبالهولندية. بعد ذلك يتذكر كل جهاز اختياره.
- أوروبا الشرقية: البولندية والتشيكية والسلوفاكية والمجرية والرومانية والبلغارية والكرواتية (وتصلح أيضًا للبوسنية) والليتوانية واللاتفية والأوكرانية والروسية: لغات معظم العمال المهاجرين من وسط وشرق أوروبا في هولندا وبلجيكا.
- البلقان: الصربية (بالحرف اللاتيني، كما يكتبها معظم الصرب في هولندا وبلجيكا؛ وتصلح أيضًا للمونتينيغرية) والألبانية (ألبانيا وكوسوفو ومقدونيا الشمالية).
- القرن الأفريقي: التغرينية (إريتريا) والأمهرية (إثيوبيا)، وكلتاهما بالحرف الجعزي، والصومالية (بالحرف اللاتيني).
- إيران: الفارسية (فارسي). الجهاز المضبوط على فارسية أفغانستان (fa-AF) يحصل على الدارية، والباقي على الفارسية.
- هولندا الكاريبية وسورينام: البابيامنتو (Papiamentu، بإملاء كوراساو وبونير؛ وتُستخدم أيضًا لأروبا) والسرانانتونغو.
- آسيا: الهندية (بالحرف الديفاناغاري؛ وتُستخدم أيضًا للسرنامي الهندوستانية)، والأردية (من اليمين إلى اليسار)، والإندونيسية والفيتنامية (بالحرف اللاتيني، وعلى الإيصال أيضًا).
- المغربية: الدارجة (العربية المغربية، لغة الحديث اليومي) بالحرف العربي وبالحرف اللاتيني أيضًا (كما يكتبها كثير من الهولنديين المغاربة في الرسائل)، إلى جانب العربية الفصحى. الأمازيغية: تاريفيت (الريفية، بالحرف اللاتيني؛ فمعظم الهولنديين المغاربة أصلهم من الريف) والأمازيغية المغربية المعيارية (تمازيغت) بحرف تيفيناغ.
- من اليمين إلى اليسار: العربية (العربية الفصحى)، والأردية، والدارجة بالحرف العربي، والدارية والبشتو (أفغانستان) والفارسية (فارسي، إيران) والكردية السورانية (العراق/إيران) والسريانية الآرامية (سورويو، بالحرف السرياني). تبقى المبالغ والرموز ومفاتيح الأرقام من اليسار إلى اليمين. والكردية الكرمانجية (تركيا/سوريا) مكتوبة بالحرف اللاتيني.
- بون المطبخ (المطبخ/البار): افتراضيًا بـلغة الموظف الذي يرسل الطلب. ويمكن أيضًا لكل طابعة في الإعدادات ← الطابعات ← لغة بون المطبخ اختيار لغة ثابتة (مثلًا لغة الطاهي)، بالحرف اللاتيني: Nederlands، Čeština، Darija، Deutsch، English، Español، Français، Hrvatski، Italiano، Kurdî، Latviešu، Lietuvių، Magyar، Papiamentu، Polski، Português، Română، Shqip، Slovenčina، Soomaali، Sranantongo، Srpski، Tarifit، Tiếng Việt، Bahasa Indonesia أو Türkçe. تأتي البلغارية والروسية والأوكرانية على بون المطبخ بنقحرة لاتينية (طابعة الإيصالات لا تعرف الحرف الكيريلي). لا يمكن طباعة الحرف العربي والسرياني والديفاناغاري والجعزي وتيفيناغ والصينية على طابعة الإيصالات: عندئذٍ تأتي الدارجة بالحرف اللاتيني، والأمازيغية (تمازيغت) بالريفية (تاريفيت)، والباقي بالهولندية. تُترجم النصوص الثابتة (TAFEL، Gang، WACHT op afroep، AFROEP GANG، LATER GEPRINT، Afhalen، Balie)؛ وتبقى أسماء المنتجات والملاحظات كما أُدخلت. الطابعات التي كانت مضبوطة على الهولندية تتبع لغة الموظف.
- إيصال الصندوق (لجميع الزبائن): افتراضيًا بالهولندية، بمعزل عن لغة الشاشات. تختار لغة أخرى في الإعدادات ← المحل ← لغة إيصال الصندوق (تحت النص أسفل الإيصال مباشرةً)، واللغات المكتوبة بالحرف اللاتيني فقط. وينطبق ذلك أيضًا على الفاتورة المبدئية وإيصال الإرجاع والنسخة وقسيمة الهدية والإيصال المرسل بالبريد الإلكتروني. تبقى المبالغ ورموز الضريبة ورقم ضريبة القيمة المضافة للمحل والأسطر الضريبية (بلجيكا) كما هي؛ أما النص الخاص أسفل الإيصال فيبقى كما يكتبه المحل.
- المنتجات والمجموعات والخيارات تحمل الأسماء التي يُدخلها المحل؛ ولا تُترجم.
- يمكنك أيضًا ضبط اللغة لكل موظف من الإعدادات → الموظفون.
- المقدمة والدليل متوفران أيضًا بكل هذه اللغات. عبر زر © يُفتحان بلغة الكاشيرة؛ وفي الأعلى تختار لغة أخرى بالأعلام (وهذا لا يغيّر شيئًا في الكاشيرة).
للمطوّرين: كل نص ظاهر موجود في الكود كـ vt('Nederlandse tekst') (apps/pos-web/lib/i18n.ts)؛ والنص الهولندي هو المفتاح. الترجمات موجودة في apps/pos-web/lib/vertalingen/<taal>.ts. إذا غابت ترجمة، يعرض الصندوق النص الهولندي؛ ويتحقق الاختبار i18n (pos-web) من أن كل نص مترجم في كل لغة وأن مواضع {0} صحيحة. تبقى رسائل خادم الصندوق بالهولندية وتُترجم في المتصفح (بما في ذلك مع {0}، مثل اسم منتج في الرسالة).
إعداد الطابعات
الصندوق الجديد بلا طابعات. سجّل الدخول كمسؤول (تجريبي: 1111) واختر الإعدادات في الشريط العلوي.
- الطابعات: أضف عدد الطابعات التي يملكها المحل (مثلًا الصندوق، والمطبخ، والبار، والبيتزا)، لكل منها اتصال (عادةً الشبكة: عنوان IP والمنفذ 9100) وعرض الورق. وبـ إيصال تجريبي تتحقق من أنها تعمل. في الأعلى تختار الطابعة التي تطبع الإيصال والفاتورة المبدئية (وتفتح درج النقود). ولكل طابعة تختار أيضًا لغة بون المطبخ (انظر اللغات)؛ ويبقى إيصال الصندوق بالهولندية.
- الاتصال لكل طابعة:
- الشبكة (عنوان IP): عنوان IP والمنفذ (عادةً 9100). هكذا كان يعمل دائمًا، وهكذا سيستمر: الطابعات الموجودة مضبوطة تلقائيًا على الشبكة.
- USB: على Linux الجهاز، مثلًا
/dev/usb/lp0. على Android طابعة USB المتصلة بالجهاز (كابل OTG؛ فارغ = أول طابعة USB). على Windows وmacOS اختر طابعة النظام. - تسلسلي (COM / ttyUSB): منفذ COM (Windows)، أو
/dev/ttyUSB0أو/dev/ttyS0(Linux، Android) أو/dev/cu.…(macOS)، مع السرعة (عادةً 9600 أو 19200 أو 38400 baud). وأيضًا لطابعة Bluetooth يربطها Windows أو Linux كمنفذ COM أو/dev/rfcomm0. - Bluetooth: في تطبيق HorecaPOS على Android، مع عنوان Bluetooth للطابعة المقترنة (مثلًا طابعة إيصالات محمولة). اربط الطابعة أولًا في إعدادات Bluetooth في Android.
- طابعة النظام (Windows / CUPS): الطابعة كما يعرفها Windows أو CUPS (Linux، macOS)، ببرنامج التشغيل الخاص بها أو كـ Generic / Text Only. يُرسَل الإيصال خامًا (RAW) إلى الطابعة، دون تنسيق من برنامج التشغيل.
- مدمجة (Sunmi, iMin ...): الطابعة الموجودة داخل صندوق Android نفسه.
- بحث يعرض الطابعات والمنافذ التي يراها الصندوق. اختر واحدة فيُملأ العنوان تلقائيًا.
- البروتوكول: ESC/POS (تقريبًا كل طابعات الإيصالات، ومنها طابعات Star في وضع ESC/POS) أو Star (Star Line Mode). مع Star يحوّل الصندوق الإيصال بنفسه؛ ويبدو الإيصال كما هو.
- شاشة خدمة ذات طابعة خاصة: يمكن لشاشة خدمة بنظام Android عليها تطبيق HorecaPOS (مثلًا جهاز يدوي مع طابعة Bluetooth محمولة، أو جهاز Sunmi كشاشة خدمة) أن تطبع بنفسها. سجّلها على الجهاز نفسه (الإعدادات → الطابعات → شاشات الخدمة ذات طابعة خاصة) واختر في الطابعة متصلة بـ. تجلب شاشة الخدمة إيصالاتها من الصندوق؛ اترك التطبيق مفتوحًا عليها. وإذا تعذّر ذلك (التطبيق مغلق، أو خارج نطاق wifi)، يدخل بون المطبخ قائمة انتظار الطباعة، تمامًا كما مع طابعة شبكة مطفأة. إلغاء تسجيل الجهاز يعيد الطابعات إلى الصندوق نفسه.
- الطابعة حسب المجموعة / المنتج: اختر لكل مجموعة أصناف الطابعة التي يُطبع عليها بون المطبخ. ولكل منتج يمكنك تجاوز ذلك بطابعة خاصة أو "بلا بون المطبخ".
تُدمج المنتجات المتماثلة عند الطباعة: مرتان 1x Cola تصبح 2x Cola، على بون المطبخ وعلى إيصال الصندوق. فقط المنتجات ذات الخيارات والملاحظة نفسها تُدمج.
يضيف مثبّت Linux مستخدم الصندوق إلى المجموعتين lp وdialout، حتى يتمكن الصندوق من استخدام طابعات USB والطابعات التسلسلية.
تحتاج إلى مساعدة؟
Optimum POS · 085 560 00 60 · support@optimumpos.nl · الإثنين–الجمعة 9:00–20:00، السبت–الأحد 14:00–20:00