Studios in MotionProjektkartei

Öffnungszeiten und Feiertage

Aktiv

Öffnungszeiten-Blöcke je Standort, Feiertags-Info-Box mit Generator für Deutschland und Österreich, Selbstpflege im Kundenportal

Bereich
Zentrale
Start
02.08.2026
Zuletzt
10.10.2026
Am Zug
René
Nächster Schritt, René

Hub v0.375.0 (Standort-Band) ausrollen und den Google-Business-Profile-Sync für die Öffnungszeiten entscheiden

Worum es geht

Öffnungszeiten und Feiertagshinweise werden bei uns gepflegt, nicht mehr in Freeda. Die Zentrale hält freie Zeitenblöcke je Kunde und Standort, die Websites ziehen sie vom Hub. Die Feiertags-Info-Box kommt aus einem Generator je Bundesland (Deutschland, seit Oktober auch Österreich), Kunden pflegen Zeiten und Feiertage im Portal selbst.

Stand

  • Öffnungszeiten-Verwaltung seit 02.08.2026 (Hub v0.78.0): freie Blöcke je Kunde und Standort, genau ein Master-Block „Google-Zeiten“, Sonderzeiten je Block, 24/7 als Eingabe „24h“ (v0.79.0).
  • Öffentlicher Endpunkt /portal/oeffnungszeiten.json?k=&s=, das Feld openingHours ist bewusst Freeda-kompatibel (Umstellung der Site = URL-Tausch).
  • Feiertage seit 06.08. (v0.125.0): gesetzliche Feiertage aus dem Generator, eigene Feiertage, Standardhinweis je Kunde, Vorlauf der Box 14 Tage (v0.180.1). Je Standort bei Ketten seit 29.08. (v0.245.15).
  • Portal-Bereich „Öffnungszeiten und Feiertage“ seit 06.08. (v0.126.0), Portal liest bei Ketten den richtigen Standort (v0.246.2); am 02.10. umgebaut (Zeitfelder von bis, weiteres Zeitfenster, Dialoge repariert, Bundesland nur Anzeige, v0.351.1).
  • Österreich im Generator (v0.352.0): neun Bundesländer at-1 bis at-9, 13 bundesweite Feiertage; Tschann steht auf at-8 (Vorarlberg).
  • Bundesländer von 24 Kunden am 02.10. aus den Adressen nachgetragen.
  • Website-Komponente SimFeiertage.astro (Varianten compact, alert, detailed) ersetzt die Freeda-Box; Browns, Impuls und Energy Warstein umgestellt, MyTime, Tschann und Template v2 mit Standortseiten.
  • Kunden mit importierten Öffnungszeiten (Stand 02.08.): Balance, Plön, Impuls, Energy, Browns, alle 7 MyTime-Standorte, Osteoathletik.

Offen

  • René Hub v0.375.0 (8fb8a90, Standort-Band im Portal bei den Öffnungszeiten) ausrollen: cd /root/sim-ops/deploy && ./rollout.sh (Klassifikator blockt).
  • René Google-Business-Profile-Sync für Öffnungszeiten und Sonderzeiten (Etappe war am 02.08. freigegeben, API-Zugang beantragen, Stand offen, prüfen).
  • ich Bundesland für Kunden ohne Adresse nachtragen (uniqbag-us in den USA, fitnesswissen, rechtspeziell-akademie, kalle); Liste ist nur für Deutschland und Österreich.
  • René Impuls Oldenburg: Feiertags-Pflege je Datum und Domain-Umzug von TYPO3 (Stand 10.08., prüfen).
  • ich Feiertage und Öffnungszeiten für Life X mit dem nächsten Template-v2-Nachzug einbauen (Stand 29.08., prüfen).

Entscheidungen und Regeln

  • 2026-08-02: Bei Osteoathletik gilt Mo bis Do 8 bis 20 Uhr, Fr 8 bis 16:30 als einziger Satz (René bestätigt), der Behandlungszeiten-Block ist gelöscht.
  • 2026-08-06: Feiertage werden pro Jahr und Datum einzeln gepflegt, nicht „gilt immer“. Der Standardhinweis erscheint an jedem gesetzlichen Feiertag.
  • 2026-08-14: Vorlauf der Feiertags-Box 14 Tage, global für alle Kunden, nur Anzeige (nicht die Pflege).
  • 2026-08-29: Bei Ketten stehen die echten Hinweise am Standort, Startseite und Footer verweisen nur.
  • 2026-10-02: Das Bundesland pflegt nur das SIM-Team in der Zentrale, nie der Kunde (Portal antwortet 403 bundesland_nur_sim_team). Bearbeiten und Anlegen im Portal immer im Modal.
  • Österreich bewusst ohne Karfreitag und Landespatrone (nicht arbeitsfrei).
  • Jede Portalseite, die portalModal nutzt, muss /portal/ui.js selbst laden, sonst tun Knöpfe nichts.
  • Jeder Portal-Bereich, der Daten mit location_key liest, muss Ketten mitdenken (das „Alle Standorte“ im Kopf ist nur ein Etikett).
  • Jede Bundesland-Änderung löst nach 2 Minuten einen Website-Neubau auf main aus: gestaffelt im 10-Sekunden-Takt setzen.

Verlauf

  1. Hub v0.375.0 (8fb8a90): Standort-Wahl bei den Öffnungszeiten als farbiges Band. Nicht ausgerollt.
  2. Erklärvideo „Öffnungszeiten und Feiertage“ (74 s) veröffentlicht.
  3. Hub v0.352.0 (3bbe86d): Österreich mit neun Bundesländern; Hub v0.351.0/v0.351.1 (4401e83, c65a230): Portal-Umbau Öffnungszeiten; Bundesländer von 24 Kunden gesetzt; Doku 06336d8.
  4. Hub v0.310.0 (2983885): Standort-Scope für Portal-Zugänge.
  5. Hub v0.246.2 (e2038b9): Portal-Öffnungszeiten je Standort (Fund bei MyTime: Portal zeigte bei Ketten überall „geschlossen“).
  6. Hub v0.245.15 (2e909a1): Feiertage je Standort bei Ketten.
  7. Hub v0.180.1 (4faa69d): Box erst 14 Tage vorher; Energy Warstein Schritt 2 mit Feiertagen auf preprod.
  8. Impuls Oldenburg: Feiertage an 5 Stellen auf SimFeiertage umgebaut.
  9. Browns Active Park komplett Freeda-frei auf main; Live-Domain zeigt weiter auf TYPO3.
  10. Hub v0.125.0 (9f94f80), v0.126.0 (1a2e9ce): Feiertage und Portal-Bereich; Browns als Pilot auf preprod.
  11. Hub v0.78.0 (c353232), v0.79.0 (26e3180): Öffnungszeiten-Verwaltung und 24/7; Freigaben preprod nach main für Energy, Browns, Impuls, Osteo.

Wo liegt was

  • Hub-Code: /root/sim-ops/hub/src/oeffnungszeitenCore.ts und oeffnungszeiten.ts (Routen, Event oeffnungszeiten.geaendert mit debouncetem Rebuild), feiertageCore.ts (Generator, DB-frei) und feiertage.ts (feiertageFuerBox, BOX_VORLAUF_TAGE), Portal portalZeiten.ts und hub/public/portal-zeiten.js.
  • Tabellen: oeffnungszeiten_bloecke, oeffnungszeiten_zeiten, oeffnungszeiten_ausnahmen, feiertage, standorte (Spalte bundesland). Einstellungen in customers.mappings.feiertage (bundesland, standardhinweis).
  • Zentrale: Kundenakte › Website › Karte Öffnungszeiten und Karte Feiertage (#kundefeiertagebox); Standort-Modal mit Bundesland. Portal: /portal/zeiten, Berechtigung zeiten.
  • Öffentlich: /portal/oeffnungszeiten.json (mit feiertage, bei Ketten ohne s auch feiertage_standorte). Freeda-Einmalimport: POST /api/customers/:key/oeffnungszeiten/freeda-import.
  • Website: src/components/sim/SimFeiertage.astro, Prebuild prebuild-opening-hours.mjs und prebuild-standorte.mjs; Umgebungsvariablen VITE_SIM_HUB_BASE, VITE_SIM_CUSTOMER_KEY, optional VITE_SIM_LOCATION_KEY.
  • Doku: Wiki 20-Tools/Oeffnungszeiten.md und 20-Tools/Feiertage.md, sim-ops/docs/portal-zeiten-kundenstimmen-2026-10-02.md.
  • Deploy des Hub: cd /root/sim-ops/deploy && ./rollout.sh.