مطعم يعمل ببرمجياته الخاصة
مطعم الصافي يدير صالته بالكامل — الطلبات والمدفوعات والإيصالات — على منصته الخاصة: لا وسيط يقتطع عمولة في المنتصف، وبما يرضي مصلحة الضرائب الألمانية قبل طباعة أول إيصال.

السؤال الذي يحمله كل زائر فعليًا، مُجابٌ عنه قبل أن يُمرِّر الشاشة: مفتوح الآن، ومواعيد المطبخ، وطاولة أو طلب على بُعد نقرة واحدة. القائمة كاملة، قابلة للتصفية بحسب الحساسية أو النظام الغذائي، وكل طبق يحمل حروف حساسياته لا حاشية لا يقرأها أحد. سلة حقيقية في منتصف الطلب — مشروب مقترح لا مفروض، ورسوم التوصيل والضريبة معلنة قبل الدفع لا مكتشفة في النهاية. حجز طاولة يطلب اسمًا ورقم هاتف وعدد الأشخاص — لا شيء يتردد الضيف في تسليمه. أرقام المالك نفسه، لا نموذج تجريبي: مشاهدات الصفحات والإيرادات ومتوسط قيمة الطلب والتحويلات خلال المدة المختارة. الخط الذي يرسمه النظام لنفسه: هذه الصفحة تحسب الطلبات لأغراض التخطيط، وتقول صراحةً إنها ليست الرقم الضريبي — ذلك يعيش في تقرير Z. شاشة تصدير DSFinV-K، تستشهد بالمادة القانونية التي وُجدت لتلبيتها. كل عملية تصدير مسجَّلة، حتى المرفوضة منها. الحالة الخاصة بجهاز التوقيع نفسه: أي وحدة توقّع، تجريبيًا أو فعليًا، وما الذي يقيّده الاحتفاظ لعشر سنوات فعلًا. طابور الطلبات الحي — توصيل، وتناول في المطعم، واستلام من المحل، واستلام من السيارة، في مسار واحد، ولكل طلب حالته الخاصة. لوحة المطبخ نفسها: ثلاثة أعمدة، وبنود التذاكر بحجم يُقرأ من عبر خط طهي مزدحم تحت ضغط الوقت. تعليم طبق كمنتهٍ نقرة واحدة ويسري فورًا — دون إعادة نشر، والأسعار والصور كما هي. أكثر من مئة طبق ومشروب في جدول واحد، الألمانية والإنجليزية جنبًا إلى جنب، وتفعيل كل صنف على حدة. أقسام القائمة نفسها، تُعاد ترتيبها بالسحب. والترتيب هنا هو ما يراه الضيف. مجموعات إضافات بقواعد اختيار حقيقية — حد أدنى وأقصى مفروضان على كل مجموعة، لا مجرد خيارات معروضة. كل طبق مُراجَع مقابل الحساسيات الأربع عشرة المنظَّمة أوروبيًا كلها في شبكة واحدة، لا مئة تعديل منفصل. بيانات تقييمات Google نفسها داخل لوحة الإدارة: توزيع التقييمات، وأيها ما زال بحاجة إلى رد. نمط المحرر ثنائي اللغة نفسه الذي يستخدمه هذا الموقع في مواضع أخرى: كل نص، بالألمانية والإنجليزية، في مكان واحد. صلاحيات مبنية على الأدوار حتى تفاصيل من يستطيع تسجيل الدخول وبأي صفة — فحساب المالك ليس حساب موظف الصالة. نشرة أسبوعية تُجمَّع من عروض الغداء والفعاليات الفعلية لذلك الأسبوع، لا مكتوبة من صفحة فارغة.
- القطاع
- الضيافة
- السوق
ألمانيا
- سنة التسليم
- ٢٠٢٦
الصافي مطعم عائلي عراقي-شامي في شارع هيرتز بمدينة هايدلبرغ. قبل هذا، كان الطلب يمر عبر منصة وساطة: عمولة على كل طبق، وعلاقة مع العميل يملكها طرف آخر، ومطبخ يقرأ التذاكر من نظام لم يخترْه أحد فيه.
أما اليوم فهم يعملون بأنفسهم.
ماذا يعني "النظام كاملًا"
قاعدة شفرة واحدة تؤدي أربع مهام مختلفة، ولكل واحدة منها شخص مختلف على الطرف الآخر.
- الضيف الذي يقرر إن كان سيأتي. القائمة، وعروض الغداء، والقصة، ومواعيد العمل، والتقييمات، بتصميم يبدأ من الهاتف، لأن هكذا يتحقق الناس إن كان المطعم يستحق المسير إليه.
- الضيف الذي يطلب. مسار طلب بخيارات وإضافات، ثم إتمام الطلب، ودفع عبر Stripe، وإكراميات، وتتبّع مباشر للطلب بوقت وصول حقيقي. هذا مسار المال، وقد بُني ليزيل القلق لا ليضخّم السلة.
- الضيف صاحب الحساب. استخدام نادر ومخاطرته عالية: يدخل، ينجز، يخرج.
- من يديرون الخدمة. ستة وستون شاشة للموظفين، وشاشة مطبخ تُقرأ من بعيد وتحت ضغط الوقت، وواجهات الطباعة التي تستخدمها الصالة فعليًا.
ويُثبَّت من المتصفح على الهاتف أو اللوح أو الماك أو حاسوب ويندوز أو لينكس. قاعدة شفرة واحدة، بلا متجر تطبيقات، وبلا نسخ منفصلة يجب إبقاؤها متوافقة.
القائمة قاعدة بيانات، لا ملف PDF
مئة وثلاثة أطباق موزّعة على خمس عشرة فئة، لكل طبق أحجامه وأسعاره، ومجموعات خياراته التي يختار منها الضيف فعلًا: الحجم، والطبق الجانبي، وطريقة الطهي. المطبخ يحرّر ذلك كله، ولا أحد يعيد رسم مستند.
وتحت كل طبق يقع الجزء الذي يعني القانون الألماني. أربعة عشر مُسبِّبًا للحساسية وفق تنظيم الاتحاد الأوروبي، وستة عشر إقرارًا للمضافات الغذائية، مسجَّلة لكل طبق لا لكل قائمة، ومقابَلة بالمصفوفة نفسها التي يطبخ منها المطبخ لا بملف لا يتذكر أحد تحديثه. ويستطيع الضيف استبعاد مُسبِّب حساسية بعينه، أو تصفية القائمة كلها إلى نباتي أو نباتي صرف أو حلال، قبل أن يلتزم بالطلب لا بعده.
ولعروض الغداء دورتها الخاصة بأطباقها وأسبوعها. والطبق الذي ينفد يُرفع من القائمة بنقرة واحدة ويعود لحظة توفره — يراه الضيف وتراه نقطة البيع، دون أن يحتاج أحد إلى تذكير الآخر.
الطلب والدفع ومعرفة أين وصل الطلب
التوصيل مرسوم مناطقَ لا نصفَ قطر، لأن الشارع إما يصله الطعام ساخنًا وإما لا. والاستلام من المطعم خيار أول لا بديل احتياطي. الضيف العائد تُحفظ عناوينه، والضيف الجديد لا يُلزَم بفتح حساب ليأكل، وله أن يضم الطلب إلى حساب لاحقًا إن أراد الاحتفاظ بسجله.
الدفع عبر Stripe، والإكرامية بند مستقل لا رقم مذاب في الإجمالي. وبعد تسجيل الطلب يحصل الضيف على حالة مباشرة بوقت وصول حقيقي، وإشعارًا فوريًا — إن أذن به — كلما غيّر المطبخ الحالة، فلا يجلس أحد يحدّث الصفحة ليعرف إن كان العشاء في طريقه.
أما المبالغ المستردة فهي ما يجب أن يصحّ من المرة الأولى. يُكتب سجل الاسترداد قبل مناداة Stripe، ويكون معرّفه نفسه مفتاح عدم التكرار، فلا تؤدي إعادة محاولة أو نقرة مزدوجة أو انقطاع اتصال إلى ردّ المبلغ مرتين. وإجمالي المسترد للطلب مشتق من تلك السجلات لا مكتوب يدويًا في أي مكان.
الصالة كما هي فعلًا
مخطط الصالة داخل النظام: موقعان، وواحد وعشرون قسمًا، وثلاثمئة وثلاث وخمسون طاولة. والحجوزات تقع على طاولات حقيقية لا على سعة مجردة، وهذا هو الفرق بين نظام حجوزات وجدول بيانات بنموذج أجمل.
الصالة، ومن يقف فيها
الأجهزة تُقرن بالنظام بدل أن يُوثق بها لمجرد وجودها على الشبكة: نقطة البيع وهواتف النُّدُل وشاشة المطبخ، لكل منها رمز جهاز، وتُخزَّن رموز الاقتران والأجهزة كبصمات لا يستطيع أي عميل قراءتها. ويسجّل الموظفون الدخول برمز سري مُعمّى بـ bcrypt مع إيقاف بعد محاولات فاشلة متكررة، لأن نقطة البيع في ذروة الخدمة هي أقل لوحات المفاتيح خصوصية في المبنى.
والأدوار حقيقية: حساب المالك وحساب الصالة ليسا البابَ نفسه. وشاشة المطبخ تعرض تذاكر بحجم يُقرأ من وراء خط ساخن، لا لوحة معلومات مضغوطة لتناسب الشاشة.
ساعات العمل، محفوظة كما يريدها القانون
جدول المناوبات يفصل مسودة المدير عمّا أُبلغ به الفريق فعلًا، فالمناوبة إما منشورة وإما لا. وإلى جانبه سجل وقت العمل الذي يطلبه قانون ساعات العمل الألماني: البداية والنهاية والمدة والاستراحة، محفوظة سنتين.
والتصحيح هو الجزء اللافت. تعديل وقت لا يمحوه: يبقى الأصل إلى جانب الجديد، ومعه اسم من عدّله وسببه. فالسجل الذي يمكن إعادة كتابته بصمت ليس سجلًا، والمدقّق يعرف ذلك.
الجزء الذي تتجاوزه أغلب الشركات بصمت
ألمانيا لا تسمح للمطعم بأن يتقاضى المال ببساطة. كل معاملة يجب أن تُوقَّع عبر جهاز أمان تقني معتمد، ويحق لمصلحة الضرائب طلب تصدير DSFinV-K يغطي عشر سنوات من النشاط.
وهذا مبنيّ في صميم النظام. تتصل المنصة بمزوّد TSE معتمد من BSI، وتبني المخطط الضريبي من المواصفة المنشورة لا من الذاكرة، وتُصدِّر حزمة DSFinV-K كاملة عند الطلب — مع سجل تدقيق يبيّن من صدّر أي فترة، ومتى، وبصمة ما استلمه بالضبط.
وبقية الصورة الضريبية موجودة لأن المفتش سيسأل عنها. كل يوم يُغلق في كشف حساب صندوق يحمل رقم Z ينتمي إليه كل تعامل في النظام. وحركات النقد التي ليست مبيعات — رصيد الافتتاح والإيداعات والسحوبات والتحويلات وفروق العدّ والإكراميات والتأمينات والقسائم — تُسجَّل نوعًا قائمًا بذاته لا تُهرَّب إلى الإيرادات. وحين يتعطل جهاز TSE نفسه، يُوثَّق العطل بوقته وسببه ويُؤشَّر على أي إيصال صدر خلاله، وهو ما يطلبه تطبيق قانون الضرائب الألماني بالضبط، وما لا يتذكر أحد بناءه.
والبيع الموقَّع لا يمكن حذفه لعشر سنوات، لذا كُتبت الشفرة التي تنتجه ليقرأها مدقّق، لا لتجتاز اختبارًا فحسب.
ونؤدي العمل نفسه في مصر مع منظومة الفاتورة الإلكترونية، وفي السعودية مع هيئة الزكاة والضريبة والجمارك. تختلف الدول، ولا يختلف الانضباط.
لا شيء يحدث لطلب دون اسم عليه
لكل طلب سجل أحداث لا يقبل إلا الإضافة، ولا تكتبه الجهة التي تصادف أنها تمسك الاتصال. كل حدث يسجّل من تصرّف، وبأي دور، ومن أي واجهة، ولماذا: تغيير حالة من شاشة المطبخ، وتعديل من المكتب، واسترداد مرفق بسببه.
وجدول الطلبات نفسه للقراءة فقط من واجهة الإدارة. كل كتابة تمر عبر دالة على الخادم، لأنها الجهة الوحيدة القادرة على إثبات هوية من يتصرف. والكتابة المباشرة في الجدول ستُسجَّل بوصفها فعل النظام، و"النظام فعلها" ليست إجابة يرغب أحد في تقديمها لمفتش ضرائب.
تسويق المطعم بيد المطعم
محتوى الموقع — الواجهة والقصة والمعرض والفعاليات — يُحرَّر في الإدارة نفسها، ثم يُنشر مهمةً لا تعديلًا مباشرًا، فلا تكون جملة نصف مكتوبة على بعد تحديث واحد من الضيف.
وحوله كل ما يستأجره المطعم عادة: مدونة، وإعلانات وظائف بطلبات توظيف، وملاحظات الضيوف، وتذاكر الدعم، وروابط قصيرة قابلة للتتبع للمطبوعات ورموز QR حتى يمكن تمييز منشور ورقي عن بطاقة طاولة. وتقييمات جوجل تُزامَن إلى الإدارة نفسها التي تعيش فيها التصديرات الضريبية. وتُجمَّع نشرة أسبوعية من عروض غداء ذلك الأسبوع فعلًا لا من فراغ، باشتراك مزدوج التأكيد، وإلغاء بنقرة واحدة، وسجل إرسال.
ومن أراد إنسانًا وجده: محادثة مباشرة بمؤشر كتابة ورسائل صوتية، تُحفظ محادثةً لا تذكرة.
تحليلات لا تبيع الضيوف
يرى المطعم كيف كان يومه: الإيرادات، وعدد الطلبات، ومتوسط قيمة الطلب، وأي طبق ينال أكبر اهتمام، وأي الساعات مزدحمة بتوقيته هو، ومن أين تأتي الزيارات، وأين تتحول الزيارة إلى شيء.
ولا شيء من ذلك مشترى من طرف ثالث، ولا شيء منه يتعقب أحدًا. يُحصى الزوار الفريدون ببصمات مملّحة قصيرة العمر تُمحى بعد يومين، وتأتي الدول من الحافة لا من أداة تتبع. ولا تُجلب خطوط ولا أيقونات ولا سكربتات من خادم أحد آخر. وهذا قرار يتعلق باللائحة العامة لحماية البيانات وبأمن المحتوى قبل أن يتعلق بالأداء، ومعناه أن ضيفًا يقرأ قائمة طعام لا يُعرَّف بشبكة إعلانات في صمت.
ولوحة المعلومات ترسم حدّها بعناية: تعدّ الطلبات للتخطيط وتقول ذلك صراحة، لأن الرقم المُلزِم قانونًا يعيش في تقرير Z لا هنا.
ثلاث لغات، والعربية كما ينبغي
الألمانية هي الأصل. والإنجليزية والعربية تصدران لكل نص دون استثناء، والعربية بدعم كامل للاتجاه من اليمين إلى اليسار: تخطيط معكوس، وخصائص منطقية، وعائلة خطوط خاصة بها. لا ترجمة مركّبة في النهاية، وهذا هو الفرق بين موقع يستطيع المتحدث بالعربية استخدامه وآخر يستطيع قراءته فحسب.
ولا يُعدّ شيء منجزًا حتى يثبت في الوضعين الفاتح والداكن، ومن اليمين إلى اليسار ومن اليسار إلى اليمين، ومن هاتف عرضه 375 بكسل إلى شاشة مكتبية.
مبنيّ ليُفحَص
أربعمئة وستة وستون ملف اختبار. وإتاحة الوصول مُتحقَّق منها بفحوص آلية لا بالنظر. ومعيار WCAG AA بوصفه قيدًا لا طموحًا، مع أهداف لمس بمقاس 44 بكسل واحترام تفضيل تقليل الحركة في كل مكان.
ثمن ألا تملك هذا
منصة الوساطة تستطيع نسخ قائمة الطعام. لكنها لا تستطيع نسخ كرم العائلة، ولن تعيد إليك علاقتك بعميلك. وقد حوكم كل قرار في هذا البناء بسؤال واحد: هل كانت منصة وساطة ستفعلها هكذا؟ وحيثما كان الجواب نعم، فعلنا شيئًا آخر.
في هذه الصفحة
وما الذي يجب أن يفعله نظامك؟
ثلاثون دقيقة مع المهندس الذي سيبنيه، لا مع مندوب مبيعات. إجابات صريحة عن النطاق والتكلفة وموضع الخطر الحقيقي.