HandyCafe Docs
owner

مستويات الولاء

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

هيكل المستويات

يُعرَّف كل مستوى ولاء بأربعة حقول:

الحقل الوصف
code رمز قصير فريد للمستوى (مثل silver أو gold أو vip). يُستخدم داخليًا للتعريف وفي استجابات API.
name اسم عرض مقروء (مثل "عضو فضي" أو "عضو ذهبي"). يظهر في ملف العضو وعلى شاشة قفل العميل.
threshold_points الحد الأدنى من نقاط الولاء التي يجب أن يجمعها العضو للتأهل لهذا المستوى.
discount_bps الخصم المُطبّق على تسعير الجلسة معبّرًا عنه بنقاط الأساس. 100 نقطة أساس تساوي 1%. قيمة 500 تعني خصم 5%.

تُرتّب المستويات حسب قيمة threshold_points. ينتمي العضو إلى أعلى مستوى يستوفي حد نقاطه.

خصومات نقاط الأساس (BPS)

تُعبَّر الخصومات بـنقاط الأساس (BPS) بدلًا من النسب المئوية لتجنب أخطاء التقريب في الحسابات المالية. نقطة أساس واحدة تساوي 0.01% أو واحد من المئة من المئة.

قيم الخصم الشائعة:

قيمة BPS النسبة المئوية مثال على سعر 1000 وحدة/ساعة
250 2.5% يدفع العضو 975 في الساعة
500 5% يدفع العضو 950 في الساعة
1000 10% يدفع العضو 900 في الساعة
1500 15% يدفع العضو 850 في الساعة
2000 20% يدفع العضو 800 في الساعة

عندما يبدأ عضو لديه خصم مستوى جلسة يخفض محرك التسعير السعر الأساسي بالساعة بمقدار discount_bps الخاص بالمستوى قبل حساب تكاليف الشرائح.

أحداث الولاء

يكسب الأعضاء النقاط من خلال أحداث الولاء. يُسجّل كل حدث تغييرًا في النقاط والنشاط الذي أدى إليه:

نوع الحدث الوصف النقاط النموذجية
spend دفع العضو مقابل جلسة (دفع لاحق أو خصم من المحفظة). النقاط تتناسب مع المبلغ المدفوع. تختلف حسب المبلغ
usage استخدم العضو جهازًا أو وحدة تحكم لجلسة بغض النظر عن الدفع. النقاط تعتمد على مدة الاستخدام. تختلف حسب الدقائق
visit سجّل العضو الدخول من جهاز عميل. مكافأة ثابتة لكل زيارة لتشجيع الحضور المنتظم. ثابتة لكل زيارة
topup أضاف العضو رصيدًا إلى محفظته. النقاط تعكس مبلغ الشحن. تختلف حسب مبلغ الشحن
order قدّم العضو طلب منتج (طعام أو مشروبات وغيرها). النقاط تتناسب مع إجمالي الطلب. تختلف حسب إجمالي الطلب
adjustment تعديل يدوي للنقاط من قبل المسؤول. يُستخدم للتصحيحات أو العروض الترويجية أو المكافآت الخاصة. أي قيمة (موجبة أو سالبة)

يتضمّن كل سجل حدث ولاء:

  • points_delta: عدد النقاط المكتسبة (موجبة) أو المخصومة (سالبة) من هذا الحدث.
  • amount_minor: المبلغ المالي المرتبط بالحدث (بوحدات العملة الصغرى) إن وُجد.
  • minutes_delta: عدد الدقائق المرتبطة بالحدث إن وُجد.
  • source_entity / source_entity_id: مرجع يعود إلى الجلسة أو الطلب أو المعاملة التي أنشأت الحدث.
  • event_at: الطابع الزمني لوقت حدوث الحدث.

ترقية المستوى

تعمل ترقية المستوى كالتالي:

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

يمكن أيضًا تعيين المستوى يدويًا من قبل المسؤول متجاوزًا الحساب التلقائي.

كيف تُطبّق خصومات المستوى على تسعير الجلسة

عندما يحسب محرك التسعير تكلفة شريحة جلسة لعضو:

  1. يُحدَّد السعر الأساسي بالساعة من خانة التسعير النشطة.
  2. إذا كان للعضو مستوى بقيمة discount_bps يُخفَّض السعر الأساسي: السعر_المخفّض = السعر_الأساسي * (10000 - discount_bps) / 10000.
  3. بالإضافة إلى ذلك تُطبّق خصومات مستوى العضو الفردية (member_discount_bps في سجل العضو) إن وُجدت.
  4. يُستخدم السعر المخفّض النهائي لحساب تكلفة الشريحة.

يمكن أن تتراكم خصومات المستوى وخصومات العضو الفردية مما يمنح العضو الاستفادة المجمّعة من كليهما.

إنشاء المستويات وإدارتها

لإنشاء مستوى جديد:

  1. انتقل إلى الإعدادات وافتح قسم التسعير (أو منطقة إدارة المستويات المخصصة).
  2. انقر على إضافة مستوى.
  3. أدخل الرمز (فريد وبأحرف صغيرة) والاسم (تسمية العرض) وحد النقاط وخصم BPS.
  4. احفظ المستوى.

لتعديل مستوى موجود اختره من القائمة وعدّل أي حقل. تسري التغييرات في discount_bps على جميع الأعضاء المعيّنين حاليًا لهذا المستوى بدءًا من جلستهم التالية.

لحذف مستوى أزله من القائمة. سيعود الأعضاء الذين كانوا معيّنين للمستوى المحذوف إلى المستوى الأدنى التالي الذي يتأهلون له بناءً على نقاطهم.

مثال على إعداد المستويات

قد يبدو إعداد نموذجي من ثلاثة مستويات كالتالي:

الرمز الاسم حد النقاط خصم BPS
bronze برونزي 0 0
silver فضي 500 500
gold ذهبي 2000 1000
vip VIP 5000 1500

في هذا الإعداد يبدأ العضو الجديد في المستوى البرونزي (بدون خصم). بعد تجميع 500 نقطة من الزيارات والإنفاق والطلبات يرتقي تلقائيًا إلى الفضي بخصم 5%. عند 2000 نقطة يصل إلى الذهبي (10%) وعند 5000 نقطة يحقق حالة VIP (15%).