system-prompts-and-models-o.../dealix/auto_client_acquisition/vertical_os/clinics.py
2026-05-01 14:03:52 +03:00

112 lines
5.9 KiB
Python
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.

"""Dealix Clinics OS — productized vertical for medical clinics."""
from __future__ import annotations
from auto_client_acquisition.vertical_os.base import KPI, MessageTemplate, VerticalOS, _register
CLINICS = VerticalOS(
vertical_id="clinics",
sector_ar="عيادات",
sector_en="Medical Clinics",
icp_company_size=("micro", "small", "mid"),
icp_cities=("الرياض", "جدة", "الدمام", "الخبر"),
icp_keywords=("عيادة", "طب", "تجميل", "جلدية", "أسنان", "نساء وأطفال"),
pain_points_ar=(
"no-show rate عالي 30-40%",
"اعلانات Snapchat/TikTok بدون قياس واضح",
"الـ private المهتم لا يحجز فوراً",
"تكلفة patient acquisition عالية",
),
top_objection_ids=("OBJ_TRUST_001", "OBJ_TIMING_001", "OBJ_PRICE_002"),
priority_signals=(
"new_branch_opened",
"new_service_launched",
"booking_page_added",
"whatsapp_business_added",
"ads_volume_increased",
),
dashboard_kpis=(
KPI("bookings_per_month", "حجوزات شهرياً", "إجمالي الحجوزات المؤكدة", "حجز", True, 80, 200),
KPI("no_show_rate", "نسبة عدم الحضور", "نسبة المرضى الذين لم يحضروا الموعد", "%", False, 0.30, 0.10),
KPI("response_time_minutes", "زمن الرد", "متوسط زمن الرد على الاستفسارات", "دقيقة", False, 240, 30),
KPI("patient_acquisition_cost_sar", "تكلفة استقطاب مريض", "إجمالي إنفاق التسويق ÷ عدد المرضى الجدد", "ريال", False, 350, 120),
KPI("conversion_inquiry_to_booking", "تحويل الاستفسار للحجز", "نسبة من اتصلوا وحجزوا", "%", True, 0.35, 0.65),
),
message_templates=(
MessageTemplate(
template_id="clinic_cold_wa_v1",
channel="whatsapp",
purpose="cold",
subject_ar=None,
body_ar=(
"السلام عليكم دكتور {doctor_name}،\n"
"لاحظنا توسعكم في {city} وإطلاق خدمة {new_service}. "
"نساعد عيادات مماثلة على تقليل no-show بنسبة 40% + رفع حجوزاتكم 2× "
"عبر WhatsApp تلقائي بالعربي. هل نقدر نريك demo 10 دقائق؟"
),
variables=("doctor_name", "city", "new_service"),
expected_reply_rate=0.18,
),
MessageTemplate(
template_id="clinic_followup_d3_wa",
channel="whatsapp",
purpose="followup_3d",
subject_ar=None,
body_ar=(
"متابعة سريعة دكتور {doctor_name}،\n"
"أعرف أنكم مشغولين. لو 5 دقائق فقط — نرسل لكم مثال حقيقي "
"من عيادة في {city} خفّضت no-show من 35% إلى 12%. هل تفضلون الـ video أو PDF؟"
),
variables=("doctor_name", "city"),
expected_reply_rate=0.12,
),
MessageTemplate(
template_id="clinic_objection_have_receptionist",
channel="whatsapp",
purpose="objection_response",
subject_ar=None,
body_ar=(
"تماماً — موظفة الاستقبال جزء أساسي. Dealix لا يستبدلها، بل يخفف عنها العبء: "
"يرد على الاستفسارات بعد الدوام وبالأوقات الذروة، ويرسل تذكير الموعد تلقائياً. "
"هل نشوف كيف؟"
),
variables=(),
expected_reply_rate=0.20,
),
),
proposal_template_ar=(
"## عرض Dealix Clinics لـ {clinic_name}\n\n"
"**الهدف:** تقليل no-show 40% + زيادة الحجوزات 2× خلال 90 يوم\n\n"
"### الخدمة\n"
"- WhatsApp Business مدمج بنظام الحجز\n"
"- ردود تلقائية بالعربي على الاستفسارات الشائعة (24/7)\n"
"- تذكير الموعد قبل 24 ساعة + إعادة الحجز للحالات الملغية\n"
"- Dashboard أسبوعي: bookings / no-show / response time / PAC\n\n"
"### السعر: {price_sar} ريال/شهر\n"
"### ضمان: نموذج Pay-per-Booking في أول 30 يوم\n"
"### المدة: 12 شهر — أول 30 يوم تجريبي مجاني\n"
),
qbr_section_template_ar=(
"## QBR — {customer_name}{period}\n\n"
"- إجمالي الحجوزات: {bookings} (الهدف: {target_bookings})\n"
"- no-show: {no_show_pct}% (الهدف: <10%)\n"
"- متوسط زمن الرد: {response_min} دقيقة\n"
"- تكلفة استقطاب مريض: {pac_sar} ريال (الهدف: <120 ريال)\n\n"
"**الإيرادات المضافة:** ~{revenue_added_sar} ريال (مرضى جدد × متوسط قيمة الزيارة)\n"
),
avg_deal_value_sar=2_500, # avg patient lifetime value
avg_cycle_days=28,
benchmark_reply_rate=0.138,
benchmark_meeting_rate=0.40,
benchmark_win_rate=0.28,
compliance_notes_ar=(
"الحجوزات الطبية تخضع لتنظيمات وزارة الصحة + SCFHS — Dealix لا يطلب أي بيانات طبية حساسة في الـ outbound.",
"كل اتصال بمريض يجب أن يحتوي على lawful basis: legitimate_interest كحد أدنى.",
"البيانات الطبية الحساسة تبقى في النظام السريري للعيادة — لا تنتقل لـ Dealix.",
),
recommended_channel_mix={"whatsapp": 0.70, "phone": 0.20, "email": 0.10},
)
_register(CLINICS)