feat: Implement Trading Twins Autopilot with Teams integration and फैक्टर-3 overbooking logic [31988f42]

This commit is contained in:
2026-03-04 08:22:28 +00:00
parent 3a8f7aea6b
commit 89b06e64af
14 changed files with 849 additions and 25 deletions

View File

@@ -79,6 +79,21 @@ def clean_company_name(name):
cleaned = re.sub(r'\s+(GmbH|AG|GmbH\s+&\s+Co\.\s+KG|KG|e\.V\.|e\.K\.|Limited|Ltd|Inc)\.?(?:\s|$)', '', name, flags=re.IGNORECASE)
return cleaned.strip()
def get_qualitative_area_description(area_str):
"""Converts a string with area information into a qualitative description."""
nums = re.findall(r'\d+', area_str.replace('.', '').replace(',', ''))
area_val = int(nums[0]) if nums else 0
if area_val >= 10000:
return "sehr große Flächen"
if area_val >= 5000:
return "große Flächen"
if area_val >= 1000:
return "mittlere Flächen"
if area_val > 0:
return "kleine bis mittlere Flächen"
return "Ihre Flächen" # Fallback
def get_multi_solution_recommendation(area_str, purpose_str):
"""
Selects a range of robots based on surface area AND requested purposes.
@@ -146,6 +161,7 @@ def generate_email_draft(lead_data, company_data, booking_link="[IHR BUCHUNGSLIN
# Multi-Solution Logic
solution = get_multi_solution_recommendation(area, purpose)
qualitative_area = get_qualitative_area_description(area)
suggested_date = get_suggested_date()
# Fetch "Golden Records" from Matrix
@@ -164,7 +180,7 @@ def generate_email_draft(lead_data, company_data, booking_link="[IHR BUCHUNGSLIN
STRATEGIE:
- STARTE DIREKT mit dem strategischen Aufhänger aus dem Company Explorer ({ce_opener}). Baue daraus den ersten Absatz.
- KEIN "mit großem Interesse verfolge ich..." oder ähnliche Phrasen. Das wirkt unnatürlich.
- Deine Mail reagiert auf die Anfrage zu: {purpose} auf {area}.
- Deine Mail reagiert auf die Anfrage zu: {purpose} für {qualitative_area}.
- Fasse die vorgeschlagene Lösung ({solution['solution_text']}) KOMPAKT zusammen. Wir bieten ein ganzheitliches Entlastungskonzept an, keine Detail-Auflistung von Datenblättern.
KONTEXT:
@@ -176,7 +192,7 @@ def generate_email_draft(lead_data, company_data, booking_link="[IHR BUCHUNGSLIN
AUFGABE:
1. ANREDE: Persönlich.
2. EINSTIEG: Nutze den inhaltlichen Kern von: "{ce_opener}".
3. DER ÜBERGANG: Verknüpfe dies mit der Anfrage zu {purpose}. Erkläre, dass manuelle Prozesse bei {area} angesichts der Dokumentationspflichten und des Fachkräftemangels zum Risiko werden.
3. DER ÜBERGANG: Verknüpfe dies mit der Anfrage zu {purpose}. Erkläre, dass manuelle Prozesse bei {qualitative_area} angesichts der Dokumentationspflichten und des Fachkräftemangels zum Risiko werden.
4. DIE LÖSUNG: Schlage die Kombination aus {solution['solution_text']} als integriertes Konzept vor, um das Team in Reinigung, Service und Patientenansprache spürbar zu entlasten.
5. ROI: Sprich kurz die Amortisation (18-24 Monate) an als Argument für den wirtschaftlichen Entscheider.
6. CTA: Schlag konkret den {suggested_date} vor. Alternativ: {booking_link}