كل المشاريع/CROSS-BORDER REMITTANCE CONSOLE

نظرة عامة

احتاج مشغِّلُ حوالاتٍ إلى لوحةٍ داخليّةٍ يُحرّك بها موظّفوه الأموالَ عبر ممرّ تحويلٍ نيابةً عن العميل: أن يتأكّدوا أنّ الحساب المستقبِل قائمٌ فعلًا، وأن يعرفوا كم يساوي المبلغُ اليوم، وأن يلتقطوا طرفَي الحوالة، ثمّ يُرسلوها، ثمّ يقدروا بعد ذلك على الإجابة عن سؤال: «أين وصلت؟».

وكان العملُ تكليفًا لعميلٍ قُدتُه بصفتي مهندسَ الحلّ. تولّيتُ تصميمَ النظام، وعقدَ التكامل مع مزوّد التحويل، ونموذجَ البيانات، والوضعَ التشغيليّ؛ ونفّذه فريقُ بناءٍ من مطوّرَين اثنين على مدى مسارٍ بدأ في مارس 2024 وكان آخرُ تغييرٍ فيه في مايو 2025.

والجديرُ بالنظر ليس الشاشات، بل أنّ كلَّ قرارٍ في أداةٍ تُحرّك المال هو في حقيقته قرارٌ بشأنِ ما يجري حين يتعثّر شيءٌ في منتصف الطريق — وقد رسم شكلَ هذه الأداة ثلاثةٌ من تلك القرارات.

التحدي

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

والسجلُّ الذي يُكتب بعد وقوع الفعل سجلٌّ لا تملكه. فإن سبق استدعاءُ التحويل وكُتب السجلُّ بعده، فإنّ أيّ إخفاقٍ بينهما — مهلةٌ تنقضي، أو انهيارٌ، أو اتّصالٌ ينقطع — يُنتج مالًا قد يكون تحرّك ولا شيءَ عندك يقول ذلك. وهذه في هذا المجال أسوأُ نتيجةٍ ممكنة، وهي أسوأُ من الامتناع عن الإرسال أصلًا.

وعقدُ المزوّد ليس مطّردًا. فالتكاملُ مع واجهة تحويلٍ حيّةٍ معناه مجاراةُ ما تفعله فعلًا لا ما توحي به وثائقُها: طلباتٌ لا بدّ أن تكون موقّعةً ومختومةً بالوقت، وترويسةٌ لا تتّحد حالةُ أحرفها في كلّ عمليّة، ورموزُ استجابةٍ يختلف فيها رقمُ النجاح عن رقم «قُبِلت ولمّا تنتهِ»، ومفرداتُ حالةٍ لا بدّ من ترجمتها قبل أن يتصرّف الموظّفُ بناءً عليها.

تصميم النظام

كيف يعمل

01/04
01

التسعيرُ يصير التزامًا

لماذا يُعامَل السعرُ معاملةَ سريع الفساد منذ لحظة وصوله.

  1. 1يُدخَل المبلغُ ويُرسَل إلى المزوّد طلبًا لسعر
  2. 2فيعود سعرٌ ومعه رمزٌ مميّزٌ هو الذي يجعله مُلزِمًا
  3. 3ويُحتفَظ بهما بقيّةَ الجلسة، ومعهما أجلُ انتهاء الرمز
  4. 4وتُرسَل الحوالةُ في آخر الأمر بذلك الرمز، أو تُرفَض إن انقضى أجلُه
02

الحسابُ يُؤكَّد قبل أن يتحرّك شيء

التقاطُ أشيعِ الأخطاء عند الخطوة الأولى لا عند الأخيرة.

  1. 1تُختار المؤسّسةُ المستقبِلة من قائمةٍ مُحمَّلة
  2. 2ويُرسَل رقمُ الحساب إلى المزوّد ليُفحَص
  3. 3فيُعيد المزوّدُ الاسمَ المسجَّل على ذلك الحساب
  4. 4ويؤكّد الموظّفُ أنّه الشخصُ الصحيح قبل التقاط أيّ بيانات
03

يُكتب السجلُّ، ثمّ يُرسَل المال

قرارُ الترتيب الذي بُني عليه النظامُ كلُّه.

  1. 1يُلتقَط طرفا الحوالة ويُفحَص اكتمالُ حقولهما
  2. 2ويُنشَأ سجلُّ العمليّة في حالةٍ ناقصةٍ عن قصد
  3. 3ولا تُركَّب الحوالةُ وتُرسَل إلى المزوّد إلّا بعد ذلك
  4. 4ثمّ تُكتب الحالةُ العائدةُ والأختامُ الزمنيّةُ ومرجعُ المزوّد على ذلك السجلّ نفسِه
04

جوابُ سؤال «أين وصلت؟»

سؤالان يستحقّان مسارَين لا شاشةً واحدةً مُثقَلة.

  1. 1تُستعلَم حوالةٌ واحدةٌ بمرجعها الخاصّ
  2. 2وتُستعاد مدّةٌ كاملةٌ سِجلًّا محدَّدًا بتاريخين
  3. 3فتعود حالةُ الاستعلام المفرد نتيجةً صريحة، وتعود المدّةُ جدولًا مرمَّزًا بالحالات
  4. 4فسؤالٌ عن دفعةٍ بعينها، وآخرُ عن نشاط يومٍ كامل

أبرز الميزات

  • سيرُ حوالةٍ من أربع مراحل — تحقُّقٌ، فتسعير، فالتقاطٌ وإرسال، ففحصُ حالة — يحمله شريطُ مراحلَ ظاهرٌ على صفحات الحوالة
  • تحقُّقٌ من الحساب المستقبِل لدى المزوّد يُعيد اسمَ صاحب الحساب قبل التقاط أيّ بيانات
  • تسعيرٌ حيٌّ للصرف، يُحتفَظ فيه بالرمز العائد ويُفحَص أجلُه قبل تركيب أيّ حوالة
  • سجلّاتُ العمليّات تُكتب قبل محاولة الحوالة وتُطابَق مع ردّ المزوّد بعدها
  • المُرسِلون المحفوظون يُعرَضون سجلّاتٍ تُنتقى، وبياناتُ المستفيد المُتحقَّقُ منها تنتقل من خطوة التحقّق بدل أن تُكتب من جديد
  • استعلامٌ عن حالة عمليّةٍ واحدة، وسِجلٌّ لمدّةٍ محدَّدةٍ بتاريخين، مساران منفصلان
  • رموزُ استجابة المزوّد وحالاتُ الحوالة تُترجَم إلى نتائجَ صريحةٍ عند حدّ التكامل
  • طلباتٌ موقَّعةٌ مختومةٌ بالوقت عبر مسار خروجٍ ثابتٍ ذي مصادقة، وفحصُ جلسةٍ خاصٌّ بكلّ صفحةٍ أمام كلّ شاشةٍ عاملة

Outcomes

  • قُدتُ تسليمَ لوحةِ تشغيلٍ تحمل الحوالةَ من طرفها إلى طرفها — تحقُّقٌ، فسعرٌ، فالتقاط، فإرسال، ثمّ الطريقان اللذان يُسأل بهما بعد ذلك عمّا آل إليه أمرُها
  • وأرسيتُ انضباطًا في الترتيب يليق بالمجال: يُنشَأ السجلُّ قبل أن يُطلَب من المال أن يتحرّك، فيترك الانقطاعُ سجلًّا ناقصًا بدل حوالةٍ لا أثرَ لها
  • وجعلتُ التعاملَ مع تسعيرٍ سريع الفساد آمنًا، بالاحتفاظ برمز المزوّد ومعه أجلُه، وبرفض الحوالة البائتة محلّيًّا بدل اكتشاف الأمر عند المزوّد
  • واستوعبتُ عقدَ النقل لدى المزوّد عند حدٍّ واحد — التوقيعُ، وحالةُ أحرف الترويسة المختلفةُ باختلاف العمليّة، ورموزُ الاستجابة المنقسمة — فتعمل الشاشاتُ فوقه على شكلٍ داخليٍّ واحدٍ مستقرٍّ لا على ردود المزوّد الخام
  • وتصدّيتُ لأرجحِ منابعِ خطأ الموظّف بالتصميم نفسِه: يُؤكَّد الحسابُ المستقبِل لدى المزوّد قبل إدخال أيّ بيانات، وتنتقل بياناتُه المُتحقَّقُ منها حقولًا مُقفَلة، ويُنتقى المُرسِلون المتكرّرون بدل إعادة كتابتهم
  • وقُدتُ التكليفَ بصفتي مهندسَ المعماريّة على مدى مسارٍ امتدّ من مارس 2024 إلى مايو 2025، ونفّذه فريقٌ من مطوّرَين اثنين وفقَ ذلك التصميم

أعمال أخرى

DataInsight Dashboard preview
لوحة استكشاف بيانات

DataInsight Dashboard

أيُّ جدول بياناتٍ يدخل، فيخرج شكلُه — والمخطّطات تختارها البيانات نفسها

عرض المشروع