{
 "$schema": "../../schema.json",
 "schema": "fundus/1",
 "id": "standort-detailseite",
 "name": "Standort-Detailseite",
 "name_en": "Single location page",
 "kurz": "Eine Seite je Filiale: Öffnungsstatus von jetzt groß, Route und Anrufen, eigene Lageskizze mit Zwei-Klick-Karte, Wochenzeiten mit Sonderzeiten, Anfahrt, Parken und Zugang mit Maßen, was es nur hier gibt, Nachbarstandorte mit Entfernung und LocalBusiness-JSON-LD.",
 "kategorie": "Sektionen & Funktionen",
 "kategorie_slug": "sektionen",
 "kategorie_nr": 16,
 "bau_chat": "D",
 "prioritaet": "D",
 "trendstatus": "etabliert",
 "belegstatus": "quellenbelegt",
 "website_belege": 0,
 "stimmung": [
  "präzise",
  "laut"
 ],
 "stimmung_roh": [
  "klar",
  "sachlich",
  "rhythmisch"
 ],
 "technik": [
  "css",
  "vanilla-js",
  "json-ld",
  "intl",
  "svg"
 ],
 "technik_gruppen": [
  "css",
  "js",
  "canvas"
 ],
 "leistungskosten": "niedrig",
 "steckbrief": {
  "beschreibung": "Eine eigene Seite je Filiale oder Standort. Oben stehen Name, Adresse und der Öffnungsstatus von jetzt („Geöffnet bis 22 Uhr“), dazu Anrufen und Route. Darunter die Wochenzeiten mit Sonderzeiten, die Anfahrt mit Bus, Rad und Auto, Parken mit Zahl und Kosten, Barrierefreiheit vor Ort mit konkreten Maßen (Stufen, Türbreite, WC, Aufzug) und was es nur an diesem Standort gibt. Die Karte ist eine eigene Lageskizze; die Anbieter-Karte lädt erst nach Klick. Jede Seite hat ihren eigenen LocalBusiness-Block.",
  "warum_es_wirkt": "Wer einen Standort sucht, will drei Dinge sofort: Hat er jetzt offen, wie komme ich hin, kann ich dort parken oder mit Rollstuhl hinein. Eine Seite je Standort beantwortet das an einer Adresse, die Suchmaschinen und Karten verlinken können. Google empfiehlt, jeden Standort als eigenes LocalBusiness auszuzeichnen. Die Zwei-Klick-Karte hält die Seite schnell und lädt Drittanbieter erst mit Zustimmung.",
  "wann_einsetzen": "Betriebe mit mehreren Standorten: Bäckerei, Apotheke, Optik, Fitness, Kfz, Pflege, Praxisverbund, Friseur-Kette. Auch bei einem Standort, wenn Anfahrt, Parken und Zugang erklärungsbedürftig sind (Hinterhof, Gewerbegebiet, Klinikgelände).",
  "wann_nicht": "Nicht als Kopie mit ausgetauschtem Ortsnamen: Jede Seite braucht echte Unterschiede (Zeiten, Team, Parken, Angebot), sonst lieber eine gemeinsame Seite mit standortfinder-liste. Keine Google-Maps-Einbettung beim Laden. Barrierefreiheit nicht pauschal behaupten („barrierefrei“), sondern messen und beschreiben.",
  "varianten": [
   "Studio oder Werkstatt: Kern- und Servicezeiten getrennt, Parken auf dem Hof, Zugang mit Aufzug",
   "Filiale im Laden: Öffnungsstatus groß, Angebot nur hier, Lieferzone, Bus und Rad zuerst",
   "Kompakt als Teil einer Kontaktseite mit zwei Standorten nebeneinander",
   "Vorübergehend geschlossen: Hinweis oben mit Datum und nächstem Standort"
  ],
  "umsetzung": "Ein Datensatz je Standort (Name, Adresse, geo, Telefon, Zeiten je Wochentag mit mehreren Spannen, Sonderzeiten, Parken, Zugang, Angebote) erzeugt sichtbaren Text und LocalBusiness-JSON-LD mit spezifischem Typ (z. B. ExerciseGym, Bakery) und parentOrganization. Status rechnet in Europe/Berlin über Intl.DateTimeFormat (wie oeffnungszeiten-status) und aktualisiert sich jede Minute; „schließt in 40 Min.“ ab einer Stunde vor Schluss. Wochenzeiten als Tabelle mit heute markiert, Sonderzeiten darüber. Anfahrt als eigene SVG-Lageskizze mit Haltestelle, Parkplatz und Eingang; die Anbieter-Karte erst nach Klick (karte-zwei-klick), Route als Link zur Karten-App mit Adresse, nicht als Einbettung. Barrierefreiheit als Liste mit Maßen und Stand-Datum. Weitere Standorte unten mit Entfernung in km aus geo, Brotkrumen Startseite › Standorte › Ort.",
  "mobil": "Status, Anrufen und Route ganz oben, als große Knöpfe. Wochenzeiten als Liste, heute zuerst. Lageskizze in voller Breite, darunter die Zwei-Klick-Karte. Feste Leiste unten mit Anrufen und Route.",
  "reduzierte_bewegung": "Status und Karte wechseln ohne Übergang, keine Stufen-Animation.",
  "barrierefreiheit": "Status als Text („Geöffnet, schließt um 22 Uhr“), nicht nur als grüner Punkt. Wochenzeiten als echte Tabelle mit th scope. Lageskizze mit Textbeschreibung der Anfahrt daneben, SVG dekorativ bzw. mit title. Kartenknopf nennt den Anbieter vor dem Laden. Barrierefreiheit vor Ort mit Maßen statt Symbolen allein."
 },
 "messwerte": {
  "easing": "linear bzw. steps(3, jump-none) für Inszenierung; UI cubic-bezier(0.2, 0, 0.38, 0.9)",
  "dauer_ms": "70 Hover, 150 Reiter und Filter, 240 Karte laden, Austritt 150; Statuspunkt ohne Puls",
  "stagger_ms": "",
  "distanz": "8px-Raster",
  "sonstiges": "Werte aus dem Rezept fitness-studio-rhythmus (token-brutal-hart, UI token-tech-praezise); Variante Filiale mit cubic-bezier(0.16, 1, 0.3, 1) aus gastro-warm-appetitlich.",
  "herkunft": "eigene Festlegung",
  "quelle": "Rezepte fitness-studio-rhythmus, gastro-warm-appetitlich"
 },
 "kurve": {
  "bezier": [
   0.2,
   0.0,
   0.38,
   0.9
  ],
  "css": "cubic-bezier(0.2, 0, 0.38, 0.9)",
  "name": "eigene Kurve",
  "dauer_ms": 70
 },
 "gesehen_bei": [
  {
   "seite": "Google Search Central: Local business (LocalBusiness) structured data",
   "url": "https://developers.google.com/structured-data/local-businesses/",
   "auszeichnung": "",
   "beobachtung": "Abgerufen 04.11.2026: Jeden Standort als eigene LocalBusiness-Entität auszeichnen, am besten auf der Seite über diesen Standort. Pflicht name und address, empfohlen geo (mindestens 5 Nachkommastellen), openingHoursSpecification, telephone mit Länder- und Ortsvorwahl, url. Sonderzeiten mit validFrom und validThrough; geschlossen als opens und closes 00:00. Abteilungen über department, Name als „{Standort} {Abteilung}“.",
   "art": "artikel"
  }
 ],
 "tutorials": [
  {
   "titel": "Google Search Central: Local business structured data",
   "url": "https://developers.google.com/structured-data/local-businesses/"
  }
 ],
 "kombinierbar_mit": [
  "oeffnungszeiten-status",
  "karte-zwei-klick",
  "standortfinder-liste",
  "firmendaten-strukturiert",
  "live-uhr-und-standort",
  "mobile-bottom-navigation"
 ],
 "urls": {
  "detail": "https://cecodesign.de/lab/fundus/sektionen/standort-detailseite/",
  "meta": "https://cecodesign.de/lab/fundus/sektionen/standort-detailseite/meta.json",
  "demo": "https://cecodesign.de/lab/fundus/sektionen/standort-detailseite/demo"
 },
 "herkunft": {
  "quelldateien": [
   "Recherche Runde 4, 04.11.2026"
  ],
  "pruefnotizen": [
   "Die Recherche Runde 4 nennt nur den internen Befund (standortfinder-liste ist die Liste, eine Seite je Standort mit eigenem LocalBusiness fehlt). Beleg ist die Google-Dokumentation. Website-Belege von Filialisten fehlen.",
   "Karte: Einbindung von Kartenanbietern und Datenschutzhinweis vom Kunden prüfen lassen. Angaben zur Barrierefreiheit vor Ort nur aus eigener Messung."
  ]
 },
 "bau": {
  "status": "fertig",
  "kurz": "Eine Seite je Filiale: Öffnungsstatus von jetzt groß, Route und Anrufen, eigene Lageskizze mit Zwei-Klick-Karte, Wochenzeiten mit Sonderzeiten, Anfahrt, Parken und Zugang mit Maßen, was es nur hier gibt, Nachbarstandorte mit Entfernung und LocalBusiness-JSON-LD.",
  "demo": true,
  "abhaengigkeiten": [],
  "werte": {
   "easing": "Studio: H1 steps(6, jump-none), UI cubic-bezier(0.2, 0, 0.38, 0.9), Austritt cubic-bezier(0.2, 0, 1, 0.9)",
   "dauer_ms": "70 Hover, 150 Reiter, 240 Karte ein, 150 aus, 480 H1 (6 Stufen à 80)",
   "takt": "H1 font-stretch 50 % → 75 % in steps(6, jump-none), einmal beim Laden",
   "status": "Europe/Berlin per Intl, jede Minute neu; „noch N Min.“ ab 60 Minuten vor Schluss; Sonderzeiten vor Wochenzeiten; nächste Öffnung über Sonderzeiten hinweg",
   "karte": "Lageskizze als eigenes SVG 4:3, Anbieter-Karte (nachgebildet) erst nach Klick, 520 ms Ladezustand, Knopf „Karte entfernen“",
   "route": "Link zur Karten-App mit Zielkoordinaten, keine Einbettung",
   "entfernung": "Haversine aus geo, unter 1 km in 50-m-Schritten",
   "jsonld": "spezifischer Typ (ExerciseGym, Bakery), geo, openingHoursSpecification gruppiert, Sonderzeiten mit validFrom/validThrough, geschlossen 00:00/00:00, parentOrganization",
   "raster": "Einstieg 1.05fr / 1fr, Blöcke im 12er-Raster je 6 Spalten mit Mittellinie; einspaltig unter 860 px",
   "vorfuehrung": "Uhrzeit jetzt → bald zu (1800 ms) → nachts (3400 ms) → jetzt (5000 ms), Karte laden 6200 ms, entfernen 9400 ms, Schleife 10400 ms"
  },
  "ausloeser": "laden",
  "touch": "Status, Probetraining, Route und Anrufen in voller Breite oben, Lageskizze darunter, Blöcke einspaltig. Feste Leiste unten mit Anrufen und Route.",
  "reduziert": "H1 ohne Stufen, Karte und Status ohne Übergang, kein Ladezustand.",
  "korrekturen": {},
  "geprueft": "04.11.2026",
  "notiz": "Welt: Rezept fitness-studio-rhythmus, erfundene Studiokette Halle Neun mit dem Standort Gera-Debschwitz (Anybody, Funnel Sans, Azeret Mono; Kreide, Hallenschwarz, Limette nur als Fläche). Zweite Branche über ?v=filiale mit den Token aus gastro-warm-appetitlich: Backstube Larsen, Filiale Tönning am Hafen (Fraunces SOFT 80, Commissioner, Salbei und Senf). Kern- und Teamzeiten getrennt, Zugang mit Maßen und Messdatum, „nein“ wird genannt (kein barrierefreies WC). Pult: Standort, Uhrzeit (jetzt, bald zu, nachts, 25.12.; auch ?zeit=), „Vorübergehend geschlossen“ (auch ?pause). Statuslogik vereinfacht aus oeffnungszeiten-status, Karte nach karte-zwei-klick. Beleg: Google LocalBusiness-Doku. Selbsturteil 4.",
  "varianten": [
   {
    "id": "studio",
    "name": "Studio",
    "wann": "Fitness, Werkstatt, Praxisverbund: Kern- und Servicezeiten getrennt, Parken auf dem Hof, Aufzug und Geräte mit Maßen.",
    "werte": {
     "rezept": "fitness-studio-rhythmus",
     "zeiten": "zwei Spalten (Mitglieder, Team vor Ort)",
     "bloecke": "Zeiten, Anfahrt, Parken, Zugang, Nur hier"
    }
   },
   {
    "id": "filiale",
    "name": "Filiale",
    "wann": "Bäckerei, Apotheke, Optik, Laden: Status groß, Bus und Rad zuerst, Vorbestellung als Handlung, ehrliche Zugangsangaben.",
    "werte": {
     "rezept": "gastro-warm-appetitlich",
     "easing": "cubic-bezier(0.16, 1, 0.3, 1), Austritt cubic-bezier(0.7, 0, 0.84, 0)",
     "dauer_ms": "200 UI, 400 Karte ein, 250 aus, H1 700 ms 10 px",
     "zeiten": "eine Spalte, Sonntag 7:30 bis 11"
    }
   }
  ]
 }
}
