كرفان للشحن
موقع ثنائيّ اللغة لشركة شحن دوليّ. نموذج طلب عرض سعر، دليل فروع، نظام محتوى Laravel يدير العربيّة والإنجليزيّة من لوحة واحدة.
عن المشروع.
كرفان للشحن شركة شحن دوليّ تتعامل مع شحنات بين عدّة دول، واحتاجت موقعًا مؤسّسيًّا يستوعب العمليّة الكاملة: الخدمات، الفروع، ونموذج طلب عرض سعر حقيقيّ. النظام مبنيّ على Laravel بلوحة تحرير واحدة يكتب فيها الفريق العربيّة والإنجليزيّة جنبًا إلى جنب. دليل الفروع ونموذج العرض يصبّان مباشرة في صندوق المبيعات، فلا تضيع الفرص بين التسويق والعمليّات.
ما الذي وجدناه.
شركة شحن دوليّة احتاجت موقعًا مؤسّسيًّا يحمل العمليّة الكاملة: خدمات، فروع، تدفّق طلب عرض سعر حقيقيّ — ويقبل تحرير ar/en في لوحة واحدة.
ما الذي فعلناه.
CMS Laravel بحقول ar/en مزدوجة، فرونت Tailwind، نموذج عرض سعر يدفع مباشرة إلى صندوق المبيعات بحقول مهيكلة (المنشأ، الوجهة، الوزن، النوع). محدّد فروع مع تكامل خريطة.
ما الذي أصبح.
محتوى ثنائيّ تحت لوحة واحدة. نموذج lead يوجَّه إلى المبيعات دون وسيط spreadsheet.
دوري الفعليّ في هذا المشروع.
منفرد · من الألف إلى الياء. باك-إند Laravel، فرونت Tailwind، خريطة محدّد الفروع، خطّ نموذج عرض السعر. زوّد العميل المحتوى وبيانات الفروع؛ كلّ شيء آخر لي.
مهندس full-stack
Laravel + Blade + Alpine. نموذج محتوى ثنائيّ مع Spatie/translatable.
مصمّم خطّ عرض الأسعار
نموذج عرض سعر مهيكل (منشأ ← وجهة ← وزن ← نوع خدمة) يوجَّه إلى صندوق المبيعات بحقول معالَجة، لا نصّ حرّ.
مهندس خريطة + محدّد فروع
محدّد فروع بـOpenStreetMap (لا فاتورة Google Maps)، بحث واعٍ بـKSA.
الأرقام التي تهمّ.
- <1.5sتحميل 4Gالصفحات الرئيسيّة + الخدمات + المحدّد. مختبر على موبايل سعوديّ.
- +12فرع على المحدّدكلّ منها بساعات، تواصل، خدمات، دبّوس خريطة.
- ثنائيّلوحة واحدةالمحرّرون يكتبون ar/en في استمارة واحدة، لا منشورات متوازية.
- 0تسليم lead يدويّنموذج عرض السعر يدفع حمولة مهيكلة مباشرة إلى صندوق المبيعات.
ما الذي كان معطّلاً فعلاً.
الشحن عمليّة بيع عالية اللمس — نموذج طلب عرض السعر هو الباب الأماميّ للعمل كاملاً. الموقع السابق عامله كفكرة لاحقة (نموذج اتّصال يرمي نصًّا حرًّا في صندوق مشترك). كان فريق المبيعات يقرأ الرسالة، يطلب الحقول الناقصة بالبريد، ثمّ يدخل الـlead في نظامهم. المطلوب: نموذج عرض سعر يلتقط كلّ حقل تحتاجه المبيعات لتسعير الوظيفة، باللغة التي يرتاح إليها العميل.
المساحة الصعبة من المشروع.
- 01نموذج عرض السعر يجب أن يلتقط 8+ حقول مهيكلة دون أن يشعر كإقرار ضريبيّ.
- 02محدّد فروع يحمل بسرعة على الموبايل دون دفع رسوم Google Maps API لكلّ زيارة.
- 03تدفّق تحرير ثنائيّ لا ينشئ مجموعتين من الفروع تنحرفان.
- 04توجيه صندوق المبيعات يحترم أيّ فرع أقرب للمنشأ (شرق KSA مقابل غرب).
انتصارات هندسيّة تستحقّ التسمية.
نسبة إتمام نموذج عرض السعر
كشف تدريجيّ: 3 حقول أوّلًا (منشأ، وجهة، وزن)، المزيد يُكشَف مع ملء السابقة. نسبة الإتمام بقيت فوق 40٪ في المراجعة المبكرة.
OpenStreetMap عوضًا عن Google
Leaflet + بلاطات OSM. يوفّر 500-1000$ شهريًّا عند الحجم. ترميز جغرافيّ عبر Nominatim مع كاش Redis لاحترام حدّ معدّلهم.
كيف يتشابك النظام.
طبقة الحافّة
طبقة التطبيق
طبقة البيانات
القرارات وراء كلّ اختيار.
Laravel + Spatie/translatable
- واجهة تحرير ثنائيّة واحدة في Filament. الفروع، الخدمات، الصفحات — كلّها تشارك نفس نمط الترجمة.
- منطق توجيه lead (أقرب فرع حسب منطقة المنشأ) يجلس طبيعيًّا في فئة خدمة، لا في JavaScript على النموذج.
OpenStreetMap عوضًا عن Google Maps
- لا أسعار لكلّ استدعاء يعني لا فاتورة مفاجئة لو شاع المحدّد.
- البلاطات تبدو صادقة، لا مصقولة فوق الحدّ — يناسب شركة شحن تشحن أشياء مادّيّة فعليّة.
ما علّمنا إيّاه هذا البناء.
- النماذج المهيكلة تتفوّق على نماذج الاتّصال نصّيّة حرّة بنسبة عاشرة في التحويل-إلى-عرض-سعر.
- OSM هو الافتراض الصحيح لأيّ خريطة عمل لا تحتاج تنقّلاً انعطافًا. حوّل إلى Google حين تحتاج بياناتهم — لا حين تفترض أنّك تحتاجها.
