HandyCafe Docs
owner cashier

محفظة العضو

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

البنية القائمة على الأرصدة

تستخدم المحفظة نظام أرصدة بدلًا من رصيد تشغيلي واحد. في كل مرة تُضاف فيها أموال إلى محفظة العضو يُنشئ النظام رصيد محفظة جديد. كل إدخال رصيد هو سجل فردي برصيده الخاص ومصدره وتاريخ انتهائه وقيد جهازه. يوفر هذا التصميم:

  • تتبعًا كاملًا لمصدر كل وحدة من الرصيد.
  • تواريخ انتهاء مستقلة لكل إدخال رصيد.
  • قيود خاصة بالأجهزة (بعض الأرصدة قد تكون قابلة للاستخدام فقط على الأجهزة وأخرى فقط على وحدات التحكم).
  • فصل واضح بين الأموال المدفوعة والمكافآت الترويجية.

إجمالي رصيد محفظة العضو هو مجموع القيم المتبقية عبر جميع إدخالات الأرصدة النشطة.

أنواع الأرصدة

لكل رصيد محفظة نوع رصيد يحدد كيفية دخول الأموال إلى النظام:

نوع الرصيد الوصف
مدفوع دفع العضو مقابل هذه الأموال (نقدي أو بطاقة أو طريقة دفع أخرى). يُنشأ عند شراء باقة حملة مالية.
مكافأة أموال ترويجية مُنحت كجزء من شراء باقة. على سبيل المثال "ادفع مقابل 100 دقيقة واحصل على رصيد مكافأة بقيمة 20 دقيقة".
يدوي محمّل يدويًا من قبل كاشير أو مسؤول. يُستخدم لأرصدة المجاملة أو الترتيبات الخاصة.
تصحيح تعديل إداري لإصلاح خطأ في رصيد العضو.
ترحيل أموال مُستوردة من نظام سابق أثناء ترحيل البيانات.
استرداد معكوس أموال أُعيدت عند عكس استرداد صدر سابقًا.

يُعيَّن نوع الرصيد عند إنشائه ولا يمكن تغييره بعد ذلك. يُشكّل مسار تدقيق دائم.

حالات الرصيد

يمرّ كل رصيد محفظة بدورة حياة تُتتبّع بحالته:

  • نشط: الرصيد يحتوي على أموال متبقية ولم ينتهِ صلاحيته. يمكن استهلاك الأموال من هذا الرصيد.
  • منتهي الصلاحية: تجاوز تاريخ انتهاء الرصيد. أي أموال متبقية لم تعد قابلة للاستخدام.
  • مستهلك: وصل الرصيد المتبقي إلى صفر من خلال الاستهلاك العادي.
  • ملغى: أُلغي الرصيد يدويًا من قبل مسؤول مما أبطل أي رصيد متبقٍ.

استهلاك المحفظة

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

يتضمّن كل سجل استهلاك سياقًا يحدد ما أدى إلى الخصم:

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

يرتبط كل سجل استهلاك بالجلسة أو الطلب أو المعاملة المحددة التي تسببت فيه مما يتيح تتبعًا تدقيقيًا كاملًا.

سجل الرصيد

بالإضافة إلى سجلات الاستهلاك على مستوى الأرصدة يحتفظ النظام بـسجل رصيد العضو الذي يوثّق كل حدث يغيّر رصيد محفظة العضو الإجمالي:

نوع الحدث الوصف
load أُضيفت أموال إلى المحفظة (إدخال رصيد جديد أو شحن رصيد موجود).
spend اُستهلكت أموال من المحفظة (دفع جلسة أو دفع طلب).
refund أُعيدت أموال إلى المحفظة (استرداد طلب أو استرداد جلسة).
adjustment أُجري تغيير إداري على الرصيد (تصحيح أو شطب).

يسجّل كل إدخال في سجل الرصيد مبلغ التغيير والرصيد الناتج بحيث يمكنك إعادة بناء رصيد العضو في أي وقت من خلال قراءة السجل ترتيبيًا.

قيود الأجهزة

لكل رصيد محفظة قيد جهاز يتحكم في أنواع الأجهزة التي يمكنها الاستهلاك منه:

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

عندما يحتاج النظام للخصم من محفظة العضو يُصفّي الأرصدة المتاحة حسب قيد الجهاز لضمان خصم الأرصدة المؤهلة فقط.

فئة المحفظة والإنفاق عبر الفئات

يمكن تصنيف أرصدة المحفظة بـفئة محفظة (مثل "ألعاب" أو "عام"). يتيح ذلك للمقهى إنشاء مجموعات رصيد معزولة لا يمكن إنفاقها إلا في سياقات معينة.

خيار الإنفاق عبر الفئات في كل رصيد يتحكم فيما إذا كان يمكن استخدام أمواله خارج الفئة المحددة:

  • عند التعطيل (الافتراضي) لا يمكن استهلاك الرصيد إلا في فئته الخاصة.
  • عند التفعيل يمكن استهلاك الرصيد أيضًا في معاملات الفئات الأخرى.

إذا لم تُعيَّن فئة محفظة للرصيد يُعامل كرصيد عام ويمكن استهلاكه في أي معاملة بغض النظر عن الفئة.

كيف يعمل الشحن

يمكن إضافة أموال المحفظة من خلال عدة طرق:

  1. شراء باقة حملة: عندما يشتري العضو باقة مالية من حملة يُنشئ النظام تلقائيًا أرصدة محفظة بناءً على تعريف الباقة. قد يُنشئ شراء باقة واحدة أرصدة متعددة (واحد للجزء المدفوع وآخر لجزء المكافأة).

  2. شحن يدوي: يمكن للكاشير إضافة أموال يدويًا إلى محفظة العضو من لوحة تفاصيل العضو. يُنشئ هذا إدخال رصيد بنوع "يدوي".

  3. ترحيل: أثناء إعداد النظام يمكن استيراد الأرصدة الموجودة من نظام سابق كإدخالات رصيد بنوع "ترحيل".

كيف تُستهلك المحفظة خلال الجلسات

عندما يبدأ عضو لديه رصيد محفظة جلسة يمكن للنظام الدفع تلقائيًا من المحفظة:

  1. يحسب محرك تسعير الجلسة التكلفة بالدقيقة بناءً على خانة التسعير النشطة وأي خصومات مستوى مطبّقة.
  2. أثناء تشغيل الجلسة يخصم النظام دوريًا التكلفة المتراكمة من أرصدة محفظة العضو المؤهلة.
  3. تُستهلك الأرصدة بترتيب تاريخ الانتهاء (الأرصدة الأقرب انتهاءً تُستخدم أولًا) لتقليل الهدر من الانتهاء.
  4. إذا استُنفد رصيد المحفظة قبل انتهاء الجلسة تُفوتر التكلفة المتبقية كدفعة نقدية عند إغلاق الجلسة.
  5. يُنشئ كل خصم سجل استهلاك مرتبط بالجلسة كإدخال "استخدام الجلسة".