شركات التوصيل والسائقون

دليل عملي متكامل لشركاء التوصيل: التهيئة، التوصيل اليومي، المحفظة، والتسوية.

1 دقيقة للقراءة

شركات التوصيل والسائقون

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

الأطراف

الطرف ما الذي يفعله
مسؤول المنصّة يعتمد الطلبات، ثم يُسنِد كل طلب مُعتمَد إلى شركة توصيل.
مدير/موظفو شركة التوصيل يُسنِدون أحد سائقيهم إلى كل طلب يصل الشركة.
السائق يبدأ الرحلة، ثم يضع علامة مُسلَّم أو فشل من تطبيق الجوال.

التهيئة (Onboarding)

  1. تُسجِّل NQLA شركتك بـمستخدم مسؤول رئيسي واحد بالإضافة إلى أي عدد من مستخدمي طاقم العمل.
  2. تُسجِّل سائقيك — لكلٍّ منهم حساب دخول خاص. وتُخزَّن رخصة السائق ورقم هويته الوطنية بشكل مُشفَّر.
  3. تبدأ محفظة شركتك من الصفر، وتُضاف إليها المبالغ تلقائيًا عند إتمام عمليات التوصيل.

مسار التوصيل اليومي

  1. المسؤول ← الشركة. يُسنِد المسؤول طلبًا مُعتمَدًا إلى شركتك. فتصبح حالة الطلب assigned_to_delivery ويُختَم عليها delivery_company_id.
  2. الشركة ← السائق. تُسنِد (أو يُسنِد المسؤول) أحد سائقيك. ويرفض النظام أي سائق لا ينتمي لشركتك. الحالة ← assigned_to_driver.
  3. السائق يبدأ. يضغط السائق بدء في التطبيق. الحالة ← out_for_delivery. ولا يستطيع ذلك سوى السائق المُسنَد.
  4. السائق يُنهي الرحلة بأحد الخيارين:
    • مُسلَّم — الحالة ← delivered. تُضاف رسوم التوصيل إلى محفظتك، وتُضاف صافي قيمة الطلب إلى محفظة التاجر.
    • فشل — الحالة ← failed_delivery. تبقى المحاولة مُستحقّة لرسوم التوصيل (يُحمَّل التاجر التوصيل + العمولة)، ويُعاد المخزون إلى الرصيد.

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

ما يفعله السائقون على الجوال

يتواصل تطبيق السائق مع /api/v1/driver/deliveries:

  • GET / — عرض عمليات التوصيل المُسنَدة إليّ (ترقيم بالمؤشّر؛ اتبع next_cursor).
  • GET /{order} — عرض طلب واحد (طلباتي فقط).
  • POST /{order}/start — بدء التوصيل.
  • POST /{order}/delivered — وضع علامة مُسلَّم.
  • POST /{order}/failed — وضع علامة فشل (مع notes اختياري).
  • POST /{order}/location — إرسال نبضة GPS (بحدّ معدّل).
  • POST /{order}/review — تقديم تقييم للتوصيل.

كل عملية كتابة مقيّدة بالسائق المُصادَق عليه — لا يستطيع السائق التصرّف إلا في الطلبات التي يطابق فيها driver_id هويته.

المحفظة والتسوية

  • تُضاف رسوم التوصيل مرة واحدة لكل طلب (عملية مُتكافئة — لا تُضاعَف عند إعادة المحاولة).
  • تُحوَّل الرسوم من عملة الطلب إلى العملة الأساسية قبل أن تمسّ المحفظة.
  • تُدفع الأرصدة عبر التسويات، وبمجرد اعتماد التسوية كـمدفوعة يُختَم كل طلب مشمول بـsettlement_id.

الشاشات ونقاط النهاية

الفئة الموقع الصلاحية
شركات التوصيل (الإدارة) /admin/delivery-companies manage_delivery_companies
السائقون (الإدارة) /admin/drivers manage_drivers
إسناد الطلب للتوصيل POST /admin/orders/{order}/assign-delivery manage_orders
إسناد الطلب لسائق POST /admin/orders/{order}/assign-driver assign_orders_to_driver
واجهة تطبيق السائق /api/v1/driver/deliveries update_delivery_status

صفحات ذات صلة

  • دورة حياة الطلب (orders-lifecycle) — آلة حالات الطلب الكاملة.
  • شركات التخزين والمستودعات (storage-companies-warehouses).