import os import requests import json from dotenv import load_dotenv # Load environment variables load_dotenv() NOTION_API_KEY = os.getenv("NOTION_API_KEY") NOTION_DB_VERTICALS = "2ec88f4285448014ab38ea664b4c2b81" if not NOTION_API_KEY: print("Error: NOTION_API_KEY not found.") exit(1) headers = { "Authorization": f"Bearer {NOTION_API_KEY}", "Notion-Version": "2022-06-28", "Content-Type": "application/json" } # The approved changes from ANALYSIS_AND_PROPOSAL.md UPDATES = { "Automotive - Dealer": { "Pains": """[Primary Product: Security] - Teile-Diebstahl: Organisierte Banden demontieren nachts Katalysatoren und Räder – enormer Schaden und Versicherungsstress. - Vandalismus: Zerkratzte Neuwagen auf dem Außenhof mindern den Verkaufswert drastisch. - Personalkosten: Lückenlose menschliche Nachtbewachung ist für viele Standorte wirtschaftlich kaum darstellbar. [Secondary Product: Cleaning Outdoor] - Image-Verlust: Ein verschmutzter Außenbereich (Laub, Müll) passt nicht zum Premium-Anspruch der ausgestellten Fahrzeuge. - Manueller Aufwand: Verkaufspersonal oder teure Hausmeisterdienste binden Zeit mit unproduktivem Fegen.""", "Gains": """[Primary Product: Security] - Abschreckung & Intervention: Permanente Roboter-Präsenz wirkt präventiv; bei Alarm schaltet sich sofort eine Leitstelle auf. - Asset-Schutz: Reduktion von Versicherungsschäden und Selbstbehalten durch lückenlose Dokumentation. [Secondary Product: Cleaning Outdoor] - Premium-Präsentation: Der Hof ist bereits morgens bei Kundenöffnung makellos sauber. - Automatisierung: Täglich gereinigte Flächen ohne manuellen Eingriff.""" }, "Industry - Manufacturing": { "Pains": """[Primary Product: Cleaning Indoor] - Prozess-Sicherheit: Staub und Abrieb auf Fahrwegen gefährden empfindliche Sensorik (z.B. von FTS) und die Produktqualität. - Arbeitssicherheit: Rutschgefahr durch feine Staubschichten oder ausgelaufene (nicht-chemische) Flüssigkeiten erhöht das Unfallrisiko. - Ressourcen-Verschwendung: Hochbezahlte Fachkräfte müssen Maschinen stoppen, um ihr Umfeld zu reinigen. [Secondary Product: Transport] - Intransparenz & Suchzeiten: Facharbeiter unterbrechen die Wertschöpfung für unproduktive Materialbeschaffung ("C-Teile holen"). - Mikrostillstände: Fehlendes Material an der Linie stoppt den Takt.""", "Gains": """[Primary Product: Cleaning Indoor] - Konstante Bodenqualität: Definierte Sauberkeitsstandards (Audit-Ready) rund um die Uhr. - Unfallschutz: Reduktion von Arbeitsunfällen durch rutschfreie Verkehrswege. [Secondary Product: Transport] - Just-in-Time Logistik: Automatisierter Nachschub hält die Fachkraft wertschöpfend an der Maschine. - Fluss-Optimierung: Stabilisierung der Taktzeiten und OEE durch verlässliche Materialflüsse.""" }, "Healthcare - Hospital": { "Pains": """[Primary Product: Cleaning Indoor] - Hygienerisiko & Kreuzkontamination: Manuelle Reinigung ist oft fehleranfällig und variiert stark in der Qualität (Gefahr für Patienten). - Dokumentationspflicht: Der Nachweis RKI-konformer Reinigung bindet wertvolle Zeit und ist bei Personalmangel lückenhaft. - Personalnot: Fehlende Reinigungskräfte führen zu gesperrten Bereichen oder sinkendem Hygienelevel. [Secondary Product: Service] - Berufsfremde Tätigkeiten: Pflegekräfte verbringen bis zu 30% der Schichtzeit mit Hol- und Bringdiensten (Essen, Wäsche, Labor). - Physische Überlastung: Lange Laufwege in großen Kliniken erhöhen die Erschöpfung des Fachpersonals.""", "Gains": """[Primary Product: Cleaning Indoor] - Validierbare Hygiene: Robotergarantierte, protokollierte Desinfektionsleistung – audit-sicher auf Knopfdruck. - 24/7 Verfügbarkeit: Konstantes Hygienelevel auch nachts und am Wochenende, unabhängig vom Dienstplan. [Secondary Product: Service] - Zeit für Patienten: Rückgewinnung von ca. 2,5 Stunden Fachkraft-Kapazität pro Schicht für die Pflege. - Mitarbeiterzufriedenheit: Reduktion der Laufwege ("Schrittzähler") entlastet das Team spürbar.""" }, "Logistics - Warehouse": { "Pains": """[Primary Product: Cleaning (Sweeper/Dry)] - Grobschmutz & Palettenreste: Holzspäne und Verpackungsreste gefährden Reifen von Flurförderzeugen und blockieren Lichtschranken. - Staubbelastung: Aufgewirbelter Staub legt sich auf Waren und Verpackungen (Reklamationsgrund) und schadet der Gesundheit. - Manuelle Bindung: Mitarbeiter müssen große Flächen manuell kehren, statt zu kommissionieren. [Secondary Product: Cleaning (Wet)] - Hartnäckige Verschmutzungen: Eingefahrene Spuren, die durch reines Kehren nicht lösbar sind.""", "Gains": """[Primary Product: Cleaning (Sweeper/Dry)] - Anlagenschutz: Sauberer Boden verhindert Störungen an Fördertechnik und Sensoren durch Staub/Teile. - Staubfreie Ware: Produkte verlassen das Lager in sauberem Zustand (Qualitätsanspruch). [Secondary Product: Cleaning (Wet)] - Grundsauberkeit: Gelegentliche Nassreinigung für Tiefenhygiene in Fahrgassen.""" }, "Retail - Food": { "Pains": """[Primary Product: Cleaning Indoor] - "Malheur-Management": Zerbrochene Gläser oder ausgelaufene Flüssigkeiten (Haverien) bilden sofortige Rutschfallen und binden Personal. - Optischer Eindruck: Grauschleier und verschmutzte Böden senken das Frische-Empfinden der Kunden massiv. - Personal-Engpass: Marktpersonal soll Regale füllen und kassieren, nicht mit der Scheuersaugmaschine fahren. [Secondary Product: Service] - Fehlende Beratung: Kunden finden Produkte nicht und brechen den Kauf ab, da kein Personal greifbar ist.""", "Gains": """[Primary Product: Cleaning Indoor] - Sofortige Sicherheit: Roboter beseitigt Rutschgefahren autonom und schnell. - Frische-Optik: Permanent glänzende Böden ("Lobby-Effekt") unterstreichen die Qualität der Lebensmittel. [Secondary Product: Service] - Umsatz-Boost: Roboter führt Kunden direkt zum gesuchten Produkt oder bewirbt Aktionen aktiv am POS.""" }, "Hospitality - Gastronomy": { "Pains": """[Primary Product: Cleaning Indoor] - Klebrige Böden: Verschüttete Getränke und Speisereste wirken unhygienisch und stören das Ambiente. - Randzeiten-Problem: Nach Schließung ist es schwer, Personal für die Grundreinigung zu finden (Nachtzuschläge). [Secondary Product: Service] - "Teller-Taxi": Servicekräfte verbringen 80% der Zeit mit Laufen (Küche <-> Gast) statt mit Verkaufen/Betreuung. - Personalmangel: Zu wenig Kellner führen zu langen Wartezeiten, kalten Speisen und genervten Gästen.""", "Gains": """[Primary Product: Cleaning Indoor] - Makelloses Ambiente: Sauberer Boden als Visitenkarte des Restaurants. - Zuverlässigkeit: Die Grundreinigung findet jede Nacht garantiert statt. [Secondary Product: Service] - Mehr Umsatz am Gast: Servicekraft hat Zeit für Empfehlungen (Wein, Dessert) und Upselling. - Entlastung: Roboter übernimmt das schwere Tragen (Tabletts), Personal bleibt im Gastraum präsent.""" }, "Leisure - Outdoor Park": { "Pains": """[Primary Product: Cleaning Outdoor] - Immersion-Breaker: Müll und Laub auf den Wegen stören die perfekte Illusion ("Heile Welt") des Parks. - Enorme Flächen: Kilometerlange Wegenetze binden ganze Kolonnen von Reinigungskräften. - Sicherheit: Rutschgefahr durch nasses Laub oder Abfall. [Secondary Product: Service] - Versorgungslücken: An abgelegenen Attraktionen fehlt oft Gastronomie-Angebot.""", "Gains": """[Primary Product: Cleaning Outdoor] - Perfekte Inszenierung: Unsichtbare Reinigung in den frühen Morgenstunden sichert das perfekte Erlebnis bei Parköffnung. - Effizienz: Ein Roboter schafft die Flächenleistung mehrerer manueller Kehrer. [Secondary Product: Service] - Mobiler Verkauf: Roboter bringen Getränke/Eis direkt zu den Warteschlangen (Zusatzumsatz).""" }, "Energy - Grid & Utilities": { "Pains": """[Primary Product: Security] - Sabotage & Diebstahl: Kupferdiebstahl in Umspannwerken verursacht Millionenschäden und Versorgungsausfälle. - Reaktionszeit: Entlegene Standorte sind für Interventionskräfte oft zu spät erreichbar. - Sicherheitsrisiko Mensch: Alleinarbeit bei Kontrollgängen in Hochspannungsbereichen ist gefährlich.""", "Gains": """[Primary Product: Security] - First Responder Maschine: Roboter ist bereits vor Ort, verifiziert Alarm und schreckt Täter ab. - KRITIS-Compliance: Lückenlose, manipulationssichere Dokumentation aller Vorfälle für Behörden. - Arbeitsschutz: Roboter übernimmt gefährliche Routinekontrollen (z.B. Thermografie an Trafos).""" } } def get_page_id(vertical_name): url = f"https://api.notion.com/v1/databases/{NOTION_DB_VERTICALS}/query" payload = { "filter": { "property": "Vertical", "title": { "equals": vertical_name } } } response = requests.post(url, headers=headers, json=payload) if response.status_code == 200: results = response.json().get("results", []) if results: return results[0]["id"] return None def update_page(page_id, pains, gains): url = f"https://api.notion.com/v1/pages/{page_id}" payload = { "properties": { "Pains": { "rich_text": [{"text": {"content": pains}}] }, "Gains": { "rich_text": [{"text": {"content": gains}}] } } } response = requests.patch(url, headers=headers, json=payload) if response.status_code == 200: print(f"✅ Updated {page_id}") else: print(f"❌ Failed to update {page_id}: {response.text}") def main(): print("Starting update...") for vertical, content in UPDATES.items(): print(f"Processing '{vertical}'...") page_id = get_page_id(vertical) if page_id: update_page(page_id, content["Pains"], content["Gains"]) else: print(f"⚠️ Vertical '{vertical}' not found in Notion.") if __name__ == "__main__": main()