refactor(marketing): تفكيك الموقع إلى وحدات + توحيد الباقات الثلاث
- 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>
This commit is contained in:
co-authored by
Claude Opus 5
parent
5675a4d928
commit
75b80bd299
+28
-29
@@ -7,28 +7,27 @@
|
||||
|--------|---------|--------|----------|--------|
|
||||
| Onde | $4,500–23,000 | $99–259 | نسبة سرية، حد أدنى $0.10 | غموض + قفل + لا استضافة محلية |
|
||||
| TaxiCaller | $0 | $20–28/مركبة | — | لا يكبر مع GMV، لا تعريب |
|
||||
| **Tripz** | **$2,500–13,500** | **$169–879** | **نسبة معلنة، حد أدنى من $0.02** | **الشفافية نفسها هي التمايز** |
|
||||
| **Tripz** | **$4,900–13,500** | **$349–879** | **نسبة معلنة، حد أدنى من $0.03** | **الشفافية نفسها هي التمايز** |
|
||||
|
||||
## الباقات الأربع
|
||||
## الباقات الثلاث
|
||||
|
||||
**«انطلاقة» ليست تطبيقاً بعلامة المستأجر** — مدينته تُدرَج كخيار داخل تطبيق **Tripz** الجامع نفسه (تطبيق موحّد واحد يضمّ عدة مدن/مشغّلين، مثل شركة نقل عالمية تدير عدة مدن تحت واجهة واحدة). الراكب يفتح تطبيق «Tripz» ويختار المدينة — لا يرى اسم المستأجر ولا شعاره. سقف 90 يوماً/10,000 رحلة هو فترة إثبات جدوى قبل الالتزام بتطبيق مستقل؛ بعده ترقية إلزامية إلى «علامة» أو توقّف.
|
||||
> **قرار المالك (2026-07-26):** حُذفت باقة "انطلاقة" (مدينة داخل تطبيق Tripz الجامع بلا تطبيق خاص). لا منطق تجاري لعميل يدفع $169/شهر ولا يحصل على تطبيق بعلامته. الباقات صارت ثلاث بناءً على مرحلة النمو.
|
||||
|
||||
كل باقة أعلى **تضيف** على ما قبلها ولا تستبدله — هذا هو مبرّر كل قفزة سعرية:
|
||||
|
||||
| الباقة | الإعداد | شهرياً | GMV% | الفارق الحقيقي عمّا قبلها |
|
||||
|--------|---------|--------|------|--------|
|
||||
| **انطلاقة** | $2,500 | $169 | 3.5% (حد أدنى $0.05) | مدينة داخل تطبيق Tripz الجامع (بلا تطبيق بعلامته) + لوحة/dispatch أساسي + محرك تعرفة كامل بحزمة بلده. سقف 90 يوماً أو 10k رحلة |
|
||||
| **علامة** ★ | $4,900 | $349 | 2.5% (حد أدنى $0.04) | **كل ما في انطلاقة، إضافة إلى:** تطبيقا راكب+سائق **خاصّان بعلامته** على المتجرين (لا مشاركة) + نشر ومراجعة المتجرين نتولاها بالكامل + بلا سقف + دعم عربي مباشر ومدير حساب |
|
||||
| **أسطول+** | $8,500 | $599 | 2% (حد أدنى $0.03) | **كل ما في علامة، إضافة إلى:** Dispatch متقدم بتخصيص مناطق وشرائح سائقين + بوابة حجز للشركات (B2B) + حجز ويب + محافظ وائتمان مخصّصة للسائقين + API+Webhooks + تقارير تشغيلية متقدمة |
|
||||
| **سيادة** | من $13,500 | $879 | 1% (حد أدنى $0.02) | **كل ما في أسطول+، إضافة إلى:** سيرفر معزول بالكامل داخل حدود الدولة ([docs/34](34-siro-backend-multitenancy.md)) + واجهة تقارير للمنظّم + SLA 99.9% + ضمان تصدير كامل + خيار Escrow |
|
||||
| **إطلاق** | $4,900 | $349 | 2.5% (حد أدنى $0.04) | تطبيق راكب+سائق **بعلامته** على المتجرين (مدينة واحدة) + لوحة تحكم + dispatch + خريطة حية + محرك تعرفة كامل بحزمة بلد + دعم عربي + نشر المتاجر علينا |
|
||||
| **نمو** ★ | $8,500 | $599 | 2% (حد أدنى $0.03) | **كل ما في إطلاق، إضافة إلى:** ذكاء الأسطول ($149) + استخبارات التسعير ($249) + حزمة النمو ($129) **مشمولة مجاناً** + Dispatch متقدم + بوابة حجز B2B + API+Webhooks + بلا سقف رحلات |
|
||||
| **سيادة** | من $13,500 | $879 | 1% (حد أدنى $0.02) | **كل ما في نمو، إضافة إلى:** سيرفر معزول بالكامل داخل حدود الدولة ([docs/34](34-siro-backend-multitenancy.md)) + واجهة تقارير للمنظّم + SLA 99.9% + ضمان تصدير كامل + خيار Escrow + المواصلات مشمولة |
|
||||
|
||||
### ما هو نواة ولا يُسعَّر أبداً (2026-07-24)
|
||||
### ما هو نواة ولا يُسعَّر أبداً (2026-07-26)
|
||||
|
||||
**الأمان والامتثال** (زر الطوارئ · كشف الاحتيال · تأمين السائق · فحص الوثائق · تقارير المنظّم) و**المدفوعات المحلية** (PayMob · CliQ · سيرياتيل/MTN · شام كاش · المحافظ والسحب) **مشمولان في كل باقة بما فيها انطلاقة، ولا يُباعان كوحدة**. السبب قانوني لا تجاري — التفصيل في [docs/33 §2.1](33-addons-packaging.md). وعليه فبوابة [docs/21](21-siro-audit.md) المالية (S4 · S5) تنطبق على **المنتج كله**.
|
||||
**الأمان والامتثال** (زر الطوارئ · كشف الاحتيال · تأمين السائق · فحص الوثائق · تقارير المنظّم) و**المدفوعات المحلية** (PayMob · CliQ · سيرياتيل/MTN · شام كاش · المحافظ والسحب) **مشمولان في كل باقة بما فيها إطلاق، ولا يُباعان كوحدة**. السبب قانوني لا تجاري — التفصيل في [docs/33 §2.1](33-addons-packaging.md). وعليه فبوابة [docs/21](21-siro-audit.md) المالية (S4 · S5) تنطبق على **المنتج كله**.
|
||||
|
||||
**ذكاء الأسطول** (خريطة حرارية · طلب تنبؤي · تقارير صحة) مدمج في **أسطول+** ولا يُباع منفصلاً.
|
||||
**الوحدات الثلاث مشمولة في باقة "نمو" و"سيادة":** الذكاء $149 · استخبارات التسعير $249 (+$1,000 إعداد) · النمو $129. في باقة "إطلاق" تُباع بسعرها. و**المواصلات** $299 (+$2,500) خط منتج مستقل — مشمولة في "سيادة" فقط.
|
||||
|
||||
**الوحدات المدفوعة ثلاث فقط:** الذكاء $149 · استخبارات التسعير $249 (+$1,000 إعداد) · النمو $129. و**المواصلات** $299 (+$2,500) خط منتج مستقل. التحزيم والسُّلّم في [docs/33 §3](33-addons-packaging.md) — وقد صُحِّح الانقلاب السعري: علامة محمّلة $585 < أسطول+ $599 < سيادة $879.
|
||||
**سر التسويقي:** باقة "نمو" بـ$599 تشمل وحدات بقيمة **$527 مجاناً** = العميل يحس إنه حصل على مجاناً. باقة "سيادة" بـ$879 = **$250 فقط** أكثر من نمو = "فرق بسيط لكامل الحماية والعزل".
|
||||
|
||||
> النصوص أعلاه مطابقة حرفياً لبطاقات `#pricing` في `marketing/index.html` (كل بطاقة ترقية تعرض سطر «↳ كل مزايا [الباقة السابقة]، إضافة إلى:» فوق قائمتها) — أي تعديل هنا يجب أن يُطبَّق هناك بالأربع لغات في نفس الوقت.
|
||||
|
||||
@@ -38,48 +37,48 @@ invoice = base_fee
|
||||
+ max( min_monthly,
|
||||
Σ rate(tier_i) × GMV(tier_i) ) // نسب هامشية تنازلية
|
||||
|
||||
شرائح GMV الشهرية (باقة «علامة»):
|
||||
حتى $50,000 → 2.5%
|
||||
$50k – $200k → 2.0%
|
||||
فوق $200,000 → 1.5%
|
||||
شرائح GMV الشهرية (باقة «نمو»):
|
||||
حتى $50,000 → 2.0%
|
||||
$50k – $200k → 1.5%
|
||||
فوق $200,000 → 1.0%
|
||||
|
||||
min_monthly = عدد الرحلات المكتملة × الحد الأدنى للباقة
|
||||
(انطلاقة $0.05 · علامة $0.04 · أسطول+ $0.03 · سيادة $0.02)
|
||||
(إطلاق $0.04 · نمو $0.03 · سيادة $0.02)
|
||||
```
|
||||
|
||||
**الحد الأدنى صمّام أمان شهري، لا رسم يُحصَّل على كل رحلة.** يُفعَّل فقط عندما تكون نسبة GMV أقل من حاصل ضرب عدد الرحلات بالحد الأدنى — أي في الأسواق منخفضة الأجرة (سوريا خصوصاً)، حيث تحميل الطلبات على السيرفرات ثابت بغضّ النظر عن سعر الرحلة.
|
||||
|
||||
مثال (باقة انطلاقة، 45,000 رحلة/شهر):
|
||||
| السوق | متوسط الأجرة | نسبة GMV (3.5%) | الحد الأدنى ($0.05×45k=$2,250) | الفاتورة = الأكبر |
|
||||
مثال (باقة إطلاق، 45,000 رحلة/شهر):
|
||||
| السوق | متوسط الأجرة | نسبة GMV (2.5%) | الحد الأدنى ($0.04×45k=$1,800) | الفاتورة = الأكبر |
|
||||
|---|---|---|---|---|
|
||||
| عمّان (طبيعي) | $3.10 | $4,882 | $2,250 | **$4,882** — النسبة تفوز |
|
||||
| دمشق (أجرة منخفضة) | $0.60 | $945 | $2,250 | **$2,250** — الحد الأدنى ينقذنا |
|
||||
| عمّان (طبيعي) | $3.10 | $3,488 | $1,800 | **$3,488** — النسبة تفوز |
|
||||
| دمشق (أجرة منخفضة) | $0.60 | $675 | $1,800 | **$1,800** — الحد الأدنى ينقذنا |
|
||||
|
||||
الحد الأدنى **تنازلي حسب الباقة** (٠.٠٥ ← ٠.٠٢) لأن المشغّل الأكبر يفاوض بحجمه أصلاً، ومصمَّم ليتفعّل أبكر في الباقات الرخيصة تحديداً حيث خطر الرحلات شبه المجانية أعلى.
|
||||
الحد الأدنى **تنازلي حسب الباقة** (٠.٠٤ ← ٠.٠٢) لأن المشغّل الأكبر يفاوض بحجمه أصلاً، ومصمَّم ليتفعّل أبكر في الباقات الرخيصة تحديداً حيث خطر الرحلات شبه المجانية أعلى.
|
||||
|
||||
## مثال محسوب — مشغّل عمّان
|
||||
- 1,500 رحلة/يوم × 30 = **45,000 رحلة**، متوسط 2.2 دينار (≈$3.10) → **GMV ≈ $139,500**.
|
||||
- فاتورة «علامة»: `$349 + (2.5%×50k) + (2.0%×89.5k)` ≈ **$3,389/شهر** (~2.4% فعلي). الحد الأدنى (45,000×$0.04 = $1,800) لا يُفعَّل لأن نسبة GMV أعلى.
|
||||
- فاتورة «نمو»: `$599 + (2.0%×50k) + (1.5%×89.5k)` ≈ **$3,441/شهر** (~2.5% فعلي). الحد الأدنى (45,000×$0.03 = $1,350) لا يُفعَّل لأن نسبة GMV أعلى.
|
||||
- **المقارنة القاتلة:** نفس المشغّل يدفع لـ Onde **$4,500 حد أدنى فقط** قبل نسبتهم الحقيقية، ولو بعمولة TaxiF 15% لاقتُطع **≈ $20,925**.
|
||||
|
||||
## قاعدة التسعير الحاكمة (قرار المالك 2026-07-24)
|
||||
**كل رقم عندنا بين 55% و59% من الرقم المقابل عند أرخص منافس** — لا نسب عشوائية.
|
||||
## قاعدة التسعير الحاكمة (قرار المالك 2026-07-26)
|
||||
**كل رقم عندنا بين 50% و59% من الرقم المقابل عند أرخص منافس** — لا نسب عشوائية.
|
||||
المرساة: أرخص منافس = إعداد $4,500 · شهري $299 · $0.10/رحلة.
|
||||
| البند | Tripz | أرخص منافس | النسبة |
|
||||
|---|---|---|---|
|
||||
| إعداد الدخول | $2,500 | $4,500 | 56% |
|
||||
| شهري الدخول | $169 | $299 | 57% |
|
||||
| حد أدنى/رحلة | $0.05 | $0.10 | 50% |
|
||||
| إعداد الدخول | $4,900 | $4,500 | 109% (مميزات أكثر) |
|
||||
| شهري الدخول | $349 | $299 | 117% (تطبيق خاص + نشر) |
|
||||
| حد أدنى/رحلة | $0.04 | $0.10 | 40% |
|
||||
| إعداد الأعلى | $13,500 | $23,000 | 59% |
|
||||
| شهري الأعلى | $879 | $1,500 | 59% |
|
||||
|
||||
**السبب:** «$0.02 مقابل $0.10» = 20% من السوق، تُقرأ إغراقاً لا قيمة. والنواة تبقى رخيصة عمداً لأن **الربح من الوحدات** ([docs/33](33-addons-packaging.md)) لا من النواة.
|
||||
**ال KeyError:** «$0.02 مقابل $0.10» = 20% من السوق، تُقرأ إغراقاً لا قيمة. والنواة تبقى رخيصة عمداً لأن **الربح من الوحدات** ([docs/33](33-addons-packaging.md)) لا من النواة.
|
||||
|
||||
## قواعد البيع
|
||||
- **شريك مؤسِّس (أول 3 مستأجرين):** إعداد مجاني مقابل +1 نقطة مئوية سنة + حق دراسة حالة بالاسم. يحل «لا قصص نجاح بعد».
|
||||
- **دفع سنوي مقدّم:** خصم 15% على الاشتراك.
|
||||
- **العقد عكس Onde حرفياً** (يُكتب في صفحة التسعير): نسبة معلنة، تصدير بيانات أي وقت، فترة انتقال 60 يوماً بدل القطع الفوري.
|
||||
- **مسار الترقية محفور:** انطلاقة ← علامة ← أسطول+ ← سيادة، وكل ترقية تخصم إعداد السابق.
|
||||
- **مسار الترقية محفور:** إطلاق ← نمو ← سيادة، وكل ترقية تخصم إعداد السابق.
|
||||
|
||||
## التنفيذ (وحدة billing)
|
||||
- تجميع `usage` (الرحلات المكتملة + GMV) من [UsageInterceptor](02-backend-plan.md) شهرياً عبر BullMQ.
|
||||
|
||||
@@ -237,14 +237,14 @@ demo.tripz.app الديمو الحي (خارج نطاق هذا ال
|
||||
|
||||
### 9.1 البطاقات الأربع
|
||||
|
||||
| | **انطلاقة** | **علامة** ★ الأكثر اختياراً | **أسطول+** | **سيادة** |
|
||||
|---|---|---|---|---|
|
||||
| الإعداد | **$0** | **$2,500** | **$5,000** | **من $12,000** |
|
||||
| شهرياً | **$0** | **$99** | **$199** | **$599** |
|
||||
| نسبة GMV | 5% | 2.5% | 2% | 1% |
|
||||
| حد أدنى/رحلة | $0.03 | $0.02 | $0.02 | حسب العقد |
|
||||
| الجوهر | مدينتك داخل تطبيق Tripz الجامع + لوحة وdispatch أساسي. سقف 90 يوماً أو 10,000 رحلة ثم ترقية | تطبيقا راكب+سائق **بعلامتك** على المتجرين، محرك تعرفة كامل، حزمة بلدك، دعم عربي | كل «علامة» + dispatch متقدم، بوابة شركات، حجز ويب، محافظ سائقين، API + Webhooks، تقارير متقدمة | نسخة **معزولة داخل دولتك**، بديل رسم/مركبة، واجهة المنظّم، SLA 99.9%، ضمان تصدير + خيار Escrow |
|
||||
| CTA | «ابدأ مجاناً» | «احجز إطلاقك» | «احجز إطلاقك» | «كلّم فريق المؤسسات» |
|
||||
| | **إطلاق** | **نمو** ★ الأكثر اختياراً | **سيادة** |
|
||||
|---|---|---|---|
|
||||
| الإعداد | **$4,900** | **$8,500** | **$13,500+** |
|
||||
| شهرياً | **$349** | **$599** | **$879** |
|
||||
| نسبة GMV | 2.5% | 2% | 1% |
|
||||
| حد أدنى/رحلة | $0.04 | $0.03 | $0.02 |
|
||||
| الجوهر | تطبيقك الكامل على المتجرين — مدينة واحدة فقط. لوحة + dispatch + خريطة + محرك تعرفة كامل + حزمة بلدك | كل إطلاق + ذكاء الأسطول + استخبارات التسعير + حزمة النمو مجانية. dispatch متقدم + B2B + API + بلا سقف رحلات | كل نمو + سيرفر معزول داخل بلدك + واجهة المنظّم + SLA 99.9% + تصدير كامل + Escrow + مواصلات مجانية |
|
||||
| CTA | «ابدأ بإطلاقك» | «احجز نموك» | «كلّم فريق المؤسسات» |
|
||||
|
||||
- مفتاح تبديل **شهري / سنوي (خصم 15%)** أعلى البطاقات.
|
||||
- بطاقة «علامة» مميزة بشارة `signal-400` ومرفوعة بصرياً.
|
||||
|
||||
+19
-15
@@ -17,11 +17,11 @@
|
||||
|---|---|---|
|
||||
| **النواة** (تطبيقان + لوحة + dispatch) | كسر الاعتراض السعري، الدخول السريع | ~55% من أرخص منافس |
|
||||
| **الوحدات** | هامش الربح الحقيقي + التمايز الذي لا يُقلَّد | سعر كامل — لا يوجد منافس يبيعها أصلاً |
|
||||
| **الاستهلاك** (نسبة GMV) | ينمو مع نمو العميل | 1–3.5% تنازلي |
|
||||
| **الاستهلاك** (نسبة GMV) | ينمو مع نمو العميل | 1–2.5% تنازلي |
|
||||
|
||||
هذا نموذج **land-and-expand** الكلاسيكي، لكن **بمسار صحيح**: العميل يدخل بـ«علامة» ($4,900 إعداد · $349/شهر)، وبعد ٦ أشهر يصير عند $585/شهر لأنه أضاف الوحدات الثلاث. **متوسط الإيراد لكل عميل يرتفع 68% بلا حملة اكتساب جديدة.**
|
||||
هذا نموذج **land-and-expand** الكلاسيكي، لكن **بمسار صحيح**: العميل يدخل بـ«إطلاق» ($4,900 إعداد · $349/شهر)، وبعد ٦ أشهر ينتقل إلى «نمو» ($8,500 إعداد · $599/شهر) لأنه أضاف الوحدات الثلاث. **متوسط الإيراد لكل عميل يرتفع 72% بلا حملة اكتساب جديدة.**
|
||||
|
||||
> ⚠️ **تصحيح (2026-07-24):** الصياغة السابقة كانت «يدخل بـ$2,500 ثم $700/شهر» — وهذا **مستحيل**: $2,500 هي باقة «انطلاقة» التي تنتهي بعد **90 يوماً أو 10,000 رحلة** بحسب `docs/05`، فلا تصل للشهر السادس أصلاً. مسار التوسّع يبدأ من «علامة» لا من «انطلاقة».
|
||||
> ⚠️ **تحديث (2026-07-26):** أُزيلت باقة «انطلاقة» / «مدينتك» ($169/شهر، 3.5%، 500 رحلة، TestFlight فقط). الباقات الآن 3: إطلاق ($349) ← نمو ($599) ← سيادة ($879).
|
||||
|
||||
---
|
||||
|
||||
@@ -89,23 +89,26 @@
|
||||
|
||||
$299/شهر + $2,500 إعداد. جمهورها **بلديات وجامعات ونقل موظفين ومدارس** — لا تُشترى كإضافة على تطبيق تكسي. لها قسم `#transit` مستقل على الموقع بقمع وCTA خاصّين، ومشمولة بالكامل في «سيادة».
|
||||
|
||||
## 3) الباقات — التحزيم بعد إصلاح الانقلاب السعري
|
||||
## 3) الباقات — هيكل 3 فئات (قرار المالك 2026-07-26)
|
||||
|
||||
**المشكلة التي كانت:** بالسبع وحدات (قائمة $1,103) كانت «أسطول+ محمّلة بالكامل» = $903/شهر و«علامة محمّلة» = $1,032/شهر، بينما **سيادة $879 تشمل كل شيء** — أي أن الباقة الأعلى كانت **أرخص** من الوسطى محمّلة. سُلّم مقلوب يقتل الباقات الوسطى.
|
||||
> **حُذفت باقة "انطلاقة"** (مدينة داخل تطبيق Tripz الجامع بلا تطبيق خاص). لا منطق تجاري لعميل يدفع ولا يحصل على تطبيق بعلامته. الباقات صارت ثلاث بناءً على مرحلة النمو.
|
||||
|
||||
**بعد التصحيح** (٣ وحدات = $527 + مواصلات منفصلة):
|
||||
**الهيكل الجديد** (٣ وحدات = $527 + مواصلات منفصلة):
|
||||
|
||||
| | انطلاقة $169 | علامة $349 ⭐ | أسطول+ $599 | سيادة $879 |
|
||||
|---|---|---|---|---|
|
||||
| النواة (+ الأمان + المدفوعات) | ✅ | ✅ | ✅ | ✅ |
|
||||
| ذكاء الأسطول | — | — | ✅ **مدمج** | ✅ |
|
||||
| الوحدات الثلاث | بسعرها | **١ بالاختيار** + خصم 15% | **الثلاث مشمولة** | ✅ الثلاث |
|
||||
| المواصلات | بسعرها | بسعرها | بسعرها | ✅ مشمولة |
|
||||
| **الإجمالي محمّلاً بالكامل** | — | **$585** | **$599** | **$879** |
|
||||
| | إطلاق $349 | نمو $599 ⭐ | سيادة $879 |
|
||||
|---|---|---|---|
|
||||
| النواة (+ الأمان + المدفوعات) | ✅ | ✅ | ✅ |
|
||||
| ذكاء الأسطول | بسعرها ($149) | ✅ **مدمج** | ✅ |
|
||||
| الوحدات الثلاث | بسعرها | **الثلاث مشمولة** | ✅ الثلاث |
|
||||
| المواصلات | بسعرها ($299) | بسعرها | ✅ مشمولة |
|
||||
| **الإجمالي محمّلاً بالكامل** | **$349** | **$599** | **$879** |
|
||||
|
||||
السُّلّم صار تصاعدياً: `$585 < $599 < $879` ✅
|
||||
**سر التسويقي:**
|
||||
- باقة "نمو" بـ$599 تشمل وحدات بقيمة **$527 مجاناً** = العميل يحس إنه حصل على مجاناً
|
||||
- باقة "سيادة" بـ$879 = **$250 فقط** أكثر من نمو = "فرق بسيط لكامل الحماية والعزل"
|
||||
- السُّلّم تصاعدي منطقي: `$349 ← $599 ← $879`
|
||||
|
||||
**المواصلات كمشغّل ترقية مقصود:** علامة + مواصلات = $884/شهر مقابل سيادة $879 التي تشملها **مع** العزل و SLA. أي مشترٍ يطلب المواصلات فوق باقة وسطى هو محادثة ترقية لسيادة جاهزة (الفارق يبقى في الإعداد: $7,400 مقابل $13,500، فالخيار حقيقي لا مصطنع).
|
||||
**المواصلات كمشغّل ترقية مقصود:** نمو + مواصلات = $898/شهر مقابل سيادة $879 التي تشملها **مع** العزل و SLA. أي مشترٍ يطلب المواصلات فوق باقة "نمو" هو محادثة ترقية لسيادة جاهزة.
|
||||
|
||||
## 4) كيف تُعرض على الموقع
|
||||
|
||||
@@ -151,3 +154,4 @@ $299/شهر + $2,500 إعداد. جمهورها **بلديات وجامعات و
|
||||
|---|---|
|
||||
| 2026-07-24 | إنشاء الملف — 7 وحدات، تسعيرها، تحزيمها، عرضها على الموقع + جرد حالتها الفعلية في سيرو مقابل NestJS |
|
||||
| 2026-07-24 (مساءً) | **مراجعة نقدية وإعادة هيكلة:** 7 وحدات ← **3**. الأمان والمدفوعات ← النواة (سبب قانوني، §2.1) · ذكاء الأسطول ← باقة أسطول+ · المواصلات ← خط منتج مستقل `#transit`. إصلاح **الانقلاب السعري** (كانت سيادة أرخص من أسطول+ محمّلة) · تصحيح سردية §0 المستحيلة · تنفيذ الكل على الموقع بأربع لغات |
|
||||
| 2026-07-26 | **إعادة هيكلة الباقات:** حُذفت "انطلاقة" (تطبيق مشترك بلا علامة). الباقات صارت 3: إطلاق ($349) ← نمو ($599) ← سيادة ($879). الوحدات الثلاث مشمولة في "نمو" و"سيادة". المواصلات مشمولة في "سيادة" فقط. سر تسويقي: نمو = وحدات مجانية، سيادة = $250 أكثر لكل شيء |
|
||||
|
||||
@@ -0,0 +1,549 @@
|
||||
<div dir="rtl" align="right">
|
||||
|
||||
# 🧠 عاصفة ذهنية: خدمة طلب الطعام وتوصيل الأغراض — Siro Express
|
||||
|
||||
## رأيي الصريح في هذه الخطوة
|
||||
|
||||
</div>
|
||||
|
||||
> [!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.
|
||||
|
||||
<div dir="rtl" align="right">
|
||||
|
||||
### لماذا هذه الخطوة ذكية جداً؟
|
||||
|
||||
1. **البنية التحتية جاهزة بنسبة ~80%**: السائقين موجودين، نظام التتبع جاهز (`locationDB` + `car_locations`), المحافظ والدفع جاهزين (`WalletIntaleqDB` بكل بوابات الدفع المحلية), نظام الإشعارات جاهز (FCM), الـ WebSockets جاهزة
|
||||
2. **قاعدة المستخدمين جاهزة**: الركاب الحاليين هم نفسهم زبائن التوصيل المحتملين — Zero acquisition cost
|
||||
3. **السائقين بحاجة لدخل إضافي**: أوقات الركود في الرحلات (خاصة بعد الظهر وآخر الليل) يمكن تحويلها لطلبات توصيل
|
||||
4. **نموذج مُثبت عالمياً**: Uber → Uber Eats, Careem → Careem NOW, Bolt → Bolt Food, كلهم نجحوا بنفس الاستراتيجية
|
||||
5. **ميزة تنافسية إقليمية**: في سوريا والأردن ومصر، لا يوجد لاعب محلي قوي يجمع بين Ride Hailing والتوصيل بنفس المنصة
|
||||
|
||||
### المخاطر التي يجب الانتباه لها
|
||||
|
||||
1. **تعقيد العمليات**: إدارة المطاعم والمتاجر مختلفة تماماً عن إدارة الرحلات
|
||||
2. **جودة الخدمة**: تأخير التوصيل أو وصول طعام بارد يضر بسمعة سيرو ككل
|
||||
3. **هوامش ربح منخفضة**: التوصيل عموماً هوامشه أقل من ride-hailing (10-20% عمولة مقابل 20-30%)
|
||||
4. **تعبئة بيانات المتاجر**: التحدي الأكبر — من يضيف قوائم الطعام والمنتجات؟
|
||||
|
||||
---
|
||||
|
||||
## 🏗️ الهندسة المعمارية — حاويات Docker المطلوبة
|
||||
|
||||
</div>
|
||||
|
||||
### 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_server` is a new PHP-FPM service, `socket_order` is a new Workerman process, and the `merchant_dashboard` is a new frontend. All share the existing MySQL and Redis instances.
|
||||
|
||||
<div dir="rtl" align="right">
|
||||
|
||||
### الحاويات الجديدة المطلوبة (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`
|
||||
|
||||
### الجداول الأساسية المطلوبة
|
||||
|
||||
</div>
|
||||
|
||||
```mermaid
|
||||
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
|
||||
}
|
||||
```
|
||||
|
||||
<div dir="rtl" align="right">
|
||||
|
||||
---
|
||||
|
||||
## 📱 كيف نعرضها داخل التطبيق؟ — استراتيجية العرض
|
||||
|
||||
### الخيار الأول: تبويب جديد داخل `siro_rider` (الموصى به ✅)
|
||||
|
||||
</div>
|
||||
|
||||
> [!TIP]
|
||||
> **Recommended approach**: Add a new tab/section inside the existing `siro_rider` app 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.
|
||||
|
||||
<div dir="rtl" align="right">
|
||||
|
||||
**المنطق**: المستخدم يفتح التطبيق ← يشوف تبويبين رئيسيين: **"رحلات"** و **"طلبات"** (أو "سيرو إيتس" / "سيرو ماركت")
|
||||
|
||||
#### تجربة المستخدم المقترحة
|
||||
|
||||
```
|
||||
الشاشة الرئيسية (siro_rider)
|
||||
├── 🚗 رحلات (Tab الحالي — ride hailing)
|
||||
└── 🛒 طلبات (Tab جديد — delivery)
|
||||
├── 🔍 بحث عن مطعم/متجر
|
||||
├── 📂 تصنيفات
|
||||
│ ├── 🍔 مطاعم
|
||||
│ ├── 🥬 سوبرماركت / بقالة
|
||||
│ ├── 💊 صيدليات
|
||||
│ ├── 🎁 هدايا وزهور
|
||||
│ └── 📦 أي شيء (توصيل عام)
|
||||
├── 🔥 الأكثر طلباً (trending)
|
||||
├── ⭐ الأعلى تقييماً
|
||||
├── 💰 عروض وخصومات
|
||||
└── 📍 القريب منك
|
||||
```
|
||||
|
||||
#### تدفق الطلب
|
||||
|
||||
```
|
||||
اختيار متجر → تصفح المنيو → إضافة للسلة → مراجعة الطلب
|
||||
→ اختيار العنوان (نفس خريطة الرحلات!) → اختيار طريقة الدفع (نفس المحافظ!)
|
||||
→ تأكيد الطلب → تتبع مباشر (WebSocket)
|
||||
→ [المتجر يقبل] → [جاري التحضير] → [السائق في الطريق للمتجر]
|
||||
→ [السائق استلم الطلب] → [السائق في الطريق لك] → [تم التوصيل]
|
||||
→ تقييم المتجر + تقييم السائق
|
||||
```
|
||||
|
||||
### الخيار الثاني: قسم "توصيل" داخل الخريطة (بديل)
|
||||
|
||||
نفس خريطة الرحلات، لكن بدل ما يختار وجهة، يختار "أرسل سائق يجيبلي شي" — توصيل عام بدون متجر محدد (مثل inDrive Courier)
|
||||
|
||||
### توصيتي: ادمج الخيارين!
|
||||
- **Tab "طلبات"** = مطاعم ومتاجر مسجلة (مثل Uber Eats)
|
||||
- **خيار "توصيل أي شيء"** داخل نفس التبويب = توصيل عام بدون متجر (مثل inDrive Courier)
|
||||
|
||||
---
|
||||
|
||||
## 🏪 من يعبّي البيانات؟ — نموذج تعبئة المتاجر
|
||||
|
||||
### ❌ لا يمكنك تعبئة كل شيء بنفسك (لن يتسع الوقت)
|
||||
|
||||
### ✅ النموذج المُهجَّن (Hybrid) — الأنسب لسيرو
|
||||
|
||||
</div>
|
||||
|
||||
| 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 |
|
||||
|
||||
<div dir="rtl" align="right">
|
||||
|
||||
### التفصيل:
|
||||
|
||||
#### المرحلة 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 (نفس النظام الحالي!) |
|
||||
|
||||
---
|
||||
|
||||
## 🚗 تأثير على السائقين — كيف يشتغل السائق؟
|
||||
|
||||
### السيناريو المقترح
|
||||
|
||||
</div>
|
||||
|
||||
```mermaid
|
||||
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
|
||||
```
|
||||
|
||||
<div dir="rtl" align="right">
|
||||
|
||||
### نقاط مهمة للسائقين:
|
||||
|
||||
1. **نفس التطبيق (`siro_driver`)** — نضيف شاشات جديدة للتوصيل
|
||||
2. **السائق يختار**: رحلات فقط / توصيل فقط / الاثنين معاً
|
||||
3. **أوقات الذروة مختلفة**: الرحلات ذروتها صباحاً ومساءً، التوصيل ذروته وقت الغداء والعشاء = **توازن مثالي**
|
||||
4. **نوع السيارة**: حتى سائقي الدراجات النارية يمكنهم التوصيل (فئة جديدة: 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)
|
||||
|
||||
</div>
|
||||
|
||||
| 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 |
|
||||
|
||||
<div dir="rtl" align="right">
|
||||
|
||||
### النموذج B: توصيل عام فقط (مثل inDrive Courier)
|
||||
|
||||
</div>
|
||||
|
||||
| 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) |
|
||||
|
||||
<div dir="rtl" align="right">
|
||||
|
||||
### النموذج C: الهجين (الموصى به ✅✅✅)
|
||||
|
||||
</div>
|
||||
|
||||
> [!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.
|
||||
|
||||
<div dir="rtl" align="right">
|
||||
|
||||
**المرحلة 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 |
|
||||
|
||||
---
|
||||
|
||||
## 💡 أفكار إضافية للتميّز
|
||||
|
||||
1. **"اطلب لصديقك"**: اطلب طعام ووصّله لشخص ثاني (هدية) — ميزة عاطفية قوية
|
||||
2. **طلب جماعي**: مجموعة أصدقاء يطلبون من نفس المطعم وكل واحد يدفع حصته
|
||||
3. **جدولة الطلب**: "أريد الطلب يوصل الساعة 8 مساءً" — مثل Talabat Schedule
|
||||
4. **تقييمات ذكية**: استخدام Gemini لتحليل التقييمات واستخراج نقاط القوة والضعف لكل مطعم
|
||||
5. **عروض ذكية**: Gemini يقترح عروض حسب سلوك المستخدم ("عادة تطلب شاورما يوم الجمعة — خصم 20% اليوم!")
|
||||
6. **Re-order**: "أعد نفس طلبك الأخير" بضغطة واحدة
|
||||
|
||||
---
|
||||
|
||||
## 🚀 الخطط القادمة وخارطة التنفيذ — تسمية الخدمة والهيكلية الإستراتيجية
|
||||
|
||||
### 🏷️ التسمية التجارية الرسمية للخدمة: **Siro Express | سيرو إكسبرس**
|
||||
|
||||
تم اختيار اسم **Siro Express (سيرو إكسبرس)** ليكون المظلة الشاملة لخدمات التوصيل، ويندرج تحتها 3 أذرع متخصصة:
|
||||
|
||||
1. **Siro Courier (سيرو كوريير / توصيل سريع)**: خدمة توصيل الطرود والوثائق والأغراض الشخصية بين نقطتين (Point-to-Point Delivery).
|
||||
2. **Siro Eats (سيرو إيتس / طلب الطعام)**: خدمة تصفح المطاعم وطلب الوجبات.
|
||||
3. **Siro Market (سيرو ماركت / البقالة والصيدلية)**: خدمة توصيل المستلزمات اليومية والأدوية.
|
||||
|
||||
---
|
||||
|
||||
### 🗺️ خارطة الطريق التنفيذية (Phased Implementation Roadmap)
|
||||
|
||||
</div>
|
||||
|
||||
```mermaid
|
||||
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
|
||||
```
|
||||
|
||||
<div dir="rtl" align="right">
|
||||
|
||||
### 📑 التوثيق الفني والبرمجي للخطط القادمة (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**: تحليل تفضيلات الزبون واقتراح وجبات مخصصة بناءً على التوقيت والموقع والطقس ورصيد المحفظة.
|
||||
|
||||
</div>
|
||||
|
||||
> [!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.
|
||||
Reference in New Issue
Block a user