- marketing: index.html من 2274 إلى 775 سطراً، والباقي إلى styles/ (tokens·base·components·sections·responsive) و js/ (app·i18n·calculator·analytics) و i18n/ بخمس لغات (ar·en·fr·es·tr) عبر سمة data-i18n. - docs/05 + docs/33 + لوحة السوبر-أدمن: الباقات صارت ثلاثاً (إطلاق · نمو · سيادة) بدل الأربع، وتحديث docs/31 بما يطابقها. - docs/36: توثيق سيرو إكسبرس للتوصيل. - تنظيف استيرادات غير مستعملة في apps/rider و apps/driver. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
29 KiB
🧠 عاصفة ذهنية: خدمة طلب الطعام وتوصيل الأغراض — Siro Express
رأيي الصريح في هذه الخطوة
Tip
This is a strategically brilliant move. Siro already owns 80% of the infrastructure needed. You're not starting from zero — you're extending a proven platform.
لماذا هذه الخطوة ذكية جداً؟
- البنية التحتية جاهزة بنسبة ~80%: السائقين موجودين، نظام التتبع جاهز (
locationDB+car_locations), المحافظ والدفع جاهزين (WalletIntaleqDBبكل بوابات الدفع المحلية), نظام الإشعارات جاهز (FCM), الـ WebSockets جاهزة - قاعدة المستخدمين جاهزة: الركاب الحاليين هم نفسهم زبائن التوصيل المحتملين — Zero acquisition cost
- السائقين بحاجة لدخل إضافي: أوقات الركود في الرحلات (خاصة بعد الظهر وآخر الليل) يمكن تحويلها لطلبات توصيل
- نموذج مُثبت عالمياً: Uber → Uber Eats, Careem → Careem NOW, Bolt → Bolt Food, كلهم نجحوا بنفس الاستراتيجية
- ميزة تنافسية إقليمية: في سوريا والأردن ومصر، لا يوجد لاعب محلي قوي يجمع بين Ride Hailing والتوصيل بنفس المنصة
المخاطر التي يجب الانتباه لها
- تعقيد العمليات: إدارة المطاعم والمتاجر مختلفة تماماً عن إدارة الرحلات
- جودة الخدمة: تأخير التوصيل أو وصول طعام بارد يضر بسمعة سيرو ككل
- هوامش ربح منخفضة: التوصيل عموماً هوامشه أقل من ride-hailing (10-20% عمولة مقابل 20-30%)
- تعبئة بيانات المتاجر: التحدي الأكبر — من يضيف قوائم الطعام والمنتجات؟
🏗️ الهندسة المعمارية — حاويات Docker المطلوبة
Current Architecture (What You Have)
┌─────────────────────────────────────────────────────────┐
│ Docker: siro │
│ │
│ nginx ─→ php (fpm) ─→ mysql ─→ redis │
│ │ │
│ socket_driver (WS:2020) ──┘ │
│ socket_passenger (WS:3030) ─┘ │
│ phpmyadmin │
└─────────────────────────────────────────────────────────┘
Proposed Architecture (What To Add)
┌─────────────────────────────────────────────────────────────────┐
│ Docker: siro (extended) │
│ │
│ ┌── Existing ──────────────────────────────────────────────┐ │
│ │ nginx ─→ php (fpm) ─→ mysql ─→ redis │ │
│ │ socket_driver (WS:2020) │ │
│ │ socket_passenger (WS:3030) │ │
│ │ phpmyadmin │ │
│ └──────────────────────────────────────────────────────────┘ │
│ │
│ ┌── NEW: Delivery Layer ───────────────────────────────────┐ │
│ │ │ │
│ │ order_server (PHP-FPM) ← إدارة الطلبات │ │
│ │ ├─ Store/Menu CRUD │ │
│ │ ├─ Order lifecycle │ │
│ │ ├─ Driver dispatch for delivery │ │
│ │ └─ Merchant portal API │ │
│ │ │ │
│ │ socket_order (WS:4040) ← تتبع حي للطلبات │ │
│ │ ├─ Real-time order status │ │
│ │ ├─ Driver → Kitchen communication │ │
│ │ └─ Customer live tracking │ │
│ │ │ │
│ │ merchant_dashboard (Nginx) ← لوحة تحكم التاجر │ │
│ │ ├─ Menu management │ │
│ │ ├─ Order accept/reject │ │
│ │ └─ Sales analytics │ │
│ │ │ │
│ └──────────────────────────────────────────────────────────┘ │
│ │
│ ┌── Shared (reuse existing) ───────────────────────────────┐ │
│ │ mysql (add new DB: deliveryDB) │ │
│ │ redis (add delivery queues & caching) │ │
│ │ nginx (add delivery routes) │ │
│ │ payment_server (reuse wallet infrastructure) │ │
│ │ loction_server (reuse driver tracking) │ │
│ └──────────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────┘
Important
Principle: Follow the same architecture pattern you already use — separation by role, not microservices fragmentation. The
order_serveris a new PHP-FPM service,socket_orderis a new Workerman process, and themerchant_dashboardis a new frontend. All share the existing MySQL and Redis instances.
الحاويات الجديدة المطلوبة (3 حاويات)
| الحاوية | الدور | التقنية | البورت |
|---|---|---|---|
order_server |
معالجة الطلبات، إدارة المتاجر والقوائم، ربط السائق بالطلب | PHP-FPM (نفس الصورة الحالية) | داخلي فقط عبر nginx |
socket_order |
WebSocket لتتبع حالة الطلب مباشرة (تم القبول → جاري التحضير → السائق في الطريق → تم التوصيل) | PHP Workerman (نفس socket_driver) | WS:4040 |
merchant_dashboard |
لوحة تحكم للتاجر (ويب) لإدارة المنيو والطلبات | React/Vue أو HTML بسيط | عبر nginx |
ما لا نحتاج إنشاءه من الصفر (إعادة استخدام)
- ✅ نظام الدفع:
payment_server+WalletIntaleqDB— نفس المحافظ والبوابات (Cliq, eCash, MTN, PayMob) - ✅ تتبع السائقين:
loction_server+locationDB— نفس الـ GPS streaming - ✅ الإشعارات:
FcmService.php— نفس البنية - ✅ المصادقة:
JwtService.php+RateLimiter.php— نفس الأمان - ✅ قاعدة البيانات: نفس MySQL instance، نضيف database جديدة
deliveryDB
📊 قاعدة البيانات الجديدة — deliveryDB
الجداول الأساسية المطلوبة
erDiagram
merchants ||--o{ stores : "owns"
stores ||--o{ menu_categories : "has"
menu_categories ||--o{ menu_items : "contains"
menu_items ||--o{ item_variants : "has options"
menu_items ||--o{ item_addons : "has extras"
stores ||--o{ store_hours : "operating hours"
stores ||--o{ store_zones : "delivery zones"
orders ||--o{ order_items : "contains"
orders }o--|| stores : "placed at"
orders }o--|| passengers : "ordered by"
orders }o--o| drivers : "delivered by"
orders ||--o{ order_status_log : "status history"
stores ||--o{ store_reviews : "rated by customers"
merchants {
string id PK
string phone
string email
string name
string business_license
string status
datetime created_at
}
stores {
string id PK
string merchant_id FK
string name_ar
string name_en
string logo
string cover_image
string category "restaurant|grocery|pharmacy|general"
decimal latitude
decimal longitude
string address
boolean is_active
decimal min_order
decimal delivery_fee
integer avg_prep_time_min
decimal rating
integer total_reviews
}
menu_items {
string id PK
string store_id FK
string category_id FK
string name_ar
string name_en
string description
string image
decimal price
boolean is_available
integer sort_order
}
orders {
string id PK
string store_id FK
string passenger_id FK
string driver_id FK
string status "pending|accepted|preparing|ready|picked_up|delivered|cancelled"
decimal subtotal
decimal delivery_fee
decimal service_fee
decimal total
string payment_method
decimal delivery_lat
decimal delivery_lng
string delivery_address
text special_instructions
datetime estimated_delivery
datetime created_at
}
📱 كيف نعرضها داخل التطبيق؟ — استراتيجية العرض
الخيار الأول: تبويب جديد داخل siro_rider (الموصى به ✅)
Tip
Recommended approach: Add a new tab/section inside the existing
siro_riderapp rather than creating a separate app. This is what Uber, Careem, and Bolt all do — it maximizes cross-selling and leverages the existing user base.
المنطق: المستخدم يفتح التطبيق ← يشوف تبويبين رئيسيين: "رحلات" و "طلبات" (أو "سيرو إيتس" / "سيرو ماركت")
تجربة المستخدم المقترحة
الشاشة الرئيسية (siro_rider)
├── 🚗 رحلات (Tab الحالي — ride hailing)
└── 🛒 طلبات (Tab جديد — delivery)
├── 🔍 بحث عن مطعم/متجر
├── 📂 تصنيفات
│ ├── 🍔 مطاعم
│ ├── 🥬 سوبرماركت / بقالة
│ ├── 💊 صيدليات
│ ├── 🎁 هدايا وزهور
│ └── 📦 أي شيء (توصيل عام)
├── 🔥 الأكثر طلباً (trending)
├── ⭐ الأعلى تقييماً
├── 💰 عروض وخصومات
└── 📍 القريب منك
تدفق الطلب
اختيار متجر → تصفح المنيو → إضافة للسلة → مراجعة الطلب
→ اختيار العنوان (نفس خريطة الرحلات!) → اختيار طريقة الدفع (نفس المحافظ!)
→ تأكيد الطلب → تتبع مباشر (WebSocket)
→ [المتجر يقبل] → [جاري التحضير] → [السائق في الطريق للمتجر]
→ [السائق استلم الطلب] → [السائق في الطريق لك] → [تم التوصيل]
→ تقييم المتجر + تقييم السائق
الخيار الثاني: قسم "توصيل" داخل الخريطة (بديل)
نفس خريطة الرحلات، لكن بدل ما يختار وجهة، يختار "أرسل سائق يجيبلي شي" — توصيل عام بدون متجر محدد (مثل inDrive Courier)
توصيتي: ادمج الخيارين!
- Tab "طلبات" = مطاعم ومتاجر مسجلة (مثل Uber Eats)
- خيار "توصيل أي شيء" داخل نفس التبويب = توصيل عام بدون متجر (مثل inDrive Courier)
🏪 من يعبّي البيانات؟ — نموذج تعبئة المتاجر
❌ لا يمكنك تعبئة كل شيء بنفسك (لن يتسع الوقت)
✅ النموذج المُهجَّن (Hybrid) — الأنسب لسيرو
| Phase | Strategy | Details |
|---|---|---|
| Phase 1: Seed | Siro team adds 20-30 top stores manually | Pick the most popular restaurants/stores in each city. Siro team photographs menus, enters items. This creates "critical mass" to attract users |
| Phase 2: Merchant Portal | Launch self-service merchant dashboard | Merchants register, upload their own menus, manage availability, accept orders. This is the merchant_dashboard Docker container |
| Phase 3: Scale | Sales team onboards merchants + merchants discover Siro organically | Merchant referral program, dedicated sales agents, "Join Siro" landing page |
التفصيل:
المرحلة 1 — البذرة (أول شهر-شهرين)
- أنت وفريقك تختارون 20-30 مطعم/متجر مشهور في كل مدينة
- تروحون تصوّرون المنيو، تدخلون الأصناف، الأسعار، الصور
- هذا ضروري لأن لا أحد (لا مستخدم ولا تاجر) سيستخدم منصة فارغة
- الهدف: أن يفتح المستخدم التطبيق ويلاقي خيارات حقيقية من أول يوم
المرحلة 2 — بوابة التاجر (الشهر الثالث)
- لوحة تحكم ويب للتاجر (الـ
merchant_dashboard):- التاجر يسجّل حسابه بنفسه
- يضيف متجره (اسم، عنوان، شعار، ساعات العمل)
- يضيف أصناف المنيو بنفسه (اسم، وصف، سعر، صورة)
- يستقبل الطلبات ويقبلها/يرفضها
- يشوف تقارير مبيعاته
- تطبيق تاجر بسيط (اختياري لاحقاً): تطبيق موبايل للتاجر يسمع إشعارات الطلبات الجديدة
المرحلة 3 — التوسع (بعد 6 أشهر)
- فريق مبيعات يزور المتاجر ويعرض عليهم الانضمام
- التجار يسجلون بأنفسهم بعد ما يشوفون المنصة ناجحة
- برنامج إحالة للتجار ("ادعُ تاجر واحصل على عمولة مخفّضة")
📋 ما الذي نحتاجه بالتفصيل؟
بيانات المتاجر (يعبّيها التاجر أو فريق سيرو)
| البيان | مطلوب؟ | مثال |
|---|---|---|
| اسم المتجر (عربي + إنجليزي) | ✅ إجباري | مطعم الشام / Al Sham Restaurant |
| الشعار (Logo) | ✅ إجباري | صورة 512x512 |
| صورة الغلاف | 🟡 اختياري | صورة عريضة للمتجر |
| التصنيف | ✅ إجباري | مطعم / سوبرماركت / صيدلية / عام |
| التصنيف الفرعي | 🟡 اختياري | شاورما / بيتزا / برغر / حلويات |
| العنوان + الإحداثيات | ✅ إجباري | خريطة + pin |
| ساعات العمل | ✅ إجباري | 9:00 - 23:00 (لكل يوم) |
| الحد الأدنى للطلب | ✅ إجباري | 2 دينار / 50,000 ل.س |
| رسوم التوصيل | ✅ إجباري | ثابتة أو حسب المسافة |
| وقت التحضير المتوسط | ✅ إجباري | 25 دقيقة |
| رقم هاتف التواصل | ✅ إجباري | للتنسيق مع السائق |
| نطاق التوصيل (كم) | ✅ إجباري | 5 كم من المتجر |
بيانات المنيو/المنتجات (يعبّيها التاجر)
| البيان | مطلوب؟ | مثال |
|---|---|---|
| اسم الصنف | ✅ إجباري | شاورما لحمة عربي |
| الوصف | 🟡 اختياري | لحمة مشوية مع خضار وطحينة |
| السعر | ✅ إجباري | 1.50 دينار |
| الصورة | ✅ مُوصى بشدة | صورة شهية! |
| التصنيف | ✅ إجباري | ساندويشات / مشاوي / مشروبات |
| متاح / غير متاح | ✅ إجباري | toggle بسيط |
| خيارات (Variants) | 🟡 حسب الصنف | حجم: صغير / وسط / كبير |
| إضافات (Add-ons) | 🟡 حسب الصنف | إضافة جبنة +0.25 / بدون بصل |
💰 نموذج الإيرادات — كيف نربح؟
مصادر الدخل من خدمة التوصيل
| مصدر الدخل | النسبة المقترحة | التوضيح |
|---|---|---|
| عمولة من المتجر | 15-25% من قيمة الطلب | المصدر الرئيسي — مثل Uber Eats |
| رسوم توصيل من الزبون | 0.50 - 2.00 دينار | حسب المسافة — جزء يروح للسائق وجزء لسيرو |
| رسوم خدمة | 5-10% من الزبون | Service fee صغيرة على كل طلب |
| إعلانات المتاجر | متغير | "ظهور مميز" في أعلى القائمة = مدفوع |
| Siro Prime | اشتراك شهري | توصيل مجاني لأعضاء Prime (نفس النظام الحالي!) |
🚗 تأثير على السائقين — كيف يشتغل السائق؟
السيناريو المقترح
flowchart TD
A["Driver goes online"] --> B{"Receive request"}
B -->|Ride request| C["Normal ride flow<br/>(existing system)"]
B -->|Delivery request| D["New delivery flow"]
D --> E["Navigate to store"]
E --> F["Confirm pickup<br/>(scan QR / enter code)"]
F --> G["Navigate to customer"]
G --> H["Confirm delivery<br/>(customer signature/code)"]
H --> I["Earn delivery fee"]
style D fill:#ff9800,color:#fff
style E fill:#ff9800,color:#fff
style F fill:#ff9800,color:#fff
style G fill:#ff9800,color:#fff
style H fill:#ff9800,color:#fff
style I fill:#4caf50,color:#fff
نقاط مهمة للسائقين:
- نفس التطبيق (
siro_driver) — نضيف شاشات جديدة للتوصيل - السائق يختار: رحلات فقط / توصيل فقط / الاثنين معاً
- أوقات الذروة مختلفة: الرحلات ذروتها صباحاً ومساءً، التوصيل ذروته وقت الغداء والعشاء = توازن مثالي
- نوع السيارة: حتى سائقي الدراجات النارية يمكنهم التوصيل (فئة جديدة: Bike Delivery)
🎯 كيف نسوّقها؟ — استراتيجية الإطلاق
للمستخدمين (الزبائن)
| القناة | الأسلوب |
|---|---|
| داخل التطبيق | Banner في الشاشة الرئيسية: "جديد! اطلب أكلك من سيرو 🍔" + إشعار push لكل المستخدمين |
| أول طلب مجاني | "أول توصيل على حسابنا" — أقوى حافز للتجربة |
| كوبونات مشتركة | "اطلب رحلة واحصل على خصم 30% على أول طلب طعام" — cross-selling |
| محرك التسويق الحالي | استخدم marketing_engine (Gemini AI comments + Telegram scraper) نفسه للترويج للتوصيل |
| Siro Prime | "اشترك بـ Prime واحصل على توصيل مجاني غير محدود" |
للتجار (المطاعم والمتاجر)
| القناة | الأسلوب |
|---|---|
| عمولة 0% أول 3 أشهر | أقوى حافز — "جرّب بدون مخاطرة" |
| فريق مبيعات ميداني | نفس فكرة فريق تسجيل السائقين — يزورون المطاعم |
| صفحة "انضم لسيرو" | Landing page على siromove.com للتسجيل الذاتي |
| تابلت مجاني | بعض المنصات تقدم تابلت للمطعم لاستقبال الطلبات — ميزة تنافسية قوية |
🔄 مقارنة النماذج — أي نموذج نختار؟
النموذج A: Marketplace كامل (مثل Uber Eats / Talabat)
| Pros ✅ | Cons ❌ |
|---|---|
| Revenue from commission per order | Need to onboard many merchants |
| Scalable — merchants manage their own data | Complex merchant portal needed |
| Full control over customer experience | Higher operational cost |
| Rich data for analytics | Need customer support for merchant issues too |
النموذج B: توصيل عام فقط (مثل inDrive Courier)
| Pros ✅ | Cons ❌ |
|---|---|
| Simple — no merchant onboarding needed | Lower order value |
| Fast to launch (weeks not months) | No menu browsing experience |
| Works for anything (documents, packages, food) | Can't guarantee food quality/hygiene |
| Low infrastructure cost | Limited monetization (delivery fee only) |
النموذج C: الهجين (الموصى به ✅✅✅)
Tip
Start with Model B (courier) first — it requires almost zero new infrastructure and can launch within 2-3 weeks. Then build Model A (marketplace) in parallel and launch it when ready.
المرحلة 1 (أسبوعين): أطلق "توصيل أي شيء" — الزبون يحدد مكان الاستلام ومكان التوصيل ويكتب وصف. السائق يروح يجيب الشي ويوصله. بسيط!
المرحلة 2 (2-3 أشهر): أطلق الـ Marketplace الكامل مع متاجر مسجلة، منيوهات، تتبع حي، لوحة تحكم التاجر.
📊 ملخص ما نحتاجه
من ناحية تقنية
| المكوّن | الجهد | الأولوية |
|---|---|---|
deliveryDB — قاعدة بيانات جديدة |
متوسط | P0 |
order_server — حاوية PHP جديدة لإدارة الطلبات |
عالي | P0 |
socket_order — WebSocket لتتبع الطلبات |
متوسط | P0 |
شاشات جديدة في siro_rider (Tab الطلبات) |
عالي | P0 |
شاشات جديدة في siro_driver (استقبال طلبات التوصيل) |
متوسط | P0 |
merchant_dashboard — لوحة تحكم التاجر (ويب) |
عالي | P1 |
شاشات جديدة في siro_service (دعم طلبات التوصيل) |
منخفض | P2 |
| تطبيق موبايل للتاجر (اختياري) | عالي | P3 |
من ناحية تجارية
| المتطلب | التفصيل |
|---|---|
| اتفاقيات مع متاجر | 20-30 متجر كحد أدنى للإطلاق |
| تصوير المنيوهات | فريق يصوّر ويدخل البيانات لأول 20-30 متجر |
| تسعير التوصيل | قرار: ثابت؟ حسب المسافة؟ مجاني فوق حد معين؟ |
| تدريب السائقين | كيف يتعامل مع الطلب (لا يفتح الأكياس، يتعامل بلطف مع التاجر) |
| دعم فني | فريق siro_service يحتاج تدريب على حل مشاكل التوصيل |
من ناحية بيانات
| النوع | المصدر | الأولوية |
|---|---|---|
| بيانات المطاعم والمتاجر | فريق سيرو (أول 30) ← ثم التاجر بنفسه | P0 |
| قوائم الطعام (المنيو) | فريق سيرو (أول 30) ← ثم التاجر بنفسه | P0 |
| صور الأصناف | فريق سيرو (تصوير احترافي) ← ثم التاجر بنفسه | P1 |
| مناطق التوصيل | تعريف تلقائي حسب المسافة من المتجر | P0 |
| ساعات العمل | التاجر يدخلها | P0 |
💡 أفكار إضافية للتميّز
- "اطلب لصديقك": اطلب طعام ووصّله لشخص ثاني (هدية) — ميزة عاطفية قوية
- طلب جماعي: مجموعة أصدقاء يطلبون من نفس المطعم وكل واحد يدفع حصته
- جدولة الطلب: "أريد الطلب يوصل الساعة 8 مساءً" — مثل Talabat Schedule
- تقييمات ذكية: استخدام Gemini لتحليل التقييمات واستخراج نقاط القوة والضعف لكل مطعم
- عروض ذكية: Gemini يقترح عروض حسب سلوك المستخدم ("عادة تطلب شاورما يوم الجمعة — خصم 20% اليوم!")
- Re-order: "أعد نفس طلبك الأخير" بضغطة واحدة
🚀 الخطط القادمة وخارطة التنفيذ — تسمية الخدمة والهيكلية الإستراتيجية
🏷️ التسمية التجارية الرسمية للخدمة: Siro Express | سيرو إكسبرس
تم اختيار اسم Siro Express (سيرو إكسبرس) ليكون المظلة الشاملة لخدمات التوصيل، ويندرج تحتها 3 أذرع متخصصة:
- Siro Courier (سيرو كوريير / توصيل سريع): خدمة توصيل الطرود والوثائق والأغراض الشخصية بين نقطتين (Point-to-Point Delivery).
- Siro Eats (سيرو إيتس / طلب الطعام): خدمة تصفح المطاعم وطلب الوجبات.
- Siro Market (سيرو ماركت / البقالة والصيدلية): خدمة توصيل المستلزمات اليومية والأدوية.
🗺️ خارطة الطريق التنفيذية (Phased Implementation Roadmap)
timeline
title خارطة طريق إطلاق Siro Express
Phase 1 : Siro Courier (توصيل الأغراض) : إطلاق خدمة point-to-point خلال أسبوعين : اعتماد بنية GPS و Ride-Hailing الحالية
Phase 2 : Siro Eats (مطاعم البذرة) : إدخال أول 30 مطعم شهير : تفعيل order_server و deliveryDB
Phase 3 : Merchant Portal & Siro Market : إطلاق لوحة تحكم التجار : التوسع للبقالة والصيدليات
Phase 4 : AI & Prime Integration : ربط محرك التوصيات الذكي : دمجه مع اشتراكات Siro Prime
📑 التوثيق الفني والبرمجي للخطط القادمة (Developer & Architectural Documentation)
1. توثيق Phase 1: Siro Courier (توصيل أي شيء)
- شاشة التطبيق: تبويب "توصيل أغراض" في
siro_rider. - المدخلات: نقطة الاستلام (Pickup Lat/Lng), نقطة التسليم (Dropoff Lat/Lng), وصف الشحنة (Package Description), القيمة المجهزة إن وجدت (COD amount).
- المنطق Backend: استخدام نفس جدول الرحلات مع
ride_type = 'delivery_courier'.
2. توثيق Phase 2: Siro Eats & Order Lifecycle API
- مسارات API المجهزة في
order_server:GET /v1/delivery/stores- جلب المتاجر حسب النطاق الجغرافي.GET /v1/delivery/stores/{id}/menu- جلب المنيو والتصنيفات.POST /v1/delivery/orders/create- إنشاء طلب جديد وحجز المبلغ من Wallet.POST /v1/delivery/merchant/orders/{id}/status- تحديث حالة الطلب من التاجر.WS /v1/delivery/ws/track/{order_id}- قناة التتبع المباشر للطلب.
3. توثيق Phase 3: Merchant Portal & Dashboards
- بنية Dashboard: تطبيق web خفيف يبني على Vue/React أو HTML5 vanilla مع WebSockets متصلة بـ
socket_orderلإصدار صوت تنبيه فور ورود طلب جديد للمطعم.
4. توثيق Phase 4: Integration with Siro Prime & Gemini AI
- Siro Prime: إلغاء رسوم التوصيل لجميع الطلبات التي تتجاوز حداً أدنى معلناً.
- Gemini AI Engine: تحليل تفضيلات الزبون واقتراح وجبات مخصصة بناءً على التوقيت والموقع والطقس ورصيد المحفظة.
Note
Bottom Line: You don't need to build everything from scratch. ~80% of your infrastructure (drivers, tracking, payments, auth, notifications) is reusable. The new work is primarily: order management logic, merchant-facing tools, and new UI screens in the existing apps. Start with "deliver anything" courier mode for a quick win, then layer the full marketplace on top.