تسعير الجلسات
يستخدم HandyCafe محرك تسعير قائم على الشرائح لحساب تكاليف الجلسات في مقهى الإنترنت أو مركز الألعاب. بدلًا من تطبيق سعر ثابت واحد للجلسة بأكملها يُقسّم المحرك كل جلسة إلى شرائح لكل منها سياق تسعير خاص. يضمن هذا النهج فوترة دقيقة حتى عندما تمتد الجلسات عبر خانات زمنية متعددة أو تغييرات أسعار أو إيقافات مؤقتة أو انقطاعات.
المفاهيم الأساسية
قبل الدخول في التفاصيل إليك المصطلحات الرئيسية:
| المصطلح | التعريف |
|---|---|
| السعر الأساسي بالساعة | السعر لكل ساعة قبل تطبيق أي مضاعفات. يُعدّ في الإعدادات > التسعير. |
| خانة التسعير | فترة زمنية مسمّاة بمضاعف محدد. هناك 8 خانات مُلوّنة. |
| المضاعف | عامل يُطبّق على السعر الأساسي. 1.0 = السعر العادي، 0.5 = نصف السعر، 2.0 = ضعف السعر. |
| الشريحة | فترة مستمرة ضمن جلسة يبقى فيها سياق التسعير (الخانة والمضاعف والسعر الأساسي) دون تغيير. |
| التسوية | الحساب النهائي الذي يحدد المبلغ المستحق على العميل عند انتهاء الجلسة. |
السعر الأساسي بالساعة
السعر الأساسي بالساعة هو أساس جميع حسابات التسعير. يُعدّ في الإعدادات > التسعير ويمثل السعر العادي لكل ساعة استخدام جهاز.
تستخدم جميع الحسابات الداخلية وحدات العملة الصغرى (مثل القروش للجنيه أو السنتات للدولار). إذا كان سعرك الأساسي $3.00 في الساعة فالقيمة الداخلية هي 300. يُلغي ذلك مشاكل تقريب الفاصلة العائمة.
دعم العملة المزدوجة
يدعم HandyCafe عملة أساسية وعملة محلية بسعر صرف (FX). إذا كنت تعمل في بلد يختلف فيه التسعير الدولي عن التسعير المحلي:
- العملة الأساسية. العملة المستخدمة لحسابات التسعير الداخلية.
- العملة المحلية. العملة المعروضة للعملاء والمستخدمة للمدفوعات.
- سعر الصرف. عامل التحويل بين العملتين الأساسية والمحلية.
إذا كانت العملتان متطابقتين يُعامل سعر الصرف كـ 1.0 ولا تأثير له.
خانات التسعير
هناك 8 خانات تسعير مُلوّنة تمثل كل منها مستوى تسعير مختلف:
| الخانة | اللون | الاستخدام النموذجي |
|---|---|---|
| أزرق | أزرق | السعر العادي |
| برتقالي | برتقالي | رسوم المساء أو عطلة نهاية الأسبوع |
| أحمر | أحمر | أسعار أوقات الذروة |
| أخضر | أخضر | خصم أوقات الهدوء |
| أزرق مخضر | أزرق مخضر | سعر الطلاب أو الأعضاء |
| رمادي | رمادي | تسعير العطلات أو الخاص |
| سماوي | سماوي | سعر الليل |
| زمردي | زمردي | سعر ترويجي |
لكل خانة ثلاث خصائص:
- الاسم. تسمية وصفية (مثل "ساعات الذروة" أو "خصم الليل").
- المضاعف. قيمة عشرية تُعدّل السعر الأساسي. القيم الشائعة تشمل 1.0 (عادي) و0.5 (نصف السعر) و1.5 (رسوم إضافية 50%) و2.0 (ضعف السعر). يجب أن يكون المضاعف صفرًا أو موجبًا.
- بيانات الجدول. تمثيل داخلي يحدد الساعات والأيام التي تنطبق فيها الخانة. يُدار تلقائيًا من خلال شبكة الجدول.
يمكن تفعيل أو تعطيل الخانات بشكل فردي. تتجاهل محرك التسعير الخانات المعطّلة.
شبكة الجدول
جدول التسعير هو مصفوفة 7 أيام × 24 ساعة (168 كتلة ساعة واحدة إجمالًا). تُعيَّن كل كتلة لخانة تسعير واحدة. يحدد الجدول المضاعف المطبّق في أي لحظة.
يُعدّ الجدول في الإعدادات > جدول التسعير. تمتد الأيام من الاثنين إلى الأحد والساعات من 00:00 إلى 23:00. لتعيين خانة لكتلة زمنية اختر الكتلة في الشبكة واختر لون الخانة المطلوب.
عند تعطيل ميزة جدول التسعير بالكامل (في الإعدادات > التسعير) تستخدم جميع الجلسات السعر الأساسي بمضاعف 1.0 بغض النظر عن الوقت.
شرائح التسعير
الشريحة هي فترة زمنية مستمرة ضمن جلسة لا يتغير فيها سياق التسعير. يُنشئ محرك التسعير شريحة جديدة عند حدوث أي من أحداث الحدود التالية:
| الحد | المُحفّز |
|---|---|
| session_start | بدء جلسة جديدة |
| session_stop | إيقاف الجلسة |
| pause | يوقف الكاشير الجلسة مؤقتًا |
| resume | يستأنف الكاشير جلسة متوقفة مؤقتًا |
| tick | يعبر المؤقت حد ساعة إلى خانة تسعير مختلفة |
| disconnect | يفقد جهاز العميل اتصال الشبكة |
| offline | يصبح جهاز العميل غير متصل |
| load_recovery | يُعاد تشغيل الخادم ويسترد جلسة قيد التشغيل |
يسجّل كل شريحة: معرّف الجلسة وبداية ونهاية الشريحة ومعرّف خانة التسعير والمضاعف ولقطة السعر الأساسي والمبلغ وسبب الحد.
صيغة التكلفة
تكلفة شريحة واحدة تُحسب كالتالي:
المبلغ = ceil( (لقطة_السعر_الأساسي * المضاعف * مدة_الثواني) / 3600 )
يستخدم المحرك حساب أعداد صحيحة مُقاسة لتجنب أخطاء الفاصلة العائمة مع تقريب للأعلى إلى الوحدة الصغرى التالية.
حساب إجمالي الجلسة
يُحسب إجمالي تكلفة الجلسة في ثلاث خطوات:
الخطوة 1: جمع جميع الشرائح
الإجمالي_الخام = مجموع مبالغ جميع الشرائح المُغلقة + المبلغ الجزئي للشريحة المفتوحة
الخطوة 2: تطبيق التقريب
الإجمالي_المُقرّب = تقريب_للأعلى(الإجمالي_الخام, خطوة_التقريب)
التقريب دائمًا للأعلى (سقف) لحماية الإيرادات.
الخطوة 3: تطبيق الحد الأدنى لرسوم البدء
الإجمالي_النهائي = max(الإجمالي_المُقرّب, رسوم_البدء)
رسوم البدء هي الحد الأدنى للرسوم لأي جلسة بغض النظر عن المدة.
التسوية
التسوية هي عملية إتمام الفوترة للجلسة. تُنشأ سجلات التسوية عند بدء الجلسة المدفوعة مسبقًا (تسوية البدء) وعند إيقاف أي جلسة (تسوية الإيقاف) مع تسجيل التكلفة المحسوبة والمبلغ المُحمّل والعمولة والرسوم ولقطة الجدول الزمني.
أمثلة عملية
مثال 1: جلسة دفع لاحق بسيطة
- السعر الأساسي: $3.00/ساعة (300 وحدة صغرى)
- الجدول: خانة عادية (مضاعف 1.0) طوال اليوم
- الجلسة: من 10:00 ص إلى 11:30 ص (90 دقيقة)
- رسوم البدء: $0.50
الحساب:
الشريحة 1: (300 * 1.0 * 5400) / 3600 = 450 وحدة صغرى ($4.50)
الإجمالي: max($4.50, $0.50) = $4.50
مثال 2: جلسة تمتد عبر خانتين
- السعر الأساسي: $4.00/ساعة (400 وحدة صغرى)
- الجدول: عادي (1.0) من 10:00 إلى 12:00، ساعة سعيدة (0.5) من 12:00 إلى 14:00
- الجلسة: من 11:00 ص إلى 1:00 م (120 دقيقة)
الحساب:
الشريحة 1 (11:00-12:00, عادي): (400 * 1.0 * 3600) / 3600 = 400 ($4.00)
الشريحة 2 (12:00-13:00, ساعة سعيدة): (400 * 0.5 * 3600) / 3600 = 200 ($2.00)
الإجمالي: $4.00 + $2.00 = $6.00
الخطوات التالية
- إدارة الجلسات: تعرّف على دورة حياة الجلسة الكاملة
- إعدادات: التسعير: إعداد السعر الأساسي والتقريب ورسوم البدء
- إعدادات: جدول التسعير: إعداد شبكة الجدول 7×24
- طرق الدفع: إعداد طرق الدفع مع العمولة والرسوم