docs: update MIGRATION_PLAN and add phase 1 update script [2ff88f42]

This commit is contained in:
2026-02-23 07:37:53 +00:00
parent dfd2eb2ffd
commit 3d9463d080
3 changed files with 517 additions and 1 deletions

View File

@@ -0,0 +1,194 @@
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()