Compare commits

...
5 Commits
Author SHA1 Message Date
Hamza-Ayed f9b55ddf94 docs: update siro audit documentation with recent findings 2026-07-24 05:37:13 +03:00
Hamza-Ayed 1be74d764d docs: update marketing index and audit documentation for the Siro release 2026-07-24 05:37:08 +03:00
Hamza-AyedandClaude Opus 4.8 7b02b27d92 feat(marketing): consent-gated measurement layer + pricing-intelligence legal brief
البند ٢ — استخبارات التسعير (docs/35 جديد):
- توصيف تقني دقيق من كود سيرو: المصدر ليس "كشط أسعار معلنة" بل
  بوت أندرويد على أجهزة حقيقية يشغّل 7 تطبيقات منافسة مُسمّاة
  بمعرّف الحزمة (standalone_worker.php:665) بدفعات حتى 100 مهمة
- فصل ثلاثة أخطار مستقلة: الوصول الآلي · قانون المنافسة · البيانات
- الخطر الأكبر (لم يكن موثّقاً): بيع المحرّك لمشغّلَين في نفس المدينة
  = ترتيب hub-and-spoke تقع مسؤوليته على المحور أي Tripz
- ضابط مقترح: مشغّل واحد لكل مدينة، في العقد وفي الكود
- تنظيف صياغة الموقع: صفر أسماء منافسين، وحُذفت "اعرف كيف يسعّر
  منافسك قبل أن يعرف هو" لأنها تصلح دليل نيّة في نزاع

البند ٣ — طبقة القياس (docs/32 §5):
- شريط موافقة بأربع لغات، الرفض بنفس بروز القبول
- البكسل لا يُحمَّل قبل الموافقة (مطلوب لزوّار الاتحاد الأوروبي:
  الموقع بالفرنسية والإسبانية)
- 8 أحداث تغطي القمع كاملاً حتى Lead بمعامل القناة
- PIXEL_ID فارغ عمداً: لا شيء ينكسر ولا شيء يُقاس حتى يُملأ

تحقُّق: صفر أخطاء console · صفر عناصر i18n فارغة في اللغات الأربع ·
fbq غير معرّف قبل الموافقة · الأحداث تُطلق بعدها

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-24 05:14:28 +03:00
Hamza-AyedandClaude Opus 4.8 8cbaa89642 refactor(pricing): restructure add-ons 7→3, safety+payments to core, transit as own product line
تنفيذ توصيات المراجعة النقدية التي لم تُنفَّذ في الجولة السابقة:

- حذف «الأمان والامتثال» $79 كوحدة → النواة (سبب قانوني: بيع الأمان
  يُنشئ وثيقة إدانة يوم يقع حادث عند مستأجر لم يشترِ الوحدة)
- حذف «حزمة المدفوعات» $99 → النواة (الحلقة الأساسية لا ترقية)
- دمج «ذكاء الأسطول» $99 في باقة أسطول+ (تناقض تسموي)
- «المواصلات» تخرج من الشبكة → قسم #transit مستقل بجمهوره وCTA خاص
- شريط .core-band يعرض ما لا يُباع كحجة بيع
- إصلاح الانقلاب السعري: كانت سيادة $879 أرخص من أسطول+ محمّلة $903
  الآن: علامة $585 < أسطول+ $599 < سيادة $879
- الشارات ← «متاح الآن» بتأكيد المالك أنها تعمل في إنتاج سيرو
- تصحيح سردية docs/33 §0 المستحيلة (كانت تبني التوسّع على باقة
  تنتهي بعد 90 يوماً)

الترجمات مكتملة في اللغات الأربع — تحقُّق برمجي: صفر عناصر فارغة.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-24 05:06:40 +03:00
Hamza-AyedandClaude Opus 4.8 822e4e8724 refactor: correct add-ons pricing, remove duplicate AI section, mark all modules as coming-soon
✨ تحسينات رئيسية:

1️⃣ إصلاحات توثيقية (docs/21, docs/33):
   - S18 ليست مشكلة — النظام يفرض سحب الرصيد الكامل فقط
   - إضافة تنبيه حالة عن عدم جاهزية الوحدات

2️⃣ إصلاحات الموقع (marketing/index.html):
   - حذف قسم #ai-modules المكرر (التكرار المحرج)
   - إضافة رابط «الإضافات» في القائمة العلوية (4 لغات)
   - تغيير جميع الشارات إلى «قريباً الربع القادم» (حماية قانونية)
   - 7 وحدات مدفوعة واضحة مع أسعار + وصف

3️⃣ النموذج التجاري:
   - النواة رخيصة = سلاح اكتساب
   - الوحدات = هامش الربح الحقيقي (land-and-expand)
   - بدون تكرار محرج للزائر

⚠️ الحد الأدنى قبل التسويق:
   - S4 و S5 تُصلح قبل أول استنساخ على سيرفر مستأجر
   - جرد صدق بند بند على إنتاج سيرو

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-24 04:59:23 +03:00
6 changed files with 680 additions and 181 deletions
+30 -5
View File
@@ -10,12 +10,27 @@
| **Tripz** | **$2,500–13,500** | **$169–879** | **نسبة معلنة، حد أدنى من $0.02** | **الشفافية نفسها هي التمايز** |
## الباقات الأربع
| الباقة | الإعداد | شهرياً | GMV% | الجوهر |
**«انطلاقة» ليست تطبيقاً بعلامة المستأجر** — مدينته تُدرَج كخيار داخل تطبيق **Tripz** الجامع نفسه (تطبيق موحّد واحد يضمّ عدة مدن/مشغّلين، مثل شركة نقل عالمية تدير عدة مدن تحت واجهة واحدة). الراكب يفتح تطبيق «Tripz» ويختار المدينة — لا يرى اسم المستأجر ولا شعاره. سقف 90 يوماً/10,000 رحلة هو فترة إثبات جدوى قبل الالتزام بتطبيق مستقل؛ بعده ترقية إلزامية إلى «علامة» أو توقّف.
كل باقة أعلى **تضيف** على ما قبلها ولا تستبدله — هذا هو مبرّر كل قفزة سعرية:
| الباقة | الإعداد | شهرياً | GMV% | الفارق الحقيقي عمّا قبلها |
|--------|---------|--------|------|--------|
| **انطلاقة** | $2,500 | $169 | 3.5% | مدينة المستأجر داخل تطبيقنا الجامع، لوحة + dispatch أساسي، حد أدنى $0.05/رحلة، سقف 90 يوماً أو 10k رحلة ثم ترقية |
| **علامة** ★ | $4,900 | $349 | 2.5% | تطبيقا راكب+سائق بعلامته، نشر المتاجر علينا، محرك تعرفة كامل، country pack، حد أدنى $0.04، دعم عربي |
| **أسطول+** | $8,500 | $599 | 2% (حد أدنى $0.03) | dispatch متقدم، بوابة شركات، حجز ويب، محافظ سائقين، API+Webhooks، تقارير متقدمة |
| **سيادة** | من $13,500 | $879 | 1% (حد أدنى $0.02) | نسخة معزولة داخل الدولة، بديل رسم/مركبة، واجهة المنظّم، SLA 99.9%، ضمان تصدير + خيار Escrow |
| **انطلاقة** | $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 |
### ما هو نواة ولا يُسعَّر أبداً (2026-07-24)
**الأمان والامتثال** (زر الطوارئ · كشف الاحتيال · تأمين السائق · فحص الوثائق · تقارير المنظّم) و**المدفوعات المحلية** (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) خط منتج مستقل. التحزيم والسُّلّم في [docs/33 §3](33-addons-packaging.md) — وقد صُحِّح الانقلاب السعري: علامة محمّلة $585 < أسطول+ $599 < سيادة $879.
> النصوص أعلاه مطابقة حرفياً لبطاقات `#pricing` في `marketing/index.html` (كل بطاقة ترقية تعرض سطر «↳ كل مزايا [الباقة السابقة]، إضافة إلى:» فوق قائمتها) — أي تعديل هنا يجب أن يُطبَّق هناك بالأربع لغات في نفس الوقت.
## خوارزمية الفوترة الشهرية
```
@@ -32,6 +47,16 @@ min_monthly = عدد الرحلات المكتملة × الحد الأدنى ل
(انطلاقة $0.05 · علامة $0.04 · أسطول+ $0.03 · سيادة $0.02)
```
**الحد الأدنى صمّام أمان شهري، لا رسم يُحصَّل على كل رحلة.** يُفعَّل فقط عندما تكون نسبة GMV أقل من حاصل ضرب عدد الرحلات بالحد الأدنى — أي في الأسواق منخفضة الأجرة (سوريا خصوصاً)، حيث تحميل الطلبات على السيرفرات ثابت بغضّ النظر عن سعر الرحلة.
مثال (باقة انطلاقة، 45,000 رحلة/شهر):
| السوق | متوسط الأجرة | نسبة GMV (3.5%) | الحد الأدنى ($0.05×45k=$2,250) | الفاتورة = الأكبر |
|---|---|---|---|---|
| عمّان (طبيعي) | $3.10 | $4,882 | $2,250 | **$4,882** — النسبة تفوز |
| دمشق (أجرة منخفضة) | $0.60 | $945 | $2,250 | **$2,250** — الحد الأدنى ينقذنا |
الحد الأدنى **تنازلي حسب الباقة** (٠.٠٥ ← ٠.٠٢) لأن المشغّل الأكبر يفاوض بحجمه أصلاً، ومصمَّم ليتفعّل أبكر في الباقات الرخيصة تحديداً حيث خطر الرحلات شبه المجانية أعلى.
## مثال محسوب — مشغّل عمّان
- 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 أعلى.
+12 -7
View File
@@ -4,7 +4,7 @@
>
> **كل ما يلي في سيرو (PHP/MySQL) لا في Tripz.** حيث أصلحنا المكافئ في Tripz، أُشير إليه. الخطورة: 🔴 حرجة · 🟠 متوسطة · 🟡 منخفضة/جودة.
آخر تحديث: 2026-07-17.
آخر تحديث: 2026-07-24 (S18 تُصحّح: ليست عيباً، هي سلوك صحيح).
---
@@ -30,19 +30,24 @@
| S2 حجز الرصيد | ✅ **مُصلَح** | `beginTransaction` + `SELECT … FOR UPDATE` + حالة `payout_reserved` + `rollBack` |
| S3 رسم 3500 | ✅ **مُصلَح** | الرقم اختفى من مسار السحب كلياً |
| S6 OTP على السحب | ✅ **مُصلَح** | `request_payout.php:28,60–72` — OTP إلزامي ويُتحقق من `token_verification_driver` |
| **S4 معاملة في الإنهاء** | 🔴 **ما زال مفتوحاً** | `finalize_payout.php` فيه **صفر `beginTransaction`** مقابل ~6 كتابات متتابعة. الاستثناء يُرمى بلا تراجع → فشل في الخطوة 5 يترك محفظة السائق مخصومة و`siroWallet` بلا قيد عمولة |
| **S5 `varchar(10)`** | 🔴 **ما زال مفتوحاً** | `payment_server/WalletDB.sql:121` + `schema_primary.sql:1486` + `schema_ride.sql:1388` |
| **S4 معاملة في الإنهاء** | ✅ **مُصلَح (2026-07-24)** | `finalize_payout.php` — الكتابات 2–6 داخل `beginTransaction`/`commit` واحدة، مع `rollBack` في `catch`. فُحصت أثناء الإصلاح: `$encryptionHelper` كان يُستعمل داخل الدالة بلا `global` (متغيّر غير مُعرَّف في نطاق الدالة) → كل استدعاء كان يفشل عند الخطوة 1 قبل أي كتابة. أُصلح بإضافة `global $encryptionHelper;` |
| **S5 `varchar(10)`** | ✅ **مُصلَح (2026-07-24)** | `driverWallet`/`siroWallet` في `WalletDB.sql` + `seferWallet` (جدول ثالث لم يكن مذكوراً صراحة، وُجد أثناء الإصلاح) في `schema_primary.sql` + `schema_ride.sql` (نسختان) ← `DECIMAL(12,3)`. هجرتان في `payment_server/migrations/` و`backend/migrations/`. **لم يُصلَح:** `backend/ride/seferWallet/add.php:28` يُدخل `$amount` بلا `is_numeric()` — بند منفصل جديد |
| **S7 الجدولان** | 🟡 **ما زال مفتوحاً** | `driver_withdrawal_requests` قائم بجانب `payout_requests` (`WalletDB.sql:132`) |
#### 🔴 S18 — عيب جديد اكتُشف أثناء الفحص (لم يكن في التدقيق الأصلي)
#### ✅ S18 — ليست مشكلة (توضيح تصميمي، 2026-07-24)
`finalize_payout.php` الخطوة 6:
```sql
UPDATE payments SET isGiven = TRUE WHERE driverID = :driverId AND isGiven = FALSE
```
**يعلّم كل الدفعات المعلّقة كمدفوعة بغضّ النظر عن مبلغ السحب.** التعليق في الكود يقرّ بذلك صراحة («معتبراً أن عملية السحب تغطيها»). سائق يسحب جزءاً من رصيده → **يُشطب رصيده الباقي كله كأنه دُفع** = تسرّب مال مباشر ضد السائق.
**الإصلاح:** ربط `payments` بالسحب بمعرّف (`payout_id`) وتعليم الصفوف التي يغطيها المبلغ فقط، بترتيب زمني، داخل نفس المعاملة.
**الملاحظة الأصلية (تُصحّح):** بدا أنه يعلّم كل الدفعات بغضّ النظر عن مبلغ السحب.
> ⛔ **بوابة:** S4 و S5 و S18 تُصلَح **قبل** أن يُستنسخ الكود على سيرفر أول مستأجر مدفوع ([docs/34](34-siro-backend-multitenancy.md) §7). بعد الاستنساخ يصير الإصلاح هجرة على N سيرفراً بدل تعديل في مكان واحد.
**التصحيح:** التطبيق (driver app) يحسب ويعرض **رصيد السائق الكامل فقط، بلا خيار** — السائق يسحب الكل، لا سحب جزئي. في هذا السيناريو:
- تحديث جميع `isGiven = TRUE` **صحيح تماماً** لأنه لا توجد رحلات معلقة بعد السحب الكامل
- لا تسرّب مال
الافتراض المقيِّد: النظام يفرض السحب الكامل فقط. إذا تغيّر هذا لاحقاً (السماح بسحب جزئي)، عندها يجب ربط `payments` بـ `payout_id`.
> ✅ **البوابة اجتيزت (2026-07-24):** S4 و S5 مُصلَحان. **بند جديد قبل أول استنساخ:** إضافة `is_numeric($amount)` في `backend/ride/seferWallet/add.php` — لم يكن جزءاً من S4/S5 الأصليين، اكتُشف أثناء إصلاحهما.
## المصادقة وكلمة المرور (`auth/`)
+46
View File
@@ -225,6 +225,52 @@ Same LOCKED STYLE as above. No readable text.
---
---
## 5) طبقة القياس — منفَّذة 2026-07-24 ✅
كان في المراجعة النقدية عائق صريح: **خطة إعلانية بأهداف CAC بين $150–400 بلا أداة واحدة تقيسها.** `grep` على البكسل كان يعطي صفراً. هذا القسم يوثّق ما رُكِّب.
### 5.1 الموافقة أولاً — ليست تجميلاً
الموقع بأربع لغات منها **الفرنسية والإسبانية**، أي أن زوّاراً من الاتحاد الأوروبي سيصلونه. بكسل يعمل قبل الموافقة = مخالفة GDPR مباشرة. لذلك:
- شريط موافقة يظهر بعد 1.6 ثانية، بأربع لغات، بخيارَي **أوافق / أرفض** متساويين بصرياً (لا زر رفض مخفي).
- **لا يُحمَّل سكربت ميتا إطلاقاً قبل «أوافق».** تحقُّق برمجي: `typeof window.fbq === "undefined"` قبل الموافقة.
- من يرفض يتصفّح الموقع كاملاً بلا نقص — ولا كوكيز تتبّع.
- الأحداث تُسجَّل محلياً بلا بيانات شخصية في الحالتين، وتُرسَل لميتا فقط بعد الموافقة.
### 5.2 ⚠️ خطوة واحدة متبقّية قبل أول دولار
```js
const PIXEL_ID = ""; // marketing/index.html
```
**ما دام فارغاً لا يُحمَّل البكسل ولا يُرسَل حدث.** هذا مقصود: لا شيء ينكسر، ولا شيء يُقاس. ضع المعرّف من Meta Events Manager قبل تشغيل الحملة.
### 5.3 تعريف الأحداث
| الحدث | متى | ما يقيسه |
|---|---|---|
| `PageView` | بعد الموافقة | الوصول الأساسي |
| `SectionView` | ظهور 35% من قسم | **عمق القمع** — أين يتوقف الزائر |
| `PlanInterest` | نقر بطاقة باقة | أي باقة تجذب فعلاً |
| `ModuleInterest` | نقر بطاقة وحدة | **أي وحدة يطلبها الناس** — أثمن بيانات تسعيرية |
| `CalculatorUsed` | تغيير مُهدَّأ 800ms | أقوى إشارة نيّة قبل التواصل |
| `Lead` | نقر واتساب/Calendly | **التحويل** — بمعامل `channel` و`where` |
| `DemoAppOpened` | نقر رابط متجر | جودة الاهتمام |
| `ConsentGranted` | قبول الموافقة | معدّل القبول = مقام كل نسبة أدناه |
### 5.4 كيف تُحسب أهداف §2 فعلياً
- **CAC** = إنفاق الحملة ÷ عدد `Lead` بـ`channel=whatsapp`. الهدف $150–400 صار قابلاً للقياس.
- **معدّل التحويل** = `Lead` ÷ `PageView`.
- **جودة الرسالة** = `SectionView(#pricing)` ÷ `PageView` — انخفاضه يعني أن الإعلان يجلب جمهوراً خاطئاً لا أن الصفحة ضعيفة.
- **إشارة التسعير** = توزيع `PlanInterest` و`ModuleInterest` — يخبرك أي باقة/وحدة تُطلب قبل أول مكالمة.
> **تحذير تحليلي:** كل النسب أعلاه مقامها **الموافِقون فقط**. إن كان معدّل القبول 60% فأنت لا ترى 40% من الزوّار. لا تقارن هذه الأرقام بأرقام منصّة الإعلان مباشرة — قارن الاتجاه لا القيمة المطلقة.
---
## سجل التغييرات
| التاريخ | التغيير |
+55 -108
View File
@@ -19,7 +19,9 @@
| **الوحدات** | هامش الربح الحقيقي + التمايز الذي لا يُقلَّد | سعر كامل — لا يوجد منافس يبيعها أصلاً |
| **الاستهلاك** (نسبة GMV) | ينمو مع نمو العميل | 1–3.5% تنازلي |
هذا نموذج **land-and-expand** الكلاسيكي: العميل يدخل بـ$2,500، وبعد 6 أشهر يدفع $700/شهر لأنه أضاف ثلاث وحدات. **متوسط الإيراد لكل عميل يتضاعف بلا حملة اكتساب جديدة** — وهو أرخص نمو ممكن.
هذا نموذج **land-and-expand** الكلاسيكي، لكن **بمسار صحيح**: العميل يدخل بـ«علامة» ($4,900 إعداد · $349/شهر)، وبعد ٦ أشهر يصير عند $585/شهر لأنه أضاف الوحدات الثلاث. **متوسط الإيراد لكل عميل يرتفع 68% بلا حملة اكتساب جديدة.**
> ⚠️ **تصحيح (2026-07-24):** الصياغة السابقة كانت «يدخل بـ$2,500 ثم $700/شهر» — وهذا **مستحيل**: $2,500 هي باقة «انطلاقة» التي تنتهي بعد **90 يوماً أو 10,000 رحلة** بحسب `docs/05`، فلا تصل للشهر السادس أصلاً. مسار التوسّع يبدأ من «علامة» لا من «انطلاقة».
---
@@ -42,138 +44,82 @@
---
## 2) الوحدات السبع المقترحة (التحزيم التسويقي)
## 2) الهيكل بعد المراجعة النقدية (2026-07-24) — ٣ وحدات فقط
### النواة — في كل باقة، غير قابلة للإزالة
طلب رحلة · فئات سيارات · تعرفة كاملة · OTP · تتبّع حيّ · كاش · محفظة · تقييم · دردشة · إشعارات · لوحة تحكم · Dispatch.
المراجعة النقدية طبّقت اختباراً من أربعة شروط على كل وحدة: **(أ)** كلفة حدّية حقيقية · **(ب)** قيمة قابلة للقياس · **(ج)** رفضها لا يُنتج ضرراً أو واجباً قانونياً · **(د)** النواة تعمل بدونها.
---
| الوحدة الأصلية | النتيجة | المصير |
|---|---|---|
| استخبارات التسعير $249 | ✅ اجتازت الأربعة | **تبقى وحدة مدفوعة** |
| حزمة النمو $129 | ✅ اجتازت الأربعة | **تبقى وحدة مدفوعة** |
| حزمة الذكاء $149 | 🟡 سقط بند (ج) جزئياً | **تبقى بعد تنحيف** — فحص الوثائق وكشف الاحتيال خرجا للنواة؛ بقي تدقيق الشكاوى والمستشار والتسوية |
| المواصلات $299 | ✅ اجتازت، لكن جمهورها مختلف | **خرجت من الشبكة → خط منتج مستقل** بقسم `#transit` وقمع وCTA خاص |
| ذكاء الأسطول $99 | ❌ سقط بند (ب) | **دُمج في باقة «أسطول+»** — تناقض تسموي أن تُسمّى الباقة «أسطول+» ويُباع ذكاؤها منفصلاً |
| حزمة المدفوعات $99 | ❌ سقط بند (د) | **للنواة** — أن يدفع الراكب ويقبض السائق هو المنتج لا ترقية عليه |
| الأمان والامتثال $79 | ❌ سقط بند (ج) | **للنواة** — انظر §2.1 |
### ① حزمة الذكاء الاصطناعي — «AI Suite»
**الاسم التسويقي:** «موظفك الذي لا ينام»
### 2.1 لماذا حُذف «الأمان والامتثال» نهائياً (قرار المالك)
| المكوّن | الحالة (سيرو) |
|---|---|
| معالجة وثائق السائق (استخراج + مطابقة وجه) | ✅ |
| تدقيق الشكاوى آلياً | ✅ (`nabeh/submit_complaint`) |
| تسوية المدفوعات من رسائل SMS الخام عبر Gemini | ✅ |
| مستشار تشغيلي أسبوعي (`cron_gemini_advisor`) | ✅ |
| كشف الاحتيال (اتصال ثم إلغاء = صفقة خارج التطبيق) | ✅ |
**السبب ليس ذوقياً بل قانونياً:** إن كان زر الطوارئ وكشف الاحتيال بند تسعير بـ$79، فأنت تُنشئ بيدك وثيقة تُدينك. يوم يقع حادث عند مستأجر لم يشترِ الوحدة، تُطبع صفحة التسعير في المحكمة: المنصّة بنت الحماية، وعرفت أنها ضرورية، وحجبتها مقابل $79 شهرياً. هذا يحوّل حادثة عند **المستأجر** إلى دعوى «عيب تصميم» ضد **Tripz**.
**السعر المقترح:** **$149/شهر** · إعداد $0
**الحجة البيعية:** «سائق واحد وثائقه مزوّرة يكلّفك قضية. المراجعة اليدوية لـ200 سائق = موظف بدوام كامل.»
ثلاثة أسباب مساندة:
- **تنظيمياً:** زر الاستغاثة والتحقق من وثائق السائق يتحوّلان إلى شرط ترخيص. ما هو شرط ترخيص لا يصحّ أن يكون اختيارياً — ولحظة صيرورته إلزامياً تصير الوحدة تساوي صفراً كترقية.
- **حسابياً:** كانت **أرخص** وحدة ($79 = 7% من القائمة) و**أخطر** وحدة. أسوأ بند من حيث العائد مقابل المخاطرة.
- **تسويقياً:** كانت الوحيدة بشارة «قريباً» — أي إعلان على صفحة يقرأها المنظِّم بأن الأمان غير جاهز.
---
### 2.2 النواة — مشمولة في كل باقة، لا تُسعَّر أبداً
### ② استخبارات التسعير — «Pricing Intelligence» 🔥
**الاسم التسويقي:** «اعرف كيف يسعّر منافسك — قبل أن يعرف هو»
طلب رحلة · فئات · تعرفة كاملة · OTP · تتبّع حيّ · تقييم · دردشة · إشعارات · لوحة · Dispatch
**+ الأمان والامتثال:** زر الطوارئ · كشف الاحتيال · تأمين السائق · فحص الوثائق بالذكاء الاصطناعي · تقارير المنظّم
**+ المدفوعات المحلية:** PayMob · CliQ · سيرياتيل وMTN كاش · شام كاش · المحافظ وطلبات السحب
هذه **أقوى وحدة تملكها، وأكثرها تمايزاً على الإطلاق.** لا توجد منصة white-label في العالم تبيع هذا.
> ⛔ وحدة المدفوعات صارت نواة، لذلك **بوابة `docs/21` تنطبق على المنتج كله لا على وحدة اختيارية**: S4 (لا معاملة في `finalize_payout`) و S5 (`varchar(10)` للمال) تُصلَحان قبل أول استنساخ.
| المكوّن | الحالة |
|---|---|
| جمع أسعار المنافسين (`scraped_competitor_prices`) | ✅ |
| كشف الشواذ إحصائياً (MAD) | ✅ |
| تجميع الفئات (K-Means على السعر/كم) | ✅ |
| **انحدار خطي متعدد يستخرج معادلة تسعير المنافس** (`competitor_secret_formulas`) | ✅ |
| كشف الحد الأدنى للأجرة عند المنافس | ✅ |
| تحليل الـsurge والمناطق | ✅ |
| ضبط سعرك آلياً بناءً على النتيجة (`cron_ai_engine` + `kazan_adjuster` + `pricing_stability`) | ✅ |
| التسعير الموسمي | ✅ (`cron_seasonal_pricing`) |
### 2.3 الوحدات الثلاث الباقية
**السعر المقترح:** **$249/شهر** · إعداد $1,000 (يشمل ضبط السوق المحلي)
**الحجة البيعية:** «تغيير 5% في سعرك يغيّر أرباحك 30%. هذه الوحدة تقرّر الـ5% بالبيانات لا بالحدس.»
**تحذير قانوني يجب حسمه:** جمع أسعار المنافسين آلياً قد يخالف شروط استخدام تطبيقاتهم في بعض الولايات القضائية. **صِغ الوصف التسويقي حول "استخبارات السوق" لا حول "كشط تطبيق منافس بالاسم"**، واستشر محامياً قبل إبراز الوحدة في سوق خليجي/أوروبي.
| # | الوحدة | السعر | الحجة البيعية |
|---|---|---|---|
| ① | **حزمة الذكاء** | $149/شهر | تدقيق الشكاوى آلياً · مستشار تشغيلي أسبوعي · تسوية المدفوعات من رسائل المزوّد عبر Gemini |
| ② | **استخبارات التسعير** 🔥 | $249/شهر + $1,000 إعداد | MAD + K-Means + انحدار خطي يستخرج معادلة تسعير السوق. «تغيير 5% في سعرك يغيّر أرباحك 30%» |
| ③ | **حزمة النمو** | $129/شهر + رسوم الرسائل | إعادة تنشيط الخاملين · حملات واتساب عبر نبيه · تلعيب وإحالات |
---
**تحذير قانوني قائم على ②:** صِغ الوصف حول «استخبارات السوق» لا «كشط تطبيق منافس بالاسم». وخطر ثانٍ **لم يكن موثّقاً**: بيع نفس المحرّك لمشغّلَين في **نفس المدينة** = آلية تقارب أسعار بين متنافسين (تواطؤ خوارزمي). يلزم رأي قانوني قبل الخليج/أوروبا.
### ③ حزمة النمو — «Growth Suite»
**الاسم التسويقي:** «حرّك ركابك النائمين»
### 2.4 المواصلات — خط منتج مستقل لا وحدة
| المكوّن | الحالة |
|---|---|
| حملات واتساب عبر منصة نبيه | ✅ القناة مبنية |
| بوت نبيه (استعلام رحلات، شكاوى، وثائق، دفع) | ✅ |
| إعادة تنشيط الركاب الخاملين | ✅ (`cron_passenger_reengagement`) |
| دفع تسويقي آلي | ✅ (`cron_auto_marketing_pusher`) |
| بوتات اجتماعية + مولّد تعليقات Gemini | ✅ |
| كوبونات + برومو مستهدف بالمنطقة (Geofence) | ✅ |
| التلعيب: تحديات، صدارة، streak، إحالات | ✅ |
$299/شهر + $2,500 إعداد. جمهورها **بلديات وجامعات ونقل موظفين ومدارس** — لا تُشترى كإضافة على تطبيق تكسي. لها قسم `#transit` مستقل على الموقع بقمع وCTA خاصّين، ومشمولة بالكامل في «سيادة».
**السعر المقترح:** **$129/شهر** + رسوم الرسائل بالتمرير (pass-through)
**الحجة البيعية:** «راكب عاد بعد شهرين أرخص عشر مرات من راكب جديد.»
## 3) الباقات — التحزيم بعد إصلاح الانقلاب السعري
---
**المشكلة التي كانت:** بالسبع وحدات (قائمة $1,103) كانت «أسطول+ محمّلة بالكامل» = $903/شهر و«علامة محمّلة» = $1,032/شهر، بينما **سيادة $879 تشمل كل شيء** — أي أن الباقة الأعلى كانت **أرخص** من الوسطى محمّلة. سُلّم مقلوب يقتل الباقات الوسطى.
### ④ المواصلات العامة — «Transit»
**الاسم التسويقي:** «الباصات على نفس المنصة»
**بعد التصحيح** (٣ وحدات = $527 + مواصلات منفصلة):
خطوط · مواقيت · تتبّع مباشر للباص · تسجيل ركاب/مشتركين · تنبيه اقتراب · لوحة مشرف · بث للمجموعات. ✅ مبنية.
**السعر المقترح:** **$299/شهر** · إعداد **$2,500**
**لماذا منفصلة:** جمهورها مختلف كلياً — **بلديات، جامعات، شركات نقل موظفين، مدارس**. تُباع كـ*منتج قائم بذاته* بقمع بيع مستقل، لا كإضافة صغيرة.
---
### ⑤ ذكاء الأسطول — «Fleet Intelligence»
الخريطة الحرارية للسائق ✅ · الطلب التنبؤي ✅ · لقطة لوحة يومية ✅ · تقرير صحة أسبوعي ✅ · تتبّع متقدّم ✅ · سلوك السائق ✅ · شرائح السائقين ⬜
**السعر المقترح:** **$99/شهر**
**الحجة البيعية:** «سائقوك يقفون في المكان الخطأ. الخريطة تقول لهم أين يقفون قبل أن يبدأ الطلب.»
---
### ⑥ حزمة المدفوعات — «Payments+»
PayMob ✅ · CliQ · MTN/سيرياتيل كاش · شام كاش · كازان · تسوية SMS ✅ · محفظة ✅ · طلبات السحب
**السعر المقترح:** **$99/شهر** + رسم لكل معاملة
**الحجة البيعية:** «كل بوابة دفع محلية جديدة = تكامل من شهرين. عندنا محوّل جاهز.»
> ⛔ **بوابة إلزامية:** لا تُباع هذه الوحدة قبل إصلاح عيوب المال في `docs/21` (ثغرة IDOR في السحب · لا حجز رصيد · رسم 3500 متناقض · المال مخزّن `varchar(10)`). بيع وحدة مالية معطوبة لمشغّل آخر = مسؤولية قانونية مباشرة عليك.
---
### ⑦ الأمان والامتثال — «Trust & Safety»
التسجيل الصوتي داخل الرحلة ⬜ · كشف الاحتيال ✅ · تأمين السائق ✅ · زر الطوارئ · تقارير المنظّم
**السعر المقترح:** **$79/شهر**
**ملاحظة قانونية:** التسجيل الصوتي يستوجب إشعاراً وإقراراً من الطرفين + سياسة احتفاظ/حذف صريحة. **لا يُعلَن قبل حسم الغطاء القانوني في كل دولة.**
---
### 🟡 بند مفتوح — «سوق الركاب»
ذكره المالك ولم يتضح المقصود. الاحتمالان:
1. **وضع المزايدة/التفاوض** (نمط inDrive: الراكب يعرض سعراً والسائقون يزايدون) — يقابل `negotiator` في docs/27، **مؤجَّل بقرار سابق ولم يُبنَ**.
2. **مشواري** — موجود فعلاً في سيرو (`ride/mishwari/`): حجز مسبق لسائق محدد بوقت محدد.
**مطلوب توضيح من المالك قبل وضعه على الموقع.** إن كان الأول: هو وحدة قوية جداً في أسواق حساسة للسعر (سوريا/مصر) وتستحق $99/شهر — لكنها **لم تُبنَ بعد** وتُعلن كـ«على خارطة الطريق».
---
## 3) الباقات — كيف تُركَّب الوحدات فوق النواة
| | انطلاقة | علامة ⭐ | أسطول+ | سيادة |
| | انطلاقة $169 | علامة $349 ⭐ | أسطول+ $599 | سيادة $879 |
|---|---|---|---|---|
| النواة | ✅ | ✅ | ✅ | ✅ |
| وحدات مشمولة | — | **1 بالاختيار** | **3 بالاختيار** | **الكل** |
| باقي الوحدات | بسعرها | خصم 15% | خصم 25% | مشمولة |
| المواصلات | إضافة منفصلة | إضافة منفصلة | إضافة منفصلة | مشمولة |
| النواة (+ الأمان + المدفوعات) | ✅ | ✅ | ✅ | ✅ |
| ذكاء الأسطول | — | — | ✅ **مدمج** | ✅ |
| الوحدات الثلاث | بسعرها | **١ بالاختيار** + خصم 15% | **الثلاث مشمولة** | ✅ الثلاث |
| المواصلات | بسعرها | بسعرها | بسعرها | ✅ مشمولة |
| **الإجمالي محمّلاً بالكامل** | — | **$585** | **$599** | **$879** |
**لماذا «بالاختيار» لا «محدّدة سلفاً»:** يجعل العميل يبني باقته بنفسه → التزام نفسي أعلى، ويكشف لك **أي وحدة يطلبها الناس فعلاً** — أثمن بيانات تسويقية ستحصل عليها.
السُّلّم صار تصاعدياً: `$585 < $599 < $879` ✅
---
**المواصلات كمشغّل ترقية مقصود:** علامة + مواصلات = $884/شهر مقابل سيادة $879 التي تشملها **مع** العزل و SLA. أي مشترٍ يطلب المواصلات فوق باقة وسطى هو محادثة ترقية لسيادة جاهزة (الفارق يبقى في الإعداد: $7,400 مقابل $13,500، فالخيار حقيقي لا مصطنع).
## 4) كيف تُعرض على الموقع
### 4.1 قسم جديد `#modules` بين «المنتج» و«التسعير»
### 4.1 المنفَّذ فعلاً على الموقع (2026-07-24) ✅
- عنوان: **«منصة قابلة للتركيب — خذ ما تحتاجه فقط»**
- شبكة 7 بطاقات (2×4 على الديسكتوب، عمود على الجوال)
- كل بطاقة: أيقونة SVG بألوان الهوية · الاسم · جملة واحدة · **السعر** · **شارة حالة**
- شارات الحالة (نظام لونين لا أكثر):
- 🔵 **متاح الآن** — أزرق `--brand-500`
- ⚪ **قريباً · الربع القادم** — رمادي بحد منقّط
بنية من ثلاث طبقات بدل شبكة السبع بطاقات الأصلية:
> **قاعدة أخلاقية وقانونية غير قابلة للتفاوض:** لا تُعرض ميزة كـ«متاحة» إن لم تكن تعمل فعلاً في نسخة إنتاج. مشغّل دفع $5,000 على وعد وحدة غير موجودة = دعوى قضائية ودراسة حالة سلبية تقتل القمع كله. الشارة الرمادية **تصنع شوقاً** وتحميك في آن واحد.
1. **شريط النواة** (`.core-band`) أعلى القسم — بحدّ أخضر وقفل: «مشمول في كل باقة — ولا يُباع كإضافة أبداً»، وفيه بطاقتا **الأمان والامتثال** و**المدفوعات المحلية**. هذا يحوّل ما كان بنداً مُسعَّراً محرجاً إلى **حجة بيع**: «نحن لا نبيعك أماناً».
2. **شبكة ٣ بطاقات** (`.addons-grid.three`) — الذكاء · استخبارات التسعير (مميّزة) · النمو.
3. **قسم `#transit` مستقل** — تصميم داكن مختلف، شرائح الجمهور (بلديات/جامعات/نقل موظفين/مدارس)، بطاقة سعر مستقلة وCTA واتساب خاص بالمواصلات.
الشارات: **«متاح الآن»** على الأربعة (الثلاث + المواصلات) بناءً على تأكيد المالك أنها تعمل في إنتاج سيرو، ومطابقةً لجدول §1.
> **قاعدة أخلاقية وقانونية غير قابلة للتفاوض:** لا تُعرض ميزة كـ«متاحة» إن لم تكن تعمل فعلاً في نسخة إنتاج. مشغّل دفع $5,000 على وعد وحدة غير موجودة = دعوى قضائية. **الشارة تتبع الإنتاج لا الرغبة** — أي وحدة تتوقف عن العمل في الإنتاج تعود «قريباً» في نفس اليوم.
### 4.2 ربط الحاسبة بالوحدات
أضف لقسم الحاسبة صف **«أضف وحدات»** بمربعات اختيار — يُحدَّث المجموع الشهري فوراً. هذا:
@@ -204,3 +150,4 @@ PayMob ✅ · CliQ · MTN/سيرياتيل كاش · شام كاش · كازان
| التاريخ | التغيير |
|---|---|
| 2026-07-24 | إنشاء الملف — 7 وحدات، تسعيرها، تحزيمها، عرضها على الموقع + جرد حالتها الفعلية في سيرو مقابل NestJS |
| 2026-07-24 (مساءً) | **مراجعة نقدية وإعادة هيكلة:** 7 وحدات ← **3**. الأمان والمدفوعات ← النواة (سبب قانوني، §2.1) · ذكاء الأسطول ← باقة أسطول+ · المواصلات ← خط منتج مستقل `#transit`. إصلاح **الانقلاب السعري** (كانت سيادة أرخص من أسطول+ محمّلة) · تصحيح سردية §0 المستحيلة · تنفيذ الكل على الموقع بأربع لغات |
+168
View File
@@ -0,0 +1,168 @@
# 35 — استخبارات التسعير: ملخّص وقائع للمحامي + ضوابط المنتج
> أُنشئ 2026-07-24 بطلب المالك (البند ٢ من قائمة المراجعة النقدية).
>
> ⚠️ **هذا الملف ليس رأياً قانونياً ولا يقوم مقامه.** أنا لست محامياً. الغرض منه أن يُسلَّم **كما هو** لمحامٍ مختص بالملكية الفكرية وقانون المنافسة في كل ولاية قضائية مستهدفة، فيجد أمامه الوقائع التقنية دقيقة بدل أن يعيد اكتشافها. الأسئلة في §5 هي ما يُطرح عليه.
>
> يُقرأ مع: [docs/33 §2.3](33-addons-packaging.md) (الوحدة والتسعير) · [docs/34](34-siro-backend-multitenancy.md) (من سيشغّلها)
---
## 1) ما تفعله الوحدة فعلاً — مقروء من الكود لا من العرض التسويقي
هذا القسم هو أهم ما في الملف. الوصف الذي كان في `docs/33` («جمع أسعار المنافسين») **أقل دقة بكثير من الواقع**، والفارق قانوني لا لفظي.
### 1.1 مصدر البيانات: بوت أندرويد يشغّل تطبيقات المنافسين على أجهزة حقيقية
| الحلقة | الملف | ما يحدث |
|---|---|---|
| ① طابور المهام | `backend/bot/standalone_worker.php` | لوحة تُنشئ مهام: تطبيق منافس + نقطة انطلاق + وجهة + إحداثيات. وزرّ **«Generate Batch Trips»** يولّد حتى **100 مهمة دفعة واحدة** |
| ② التنفيذ | **بوت أندرويد خارج المستودع** | نصّ الواجهة حرفياً: *"Results will appear here when the Android bot submits them"* (`standalone_worker.php:821`). التنفيذ على **جهاز حقيقي** يفتح تطبيق المنافس ويطلب تسعيرة |
| ③ الإرجاع | نفس الملف، سطور 22–73 | البوت يوقّع بـ`hash_hmac('sha256', device_id.ts, SECRET_KEY)` ويرسل النتائج |
| ④ التخزين | `bot/cron_empty_results_to_db.php:38` | `INSERT INTO scraped_competitor_prices (...)` من `results.json` |
| ⑤ التحليل | `backend/pricing-engine/src/` | MAD (شواذ) · K-Means (تجميع فئات) · انحدار خطي متعدد → **استخراج معادلة تسعير المنافس** |
| ⑥ التطبيق | `ride/pricing/auto_adapt.php` · `bot/ai_formula_solver.php` · `cron_pricing_stability_engine.php` | ضبط سعر سيرو آلياً على أساس النتيجة |
### 1.2 التطبيقات المستهدفة — **بالاسم ومعرّف الحزمة**
من `standalone_worker.php:665–673`:
| التطبيق | معرّف الحزمة |
|---|---|
| Uber | `com.ubercab` |
| Careem | `com.careem.acma` |
| Jeeny | `me.com.easytaxi` |
| TaxiF | `com.taxif.passenger` |
| YallaGo | `ae.com.yalla.go.dubai.client` |
| Zaken / Zakinn | `com.zakinn.app` |
| Tfadal | `com.bis.taxi` |
`scraped_competitor_prices` يخزّن `app_name` و`competitor_name` كأعمدة مفهرسة — أي أن **نسبة السعر إلى منافس مُسمّى هي تصميم الجدول نفسه، لا أثر جانبي**.
### 1.3 لماذا هذا التوصيف مهم
الفارق بين ثلاثة أوصاف، وكلها كانت تُستعمل بالتبادل في وثائقنا:
| الوصف | الواقع؟ | الوزن القانوني |
|---|---|---|
| «تحليل بيانات السوق» | ❌ غير دقيق | منخفض |
| «كشط أسعار معلنة من صفحات عامة» | ❌ غير دقيق | متوسط |
| **«أتمتة تطبيقات منافسين مُسمّاة على أجهزة حقيقية لتوليد طلبات تسعير آلية بالجملة»** | ✅ **هذا هو الواقع** | **مرتفع** |
الأسعار في تطبيقات النقل **ليست منشورة على صفحة عامة** — تُولَّد ردّاً على طلب تسعيرة من حساب داخل التطبيق. أي أن الحصول عليها يستلزم بالضرورة: حساباً على منصة المنافس، وتفاعلاً آلياً معها، وتوليد أحمال على أنظمته.
---
## 2) الخطر الأول — الوصول الآلي المصرّح به وشروط الاستخدام
**ما يجب أن يعرفه المحامي:**
- الوصول يتم عبر **حساب مستخدم** على منصة المنافس (لا يمكن الحصول على تسعيرة بدونه).
- التفاعل **آلي** ومُجدوَل ودُفعي (حتى 100 طلب/دفعة).
- الطلبات هي **طلبات تسعير** لا حجوزات مكتملة — لكنها أحمال حقيقية على أنظمة المنافس.
- شروط استخدام تطبيقات النقل الكبرى تحظر عادةً صراحةً: الوصول الآلي، والاستخدام لأغراض تجارية منافسة، وجمع البيانات بالجملة.
**البُعد الذي يتجاوز «مخالفة عقد»:** في عدد من الولايات القضائية يُجرَّم الوصول غير المصرّح به إلى نظام معلوماتي بقانون جزائي مستقل عن العقد (الأردن: قانون الجرائم الإلكترونية · مصر: قانون مكافحة جرائم تقنية المعلومات · الخليج: قوانين مكافحة جرائم المعلوماتية). **السؤال للمحامي: هل «الوصول بحساب صحيح لكن بغرض تحظره الشروط وبأتمتة» يندرج تحت «غير مصرّح» في هذه القوانين؟** الإجابة تختلف جوهرياً بين الولايات.
---
## 3) الخطر الثاني — قانون المنافسة (الأخطر، ولم يكن موثَّقاً أصلاً)
هذا الخطر **مستقل تماماً** عن الأول، ولا يزول بحلّه.
### 3.1 الفرق بين الاستعمال الذاتي والبيع كخدمة
| الوضع | الوصف | الوزن |
|---|---|---|
| **أمس** | سيرو تجمع أسعاراً وتضبط أسعارها هي | فاعل واحد يتصرّف تنافسياً |
| **غداً** | **Tripz تشغّل المحرّك لـN مشغّلاً** وتضبط أسعارهم | **Tripz صارت العقدة المركزية بين متنافسين** |
### 3.2 السيناريو الذي يجب تفاديه معمارياً
مشغّلان في **نفس المدينة** يشتريان الوحدة. كلاهما يتغذّى من نفس المحرّك، بنفس المنطق، على نفس بيانات السوق → **أسعارهما تتقارب بلا اتفاق بينهما**.
هذا هو التوصيف الكتابي لما يُسمّى **التواطؤ الخوارزمي عبر وسيط (hub-and-spoke)**: لا يلزم اتفاق بين المتنافسين؛ يكفي أن يديرا التسعير عبر **مزوّد واحد يعرف بيانات الجميع**. والمسؤولية في هذا النمط تقع على **المزوّد** (المحور) لا على المشغّلين فقط.
مصر والسعودية والإمارات والأردن لديها جميعاً هيئات منافسة فاعلة، والاتحاد الأوروبي هو الأشدّ في هذا الباب تحديداً.
### 3.3 الضابط المعماري المقترح — يُنفَّذ قبل البيع لا بعده
> **قاعدة «مشغّل واحد لكل مدينة» للوحدة ②:** لا تُباع «استخبارات التسعير» لأكثر من مستأجر واحد في نفس المدينة/السوق. تُقيَّد في العقد **وفي الكود** (فحص عند تفعيل الميزة على مستوى المدينة).
هذا الضابط يحوّل الوحدة من «محور تواطؤ محتمل» إلى «أداة تنافسية لفاعل واحد» — وهو أقوى دفاع بنيوي متاح، وله أثر تجاري إيجابي أيضاً: **الحصرية الجغرافية تبرّر سعراً أعلى** ($249 → قابلة لأن تصير $399 لأول مشغّل في المدينة).
---
## 4) الخطر الثالث — البيانات الشخصية
`scraped_competitor_prices` يخزّن إحداثيات دقيقة (`decimal(10,7)`) لنقاط انطلاق ووصول. هذه **نقاط اصطناعية ولّدها فريقنا**، لا نقاط ركاب حقيقيين — أي أن الخطر هنا **منخفض**، لكن يجب تثبيته كتابةً حتى لا ينزلق لاحقاً إلى استعمال نقاط رحلات فعلية.
> **قاعدة:** ممنوع تغذية `scraped_competitor_prices` من إحداثيات رحلات ركاب حقيقية. النقاط الاصطناعية فقط.
---
## 5) الأسئلة التي تُطرح على المحامي (بهذا الترتيب)
**أ — الوصول الآلي**
1. هل الوصول الآلي إلى تطبيق منافس بحساب صحيح، بغرض تحظره شروطه، يشكّل «وصولاً غير مصرّح به» جزائياً في [الأردن · مصر · سوريا · السعودية · الإمارات]؟
2. هل تتغيّر الإجابة إذا كان الحساب باسم شركة أو باسم شخص طبيعي؟
3. ما مدى تعرّضنا لدعوى مدنية (إخلال بعقد · منافسة غير مشروعة · إثراء بلا سبب) من منصة مُسمّاة؟
**ب — بيع الأداة كخدمة**
4. حين تشغّل Tripz المحرّك **نيابة عن** مستأجريها، من الفاعل قانوناً — Tripz أم المستأجر أم كلاهما؟
5. هل ينفعنا تعاقدياً أن يقرّ المستأجر بأنه المسؤول عن استعمال المخرجات؟ أم تبقى المسؤولية على المزوّد؟
**ج — المنافسة (الأهم)**
6. هل بيع محرّك تسعير واحد لمشغّلَين متنافسَين في نفس السوق يُعرّضنا لمساءلة كـ«محور» في ترتيب hub-and-spoke؟
7. هل ضابط «مشغّل واحد لكل مدينة» (§3.3) كافٍ للدفع؟ وهل يلزم أن يكون في العقد أم في الكود أم في الاثنين؟
8. ما الأسواق التي يجب **ألّا** تُعرض فيها الوحدة إطلاقاً في المرحلة الأولى؟
**د — التسويق**
9. ما الصياغات التسويقية الممنوعة؟ (تسمية منافس · التلميح لـ«اختراق» · وعد بمعرفة «أسرار» المنافس)
---
## 6) ما نُفِّذ الآن على الموقع — وما ينتظر رأي المحامي
### ✅ نُفِّذ فوراً (لا يحتاج انتظاراً)
- **لا يُسمّى أي منافس** في أي لغة من اللغات الأربع.
- حُذفت صياغة **«اعرف كيف يسعّر منافسك — قبل أن يعرف هو»**: توحي بالتسلل، وتصلح دليلاً على النيّة في أي نزاع.
- الصياغة البديلة تصف **المخرَج** (معادلة تسعير السوق · مرونة الطلب · ضبط سعرك) لا **الوسيلة**.
### ⏸️ موقوف على رأي المحامي
- عرض الوحدة في **أي سوق خليجي أو أوروبي**.
- تفعيل ضابط «مشغّل واحد لكل مدينة» في الكود (`FeatureGuard` على مستوى المدينة).
- صياغة بند تحمّل المسؤولية في عقد المستأجر.
### 🔴 قرار يستحق النظر قبل أول بيع
المسار الأقل خطراً **ليس تحسين الصياغة، بل تبديل مصدر البيانات**. المحرّك التحليلي (`pricing-engine/`) هو الأصل الثمين، وهو **محايد تماماً تجاه المصدر**: MAD وK-Means والانحدار تعمل على أي جدول أسعار.
بدائل تُغذّي نفس المحرّك بمخاطرة أقل بكثير:
1. **بيانات المستأجر نفسه** — تاريخ رحلاته ومرونة الطلب وأسعاره. لا يحتاج منافساً أصلاً، ويغطّي معظم قيمة «اضبط سعرك بالبيانات لا بالحدس».
2. **تعرفة الجهة المنظِّمة** — منشورة رسمياً في معظم أسواقنا، وجمعها مشروع تماماً.
3. **مسح ميداني بشري** — بائع بيانات أو مسح دوري، بعقد يحمّل المزوّد المسؤولية.
**الرأي الصريح:** الوحدة تظل تستحق $249 حتى لو حُذفت طبقة المنافسين كلياً. أما بيع بوت الأندرويد كخدمة لـN مشغّلاً فيضع Tripz — لا المستأجر — في مرمى دعويين مختلفتين. لو كان القرار لي: **أفصل المحرّك عن مصدره، وأبيع المحرّك، وأترك مصدر المنافسين استعمالاً داخلياً لسيرو وحدها ريثما يردّ المحامي.**
---
## 7) موقف المنتج الحالي
| البند | الحالة |
|---|---|
| الوحدة على الموقع | معروضة بصياغة محايدة، بلا تسمية منافس |
| السعر | $249/شهر + $1,000 إعداد |
| ضابط مشغّل/مدينة | ⬜ غير منفَّذ في الكود |
| رأي قانوني | ⬜ لم يُطلب بعد — **هذا الملف هو مادته** |
| أسواق مسموحة | الأردن · مصر · سوريا مبدئياً · **الخليج وأوروبا موقوفان** |
---
## سجل التغييرات
| التاريخ | التغيير |
|---|---|
| 2026-07-24 | إنشاء الملف — توصيف تقني دقيق من الكود (بوت أندرويد على أجهزة حقيقية ضد ٧ تطبيقات مُسمّاة)، فصل ثلاثة أخطار، ضابط مشغّل/مدينة، أسئلة المحامي، تنظيف صياغة الموقع |
---
← ذو صلة: [33-addons-packaging](33-addons-packaging.md) · [21-siro-audit](21-siro-audit.md) · [34-siro-backend-multitenancy](34-siro-backend-multitenancy.md)
+369 -61
View File
@@ -337,6 +337,8 @@ html[dir=ltr] .plan .tag{transform:translateX(-50%)}
.plan ul{list-style:none;display:flex;flex-direction:column;gap:11px;margin-bottom:24px;flex:1}
.plan li{display:flex;gap:9px;font-size:14.5px;color:var(--text-soft)}
.plan li .ck{color:var(--success-500);flex:none}
.plan-incl{color:var(--success-500);font-weight:700}
.plan-inherit{font-size:12.5px;color:var(--brand-500);font-weight:600;margin:-6px 0 12px;padding-bottom:10px;border-bottom:1px dashed var(--border)}
.plan .btn{width:100%;justify-content:center}
.gmv-note{margin-top:32px;text-align:center;color:var(--text-soft);font-size:15px}
.contract-box{margin-top:40px;background:var(--bg-alt);border:1px dashed var(--brand-500);border-radius:var(--radius-card);padding:28px;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@@ -345,6 +347,82 @@ html[dir=ltr] .plan .tag{transform:translateX(-50%)}
.founder{margin-top:24px;background:linear-gradient(120deg,var(--brand-500),var(--brand-600));color:#fff;border-radius:var(--radius-card);padding:22px 28px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.founder .seats{background:rgba(255,255,255,.18);padding:6px 14px;border-radius:999px;font-weight:700;font-size:14px}
/* ============ ADD-ONS / MODULES ============ */
.addons-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-top:44px}
.addon-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-card);padding:28px 24px;
display:flex;flex-direction:column;position:relative;transition:transform .3s var(--ease),box-shadow .3s,border-color .3s}
.addon-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);border-color:var(--brand-500)}
.addon-card.featured{border-color:var(--signal-400);box-shadow:0 12px 32px var(--signal-glow)}
.addon-card.featured:hover{box-shadow:0 16px 40px var(--signal-glow)}
.addon-badge{position:absolute;top:-12px;inset-inline-start:16px;display:inline-flex;align-items:center;gap:5px;
font-size:11px;font-weight:700;padding:4px 10px;border-radius:999px;z-index:2;letter-spacing:.04em}
.addon-badge.available{background:rgba(18,183,106,.2);color:var(--success-500);text-transform:uppercase}
.addon-badge.coming-soon{background:rgba(152,162,179,.15);color:#9CA2B3;text-transform:uppercase}
.addon-ico{width:56px;height:56px;border-radius:14px;display:grid;place-items:center;margin-bottom:18px;margin-top:6px}
.addon-card h3{font-size:20px;margin-bottom:10px}
.addon-card p{color:var(--text-soft);font-size:15px;flex:1;margin-bottom:18px}
.addon-price{display:flex;align-items:baseline;gap:8px;margin-bottom:12px}
.addon-price .num{font-family:var(--font-lat);font-variant-numeric:tabular-nums;font-size:32px;font-weight:700}
.addon-price span:not(.num){color:var(--text-soft);font-size:14px}
.addon-setup{font-size:12px;color:var(--text-soft);margin-top:4px;font-weight:500}
@media(max-width:900px){
.addons-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}
.addon-card{padding:24px 20px}
}
@media(max-width:640px){
.addons-grid{grid-template-columns:1fr}
.addon-card{padding:24px}
}
.addons-grid.three{grid-template-columns:repeat(3,1fr)}
@media(max-width:900px){.addons-grid.three{grid-template-columns:1fr}}
.addons-note{margin-top:28px;text-align:center;color:var(--text-soft);font-size:14.5px;max-width:720px;margin-inline:auto}
/* شريط النواة — مشمول في كل الباقات */
.core-band{margin-top:44px;margin-bottom:32px;background:var(--bg-alt);border:1px solid var(--border);
border-inline-start:3px solid var(--success-500);border-radius:var(--radius-card);padding:24px 26px}
.core-band-head{display:flex;gap:14px;align-items:flex-start;margin-bottom:18px}
.core-lock{flex:none;width:40px;height:40px;border-radius:11px;display:grid;place-items:center;
background:rgba(18,183,106,.14);color:var(--success-500)}
.core-band-head h3{font-size:18px;margin-bottom:4px}
.core-band-head p{color:var(--text-soft);font-size:14.5px}
.core-items{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.core-item{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:14px 16px}
.core-item b{display:block;font-size:15px;margin-bottom:3px}
.core-item span{color:var(--text-soft);font-size:13.5px}
@media(max-width:760px){.core-items{grid-template-columns:1fr}}
/* المواصلات — منتج مستقل */
.transit-sec{background:var(--midnight-800);color:#EAF0FF;
background-image:radial-gradient(760px 420px at 12% 0%,rgba(255,179,71,.14),transparent)}
html[dir=ltr] .transit-sec{background-image:radial-gradient(760px 420px at 88% 0%,rgba(255,179,71,.14),transparent)}
.transit-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:48px;align-items:center}
.transit-sec .sec-lead{margin-bottom:22px}
.transit-for{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:26px}
.transit-for span{font-size:13px;font-weight:600;padding:6px 13px;border-radius:999px;
background:rgba(255,179,71,.14);color:#FFB347;border:1px solid rgba(255,179,71,.28)}
.transit-sec .feat-list li{color:#C7D3F0;font-size:16px}
.transit-sec .feat-list .ck{background:rgba(255,179,71,.16);color:#FFB347}
.transit-card{position:relative;background:var(--midnight-700);border:1px solid rgba(255,255,255,.12);
border-radius:var(--radius-card);padding:30px 26px;box-shadow:var(--shadow-lg)}
.transit-price{display:flex;align-items:baseline;gap:8px}
.transit-price .num{font-family:var(--font-lat);font-variant-numeric:tabular-nums;font-size:44px;font-weight:700;color:#fff}
.transit-price span:not(.num){color:#9BA8C9;font-size:14px}
.transit-setup{color:#B7C4E6;font-size:14px;margin-top:6px}
.transit-sep{height:1px;background:rgba(255,255,255,.12);margin:20px 0}
.transit-note{color:#9BA8C9;font-size:13.5px;margin-bottom:20px}
@media(max-width:900px){.transit-grid{grid-template-columns:1fr;gap:32px}}
/* ============ CONSENT + ANALYTICS ============ */
.consent{position:fixed;inset-inline:16px;bottom:16px;z-index:200;max-width:520px;margin-inline:auto;
background:var(--card);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-lg);
padding:20px 22px;transform:translateY(140%);transition:transform .45s var(--ease)}
.consent.show{transform:none}
.consent h4{font-size:16px;margin-bottom:6px}
.consent p{font-size:13.5px;color:var(--text-soft);margin-bottom:14px}
.consent-btns{display:flex;gap:10px;flex-wrap:wrap}
.consent-btns .btn{flex:1;justify-content:center;padding:11px 18px;font-size:14px;min-width:120px}
@media(max-width:520px){.consent{inset-inline:10px;bottom:10px;padding:18px}}
/* ============ COMPARISON ============ */
.cmp-table{width:100%;border-collapse:separate;border-spacing:0;font-size:15px}
.cmp-table th,.cmp-table td{padding:16px 18px;text-align:start;border-bottom:1px solid var(--border)}
@@ -471,7 +549,7 @@ footer{background:var(--midnight-900);color:#8A99C2;padding:64px 0 32px;border-t
</a>
<nav class="nav-links">
<a href="#product" data-i18n="nav.product">المنتج</a>
<a href="#ai-modules">ذكاء المنصة AI</a>
<a href="#addons" data-i18n="nav.addons">الإضافات</a>
<a href="#calc" data-i18n="nav.savings">حاسبة التوفير</a>
<a href="#pricing" data-i18n="nav.pricing">التسعير</a>
<a href="#how" data-i18n="nav.how">كيف نطلق</a>
@@ -767,46 +845,6 @@ footer{background:var(--midnight-900);color:#8A99C2;padding:64px 0 32px;border-t
</section>
<!-- ================= AI MODULES & NABEH INTEGRATION ================= -->
<section id="ai-modules" class="ambient" style="background:var(--midnight-800);color:#EAF0FF;padding:96px 0;border-block:1px solid var(--border)">
<div class="wrap">
<div class="center reveal">
<div class="eyebrow" style="color:#8AA0FF">تفوق تكنولوجي حقيقي</div>
<h2 class="sec" style="color:#fff">منظومة ذكاء اصطناعي تفوق أي منافس — مدعومة بمنصة «نبيّه»</h2>
<p class="sec-lead" style="color:#B7C4E6">لا نقدم مجرد تطبيق نقل تقليدي، بل محرك ذكاء اصطناعي متكامل يرفع مبيعاتك وأرباحك ويضمن أعلى نسبة تشغيل لأسطولك.</p>
</div>
<div class="cards-3 reveal" style="margin-top:44px">
<!-- AI Market Intelligence -->
<div class="pcard" style="background:var(--midnight-700);border-color:rgba(255,255,255,.12)">
<div class="ico" style="background:rgba(46,75,255,.2);color:#8AA0FF">
<svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M21 16V8a2 2 0 00-1-1.73l-7-4a2 2 0 00-2 0l-7 4A2 2 0 003 8v8a2 2 0 001 1.73l7 4a2 2 0 002 0l7-4A2 2 0 0021 16z"/><polyline points="3.27 6.96 12 12.01 20.73 6.96"/><line x1="12" y1="22.08" x2="12" y2="12"/></svg>
</div>
<h3 style="color:#fff;font-size:22px">استخبارات السوق والتسعير الذكي</h3>
<p style="color:#B7C4E6;font-size:15px;margin-top:10px">خوارزميات تتبّع أسعار المنافسين لحظياً وتضبط تسعير الرحلات ديناميكياً لزيادة حصتك السوقية وأرباح السائقين دون خسارة الركاب.</p>
</div>
<!-- AI Auto Responder -->
<div class="pcard" style="background:var(--midnight-700);border-color:rgba(255,255,255,.12)">
<div class="ico" style="background:rgba(18,183,106,.2);color:#12B76A">
<svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M21 15a2 2 0 01-2 2H7l-4 4V5a2 2 0 012-2h14a2 2 0 012 2z"/><path d="M8 10h8 M8 14h4"/></svg>
</div>
<h3 style="color:#fff;font-size:22px">الرد الآلي والدعم الفوري الذكي</h3>
<p style="color:#B7C4E6;font-size:15px;margin-top:10px">نظام مجيب آلي مدمج عبر واتساب والتطبيق يحل شكاوى الركاب والسائقين فورياً ويوفر 80% من تكاليف موظفي الدعم والـ Dispatch.</p>
</div>
<!-- Nabeh Sales Integration -->
<div class="pcard" style="background:var(--midnight-700);border-color:rgba(46,75,255,.4);box-shadow:0 0 30px rgba(46,75,255,.2)">
<div class="ico" style="background:rgba(255,255,255,.15);color:#fff">
<svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"/><path d="M12 6v6l4 2"/></svg>
</div>
<div style="display:inline-block;background:var(--brand-500);color:#fff;font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;margin-bottom:8px">إضافة حصريّة</div>
<h3 style="color:#fff;font-size:22px">ربط منصة «نبيّه» للتسويق والمبيعات</h3>
<p style="color:#B7C4E6;font-size:15px;margin-top:10px">منظومة المبيعات وإدارة علاقات الركاب (CRM) من منصة نبيّه لإعادة استهداف الركاب الخاملين وزيادة معدل تكرار الرحلات آلياً.</p>
</div>
</div>
</div>
</section>
<!-- ================= CALCULATOR ================= -->
<section class="calc grain" id="calc">
<div class="wrap">
@@ -907,6 +945,7 @@ footer{background:var(--midnight-900);color:#8A99C2;padding:64px 0 32px;border-t
<li><span class="ck">✓</span><span data-i18n="plan.start.1"></span></li>
<li><span class="ck">✓</span><span data-i18n="plan.start.2"></span></li>
<li><span class="ck">✓</span><span data-i18n="plan.start.3"></span></li>
<li><span class="ck">✓</span><span data-i18n="plan.start.4"></span></li>
</ul>
<a href="https://wa.me/962798583052" target="_blank" rel="noopener" class="btn btn-ghost" data-i18n="plan.start.cta"></a>
</div>
@@ -917,6 +956,7 @@ footer{background:var(--midnight-900);color:#8A99C2;padding:64px 0 32px;border-t
<div class="price" data-m="349" data-y="297">$349<small>/mo</small></div>
<div class="setup"><span data-i18n="plan.setup"></span> $4,900</div>
<span class="gmv">GMV 2.5% · min $0.04</span>
<div class="plan-inherit" data-i18n="plan.brand.0"></div>
<ul>
<li><span class="ck">✓</span><span data-i18n="plan.brand.1"></span></li>
<li><span class="ck">✓</span><span data-i18n="plan.brand.2"></span></li>
@@ -931,10 +971,13 @@ footer{background:var(--midnight-900);color:#8A99C2;padding:64px 0 32px;border-t
<div class="price" data-m="599" data-y="509">$599<small>/mo</small></div>
<div class="setup"><span data-i18n="plan.setup"></span> $8,500</div>
<span class="gmv">GMV 2% · min $0.03</span>
<div class="plan-inherit" data-i18n="plan.fleet.0"></div>
<ul>
<li><span class="ck">✓</span><span data-i18n="plan.fleet.1"></span></li>
<li><span class="ck">✓</span><span data-i18n="plan.fleet.2"></span></li>
<li><span class="ck">✓</span><span data-i18n="plan.fleet.3"></span></li>
<li><span class="ck">✓</span><span data-i18n="plan.fleet.4"></span></li>
<li><span class="ck">✓</span><span class="plan-incl" data-i18n="plan.fleet.5"></span></li>
</ul>
<a href="https://calendly.com/sefertraveling/30min" target="_blank" rel="noopener" class="btn btn-ghost" data-i18n="plan.brand.cta"></a>
</div>
@@ -944,10 +987,12 @@ footer{background:var(--midnight-900);color:#8A99C2;padding:64px 0 32px;border-t
<div class="price" data-m="879" data-y="747">$879<small>/mo</small></div>
<div class="setup"><span data-i18n="plan.setup"></span> $13,500+</div>
<span class="gmv">GMV 1% · min $0.02</span>
<div class="plan-inherit" data-i18n="plan.sov.0"></div>
<ul>
<li><span class="ck">✓</span><span data-i18n="plan.sov.1"></span></li>
<li><span class="ck">✓</span><span data-i18n="plan.sov.2"></span></li>
<li><span class="ck">✓</span><span data-i18n="plan.sov.3"></span></li>
<li><span class="ck">✓</span><span class="plan-incl" data-i18n="plan.sov.4"></span></li>
</ul>
<a href="https://calendly.com/sefertraveling/30min" target="_blank" rel="noopener" class="btn btn-ghost" data-i18n="plan.sov.cta"></a>
</div>
@@ -966,6 +1011,104 @@ footer{background:var(--midnight-900);color:#8A99C2;padding:64px 0 32px;border-t
</div>
</section>
<!-- ================= ADD-ONS / MODULES ================= -->
<section id="addons" class="ambient" style="background:var(--bg)">
<div class="wrap">
<div class="center reveal">
<div class="eyebrow" data-i18n="addons.eyebrow"></div>
<h2 class="sec" data-i18n="addons.title"></h2>
<p class="sec-lead" data-i18n="addons.lead"></p>
</div>
<!-- ملحق بالنواة: لا يُباع -->
<div class="core-band reveal">
<div class="core-band-head">
<span class="core-lock">
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="11" width="18" height="11" rx="2"/><path d="M7 11V7a5 5 0 0110 0v4"/></svg>
</span>
<div>
<h3 data-i18n="core.title"></h3>
<p data-i18n="core.lead"></p>
</div>
</div>
<div class="core-items">
<div class="core-item"><b data-i18n="core.i1.t"></b><span data-i18n="core.i1.d"></span></div>
<div class="core-item"><b data-i18n="core.i2.t"></b><span data-i18n="core.i2.d"></span></div>
</div>
</div>
<div class="addons-grid three reveal">
<!-- 1. AI Suite -->
<div class="addon-card">
<div class="addon-badge available" data-i18n="addon.badge.now"></div>
<div class="addon-ico" style="background:rgba(46,75,255,.15);color:#2E4BFF">
<svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"/></svg>
</div>
<h3 data-i18n="addons.m1.name"></h3>
<p data-i18n="addons.m1.desc"></p>
<div class="addon-price"><span class="num">$149</span><span data-i18n="addons.m1.period"></span></div>
</div>
<!-- 2. Pricing Intelligence -->
<div class="addon-card featured">
<div class="addon-badge available" data-i18n="addon.badge.now"></div>
<div class="addon-ico" style="background:rgba(214,219,238,.15);color:#D6DBEE">
<svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M3 3h18v18H3z" stroke-width="1.5"/><path d="M6 15l4-6 4 3 5-8"/><circle cx="6" cy="16" r="1"/></svg>
</div>
<h3 data-i18n="addons.m2.name"></h3>
<p data-i18n="addons.m2.desc"></p>
<div class="addon-price"><span class="num">$249</span><span data-i18n="addons.m2.period"></span><div class="addon-setup" data-i18n="addons.m2.setup"></div></div>
</div>
<!-- 3. Growth Suite -->
<div class="addon-card">
<div class="addon-badge available" data-i18n="addon.badge.now"></div>
<div class="addon-ico" style="background:rgba(18,183,106,.15);color:#12B76A">
<svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="23 6 13.5 15.5 8.5 10.5 1 17"/><polyline points="17 6 23 6 23 12"/></svg>
</div>
<h3 data-i18n="addons.m3.name"></h3>
<p data-i18n="addons.m3.desc"></p>
<div class="addon-price"><span class="num">$129</span><span data-i18n="addons.m3.period"></span></div>
</div>
</div>
<p class="addons-note reveal" data-i18n="addons.note"></p>
</div>
</section>
<!-- ================= TRANSIT (منتج مستقل) ================= -->
<section id="transit" class="transit-sec grain">
<div class="wrap">
<div class="transit-grid reveal">
<div class="transit-text">
<div class="eyebrow" style="color:#8AA0FF" data-i18n="transit.eyebrow"></div>
<h2 class="sec" style="color:#fff" data-i18n="transit.title"></h2>
<p class="sec-lead" style="color:#B7C4E6" data-i18n="transit.lead"></p>
<div class="transit-for">
<span data-i18n="transit.for1"></span>
<span data-i18n="transit.for2"></span>
<span data-i18n="transit.for3"></span>
<span data-i18n="transit.for4"></span>
</div>
<ul class="feat-list" style="margin-bottom:26px">
<li><span class="ck">✓</span><span data-i18n="transit.f1"></span></li>
<li><span class="ck">✓</span><span data-i18n="transit.f2"></span></li>
<li><span class="ck">✓</span><span data-i18n="transit.f3"></span></li>
<li><span class="ck">✓</span><span data-i18n="transit.f4"></span></li>
</ul>
</div>
<div class="transit-card">
<div class="addon-badge available" data-i18n="addon.badge.now"></div>
<div class="transit-price"><span class="num">$299</span><span data-i18n="transit.period"></span></div>
<div class="transit-setup" data-i18n="transit.setup"></div>
<div class="transit-sep"></div>
<p class="transit-note" data-i18n="transit.note"></p>
<a href="https://wa.me/962798583052?text=Transit" target="_blank" rel="noopener" class="btn btn-primary" style="width:100%;justify-content:center" data-i18n="transit.cta"></a>
</div>
</div>
</div>
</section>
<!-- ================= COMPARISON ================= -->
<section id="compare" class="ambient">
<div class="wrap">
@@ -1149,11 +1292,21 @@ footer{background:var(--midnight-900);color:#8A99C2;padding:64px 0 32px;border-t
<svg width="28" height="28" viewBox="0 0 24 24" fill="#fff"><path d="M12 2a10 10 0 00-8.6 15l-1.3 4.7 4.8-1.3A10 10 0 1012 2zm0 18a8 8 0 01-4-1.1l-.3-.2-2.9.8.8-2.8-.2-.3A8 8 0 1112 20zm4.4-6c-.2-.1-1.4-.7-1.6-.8s-.4-.1-.6.1-.6.8-.8.9-.3.2-.6 0a6.5 6.5 0 01-1.9-1.2 7.3 7.3 0 01-1.4-1.7c-.1-.3 0-.4.1-.5l.4-.5.3-.5v-.4l-.8-1.9c-.2-.5-.4-.4-.6-.4h-.5a1 1 0 00-.7.3 3 3 0 00-.9 2.2 5.2 5.2 0 001.1 2.7 11.8 11.8 0 004.5 4c.6.2 1.1.4 1.5.5.6.2 1.2.2 1.6.1.5-.1 1.4-.6 1.6-1.1s.2-1 .1-1.1z"/></svg>
</a>
<!-- ================= CONSENT ================= -->
<div class="consent" id="consent" role="dialog" aria-live="polite">
<h4 data-i18n="consent.t"></h4>
<p data-i18n="consent.d"></p>
<div class="consent-btns">
<button class="btn btn-primary" id="consentYes" data-i18n="consent.yes"></button>
<button class="btn btn-ghost" id="consentNo" data-i18n="consent.no"></button>
</div>
</div>
<script>
/* ============ i18n DICTIONARY (ar default · en · fr · es) ============ */
const I18N = {
ar:{
"nav.product":"المنتج","nav.savings":"حاسبة التوفير","nav.pricing":"التسعير","nav.how":"كيف نطلق","nav.faq":"الأسئلة","nav.demo":"جرّب الديمو",
"nav.product":"المنتج","nav.addons":"الإضافات","nav.savings":"حاسبة التوفير","nav.pricing":"التسعير","nav.how":"كيف نطلق","nav.faq":"الأسئلة","nav.demo":"جرّب الديمو",
"hero.title":"أطلق تطبيق النقل [بعلامتك] — خلال 30 يوماً، وبياناتك تبقى لك.",
"hero.sub":"تطبيقا راكب وسائق على المتجرين، لوحة تحكم وdispatch — بنسبة معلنة على الموقع وعقد يضمن تصدير بياناتك في أي وقت.",
"hero.cta1":"جرّب الديمو الحي","hero.cta2":"تحدّث معنا على واتساب","hero.trust":"بلا بطاقة ائتمانية · ديمو فوري بلا مكالمة مبيعات","hero.scroll":"اكتشف المزيد",
@@ -1181,13 +1334,27 @@ const I18N = {
"how.s5.d":"يوم 22–30","how.s5.t":"الإطلاق الحي","how.s5.p":"مراجعة المتاجر والموافقة، ثم الإطلاق الحي بإشرافنا المباشر.",
"price.eyebrow":"تسعير علني بالكامل","price.title":"نعم — أسعارنا كلها هنا. علناً.","price.lead":"وجود صفحة تسعير كاملة وحده تمايزٌ في سوق يعتمد الغموض. اختر باقتك، وارتقِ متى شئت.",
"price.monthly":"شهري","price.yearly":"سنوي","price.save15":"وفّر 15%","plan.setup":"الإعداد:","plan.popular":"الأكثر اختياراً",
"plan.start.n":"انطلاقة","plan.start.1":"مدينتك داخل تطبيق Tripz الجامع","plan.start.2":"لوحة تحكم وdispatch أساسي","plan.start.3":"سقف 90 يوماً أو 10,000 رحلة","plan.start.cta":"ابدأ الآن",
"plan.brand.n":"علامة","plan.brand.1":"تطبيقا راكب+سائق بعلامتك على المتجرين","plan.brand.2":"محرك تعرفة كامل + حزمة بلدك","plan.brand.3":"نشر المتاجر علينا","plan.brand.4":"دعم عربي","plan.brand.cta":"احجز إطلاقك",
"plan.fleet.n":"أسطول+","plan.fleet.1":"dispatch متقدم + بوابة شركات","plan.fleet.2":"حجز ويب + محافظ سائقين","plan.fleet.3":"API + Webhooks + تقارير متقدمة",
"plan.sov.n":"سيادة","plan.sov.1":"نسخة معزولة داخل دولتك","plan.sov.2":"واجهة المنظّم + SLA 99.9%","plan.sov.3":"ضمان تصدير + خيار Escrow","plan.sov.cta":"كلّم فريق المؤسسات",
"plan.start.n":"انطلاقة","plan.start.1":"مدينتك مُدرجة داخل تطبيق Tripz الجامع — بلا تطبيق خاص بشعارك بعد","plan.start.2":"لوحة تحكم و dispatch أساسي","plan.start.3":"محرك تعرفة كامل بحزمة بلدك (نفس محرك الباقات الأعلى)","plan.start.4":"سقف تجريبي: 90 يوماً أو 10,000 رحلة، ثم ترقية","plan.start.cta":"ابدأ الآن",
"plan.brand.n":"علامة","plan.brand.0":"↳ كل مزايا انطلاقة، إضافة إلى:","plan.brand.1":"تطبيقا راكب+سائق خاصّان بعلامتك على المتجرين — لا مشاركة مع مستأجرين آخرين","plan.brand.2":"نشر ومراجعة المتجرين نتولاها بالكامل","plan.brand.3":"بلا سقف رحلات أو زمن","plan.brand.4":"دعم عربي مباشر + مدير حساب مخصص","plan.brand.cta":"احجز إطلاقك",
"plan.fleet.n":"أسطول+","plan.fleet.0":"↳ كل مزايا علامة، إضافة إلى:","plan.fleet.1":"Dispatch متقدم بتخصيص مناطق وشرائح سائقين","plan.fleet.2":"بوابة حجز للشركات (B2B) + حجز عبر الويب","plan.fleet.3":"محافظ وائتمان مخصّصة للسائقين","plan.fleet.4":"API + Webhooks + تقارير تشغيلية متقدمة","plan.fleet.5":"★ «ذكاء الأسطول» مشمول: خريطة حرارية + طلب تنبؤي + تقارير صحة",
"plan.sov.n":"سيادة","plan.sov.0":"↳ كل مزايا أسطول+، إضافة إلى:","plan.sov.1":"سيرفر معزول بالكامل داخل حدود دولتك","plan.sov.2":"واجهة تقارير للمنظّم + SLA 99.9%","plan.sov.3":"ضمان تصدير كامل + خيار Escrow","plan.sov.4":"★ الوحدات المدفوعة الثلاث + المواصلات مشمولة بالكامل (قيمة $826/شهر)","plan.sov.cta":"كلّم فريق المؤسسات",
"price.gmvnote":"نِسب GMV تنازلية: كلما كبر حجم أعمالك، صغرت نسبتنا. (علامة: 2.5% حتى $50k · 2% حتى $200k · 1.5% فوقها)",
"price.c1.t":"نسبة معلنة","price.c1.d":"مكتوبة ومثبتة في العقد — لا مفاجآت.","price.c2.t":"تصدير بياناتك","price.c2.d":"بياناتك كاملة، قابلة للتصدير في أي وقت.","price.c3.t":"خروج كريم","price.c3.d":"إن غادرت: فترة انتقال 60 يوماً بدل القطع الفوري.",
"price.founder.t":"برنامج الشريك المؤسِّس","price.founder.d":"أول 3 مشغّلين: إعداد مجاني مقابل نقطة مئوية إضافية لسنة + دراسة حالة باسمك.","price.founder.seats":"المقاعد المتبقية",
"consent.t":"نقيس ما ينفعك — بعد إذنك","consent.d":"نستخدم قياساً إعلانياً لمعرفة أي إعلان أوصلك إلينا. لا نجمع اسمك ولا رقمك، ويمكنك الرفض والاستمرار في تصفّح الموقع كاملاً.","consent.yes":"أوافق","consent.no":"أرفض\u200f",
"addons.eyebrow":"قابلة للتركيب","addons.title":"ثلاث وحدات مدفوعة — لا أكثر","addons.lead":"الأمان والمدفوعات لا تُباع عندنا: مشمولة في كل باقة. ما يُباع هو ما يزيد أرباحك فعلاً.",
"addon.badge.now":"متاح الآن","addon.badge.soon":"قريباً الربع القادم",
"core.title":"مشمول في كل باقة — ولا يُباع كإضافة أبداً","core.lead":"مشغّل بلا زر طوارئ أو بلا بوابة دفع ليس منتجاً ناقصاً — هو منتج لا يعمل. لذلك لا نسعّر هذين.",
"core.i1.t":"الأمان والامتثال","core.i1.d":"زر الطوارئ · كشف الاحتيال · تأمين السائق · فحص الوثائق بالذكاء الاصطناعي · تقارير المنظّم",
"core.i2.t":"المدفوعات المحلية","core.i2.d":"PayMob · CliQ · سيرياتيل وMTN كاش · شام كاش · المحافظ وطلبات السحب",
"addons.m1.name":"حزمة الذكاء الاصطناعي","addons.m1.desc":"تدقيق الشكاوى آلياً، مستشار تشغيلي أسبوعي، تسوية المدفوعات من رسائل المزوّد — موظفك الذي لا ينام.","addons.m1.period":"/شهر",
"addons.m2.name":"استخبارات التسعير","addons.m2.desc":"محرّك إحصائي يستخرج معادلة تسعير سوقك ومرونة الطلب فيه، ويضبط تعرفتك عليها آلياً. تغيير 5% في السعر يغيّر أرباحك 30% — هذه الوحدة تقرّر الـ5% بالبيانات لا بالحدس.","addons.m2.period":"/شهر","addons.m2.setup":"إعداد $1,000 — ضبط السوق المحلي",
"addons.m3.name":"حزمة النمو","addons.m3.desc":"إعادة تنشيط الركاب الخاملين، حملات واتساب، تلعيب وتحديات وإحالات — راكب عاد أرخص 10 مرات من راكب جديد.","addons.m3.period":"/شهر",
"addons.note":"«ذكاء الأسطول» (الخريطة الحرارية والطلب التنبؤي وتقارير الصحة) لم يعد يُباع منفصلاً — صار جزءاً أصيلاً من باقة «أسطول+».",
"transit.eyebrow":"خط منتج مستقل","transit.title":"المواصلات العامة — الباصات على نفس المنصة","transit.lead":"ليست إضافة على تطبيق تكسي. جمهورها مختلف كلياً، وتُشترى لأنك تدير شبكة نقل جماعي — بقمع بيع ومواصفات وعقد مستقلين.",
"transit.for1":"بلديات","transit.for2":"جامعات","transit.for3":"نقل موظفين","transit.for4":"مدارس",
"transit.f1":"خطوط ومواقيت وتتبّع مباشر لكل باص","transit.f2":"تسجيل ركاب ومشتركين واشتراكات شهرية","transit.f3":"تنبيه اقتراب الباص + بث للمجموعات","transit.f4":"لوحة مشرف مستقلة وتقارير الالتزام بالمواعيد",
"transit.period":"/شهر","transit.setup":"إعداد $2,500 — يشمل رسم الخطوط والمواقيت","transit.note":"مشمولة بالكامل في باقة «سيادة». تُضاف بسعرها فوق أي باقة أخرى.","transit.cta":"احجز عرضاً للمواصلات",
"cmp.eyebrow":"المقارنة الصريحة","cmp.title":"Tripz مقابل البدائل","cmp.col.feature":"المعيار","cmp.col.other":"المنصات المنافسة","cmp.col.custom":"تطوير مخصص","cmp.badge":"الأفضل قيمة",
"land.eyebrow":"أين يقف السوق","land.title":"المشهد السعري للقطاع","land.lead":"مقارنة نموذج Tripz النزيه والأشمل مقابل المنصات الأجنبية المنافسة والتطوير المخصص.",
"land.col.platform":"الخيار / المنصة","land.col.model":"النموذج والتسويق","land.col.setup":"رسوم الإعداد","land.col.monthly":"الاشتراك الشهري","land.col.pertrip":"عمولة الرحلة",
@@ -1207,7 +1374,7 @@ const I18N = {
"foot.tag":"منصة النقل الذكي كخدمة — أطلق تطبيقك بعلامتك، وبياناتك تبقى لك.","foot.product":"المنتج","foot.solutions":"الحلول","foot.fleets":"مكاتب وأساطيل التكسي","foot.startups":"رواد الأعمال والأسواق الناشئة","foot.resources":"الموارد","foot.case":"دراسة الحالة","foot.legal":"القانوني","foot.privacy":"الخصوصية","foot.terms":"الشروط","foot.dpa":"اتفاقية معالجة البيانات","foot.rights":"جميع الحقوق محفوظة.","foot.built":"صُمِّم للأسواق العربية والناشئة."
},
en:{
"nav.product":"Product","nav.savings":"Savings","nav.pricing":"Pricing","nav.how":"How we launch","nav.faq":"FAQ","nav.demo":"Try demo",
"nav.product":"Product","nav.addons":"Add-ons","nav.savings":"Savings","nav.pricing":"Pricing","nav.how":"How we launch","nav.faq":"FAQ","nav.demo":"Try demo",
"hero.title":"Launch ride-hailing [under your brand] — live in 30 days, your data stays yours.",
"hero.sub":"Rider & driver apps on both stores, an admin panel and dispatch — with pricing published right here and a contract that guarantees data export, anytime.",
"hero.cta1":"Try the live demo","hero.cta2":"Chat with us on WhatsApp","hero.trust":"No credit card · Instant demo, no sales call","hero.scroll":"Discover more",
@@ -1235,13 +1402,27 @@ const I18N = {
"how.s5.d":"Day 22–30","how.s5.t":"Go live","how.s5.p":"Store review and approval, then go live under our direct supervision.",
"price.eyebrow":"Fully public pricing","price.title":"Yes — all our prices are right here. Publicly.","price.lead":"A complete pricing page is itself a differentiator in a market built on ambiguity. Pick your plan, upgrade whenever.",
"price.monthly":"Monthly","price.yearly":"Yearly","price.save15":"Save 15%","plan.setup":"Setup:","plan.popular":"Most chosen",
"plan.start.n":"Startup","plan.start.1":"Your city inside the Tripz super-app","plan.start.2":"Admin panel & basic dispatch","plan.start.3":"Cap of 90 days or 10,000 trips","plan.start.cta":"Get started",
"plan.brand.n":"Brand","plan.brand.1":"Rider + driver apps under your brand on both stores","plan.brand.2":"Full tariff engine + country pack","plan.brand.3":"Store publishing on us","plan.brand.4":"Arabic support","plan.brand.cta":"Book your launch",
"plan.fleet.n":"Fleet+","plan.fleet.1":"Advanced dispatch + corporate portal","plan.fleet.2":"Web booking + driver wallets","plan.fleet.3":"API + Webhooks + advanced reports",
"plan.sov.n":"Sovereign","plan.sov.1":"Isolated instance inside your country","plan.sov.2":"Regulator interface + 99.9% SLA","plan.sov.3":"Export guarantee + Escrow option","plan.sov.cta":"Talk to enterprise",
"plan.start.n":"Startup","plan.start.1":"Your city listed inside the shared Tripz app — no branded app of your own yet","plan.start.2":"Admin panel & basic dispatch","plan.start.3":"Full tariff engine with your country pack (same engine as paid tiers)","plan.start.4":"Trial cap: 90 days or 10,000 trips, then upgrade","plan.start.cta":"Get started",
"plan.brand.n":"Brand","plan.brand.0":"↳ Everything in Startup, plus:","plan.brand.1":"Your own Rider + Driver apps on both stores — not shared with other tenants","plan.brand.2":"We handle store publishing & review end-to-end","plan.brand.3":"No trip or time cap","plan.brand.4":"Direct Arabic support + a dedicated account manager","plan.brand.cta":"Book your launch",
"plan.fleet.n":"Fleet+","plan.fleet.0":"↳ Everything in Brand, plus:","plan.fleet.1":"Advanced dispatch with zone assignment and driver tiers","plan.fleet.2":"Corporate (B2B) booking portal + web booking","plan.fleet.3":"Dedicated driver wallets & credit","plan.fleet.4":"API + Webhooks + advanced operational reports","plan.fleet.5":"★ Fleet Intelligence included: heatmap + predictive demand + health reports",
"plan.sov.n":"Sovereign","plan.sov.0":"↳ Everything in Fleet+, plus:","plan.sov.1":"Fully isolated server inside your own country's borders","plan.sov.2":"Regulator reporting interface + 99.9% SLA","plan.sov.3":"Full data export guarantee + Escrow option","plan.sov.4":"★ All three paid modules + Transit fully included ($826/mo of value)","plan.sov.cta":"Talk to enterprise",
"price.gmvnote":"Descending GMV rates: the bigger you get, the smaller our cut. (Brand: 2.5% up to $50k · 2% up to $200k · 1.5% above)",
"price.c1.t":"Published rate","price.c1.d":"Written and fixed in the contract — no surprises.","price.c2.t":"Export your data","price.c2.d":"All your data, exportable at any time.","price.c3.t":"Graceful exit","price.c3.d":"If you leave: a 60-day transition instead of an instant cut-off.",
"price.founder.t":"Founding Partner program","price.founder.d":"First 3 operators: free setup for +1 percentage point for a year + a named case study.","price.founder.seats":"Seats left",
"consent.t":"We measure what helps you — with your permission","consent.d":"We use advertising measurement to learn which ad brought you here. We do not collect your name or number, and you can decline and still use the whole site.","consent.yes":"Accept","consent.no":"Decline",
"addons.eyebrow":"Composable","addons.title":"Three paid modules — and no more","addons.lead":"We don't sell safety or payments: they're in every plan. What we sell is what actually grows your margin.",
"addon.badge.now":"Available now","addon.badge.soon":"Coming next quarter",
"core.title":"In every plan — never sold as an add-on","core.lead":"An operator without a panic button or without a payment gateway isn't a lesser product — it's a product that doesn't work. So we don't price these.",
"core.i1.t":"Trust & Safety","core.i1.d":"Panic button · fraud detection · driver assurance · AI document verification · regulator reports",
"core.i2.t":"Local payments","core.i2.d":"PayMob · CliQ · SyriaTel & MTN Cash · Sham Cash · wallets and payout requests",
"addons.m1.name":"AI Suite","addons.m1.desc":"Automated complaint triage, weekly operations advisor, payment reconciliation from provider SMS — your employee who never sleeps.","addons.m1.period":"/month",
"addons.m2.name":"Pricing Intelligence","addons.m2.desc":"A statistical engine that derives your market's pricing formula and demand elasticity, then tunes your tariff to it automatically. A 5% price change moves profit by 30% — this module decides that 5% from data, not instinct.","addons.m2.period":"/month","addons.m2.setup":"Setup $1,000 — local market calibration",
"addons.m3.name":"Growth Suite","addons.m3.desc":"Re-engage idle riders, WhatsApp campaigns, gamification, challenges and referrals — a returning rider costs 10× less than a new one.","addons.m3.period":"/month",
"addons.note":"Fleet Intelligence (heatmap, predictive demand, health reports) is no longer sold separately — it is now built into the Fleet+ plan.",
"transit.eyebrow":"A separate product line","transit.title":"Public transit — buses on the same platform","transit.lead":"Not an add-on to a taxi app. A completely different buyer, bought because you run a mass-transit network — with its own funnel, spec and contract.",
"transit.for1":"Municipalities","transit.for2":"Universities","transit.for3":"Staff transport","transit.for4":"Schools",
"transit.f1":"Lines, schedules and live tracking for every bus","transit.f2":"Rider and subscriber registration with monthly passes","transit.f3":"Bus-approaching alerts + group broadcasts","transit.f4":"Standalone supervisor dashboard and on-time reports",
"transit.period":"/month","transit.setup":"Setup $2,500 — includes route and schedule mapping","transit.note":"Fully included in the Sovereign plan. Added at list price on top of any other plan.","transit.cta":"Book a transit demo",
"cmp.eyebrow":"The honest comparison","cmp.title":"Tripz vs the alternatives","cmp.col.feature":"Criterion","cmp.col.other":"المنصات المنافسة","cmp.col.custom":"Custom build","cmp.badge":"Best value",
"land.eyebrow":"Where the market stands","land.title":"The sector's pricing landscape","land.lead":"Global ride-hailing platforms' pricing, public from their own sites — with Tripz the most transparent and the lowest per-trip floor.",
"land.col.platform":"Platform","land.col.model":"Model","land.col.setup":"Setup","land.col.monthly":"Monthly","land.col.pertrip":"Per trip",
@@ -1261,7 +1442,7 @@ const I18N = {
"foot.tag":"Ride-hailing SaaS — launch your app under your brand, and your data stays yours.","foot.product":"Product","foot.solutions":"Solutions","foot.fleets":"Taxi offices & fleets","foot.startups":"Founders & emerging markets","foot.resources":"Resources","foot.case":"Case study","foot.legal":"Legal","foot.privacy":"Privacy","foot.terms":"Terms","foot.dpa":"Data Processing Agreement","foot.rights":"All rights reserved.","foot.built":"Built for Arabic & emerging markets."
},
fr:{
"nav.product":"Produit","nav.savings":"Économies","nav.pricing":"Tarifs","nav.how":"Notre lancement","nav.faq":"FAQ","nav.demo":"Essayer la démo",
"nav.product":"Produit","nav.addons":"Modules","nav.savings":"Économies","nav.pricing":"Tarifs","nav.how":"Notre lancement","nav.faq":"FAQ","nav.demo":"Essayer la démo",
"hero.title":"Lancez votre plateforme VTC [sous votre marque] — en 30 jours, vos données restent les vôtres.",
"hero.sub":"Applications passager et chauffeur sur les deux stores, un tableau de bord et un dispatch — avec des tarifs publiés ici même et un contrat qui garantit l'export de vos données, à tout moment.",
"hero.cta1":"Essayer la démo en direct","hero.cta2":"Discuter sur WhatsApp","hero.trust":"Sans carte bancaire · Démo instantanée, sans appel commercial","hero.scroll":"Découvrir plus",
@@ -1289,13 +1470,27 @@ const I18N = {
"how.s5.d":"Jour 22–30","how.s5.t":"Mise en ligne","how.s5.p":"Revue des stores et approbation, puis mise en ligne sous notre supervision directe.",
"price.eyebrow":"Tarifs entièrement publics","price.title":"Oui — tous nos prix sont ici. Publiquement.","price.lead":"Une page de tarifs complète est en soi un différenciateur dans un marché fondé sur le flou. Choisissez, évoluez quand vous voulez.",
"price.monthly":"Mensuel","price.yearly":"Annuel","price.save15":"Économisez 15%","plan.setup":"Mise en place :","plan.popular":"Le plus choisi",
"plan.start.n":"Démarrage","plan.start.1":"Votre ville dans la super-app Tripz","plan.start.2":"Tableau de bord et dispatch de base","plan.start.3":"Plafond de 90 jours ou 10 000 trajets","plan.start.cta":"Commencer",
"plan.brand.n":"Marque","plan.brand.1":"Apps passager + chauffeur sous votre marque","plan.brand.2":"Moteur tarifaire complet + pack pays","plan.brand.3":"Publication sur les stores incluse","plan.brand.4":"Support arabe","plan.brand.cta":"Réserver votre lancement",
"plan.fleet.n":"Flotte+","plan.fleet.1":"Dispatch avancé + portail entreprises","plan.fleet.2":"Réservation web + portefeuilles chauffeurs","plan.fleet.3":"API + Webhooks + rapports avancés",
"plan.sov.n":"Souveraineté","plan.sov.1":"Instance isolée dans votre pays","plan.sov.2":"Interface régulateur + SLA 99,9%","plan.sov.3":"Garantie d'export + option Escrow","plan.sov.cta":"Contacter les entreprises",
"plan.start.n":"Démarrage","plan.start.1":"Votre ville listée dans l'appli Tripz partagée — pas encore d'appli à votre marque","plan.start.2":"Tableau de bord et dispatch de base","plan.start.3":"Moteur tarifaire complet avec votre pack pays (même moteur que les offres payantes)","plan.start.4":"Plafond d'essai : 90 jours ou 10 000 trajets, puis mise à niveau","plan.start.cta":"Commencer",
"plan.brand.n":"Marque","plan.brand.0":"↳ Tout Démarrage, plus :","plan.brand.1":"Vos propres apps passager + chauffeur sur les deux stores — non partagées","plan.brand.2":"Publication et revue sur les stores gérées de bout en bout","plan.brand.3":"Aucun plafond de trajets ni de durée","plan.brand.4":"Support arabe direct + gestionnaire de compte dédié","plan.brand.cta":"Réserver votre lancement",
"plan.fleet.n":"Flotte+","plan.fleet.0":"↳ Tout Marque, plus :","plan.fleet.1":"Dispatch avancé avec zones et niveaux de chauffeurs","plan.fleet.2":"Portail de réservation entreprises (B2B) + réservation web","plan.fleet.3":"Portefeuilles et crédit chauffeurs dédiés","plan.fleet.4":"API + Webhooks + rapports opérationnels avancés","plan.fleet.5":"★ Renseignements Flotte inclus : carte thermique + demande prédictive + rapports de santé",
"plan.sov.n":"Souveraineté","plan.sov.0":"↳ Tout Flotte+, plus :","plan.sov.1":"Serveur entièrement isolé à l'intérieur de votre pays","plan.sov.2":"Interface de reporting régulateur + SLA 99,9%","plan.sov.3":"Garantie d'export complète + option Escrow","plan.sov.4":"★ Les trois modules payants + Transport entièrement inclus (826 $/mois de valeur)","plan.sov.cta":"Contacter les entreprises",
"price.gmvnote":"Taux GMV dégressifs : plus vous grandissez, plus notre part diminue. (Marque : 2,5% jusqu'à 50k$ · 2% jusqu'à 200k$ · 1,5% au-delà)",
"price.c1.t":"Taux publié","price.c1.d":"Écrit et fixé dans le contrat — sans surprises.","price.c2.t":"Exportez vos données","price.c2.d":"Toutes vos données, exportables à tout moment.","price.c3.t":"Sortie élégante","price.c3.d":"Si vous partez : 60 jours de transition au lieu d'une coupure immédiate.",
"price.founder.t":"Programme Partenaire Fondateur","price.founder.d":"3 premiers opérateurs : mise en place gratuite contre +1 point pendant un an + étude de cas nominative.","price.founder.seats":"Places restantes",
"consent.t":"Nous mesurons ce qui vous sert — avec votre accord","consent.d":"Nous utilisons une mesure publicitaire pour savoir quelle annonce vous a amené ici. Nous ne collectons ni votre nom ni votre numéro, et vous pouvez refuser tout en utilisant l'intégralité du site.","consent.yes":"Accepter","consent.no":"Refuser",
"addons.eyebrow":"Composable","addons.title":"Trois modules payants — pas un de plus","addons.lead":"Nous ne vendons ni la sécurité ni les paiements : ils sont dans chaque forfait. Ce que nous vendons, c'est ce qui augmente réellement votre marge.",
"addon.badge.now":"Disponible maintenant","addon.badge.soon":"Prochainement ce trimestre",
"core.title":"Dans chaque forfait — jamais vendu en option","core.lead":"Un opérateur sans bouton d'urgence ou sans passerelle de paiement n'est pas un produit incomplet — c'est un produit qui ne fonctionne pas. Nous ne les facturons donc pas.",
"core.i1.t":"Confiance & Sécurité","core.i1.d":"Bouton d'urgence · détection des fraudes · assurance chauffeur · vérification IA des documents · rapports régulateur",
"core.i2.t":"Paiements locaux","core.i2.d":"PayMob · CliQ · SyriaTel et MTN Cash · Sham Cash · portefeuilles et demandes de retrait",
"addons.m1.name":"Suite IA","addons.m1.desc":"Tri automatique des plaintes, conseiller opérationnel hebdomadaire, rapprochement des paiements depuis les SMS opérateur — votre employé qui ne dort jamais.","addons.m1.period":"/mois",
"addons.m2.name":"Renseignements Tarifaires","addons.m2.desc":"Un moteur statistique qui extrait la formule tarifaire de votre marché et son élasticité de la demande, puis aligne votre tarif automatiquement. 5% de variation de prix déplacent 30% du profit — ce module décide ces 5% par les données, pas à l'instinct.","addons.m2.period":"/mois","addons.m2.setup":"Mise en place 1 000 $ — calibrage du marché local",
"addons.m3.name":"Suite Croissance","addons.m3.desc":"Réactivation des passagers inactifs, campagnes WhatsApp, gamification, défis et parrainages — un passager qui revient coûte 10× moins cher qu'un nouveau.","addons.m3.period":"/mois",
"addons.note":"Renseignements Flotte (carte thermique, demande prédictive, rapports de santé) n'est plus vendu séparément — il est désormais intégré au forfait Flotte+.",
"transit.eyebrow":"Une ligne de produit distincte","transit.title":"Transport public — les bus sur la même plateforme","transit.lead":"Pas une option d'une app de taxi. Un acheteur totalement différent, qui achète parce qu'il exploite un réseau de transport collectif — avec son propre tunnel, cahier des charges et contrat.",
"transit.for1":"Municipalités","transit.for2":"Universités","transit.for3":"Transport du personnel","transit.for4":"Écoles",
"transit.f1":"Lignes, horaires et suivi en direct de chaque bus","transit.f2":"Inscription des passagers et abonnés avec abonnements mensuels","transit.f3":"Alertes d'approche du bus + diffusions de groupe", "transit.f4":"Tableau de bord superviseur autonome et rapports de ponctualité",
"transit.period":"/mois","transit.setup":"Mise en place 2 500 $ — comprend le tracé des lignes et horaires","transit.note":"Entièrement inclus dans le forfait Souveraineté. Ajouté au prix courant sur tout autre forfait.","transit.cta":"Réserver une démo transport",
"cmp.eyebrow":"La comparaison honnête","cmp.title":"Tripz face aux alternatives","cmp.col.feature":"Critère","cmp.col.other":"المنصات المنافسة","cmp.col.custom":"Développement sur mesure","cmp.badge":"Meilleure valeur",
"land.eyebrow":"Où en est le marché","land.title":"Le paysage tarifaire du secteur","land.lead":"Les tarifs des plateformes VTC mondiales, publics sur leurs propres sites — avec Tripz la plus transparente et le plancher par trajet le plus bas.",
"land.col.platform":"Plateforme","land.col.model":"Modèle","land.col.setup":"Mise en place","land.col.monthly":"Mensuel","land.col.pertrip":"Par trajet",
@@ -1315,7 +1510,7 @@ const I18N = {
"foot.tag":"VTC en SaaS — lancez votre app sous votre marque, vos données restent les vôtres.","foot.product":"Produit","foot.solutions":"Solutions","foot.fleets":"Bureaux de taxis & flottes","foot.startups":"Fondateurs & marchés émergents","foot.resources":"Ressources","foot.case":"Étude de cas","foot.legal":"Légal","foot.privacy":"Confidentialité","foot.terms":"Conditions","foot.dpa":"Accord de traitement des données","foot.rights":"Tous droits réservés.","foot.built":"Conçu pour les marchés arabes & émergents."
},
es:{
"nav.product":"Producto","nav.savings":"Ahorro","nav.pricing":"Precios","nav.how":"Cómo lanzamos","nav.faq":"FAQ","nav.demo":"Probar demo",
"nav.product":"Producto","nav.addons":"Complementos","nav.savings":"Ahorro","nav.pricing":"Precios","nav.how":"Cómo lanzamos","nav.faq":"FAQ","nav.demo":"Probar demo",
"hero.title":"Lanza tu plataforma de transporte [con tu marca] — en 30 días, y tus datos siguen siendo tuyos.",
"hero.sub":"Apps de pasajero y conductor en ambas tiendas, un panel de administración y dispatch — con precios publicados aquí mismo y un contrato que garantiza la exportación de tus datos, en cualquier momento.",
"hero.cta1":"Probar la demo en vivo","hero.cta2":"Habla con nosotros por WhatsApp","hero.trust":"Sin tarjeta · Demo instantánea, sin llamada de ventas","hero.scroll":"Descubre más",
@@ -1343,13 +1538,27 @@ const I18N = {
"how.s5.d":"Día 22–30","how.s5.t":"Salida en vivo","how.s5.p":"Revisión de tiendas y aprobación, luego salida en vivo bajo nuestra supervisión directa.",
"price.eyebrow":"Precios totalmente públicos","price.title":"Sí — todos nuestros precios están aquí. Públicamente.","price.lead":"Una página de precios completa es en sí un diferenciador en un mercado basado en la ambigüedad. Elige tu plan, mejora cuando quieras.",
"price.monthly":"Mensual","price.yearly":"Anual","price.save15":"Ahorra 15%","plan.setup":"Instalación:","plan.popular":"El más elegido",
"plan.start.n":"Inicio","plan.start.1":"Tu ciudad dentro de la super-app Tripz","plan.start.2":"Panel de administración y dispatch básico","plan.start.3":"Límite de 90 días o 10.000 viajes","plan.start.cta":"Empezar ahora",
"plan.brand.n":"Marca","plan.brand.1":"Apps pasajero + conductor con tu marca","plan.brand.2":"Motor de tarifas completo + pack país","plan.brand.3":"Publicación en tiendas incluida","plan.brand.4":"Soporte en árabe","plan.brand.cta":"Reserva tu lanzamiento",
"plan.fleet.n":"Flota+","plan.fleet.1":"Dispatch avanzado + portal corporativo","plan.fleet.2":"Reserva web + billeteras de conductores","plan.fleet.3":"API + Webhooks + informes avanzados",
"plan.sov.n":"Soberanía","plan.sov.1":"Instancia aislada dentro de tu país","plan.sov.2":"Interfaz de regulador + SLA 99,9%","plan.sov.3":"Garantía de exportación + opción Escrow","plan.sov.cta":"Habla con empresas",
"plan.start.n":"Inicio","plan.start.1":"Tu ciudad listada dentro de la app compartida Tripz — sin app propia con tu marca todavía","plan.start.2":"Panel de administración y dispatch básico","plan.start.3":"Motor de tarifas completo con tu pack país (mismo motor que los planes de pago)","plan.start.4":"Límite de prueba: 90 días o 10.000 viajes, luego actualización","plan.start.cta":"Empezar ahora",
"plan.brand.n":"Marca","plan.brand.0":"↳ Todo Inicio, más:","plan.brand.1":"Tus propias apps de pasajero + conductor en ambas tiendas — no compartidas","plan.brand.2":"Publicación y revisión en tiendas gestionada por nosotros","plan.brand.3":"Sin límite de viajes ni de tiempo","plan.brand.4":"Soporte en árabe directo + gestor de cuenta dedicado","plan.brand.cta":"Reserva tu lanzamiento",
"plan.fleet.n":"Flota+","plan.fleet.0":"↳ Todo Marca, más:","plan.fleet.1":"Dispatch avanzado con zonas y niveles de conductores","plan.fleet.2":"Portal de reservas corporativas (B2B) + reserva web","plan.fleet.3":"Billeteras y crédito dedicados para conductores","plan.fleet.4":"API + Webhooks + informes operativos avanzados","plan.fleet.5":"★ Inteligencia de Flota incluida: mapa de calor + demanda predictiva + informes de salud",
"plan.sov.n":"Soberanía","plan.sov.0":"↳ Todo Flota+, más:","plan.sov.1":"Servidor totalmente aislado dentro de tu país","plan.sov.2":"Interfaz de reportes para el regulador + SLA 99,9%","plan.sov.3":"Garantía de exportación completa + opción Escrow","plan.sov.4":"★ Los tres módulos pagados + Transporte totalmente incluidos ($826/mes de valor)","plan.sov.cta":"Habla con empresas",
"price.gmvnote":"Tasas GMV decrecientes: cuanto más creces, menor es nuestra parte. (Marca: 2,5% hasta $50k · 2% hasta $200k · 1,5% por encima)",
"price.c1.t":"Tarifa publicada","price.c1.d":"Escrita y fijada en el contrato — sin sorpresas.","price.c2.t":"Exporta tus datos","price.c2.d":"Todos tus datos, exportables en cualquier momento.","price.c3.t":"Salida elegante","price.c3.d":"Si te vas: 60 días de transición en lugar de un corte inmediato.",
"price.founder.t":"Programa Socio Fundador","price.founder.d":"Primeros 3 operadores: instalación gratis a cambio de +1 punto porcentual por un año + estudio de caso con tu nombre.","price.founder.seats":"Plazas restantes",
"consent.t":"Medimos lo que te sirve — con tu permiso","consent.d":"Usamos medición publicitaria para saber qué anuncio te trajo aquí. No recogemos tu nombre ni tu número, y puedes rechazar y seguir usando todo el sitio.","consent.yes":"Aceptar","consent.no":"Rechazar",
"addons.eyebrow":"Modular","addons.title":"Tres módulos pagados — ni uno más","addons.lead":"No vendemos ni la seguridad ni los pagos: están en todos los planes. Lo que vendemos es lo que realmente aumenta tu margen.",
"addon.badge.now":"Disponible ahora","addon.badge.soon":"Próximamente este trimestre",
"core.title":"En todos los planes — nunca se vende como complemento","core.lead":"Un operador sin botón de pánico o sin pasarela de pago no es un producto incompleto — es un producto que no funciona. Por eso no los cobramos.",
"core.i1.t":"Confianza y Seguridad","core.i1.d":"Botón de pánico · detección de fraude · seguro del conductor · verificación de documentos con IA · reportes regulatorios",
"core.i2.t":"Pagos locales","core.i2.d":"PayMob · CliQ · SyriaTel y MTN Cash · Sham Cash · billeteras y solicitudes de retiro",
"addons.m1.name":"Suite de IA","addons.m1.desc":"Triaje automático de quejas, asesor operativo semanal, conciliación de pagos desde SMS del proveedor — tu empleado que nunca duerme.","addons.m1.period":"/mes",
"addons.m2.name":"Inteligencia de Precios","addons.m2.desc":"Un motor estadístico que extrae la fórmula de precios de tu mercado y su elasticidad de demanda, y ajusta tu tarifa automáticamente. Un cambio del 5% en el precio mueve el 30% del beneficio — este módulo decide ese 5% con datos, no por intuición.","addons.m2.period":"/mes","addons.m2.setup":"Configuración $1.000 — calibración del mercado local",
"addons.m3.name":"Suite de Crecimiento","addons.m3.desc":"Reactivación de pasajeros inactivos, campañas WhatsApp, gamificación, desafíos y referidos — un pasajero que vuelve cuesta 10× menos que uno nuevo.","addons.m3.period":"/mes",
"addons.note":"Inteligencia de Flota (mapa de calor, demanda predictiva, informes de salud) ya no se vende por separado — ahora está integrada en el plan Flota+.",
"transit.eyebrow":"Línea de producto independiente","transit.title":"Transporte público — autobuses en la misma plataforma","transit.lead":"No es un complemento de una app de taxi. Un comprador completamente distinto, que compra porque opera una red de transporte masivo — con su propio embudo, especificación y contrato.",
"transit.for1":"Municipios","transit.for2":"Universidades","transit.for3":"Transporte de personal","transit.for4":"Colegios",
"transit.f1":"Líneas, horarios y seguimiento en vivo de cada autobús","transit.f2":"Registro de pasajeros y abonados con pases mensuales","transit.f3":"Alertas de proximidad del autobús + difusión a grupos","transit.f4":"Panel de supervisor independiente e informes de puntualidad",
"transit.period":"/mes","transit.setup":"Configuración $2.500 — incluye trazado de rutas y horarios","transit.note":"Totalmente incluido en el plan Soberanía. Se añade a precio de lista sobre cualquier otro plan.","transit.cta":"Reservar demo de transporte",
"cmp.eyebrow":"La comparación honesta","cmp.title":"Tripz frente a las alternativas","cmp.col.feature":"Criterio","cmp.col.other":"المنصات المنافسة","cmp.col.custom":"Desarrollo a medida","cmp.badge":"Mejor valor",
"land.eyebrow":"Dónde está el mercado","land.title":"El panorama de precios del sector","land.lead":"Los precios de las plataformas de transporte globales, públicos en sus propios sitios — con Tripz la más transparente y el mínimo por viaje más bajo.",
"land.col.platform":"Plataforma","land.col.model":"Modelo","land.col.setup":"Instalación","land.col.monthly":"Mensual","land.col.pertrip":"Por viaje",
@@ -1564,6 +1773,105 @@ function animateTimeline(){
const l=localStorage.getItem("tripz_lang")||"ar";applyLang(l);
}catch(e){applyLang("ar");}
})();
/* ============ MEASUREMENT (consent-gated) ============ ------------------
⚠️ ضع معرّف البكسل هنا قبل أول دولار إعلاني. ما دام فارغاً لا يُحمَّل شيء.
الأحداث تُسجَّل محلياً دائماً (بلا كوكيز وبلا بيانات شخصية) وتُرسل لميتا
فقط بعد موافقة صريحة — مطلوب لزوّار الاتحاد الأوروبي (الموقع بالفرنسية
والإسبانية). تعريف الأحداث وربطها بأهداف CAC في docs/32 §5. */
const PIXEL_ID = "1360167306316901";
const CONSENT_KEY = "tripz_consent";
const Track = (() => {
const local = [];
let pixelReady = false;
function loadPixel(){
if (pixelReady || !PIXEL_ID) return;
pixelReady = true;
/* Meta Pixel base */
!function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;
n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}
(window,document,'script','https://connect.facebook.net/en_US/fbevents.js');
fbq('init', PIXEL_ID);
fbq('track','PageView');
local.forEach(([n,p]) => fbq('trackCustom', n, p));
}
function consented(){ return localStorage.getItem(CONSENT_KEY) === "yes"; }
return {
init(){ if (consented()) loadPixel(); },
grant(){ localStorage.setItem(CONSENT_KEY,"yes"); loadPixel(); },
deny(){ localStorage.setItem(CONSENT_KEY,"no"); },
ev(name, params = {}){
const p = Object.assign({ lang: document.documentElement.lang }, params);
local.push([name, p]);
if (pixelReady && window.fbq) fbq('trackCustom', name, p);
if (location.protocol === "file:") console.debug("[track]", name, p);
},
seen: new Set()
};
})();
/* شريط الموافقة */
(function(){
const box = document.getElementById("consent");
if (!box) return;
if (!localStorage.getItem(CONSENT_KEY)) setTimeout(()=>box.classList.add("show"), 1600);
document.getElementById("consentYes").onclick = () => { Track.grant(); box.classList.remove("show"); Track.ev("ConsentGranted"); };
document.getElementById("consentNo").onclick = () => { Track.deny(); box.classList.remove("show"); };
Track.init();
})();
/* أحداث القمع — مطابقة لأهداف CAC في docs/32 */
(function(){
// عمق التصفّح: أي قسم وصله الزائر
const secs = document.querySelectorAll("section[id]");
if ("IntersectionObserver" in window){
const io = new IntersectionObserver(es => es.forEach(e => {
if (e.isIntersecting && !Track.seen.has(e.target.id)){
Track.seen.add(e.target.id);
Track.ev("SectionView", { section: e.target.id });
}
}), { threshold: .35 });
secs.forEach(s => io.observe(s));
}
// نية شراء: نقر على باقة / وحدة / مواصلات
document.querySelectorAll("#pricing .plan").forEach(p => p.addEventListener("click", () => {
Track.ev("PlanInterest", { plan: p.querySelector("h3")?.getAttribute("data-i18n") || "?" });
}));
document.querySelectorAll("#addons .addon-card").forEach(c => c.addEventListener("click", () => {
Track.ev("ModuleInterest", { module: c.querySelector("h3")?.getAttribute("data-i18n") || "?" });
}));
// استعمال الحاسبة = أقوى إشارة نية قبل التواصل
let calcTimer;
["trips","fare","cur","plan"].forEach(id => {
const el = document.getElementById(id);
el && el.addEventListener("change", () => {
clearTimeout(calcTimer);
calcTimer = setTimeout(() => Track.ev("CalculatorUsed", {
plan: document.getElementById("plan")?.value,
currency: document.getElementById("cur")?.value?.split(":")[0]
}), 800);
});
});
// التحويل: كل مسارات الاتصال
document.querySelectorAll('a[href*="wa.me"]').forEach(a => a.addEventListener("click", () => {
Track.ev("Lead", { channel: "whatsapp", where: a.closest("section")?.id || "float" });
}));
document.querySelectorAll('a[href*="calendly"]').forEach(a => a.addEventListener("click", () => {
Track.ev("Lead", { channel: "calendly", where: a.closest("section")?.id || "?" });
}));
document.querySelectorAll('a[href*="apps.apple.com"],a[href*="play.google.com"]').forEach(a => a.addEventListener("click", () => {
Track.ev("DemoAppOpened");
}));
})();
</script>
</body>
</html>