Files
tripz-llc/docs/33-addons-packaging.md
T
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

154 lines
15 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 33 — الوحدات والإضافات: كيف نحزّمها ونسعّرها ونسوّق لها
> أُنشئ 2026-07-24 بطلب المالك: «التطبيق الكبير فيه المواصلات والذكاء الصناعي واستخبارات التسعير ومنصة نبيه — بدنا نسوّق لها كباقات وإضافات على الموقع.»
> يُقرأ مع: `docs/27` (كتالوج الميزات + حالة كل ميزة) · `docs/05` (التسعير) · `docs/32` (نصوص الإعلانات) · `docs/34` (أي باك إند سيحملها).
---
## 0) الفكرة الاستراتيجية — لماذا الوحدات تحل مشكلتنا السعرية
في المراجعة السابقة ظهر توتر: السعر الأساسي منخفض جداً في بعض البنود (**$0.02/رحلة = 20% من السوق**) لدرجة أنه يقرأ كإغراق.
**الوحدات تحلّ هذا التوتر تماماً:**
> **النواة رخيصة عمداً (سلاح اكتساب) — والربح يأتي من الوحدات (محرّك توسّع).**
| الطبقة | الدور | التسعير |
|---|---|---|
| **النواة** (تطبيقان + لوحة + dispatch) | كسر الاعتراض السعري، الدخول السريع | ~55% من أرخص منافس |
| **الوحدات** | هامش الربح الحقيقي + التمايز الذي لا يُقلَّد | سعر كامل — لا يوجد منافس يبيعها أصلاً |
| **الاستهلاك** (نسبة GMV) | ينمو مع نمو العميل | 1–3.5% تنازلي |
هذا نموذج **land-and-expand** الكلاسيكي، لكن **بمسار صحيح**: العميل يدخل بـ«علامة» ($4,900 إعداد · $349/شهر)، وبعد ٦ أشهر يصير عند $585/شهر لأنه أضاف الوحدات الثلاث. **متوسط الإيراد لكل عميل يرتفع 68% بلا حملة اكتساب جديدة.**
> ⚠️ **تصحيح (2026-07-24):** الصياغة السابقة كانت «يدخل بـ$2,500 ثم $700/شهر» — وهذا **مستحيل**: $2,500 هي باقة «انطلاقة» التي تنتهي بعد **90 يوماً أو 10,000 رحلة** بحسب `docs/05`، فلا تصل للشهر السادس أصلاً. مسار التوسّع يبدأ من «علامة» لا من «انطلاقة».
---
## 1) ⚠️ ملاحظة حرجة: حالة الميزات تختلف باختلاف الباك إند
هذه أهم نقطة في الملف، ولها أثر مباشر على القرار في `docs/34`:
| الوحدة | حالتها في **NestJS** (docs/27) | حالتها في **سيرو PHP** (مقروءة من الكود 2026-07-24) |
|---|---|---|
| استخبارات التسعير | ⬜ لم تُبنَ (L4) | ✅ **محرّك TypeScript كامل** — `backend/pricing-engine/` |
| محرّك التسويق | ⬜ (O3/O4) | ✅ `marketing_engine/` + `socialBot` + مولّد تعليقات Gemini |
| الخريطة الحرارية | ⬜ (O1) | ✅ `bot/cron_generate_heatmap_cache.php` |
| الطلب التنبؤي | ⬜ (O1) | ✅ `bot/cron_predictive_demand.php` |
| منصة نبيه (واتساب) | 🔵 OTP فقط | ✅ `nabeh/` — 8 نقاط نهاية (شكاوى، وثائق، دفع، حالة سائق) |
| المواصلات | 🔵 microservice + لوحة | ✅ `transit/` كامل + لوحة + كرونات تنبيه |
| تأمين السائق | ⬜ مؤجَّلة | ✅ `driver_assurance/` |
| التلعيب (Gamification) | ⬜ غير مذكورة أصلاً | ✅ `ride/gamification/` — تحديات، لوحة صدارة، streak، إحالات |
**الخلاصة الصادقة:** الميزات التي تريد بيعها كوحدات مدفوعة — **موجودة في سيرو، وغير موجودة في NestJS.** هذه ليست حجة عاطفية لصالح سيرو، بل حجة تجارية: كل وحدة مبنية = منتج يمكن بيعه الشهر القادم بدل الربع القادم.
---
## 2) الهيكل بعد المراجعة النقدية (2026-07-24) — ٣ وحدات فقط
المراجعة النقدية طبّقت اختباراً من أربعة شروط على كل وحدة: **(أ)** كلفة حدّية حقيقية · **(ب)** قيمة قابلة للقياس · **(ج)** رفضها لا يُنتج ضرراً أو واجباً قانونياً · **(د)** النواة تعمل بدونها.
| الوحدة الأصلية | النتيجة | المصير |
|---|---|---|
| استخبارات التسعير $249 | ✅ اجتازت الأربعة | **تبقى وحدة مدفوعة** |
| حزمة النمو $129 | ✅ اجتازت الأربعة | **تبقى وحدة مدفوعة** |
| حزمة الذكاء $149 | 🟡 سقط بند (ج) جزئياً | **تبقى بعد تنحيف** — فحص الوثائق وكشف الاحتيال خرجا للنواة؛ بقي تدقيق الشكاوى والمستشار والتسوية |
| المواصلات $299 | ✅ اجتازت، لكن جمهورها مختلف | **خرجت من الشبكة → خط منتج مستقل** بقسم `#transit` وقمع وCTA خاص |
| ذكاء الأسطول $99 | ❌ سقط بند (ب) | **دُمج في باقة «أسطول+»** — تناقض تسموي أن تُسمّى الباقة «أسطول+» ويُباع ذكاؤها منفصلاً |
| حزمة المدفوعات $99 | ❌ سقط بند (د) | **للنواة** — أن يدفع الراكب ويقبض السائق هو المنتج لا ترقية عليه |
| الأمان والامتثال $79 | ❌ سقط بند (ج) | **للنواة** — انظر §2.1 |
### 2.1 لماذا حُذف «الأمان والامتثال» نهائياً (قرار المالك)
**السبب ليس ذوقياً بل قانونياً:** إن كان زر الطوارئ وكشف الاحتيال بند تسعير بـ$79، فأنت تُنشئ بيدك وثيقة تُدينك. يوم يقع حادث عند مستأجر لم يشترِ الوحدة، تُطبع صفحة التسعير في المحكمة: المنصّة بنت الحماية، وعرفت أنها ضرورية، وحجبتها مقابل $79 شهرياً. هذا يحوّل حادثة عند **المستأجر** إلى دعوى «عيب تصميم» ضد **Tripz**.
ثلاثة أسباب مساندة:
- **تنظيمياً:** زر الاستغاثة والتحقق من وثائق السائق يتحوّلان إلى شرط ترخيص. ما هو شرط ترخيص لا يصحّ أن يكون اختيارياً — ولحظة صيرورته إلزامياً تصير الوحدة تساوي صفراً كترقية.
- **حسابياً:** كانت **أرخص** وحدة ($79 = 7% من القائمة) و**أخطر** وحدة. أسوأ بند من حيث العائد مقابل المخاطرة.
- **تسويقياً:** كانت الوحيدة بشارة «قريباً» — أي إعلان على صفحة يقرأها المنظِّم بأن الأمان غير جاهز.
### 2.2 النواة — مشمولة في كل باقة، لا تُسعَّر أبداً
طلب رحلة · فئات · تعرفة كاملة · OTP · تتبّع حيّ · تقييم · دردشة · إشعارات · لوحة · Dispatch
**+ الأمان والامتثال:** زر الطوارئ · كشف الاحتيال · تأمين السائق · فحص الوثائق بالذكاء الاصطناعي · تقارير المنظّم
**+ المدفوعات المحلية:** PayMob · CliQ · سيرياتيل وMTN كاش · شام كاش · المحافظ وطلبات السحب
> ⛔ وحدة المدفوعات صارت نواة، لذلك **بوابة `docs/21` تنطبق على المنتج كله لا على وحدة اختيارية**: S4 (لا معاملة في `finalize_payout`) و S5 (`varchar(10)` للمال) تُصلَحان قبل أول استنساخ.
### 2.3 الوحدات الثلاث الباقية
| # | الوحدة | السعر | الحجة البيعية |
|---|---|---|---|
| ① | **حزمة الذكاء** | $149/شهر | تدقيق الشكاوى آلياً · مستشار تشغيلي أسبوعي · تسوية المدفوعات من رسائل المزوّد عبر Gemini |
| ② | **استخبارات التسعير** 🔥 | $249/شهر + $1,000 إعداد | MAD + K-Means + انحدار خطي يستخرج معادلة تسعير السوق. «تغيير 5% في سعرك يغيّر أرباحك 30%» |
| ③ | **حزمة النمو** | $129/شهر + رسوم الرسائل | إعادة تنشيط الخاملين · حملات واتساب عبر نبيه · تلعيب وإحالات |
**تحذير قانوني قائم على ②:** صِغ الوصف حول «استخبارات السوق» لا «كشط تطبيق منافس بالاسم». وخطر ثانٍ **لم يكن موثّقاً**: بيع نفس المحرّك لمشغّلَين في **نفس المدينة** = آلية تقارب أسعار بين متنافسين (تواطؤ خوارزمي). يلزم رأي قانوني قبل الخليج/أوروبا.
### 2.4 المواصلات — خط منتج مستقل لا وحدة
$299/شهر + $2,500 إعداد. جمهورها **بلديات وجامعات ونقل موظفين ومدارس** — لا تُشترى كإضافة على تطبيق تكسي. لها قسم `#transit` مستقل على الموقع بقمع وCTA خاصّين، ومشمولة بالكامل في «سيادة».
## 3) الباقات — التحزيم بعد إصلاح الانقلاب السعري
**المشكلة التي كانت:** بالسبع وحدات (قائمة $1,103) كانت «أسطول+ محمّلة بالكامل» = $903/شهر و«علامة محمّلة» = $1,032/شهر، بينما **سيادة $879 تشمل كل شيء** — أي أن الباقة الأعلى كانت **أرخص** من الوسطى محمّلة. سُلّم مقلوب يقتل الباقات الوسطى.
**بعد التصحيح** (٣ وحدات = $527 + مواصلات منفصلة):
| | انطلاقة $169 | علامة $349 ⭐ | أسطول+ $599 | سيادة $879 |
|---|---|---|---|---|
| النواة (+ الأمان + المدفوعات) | ✅ | ✅ | ✅ | ✅ |
| ذكاء الأسطول | — | — | ✅ **مدمج** | ✅ |
| الوحدات الثلاث | بسعرها | **١ بالاختيار** + خصم 15% | **الثلاث مشمولة** | ✅ الثلاث |
| المواصلات | بسعرها | بسعرها | بسعرها | ✅ مشمولة |
| **الإجمالي محمّلاً بالكامل** | — | **$585** | **$599** | **$879** |
السُّلّم صار تصاعدياً: `$585 < $599 < $879` ✅
**المواصلات كمشغّل ترقية مقصود:** علامة + مواصلات = $884/شهر مقابل سيادة $879 التي تشملها **مع** العزل و SLA. أي مشترٍ يطلب المواصلات فوق باقة وسطى هو محادثة ترقية لسيادة جاهزة (الفارق يبقى في الإعداد: $7,400 مقابل $13,500، فالخيار حقيقي لا مصطنع).
## 4) كيف تُعرض على الموقع
### 4.1 المنفَّذ فعلاً على الموقع (2026-07-24) ✅
بنية من ثلاث طبقات بدل شبكة السبع بطاقات الأصلية:
1. **شريط النواة** (`.core-band`) أعلى القسم — بحدّ أخضر وقفل: «مشمول في كل باقة — ولا يُباع كإضافة أبداً»، وفيه بطاقتا **الأمان والامتثال** و**المدفوعات المحلية**. هذا يحوّل ما كان بنداً مُسعَّراً محرجاً إلى **حجة بيع**: «نحن لا نبيعك أماناً».
2. **شبكة ٣ بطاقات** (`.addons-grid.three`) — الذكاء · استخبارات التسعير (مميّزة) · النمو.
3. **قسم `#transit` مستقل** — تصميم داكن مختلف، شرائح الجمهور (بلديات/جامعات/نقل موظفين/مدارس)، بطاقة سعر مستقلة وCTA واتساب خاص بالمواصلات.
الشارات: **«متاح الآن»** على الأربعة (الثلاث + المواصلات) بناءً على تأكيد المالك أنها تعمل في إنتاج سيرو، ومطابقةً لجدول §1.
> **قاعدة أخلاقية وقانونية غير قابلة للتفاوض:** لا تُعرض ميزة كـ«متاحة» إن لم تكن تعمل فعلاً في نسخة إنتاج. مشغّل دفع $5,000 على وعد وحدة غير موجودة = دعوى قضائية. **الشارة تتبع الإنتاج لا الرغبة** — أي وحدة تتوقف عن العمل في الإنتاج تعود «قريباً» في نفس اليوم.
### 4.2 ربط الحاسبة بالوحدات
أضف لقسم الحاسبة صف **«أضف وحدات»** بمربعات اختيار — يُحدَّث المجموع الشهري فوراً. هذا:
- يرفع متوسط قيمة الصفقة المتصوّرة قبل أول مكالمة
- يُرسل مع رسالة الواتساب **قائمة الوحدات التي اختارها** → مندوب المبيعات يبدأ من عرض شبه جاهز
### 4.3 صفحة لكل وحدة (لاحقاً — مهم للـSEO)
`/modules/pricing-intelligence` وأخواتها. كل صفحة: المشكلة → كيف تعمل → لقطة حقيقية → السعر → CTA.
**هذه صفحات الهبوط لإعلانات إعادة الاستهداف في docs/32 §2.4.**
---
## 5) خطوات التنفيذ بالترتيب
1. ✅ توثيق الوحدات (هذا الملف)
2. ⬜ **قرار المالك:** تثبيت الأسعار السبعة + توضيح «سوق الركاب»
3. ⬜ **جرد صدق:** لكل وحدة — هل تعمل في إنتاج سيرو *اليوم*؟ الشارة تُبنى على هذه الإجابة حصراً
4. ⬜ بناء قسم `#modules` بأربع لغات (~60 مفتاح ترجمة)
5. ⬜ ربط مربعات الوحدات بالحاسبة ورسالة الواتساب
6. ⬜ إعلانات الوحدات (docs/32 §2.4) لإعادة الاستهداف
7. ⬜ صفحات الوحدات المستقلة للـSEO
8. ⬜ جدول `feature_catalog` في الباك إند (N6) + الاستحقاقات (`FeatureGuard`) — **الحدّ الأمني يبقى السيرفر دائماً** (docs/19)
---
## سجل التغييرات
| التاريخ | التغيير |
|---|---|
| 2026-07-24 | إنشاء الملف — 7 وحدات، تسعيرها، تحزيمها، عرضها على الموقع + جرد حالتها الفعلية في سيرو مقابل NestJS |
| 2026-07-24 (مساءً) | **مراجعة نقدية وإعادة هيكلة:** 7 وحدات ← **3**. الأمان والمدفوعات ← النواة (سبب قانوني، §2.1) · ذكاء الأسطول ← باقة أسطول+ · المواصلات ← خط منتج مستقل `#transit`. إصلاح **الانقلاب السعري** (كانت سيادة أرخص من أسطول+ محمّلة) · تصحيح سردية §0 المستحيلة · تنفيذ الكل على الموقع بأربع لغات |