mirror of
https://github.com/x1xhlol/system-prompts-and-models-of-ai-tools.git
synced 2026-06-17 23:09:35 +00:00
134 lines
5.8 KiB
Python
134 lines
5.8 KiB
Python
"""Vertical playbooks — deterministic."""
|
|
|
|
from __future__ import annotations
|
|
|
|
from typing import Any, Literal
|
|
|
|
VerticalKey = Literal[
|
|
"clinics",
|
|
"real_estate",
|
|
"logistics",
|
|
"training",
|
|
"agencies",
|
|
"restaurants",
|
|
"hospitality",
|
|
"construction",
|
|
"b2b_saas",
|
|
]
|
|
|
|
|
|
def get_vertical_playbooks() -> dict[str, Any]:
|
|
base = {
|
|
"clinics": {
|
|
"pain_ar": "زحمة المواعيد وتأخر المتابعة على واتساب.",
|
|
"buyer": "مدير العيادة أو المالك",
|
|
"why_now_signals": ["hiring_sales", "booking_link", "review_spike"],
|
|
"message_angle_ar": "تحسين التحويل والمتابعة بدون إزعاج للمرضى.",
|
|
"roi_metric": "no_show_rate_reduction",
|
|
"compliance": "PDPL + healthcare marketing sensitivity",
|
|
"pricing_sensitivity": "medium",
|
|
},
|
|
"real_estate": {
|
|
"pain_ar": "تأهيل العملاء والمتابعة بين الوسيط والمهتم.",
|
|
"buyer": "مدير المبيعات أو المؤسس",
|
|
"why_now_signals": ["new_branch", "website_change", "ad_activity"],
|
|
"message_angle_ar": "سرعة الرد على الاستفسارات وفرز الجادين.",
|
|
"roi_metric": "qualified_tours_booked",
|
|
"compliance": "Opt-in for marketing WhatsApp",
|
|
"pricing_sensitivity": "medium-high",
|
|
},
|
|
"logistics": {
|
|
"pain_ar": "متابعة العروض وRFQs عبر قنوات متعددة.",
|
|
"buyer": "مدير التجاري",
|
|
"why_now_signals": ["hiring_sales", "tender_opportunity", "new_partnership"],
|
|
"message_angle_ar": "تسريع دورة الاقتباس والمتابعة.",
|
|
"roi_metric": "quote_to_win_rate",
|
|
"compliance": "B2B outreach policies",
|
|
"pricing_sensitivity": "medium",
|
|
},
|
|
"training": {
|
|
"pain_ar": "تحويل الاستفسار إلى تسجيل دورة.",
|
|
"buyer": "مدير الأكاديمية",
|
|
"why_now_signals": ["booking_link", "event_participation", "website_change"],
|
|
"message_angle_ar": "متابعة مهذبة عربية بعد الاهتمام الأولي.",
|
|
"roi_metric": "enrollment_conversion",
|
|
"compliance": "Marketing consent",
|
|
"pricing_sensitivity": "low-medium",
|
|
},
|
|
"agencies": {
|
|
"pain_ar": "إثبات العائد للعميل وتكرار العمليات.",
|
|
"buyer": "شريك أو مدير حسابات",
|
|
"why_now_signals": ["hiring_sales", "new_product_launch"],
|
|
"message_angle_ar": "Dealix كطبقة إيرادات فوق خدماتكم.",
|
|
"roi_metric": "client_retention_and_upsell",
|
|
"compliance": "Partner agreements + rev share clarity",
|
|
"pricing_sensitivity": "partner_model",
|
|
},
|
|
"restaurants": {
|
|
"pain_ar": "حجوزات واتساب وتجربة ضيف.",
|
|
"buyer": "المالك أو مدير التشغيل",
|
|
"why_now_signals": ["booking_link", "review_spike", "ad_activity"],
|
|
"message_angle_ar": "تنظيم الطلب العالي دون أخطاء بشرية.",
|
|
"roi_metric": "booking_conversion",
|
|
"compliance": "Consumer messaging rules",
|
|
"pricing_sensitivity": "high",
|
|
},
|
|
"hospitality": {
|
|
"pain_ar": "مبيعات المجموعات والفعاليات.",
|
|
"buyer": "مدير المبيعات",
|
|
"why_now_signals": ["event_participation", "new_partnership", "website_change"],
|
|
"message_angle_ar": "متابعة B2B للمجموعات والشركات.",
|
|
"roi_metric": "group_bookings",
|
|
"compliance": "B2B opt-in",
|
|
"pricing_sensitivity": "medium",
|
|
},
|
|
"construction": {
|
|
"pain_ar": "مناقصات وموردين وتنسيق عروض.",
|
|
"buyer": "مدير التطوير التجاري",
|
|
"why_now_signals": ["tender_opportunity", "new_branch", "hiring_sales"],
|
|
"message_angle_ar": "تنبيهات فرص ومتابعة آمنة.",
|
|
"roi_metric": "bid_participation_rate",
|
|
"compliance": "Tender ethics + PDPL",
|
|
"pricing_sensitivity": "low",
|
|
},
|
|
"b2b_saas": {
|
|
"pain_ar": "توسعة الحساب وتسريب الإيرادات.",
|
|
"buyer": "Revenue leader / CS lead",
|
|
"why_now_signals": ["crm_detected", "funding", "hiring_sales"],
|
|
"message_angle_ar": "إشارات تمديد وفرص ترقية خطة.",
|
|
"roi_metric": "expansion_pipeline",
|
|
"compliance": "Data processing agreements",
|
|
"pricing_sensitivity": "medium",
|
|
},
|
|
}
|
|
return {"verticals": base}
|
|
|
|
|
|
def recommend_vertical(*, industry: str, city: str, goal: str) -> dict[str, Any]:
|
|
ind = industry.lower().strip()
|
|
mapping = {
|
|
"clinic": "clinics",
|
|
"عيادة": "clinics",
|
|
"real": "real_estate",
|
|
"عقار": "real_estate",
|
|
"logistics": "logistics",
|
|
"شحن": "logistics",
|
|
"training": "training",
|
|
"تدريب": "training",
|
|
"agency": "agencies",
|
|
"وكالة": "agencies",
|
|
}
|
|
key = next((v for k, v in mapping.items() if k in ind), "b2b_saas")
|
|
pb = get_vertical_playbooks()["verticals"][key]
|
|
return {
|
|
"recommended_vertical": key,
|
|
"city": city,
|
|
"goal": goal,
|
|
"playbook": pb,
|
|
}
|
|
|
|
|
|
def vertical_roi_metric(vertical: VerticalKey) -> str:
|
|
pb = get_vertical_playbooks()["verticals"].get(vertical, {})
|
|
return str(pb.get("roi_metric", "pipeline_velocity"))
|