Stammdaten, Branchen und Standorte
WartetBranchen-Modell mit Weiche, Standort-Akte, Ketten, Produkte und Module je Kunde, Kunden-Mailadressen, Dateianfrage für Kundenmaterial
- Bereich
- Zentrale
- Start
- 20.07.2026
- Zuletzt
- 25.09.2026
- Am Zug
- René
Nächster Schritt, René
Offene Folgepunkte der Produkte und Module klären (Rollout der Feature-Schalter in Templates und Flotte, Abrechnungs-Export); Status prüfen, das Thema ist weitgehend fertig
Worum es geht
Die Zentrale braucht saubere Stammdaten, aus denen sich alles andere ableitet: In welcher Branche arbeitet ein Kunde (damit Artikel, Texte, Karten und Portal-Bereiche passen), welche Standorte hat er, welche Zusatzmodule hat er gebucht, an welche Mailadressen gehen welche Mails und wie bekommen wir sein Material. Diese Akte sammelt diese Bausteine, die nacheinander von Juli bis September 2026 gebaut wurden.
Stand
- Branchen-Modell (seit 21.07., Hub v0.17.0):
customers.branche, aktuell elf Branchen (fitness, physiotherapie, agentur, recht, datenschutz-it, verpackung, optik, golf, handwerk, beratung, beauty), Konfiguration zentral inhub/src/branchen.ts(Fragenkatalog, Schema.org-Typ, SEO-Template). Wirkung: Artikel-Bibliothek und Themenvorschläge nur der eigenen Branche, Kadenz-Regel ohne Fragenkatalog gibt keinen Vorschlag. - Branchen-Weiche (25.09., Hub v0.341.0 bis v0.341.2): Kursplan, Studio-Software, Probetraining, Scouting und Cockpit nur in Fitness, Physio und Golf (Golf ohne Studio-Software und Mitglieder). Wortlaut je Branche (
BRANCHEN_WORTLAUT). Firmenwechsel im Portal mit weiteren Firmen je Zugang (Fuchspack und uniqbag). uniqbag-Webstats-Hostname gesetzt. - Standort-Akte (15.08., Hub v0.187.2): Standorte als Objekt erster Klasse (Tabellen
standorte,standort_angebote), Quelle für content-api (Sync), Website (prebuild-standorte.mjs) und Leads (Standort und Empfänger-Routing). Öffentlicher Endpunkt/portal/standorte.json?k=. Daten für MyTime (7), Tschann (2), City Fitness (5) und Life X (5) komplett. - Ketten (20.07.): Kette ist, wer mehr als einen Standort hat (aus der content.db abgeleitet). Ein SE-Ranking-Projekt je Kette mit Stadt-Engines und Gruppen je Standort. Aufgesetzt für City Fitness, MyTime und Life X.
- Produkte und Module (23./24.08., Hub v0.227.2 und v0.228.0): Katalog
produkteCore.ts,flags.produkte.<key>, harte Gates in Zentrale, Portal, Website und Jobs. Heute geführt: Vertragsverkauf, Content-Service, SEO & GEO, Ads, Scouting, OBA, Newsletter, Postfach, Website-Suche. - Kunden-Mailadressen (20.07., Hub v0.12.x):
mappings.emailsmit Standard,content_freigabe,seo_berichtundbesucherstatistik; Auflösung Rolle, dann Standard, dann Fallback, dann intern. - Dateianfrage (10.09., Hub v0.271.0): Kunden liefern Material über einen Link von uns in den Eingang des Medienpools (Teil-Upload, Bildrechte-Häkchen, Mail an service@).
- Sonst im Bestand: Stammdaten und Impressum in
mappings.stammdaten(Akte), Öffnungszeiten und Feiertage in der Zentrale (siehe oeffnungszeiten-feiertage).
Offen
- René Produkte und Module: Feature-Rollout der Schalter in Templates v1 bis v3 und die Flotte, Einzel-OBAs je Kunde freischaltbar machen, Abrechnungs-Export aus „Produkte je Kunde“ (Stand 23.08.).
- René Portal-Zugang für Gideon Goerts (Fuchspack und uniqbag) anlegen; bisher existieren nur SIM-Support-Zugänge mit
weitere_kunden. - Kunde Tschann: Fotos der Standorte, Place-IDs und Koordinaten fehlen in der Standort-Akte (Stand 15.08., prüfen).
- ich content-api-Änderungen (
location_offer_maps,standorte-sync,onboard_city_fitness.py) leben nur im Content-Volume ohne Git (Backups mit Suffix.bak-vor-standorte-sync-20260815). Bei einem Redeploy des Content-Service aus dem Quell-Reposystem-sim-contentservice-hermesgehen sie verloren, dann ins Repo portieren. - ich Dateianfrage-Ideen: Upload-Fläche im Kundenportal, eigene Domain dateien.sim-tools.cloud, Anrede in der Mail-Vorlage aus den Kunden-Mailadressen, serverseitige HEIC-Umwandlung bei Bedarf.
- ich Portal-Öffnungszeiten für Ketten, Team und Feiertage je Standort (aus dem 15.08. noch offen). Saarbrücken Ost bei Life X kosmetisch offen.
- ich Neue Branche anlegen heißt fünf Dateien anfassen (Muster handwerk, beratung, beauty); Optik, Golf, Handwerk, Beratung und Beauty stehen bewusst nicht in
ZENTRALE_BRANCHENund im Katalog-Dropdown, bis ein Kunde Content-Service oder Katalog bekommt. - Status prüfen: Die Inventar-Zuordnung „abgeschlossen“ ist eine Sammelakte, einzelne Bausteine (zum Beispiel die Studio-Software-Karte für Agilea und aidoo) sind noch offen.
Entscheidungen und Regeln
- 2026-09-25: Branchen-Matrix: Fitness alles; Physio alles, Studio-Software bleibt (es gibt Praxen mit Magicline); Golf ohne Studio-Software und Mitglieder, behält Kursplan und Schnupperkurs-Buchung; alle anderen Branchen ohne Kursplan, Kurskategorien, Studio-Software, Mitglieder, Terminbuchung, Scouting und Cockpit.
- 2026-08-23: Produkte: Vertragsverkauf aus, intern oder api; SEO inkl. Search Console; Ads als eigenes Modul; OBA vorbereitet; keine Teststufe; im Portal nur ein Einzeiler „Weitere Module“. Neues Modul heißt vier Stellen: Katalog,
KARTE_PRODUKT,PORTAL_BEREICH_PRODUKT, Baum-Blattprodukt:, sonst ist es halb gegated. Daten werden nie gelöscht. - 2026-08-15: Standortdaten nur noch in der Standort-Akte pflegen, nie in
studio-config.locationsodercustomer_locationsvon Hand. MyTime-Empfänger bleiben zentral, Tschann bekommt vorerst keine Standort-Lead-Mails (email_leadsleer). Burg plus drei Standorte bleiben bei MyTime. - 2026-07-21: Kunden ohne Branche zählen als Fitness (Bestand bleibt unverändert). Branchenfremde Master werden nie ausgespielt; Kategorien ohne Fragenkatalog bekommen lieber keinen Vorschlag als einen fachfremden.
- 2026-07-20: Ein SE-Ranking-Projekt je Kette mit Stadt-Engines (kein Mobil je Standort). Kleine Orte nehmen die nächstgelegene auflösbare Stadt als Region.
- Mail-Adressen: Zentrale gesetzt gewinnt. Rolle, dann Standard-Adresse, dann Fallback, dann intern. PATCH auf
mappingsersetzt das ganze Objekt, deshalb immer das vollständige Objekt mitschicken. Renés Postfach ist pfeiffer@studios-in-motion.de. - Dateianfrage: Bildrechte-Häkchen Pflicht, Link abschaltbar (410), nach Neufreischaltung neues Token.
Verlauf
- Branchen-Weiche live (51f8e11, ad25d7a, cd1525c; Hub v0.341.2); Firmenwechsel im Portal; Webstats-Hostname für uniqbag.
- Branche beauty ergänzt (Hub v0.314.1, erster Kunde bycharlie).
- Branche handwerk (Hub v0.285.0, erster Kunde fill-it).
- Dateianfrage live (Hub v0.271.0, 2d7dbc5); Wiedervorlage und Erinnerungsmail am Abend, René fand die Funktion am 11.09. nicht, Bedienweg dokumentiert (Kundenmodus › Firma › Bilder & Fotos).
- Branche golf ergänzt (Hub v0.250.0).
- Branche optik ergänzt (Hub v0.229.0, Newsletter als siebtes Produktmodul, v0.228.0).
- Produkte und Module je Kunde live (Hub v0.227.2) samt Klick-Dummy.
- Standort-Akte live (Hub v0.187.2); City Fitness und Life X nachgezogen, synchronisiert (75 und 95 Links).
- Branche physiotherapie (Hub v0.53.0), erster Kunde osteoathletik.
- Branchen-Modell (Hub v0.17.0); 23.07. Einstufung komplett (17 von 17).
- Ketten-Fähigkeit (City Fitness als Pilot, danach MyTime und Life X) und Kunden-Mailadressen je Rolle.
Wo liegt was
- Hub-Code (sim-ops):
hub/src/branchen.ts(Konfiguration, untenBRANCHEN_OHNEundBRANCHEN_WORTLAUT),standorte.ts,produkteCore.tsundprodukte.ts,emails.ts,dateianfrage.tsunddateianfrageCore.ts,portal.ts(Firmenwechsel, Bereiche), Frontendhub/public/app.js(produkteKartenAnwenden) undkundenmodus.js(kmBlattErlaubt,KM_BAUM). Teststest/branchenWeiche.test.ts. - Zentrale: Kundenakte › Karte „Branche“, „Standorte“ (Tab Übersicht), „E-Mail-Adressen“, Blatt Firma › „Produkte & Module“, Betrieb › „Produkte je Kunde“, Kundenmodus › Firma › „Bilder & Fotos“ (Block Dateianfrage; Direktlink
#kunde/<kürzel>/firma/bilder). - Tabellen und Felder: hub.db
customers.branche,customers.mappings(emails, stammdaten, standorte als Spiegel),standorte,standort_angebote,dateianfragen,uploads,portal_accounts.weitere_kunden; content.dbcustomer_locations,location_offer_pages,master_articles.branche,customers.branche;seo_keyword_locationundseo_location_group. - Öffentliche Endpunkte:
GET /portal/standorte.json?k=<kunde>, Dateianfrage-Seite auf freigabe.sim-tools.cloud unter /freigabe/dateien/. - Content-Volume (ohne Git):
/opt/data/freeda-content/scripts/(onboard_city_fitness.py,content_api.pymitlocation_offer_mapsundstandorte-sync). Website:scripts/prebuild-standorte.mjsim Template v2 (tschann, mytime). - Vault: 40-Projekte/Standort-Akte.md, 40-Projekte/Produkte und Module je Kunde, 20-Tools/Dateianfrage Kundenupload.md. Doku Hilfe:
hub/hilfe/dateianfrage.admin.md,produkte.admin.md.