إنتقل إلى المحتوى الرئيسي

المدفوعات والتحصيل

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

سياسة الإطلاق الحالية

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

من يستطيع الوصول؟

تقتصر قراءة السجل وإجراءات التأكيد والاسترداد وتسوية الصندوق على مالك الشركة أو مديرها النشط. كل استعلام وقرار مالي مقيد بمعرف الشركة في الخادم وقاعدة البيانات.

دفتر التحصيل الموحد

يعرض أعلى الصفحة:

  • تحصيل اليوم بتوقيت دمشق
  • المبالغ المستحقة وعدد حجوزاتها
  • إجمالي النقد المحصل، مع حصة مكتب الشركة
  • سلامة السجل وعدد حالات الدفع المتناقضة إن وجدت

يمكن البحث برقم الحجز أو اسم الراكب أو هاتفه، والتصفية حسب الحالة وطريقة الدفع ومصدر التحصيل والتاريخ. النتائج مقسمة إلى صفحات من الخادم ولا تُحمّل تاريخ الشركة كله في المتصفح.

مصادر السجل

المصدرما يمثله
مكتب الشركةحجز أو تحصيل سجله موظف المكتب
تحصيل السائقمبلغ جمعه السائق أثناء التشغيل
سجل مزود تاريخيعملية قديمة محفوظة للتدقيق؛ لا تعني أن المزود متاح الآن
سجل الحجزحقيقة الدفع المتاحة عندما لا يوجد سجل عملية منفصل

مصفوفة الحالات

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

القرارات المالية

عندما تسمح حالة العملية بذلك، يستطيع المستخدم المخول:

  • تأكيد عملية معلقة مع ملاحظة اختيارية
  • رفضها مع حفظ المنفذ ووقت القرار
  • تسجيل استرداد لعملية مكتملة مع ملاحظة
  • إلغاء عملية غير مكتملة لم تعد مطلوبة
  • تعديل ملاحظة عملية غير نهائية
  • فتح الحجز المرتبط للتحقق من تفاصيله

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

الاسترداد في النسخة الحالية كامل فقط. لا تدخل مبلغاً جزئياً ولا تغيّر حالة الحجز يدوياً؛ دعم الاسترداد الجزئي يحتاج دفتر أرصدة منفصلاً قبل إتاحته بأمان. وعند اعتماد تحصيل نقدي يجب أن يكون صندوق الشركة مفتوحاً كي يرتبط التحصيل بالوردية القابلة للتسوية.

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

تسوية صندوق المكتب

تبويب تسوية الصندوق يقدم دورة قابلة للتدقيق:

  1. افتح الصندوق وسجل رصيد البداية وملاحظة اختيارية.
  2. أثناء الوردية، يسجل النظام تحصيل المكتب النقدي منذ وقت الفتح.
  3. أضف حركات موثقة عند الحاجة: مصروف، استرداد نقدي، تصحيح، أو حركة أخرى.
  4. عند الإغلاق، أدخل النقد المعدود فعلياً.
  5. يعرض النظام المتوقع والمعلن والزيادة أو العجز، ويلزم ملاحظة عند وجود فرق.

يسمح بصندوق مفتوح واحد فقط للشركة. كل حركة تحمل اسم منفذها وتوقيتها، ويظهر سجل الإغلاقات السابقة. تحصيل السائق لا يدخل تلقائياً في صندوق المكتب قبل تسليمه؛ إظهاره منفصلاً يمنع دقة محاسبية زائفة لا تثبتها البيانات الحالية.

حالات الفشل

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

APIs المرتبطة

  • GET /api/payments لدفتر التحصيل والإحصاءات والصفحات والفلاتر
  • GET /api/payments/{id} لتفاصيل العملية
  • PATCH /api/payments/{id} لتعديل ملاحظة عملية غير نهائية
  • POST /api/payments/{id}/verify للتأكيد أو الرفض
  • POST /api/payments/{id}/refund لتسجيل استرداد كامل
  • POST /api/payments/{id}/cancel لإلغاء عملية غير مكتملة
  • GET /api/payments/cash-shifts لملخص الصندوق وسجله
  • POST /api/payments/cash-shifts للفتح والحركة والإغلاق
  • GET /api/payment-settings

لا يقبل تحديث إعدادات الدفع تفعيل شام كاش أو التحويل البنكي؛ يعيد الخادم 409 ويحفظ الإعداد نقدياً فقط. أي تغيير مستقبلي يحتاج إصداراً مستقلاً بعد اعتماد المزود، ولا يتم عبر مفتاح واجهة عادي.

source of truth

المرجع النهائي هو apps/dashboard/src/app/payments ومسارات apps/dashboard/src/app/api/payments وعقود قاعدة البيانات في الترحيلات 00210 و00211 و00278.