{
 "$schema": "../../schema.json",
 "schema": "fundus/1",
 "id": "tourdaten-liste",
 "name": "Tourdaten und Termine mit Ticketstatus",
 "name_en": "Tour dates list with ticket status, calendar files and rescheduled shows",
 "kurz": "Tourdaten als echte Liste: Datum, Stadt, Ort, Status als Wort und Ticketweg zum Anbieter, mit Verlegt, Abgesagt, Zusatzkonzert, .ics, Abo, Filter ab 15 Terminen und MusicEvent-Markup.",
 "kategorie": "Sektionen & Funktionen",
 "kategorie_slug": "sektionen",
 "kategorie_nr": 16,
 "bau_chat": "D",
 "prioritaet": "D",
 "trendstatus": "etabliert",
 "belegstatus": "belegt",
 "website_belege": 4,
 "stimmung": [
  "präzise",
  "laut"
 ],
 "stimmung_roh": [
  "laut",
  "funktional",
  "kontrastreich"
 ],
 "technik": [
  "css",
  "vanilla-js",
  "intl",
  "popover",
  "json-ld"
 ],
 "technik_gruppen": [
  "css",
  "js"
 ],
 "leistungskosten": "niedrig",
 "steckbrief": {
  "beschreibung": "Die Termine eines Acts an vielen Orten als echte Liste, gruppiert nach Tour oder Reihe. Jede Zeile zeigt Datum mit Wochentag und Beginn, Stadt mit Länderkürzel, Ort als Link, Support, den Status als Wort und den Weg zum Ticket beim Anbieter. Ein Mehr-Menü je Termin legt eine .ics-Datei in den Kalender oder teilt den Termin; oben abonniert ein webcal-Feed alle Termine. Das Statusvokabular: Im Vorverkauf, Wenige Karten, Ausverkauft (Resale nur, wenn der Veranstalter ihn anbietet), Zusatzkonzert, Verlegt mit altem und neuem Datum, Abgesagt mit Hinweis zur Erstattung, Festival mit Link zum Festival. Vergangene Termine sind eingeklappt. Die Daten kommen aus einer JSON-Datei oder einem Import und werden selbst gesetzt; daraus entsteht auch das Event-Markup.",
  "warum_es_wirkt": "Fans kommen mit zwei Fragen: Spielt die Band in meiner Nähe, und gibt es noch Karten? Eine Zeile pro Termin mit Datum, Stadt und Status beantwortet beides am Telefon in Sekunden. Der Status als Wort ist eindeutig, auch ohne Farbe und für Screenreader. Verlegte Termine mit altem und neuem Datum sparen Nachfragen. Kalenderdatei und Abo machen aus Interesse einen festen Termin.",
  "wann_einsetzen": "Bands, Musiker:innen, DJs, Chöre und Ensembles mit Terminen an vielen Orten; Labels mit Terminen mehrerer Acts; Lesereisen und Comedy-Touren; bildende Künstler:innen mit Ausstellungen in verschiedenen Häusern. Ab etwa vier Terminen im Jahr, Filter ab etwa 15.",
  "wann_nicht": "Ein Haus mit vielen Terminen an einem Ort braucht programm-kalender (Rubriken, Monatsansicht). Wiederkehrende Wochentermine gehören in wochen-kursplan. Termin-Widgets von Bandsintown oder Songkick nicht als iframe einbinden: Sie laden Dritte vor der Einwilligung und brechen die Gestaltung. Daten importieren und selbst setzen.",
  "varianten": [
   "Tour: ein Act, nach Tour bzw. Reihe gruppiert (Tour, Festivals), vergangene Termine eingeklappt",
   "Label: mehrere Acts, Künstler:in als erste Spalte, nach Monat gruppiert, Filter nach Künstler:in und Stadt",
   "Ausstellungen: aktuell, kommend und Auswahl vergangen; Titel, Haus, Stadt, Zeitraum, Einzel- oder Gruppenausstellung, Link zum Haus statt Ticket",
   "Teaser: die nächsten drei Termine im Hero mit Ticketlink und Link zur ganzen Liste"
  ],
  "umsetzung": "Daten als JSON (id, gruppe, start, ende, stadt, land, ort, support, status, anbieter; bei Verlegung vorher und verfuegbar, bei Ausverkauf optional resale, bei Festival festival). Eine Render-Funktion setzt je Gruppe eine <section> mit Überschrift und <ol>, je Termin ein <li> mit <time datetime>. Kalenderrechnung in UTC, Anzeige mit Intl.DateTimeFormat('de-DE').\n\nZeile: Datum in Martian Mono mit tabular-nums, Stadt als Überschrift mit <abbr> für das Land, Ort als Link, Status als Text mit Form-Zeichen. Ticketlink <a target=\"_blank\" rel=\"noopener\">, sichtbar „Tickets / bei Anbieter“, versteckt „für Stadt am Datum“ und „öffnet in neuem Tab“. Ausverkauft ohne Ticketknopf; Resale-Link nur mit resale: true. Verlegt: <del> für das alte Datum mit „verlegt vom“, Satz zur Gültigkeit der Tickets als Platzhalter. Abgesagt: Datum durchgestrichen, Knopf „Erstattung bei Anbieter“.\n\nMehr-Menü: <button popovertarget> und <div popover role=\"menu\">, Pfeiltasten, Escape schließt und gibt den Fokus zurück. .ics als Blob (VTIMEZONE Europe/Berlin, Faltung nach 75 Oktetten, CRLF). Teilen über navigator.share, sonst Link kopieren. Abo als webcal://-Link auf einen Feed, den der Server aus derselben JSON erzeugt.\n\nFilter erst ab etwa 15 kommenden Terminen, Variante leiste von facettenfilter-ergebnisliste. „In meiner Nähe“ nur mit eingegebener Stadt oder PLZ und einer eigenen Ortstabelle (z. B. OpenGeoDB), nie mit dem Gerätestandort.\n\nJSON-LD nur für kommende Termine, die ohne Klick sichtbar sind: MusicEvent mit eventStatus, previousStartDate, offers.availability. Importfehler: letzte gültige Liste mit Stand-Datum und „Neu laden“, nie leere Fläche. Leerzustand mit Newsletter (Double-Opt-in, Region freiwillig). In der Demo sind Anbieter, Domains und Links erfunden und öffnen nicht.",
  "mobil": "Jede Zeile wird zur Karte: Datum, Wochentag und Beginn oben in einer Zeile, Stadt groß, Ort und Support, Status, Hinweis, dann Ticketknopf in voller Breite (48 px) und daneben das Mehr-Menü. Filter als wischbare Leiste. Vergangene Termine ohne Aktionen.",
  "reduzierte_bewegung": "Zeilen erscheinen nie animiert. Bei reduzierter Bewegung öffnen Menüs und vergangene Termine ohne Clip und Höhenänderung, die Kontur läuft nicht.",
  "barrierefreiheit": "Je Gruppe <section> mit Überschrift und <ol>, Datum als <time>, Land als <abbr>. Status immer als Wort, Farbe und Form nur zusätzlich; verlegt mit <del> und „verlegt vom“. Ticketlinks 48 px hoch, ihr Name nennt Stadt, Datum, Anbieter und „öffnet in neuem Tab“. Mehr-Menü mit aria-expanded, role=menu, Pfeiltasten, Escape. Trefferzahl in aria-live, Filter-Chips als Knöpfe „… entfernen“. Eingeklappte vergangene Termine mit inert. Fehler und Leerzustand mit role=status. „In meiner Nähe“ nur über Eingabe, nie über den Standort. Kontrast: Meta 6,5:1, Abgesagt 6,8:1, Ära-Fläche mit Papier 4,6:1."
 },
 "messwerte": {
  "easing": "cubic-bezier(0.16, 1, 0.3, 1) beim Öffnen, cubic-bezier(0.7, 0, 0.84, 0) beim Schließen",
  "dauer_ms": "Aufklappen 300, Zuklappen 200, Menü 250 / 170; Zeilen ohne Einblendung",
  "stagger_ms": "",
  "distanz": "",
  "sonstiges": "Takt und Dauern aus dem Rezept musik-kuenstler-buehne (animationsstil_ui token-toggle-asymmetrisch, Schließen etwa 65 % der Öffnungszeit)",
  "herkunft": "eigene Festlegung",
  "quelle": "Rezept musik-kuenstler-buehne"
 },
 "kurve": {
  "bezier": [
   0.16,
   1.0,
   0.3,
   1.0
  ],
  "css": "cubic-bezier(0.16, 1, 0.3, 1)",
  "name": "expo.out",
  "dauer_ms": 300
 },
 "gesehen_bei": [
  {
   "seite": "Tocotronic (Band)",
   "url": "https://www.tocotronic.de/dates/",
   "auszeichnung": "",
   "beobachtung": "Datum TT.MM.JJJJ, Stadt mit Länderkürzel „Hamburg (DE)“ und verlinktem Ort, Status „Ausverkauft“ (nicht verlinkt) oder Link „Tickets“. Je Termin „Google Kalender“ und „Download iCal“, Gruppen nach Tour bzw. Reihe, lange Listen mit „mehr anzeigen“ (geprüft 02.11.2026).",
   "art": "website"
  },
  {
   "seite": "Kraftklub (Band)",
   "url": "https://www.kraftklub.to/home/",
   "auszeichnung": "",
   "beobachtung": "Termine mit iCal und „Show more details“; ausverkaufte Termine zeigen „Ausverkauft“ und verlinken auf „RESALE“. Tickets laufen über den eigenen Ticketshop (geprüft 02.11.2026).",
   "art": "website"
  },
  {
   "seite": "Ninja Tune (Label)",
   "url": "https://ninjatune.net/events",
   "auszeichnung": "",
   "beobachtung": "Label-Ansicht: Events nach Tag gruppiert, je Zeile Künstler:in (verlinkt), Ort, Stadt und Land, Link „TICKETS“ zum Anbieter. Filter nach Künstler:in mit Suchfeld und nach Stadt (geprüft 02.11.2026).",
   "art": "website"
  },
  {
   "seite": "Alicja Kwade (bildende Künstlerin)",
   "url": "https://alicjakwade.com/exhibitions",
   "auszeichnung": "",
   "beobachtung": "Ausstellungen in „Current Exhibitions“ und „Past Exhibitions (selected)“, je Eintrag Titel, Haus, Stadt, Land und Zeitraum (geprüft 02.11.2026).",
   "art": "website"
  },
  {
   "seite": "Google Search Central: Event structured data",
   "url": "https://developers.google.com/search/docs/appearance/structured-data/event",
   "auszeichnung": "",
   "beobachtung": "Event-Markup mit eventStatus (EventScheduled, EventRescheduled, EventCancelled u. a.), previousStartDate für verlegte Termine und offers.availability.",
   "art": "artikel"
  },
  {
   "seite": "IT-Recht Kanzlei: BGH zum Widerrufsausschluss bei Veranstaltungstickets",
   "url": "https://www.it-recht-kanzlei.de/bgh-widerrufsausschluss-veranstaltungstickets.html",
   "auszeichnung": "",
   "beobachtung": "Kein Widerrufsrecht für termingebundene Tickets (BGH VIII ZR 317/21). Wichtig nur, wenn der Act selbst Tickets verkauft; beim externen Anbieter regelt der Anbieter das.",
   "art": "artikel"
  }
 ],
 "tutorials": [
  {
   "titel": "Google Search Central: Event structured data",
   "url": "https://developers.google.com/search/docs/appearance/structured-data/event"
  },
  {
   "titel": "RFC 5545: iCalendar",
   "url": "https://www.rfc-editor.org/rfc/rfc5545"
  }
 ],
 "kombinierbar_mit": [
  "facettenfilter-ergebnisliste",
  "kontur-button-zeichnen",
  "tiefen-taste-3d",
  "footer-newsletter-mit-persoenlichkeit",
  "toast-stapel",
  "kopieren-feedback",
  "fehlerseite-leerzustand"
 ],
 "urls": {
  "detail": "https://cecodesign.de/lab/fundus/sektionen/tourdaten-liste/",
  "meta": "https://cecodesign.de/lab/fundus/sektionen/tourdaten-liste/meta.json",
  "demo": "https://cecodesign.de/lab/fundus/sektionen/tourdaten-liste/demo"
 },
 "herkunft": {
  "quelldateien": [
   "Rezept-Runde 02.11.2026"
  ],
  "pruefnotizen": [
   "Belege aus der Rezept-Runde vom 02.11.2026 (Tocotronic, Kraftklub, Ninja Tune, Alicja Kwade per WebFetch als Text geprüft; CSS nicht gemessen).",
   "Bewegungswerte sind aus dem Rezept übernommen, keine Messung am Muster.",
   "Widerrufsrecht und Erstattung sind Rechtsfragen: Texte in der Demo sind markierte Platzhalter, vom Kunden prüfen lassen."
  ]
 },
 "bau": {
  "status": "fertig",
  "kurz": "Tourdaten als echte Liste: Datum, Stadt, Ort, Status als Wort und Ticketweg zum Anbieter, mit Verlegt, Abgesagt, Zusatzkonzert, .ics, Abo, Filter ab 15 Terminen und MusicEvent-Markup.",
  "demo": true,
  "abhaengigkeiten": [],
  "werte": {
   "klappen": "Vergangene Termine: grid-template-rows 0fr → 1fr, öffnen 300 ms cubic-bezier(0.16, 1, 0.3, 1), schließen 200 ms cubic-bezier(0.7, 0, 0.84, 0); geschlossen inert",
   "menue_und_filter": "popover, clip-path inset(0 0 100% 0) → inset(0), öffnen 250 ms cubic-bezier(0.16, 1, 0.3, 1), schließen 170 ms cubic-bezier(0.7, 0, 0.84, 0), @starting-style plus display/overlay allow-discrete; 6 px unter dem Knopf, Menü rechtsbündig, Filter linksbündig, klappt nach oben, wenn unten kein Platz",
   "zeilen": "keine Einblendung; Hover 0 ms (Verlauf rgba(238,235,227,.06) → transparent 70 %)",
   "raster_desktop": "Tour 9rem | minmax(0,1fr) | 10.5rem | calc(13.5rem + 56px); Label minmax(0,12rem) | 8.5rem | 1fr | 9.5rem | Aktion (Stadt 1.125rem); Ausstellungen 12.5rem | 1fr | 11rem | Aktion. Aktionsspalte fest, damit alle Zeilen fluchten",
   "raster_telefon": "ab 760 px eine Spalte: Datum oben (Wochentag, Datum, Beginn in einer Zeile), Stadt Science Gothic 1.625rem, Ort und Support, Status, Hinweis, dann Ticketknopf volle Breite plus Mehr 48 × 48; Kopf bricht ab 760 px um, Wortmarke font-stretch 200/125/100 % nach Länge (unter 360 px 150/112,5/100 %)",
   "ticketknopf": "kontur-button-zeichnen Variante laufend: Strich 1,25 px, dasharray 7 5, Hover/Fokus stroke-dashoffset 0 → -48 in 1600 ms linear, 3 Umläufe; min-height 48 px; zwei Zeilen „Tickets“ (Martian Mono .875rem 600 versal +0.04em) und „bei Anbieter“ (.6875rem)",
   "haupttaste": "tiefen-taste-3d Variante versatz-brutal: Fläche Ära-Farbe, Kante inset 2 px Papier, Versatz 5 px; Hover translate(-2px,-2px) und 7 px in 160 ms steps(2, end); Druck translate(5px,5px), 0 ms",
   "status": "Wort plus Form: Vorverkauf Quadrat voll, Wenige Karten halb, Ausverkauft Kreuz mit Rahmen, Zusatzkonzert Ära-Fläche mit „neu“, Verlegt gestricheltes Quadrat, Abgesagt Kreuz in #ff6b5e, Festival Kreis; Martian Mono .75rem 600 versal +0.08em",
   "typo": "Stadt Science Gothic 700 1.25rem wdth 100 versal; Gruppe Science Gothic 700 clamp(1.375rem, 1rem + 1.4vw, 2rem) wdth 120; h2 clamp(2rem, 1.2rem + 3.5vw, 4rem) wdth 120; Datum Martian Mono 600 .9375rem wdth 87.5 tabular-nums; Text Redaction 1.1875rem/1.6; Ausstellungstitel Redaction kursiv clamp(1.5rem, 1.1rem + 1.2vw, 2rem)",
   "farben": "Tinte #111113, Papier #eeebe3 (15,8:1), Ära #c2361f (Papier darauf 4,6:1, auf Tinte nur als Fläche mit Papierkante), Meta #9a9893 auf Tinte (6,5:1), #5c5a55 auf Papier (5,8:1), Abgesagt #ff6b5e auf Tinte (6,8:1), #a8281c auf Papier (5,9:1)",
   "filter_ab": "15 kommende Termine; Tour: Land, Monat, In meiner Nähe; Label: Künstler:in (mit Suche), Stadt, In meiner Nähe; Zahlen je Wert unter Berücksichtigung der anderen Filter",
   "naehe": "Eingabe Stadt oder PLZ (zwei Ziffern, sonst Leitzone), Umkreis 100/150/300 km, Luftlinie (Haversine), Abstand auf 10 km gerundet in der Zeile; nie navigator.geolocation",
   "ics": "RFC 5545: VTIMEZONE Europe/Berlin, DTSTART;TZID mit Wandzeit, Ende Beginn + 3 h, Festivals ganztägig mit exklusivem DTEND, Maskierung \\ ; , Zeilenumbruch, Faltung nach 75 Oktetten, CRLF; Abo als webcal://…/termine.ics",
   "json_ld": "MusicEvent (Ausstellungen: ExhibitionEvent) nur für kommende, sichtbare Termine; eventStatus EventScheduled/EventRescheduled (mit previousStartDate)/EventCancelled; offers.availability InStock/LimitedAvailability/SoldOut; Offsets +01:00/+02:00 nach letztem Sonntag im März und Oktober",
   "demo_stand": "fest Mo 02.11.2026 (im Einsatz new Date()); Importfehler zeigt Stand Fr 30.10.2026, 18:20",
   "vorfuehrung": "Zeiger 720 ms expo.out; Tour: In meiner Nähe „Essen“ 150 km, zurücksetzen, Mehr bei Hamburg → .ics, Land AT + CH, zurücksetzen; Label: Künstler:in suchen „dop“ → Doppelschicht, Stadt Hamburg, zurücksetzen; Ausstellungen: Eröffnung in den Kalender, vergangene auf und zu"
  },
  "ausloeser": "klick",
  "touch": "Filterleiste waagerecht wischbar, Zeilen werden Karten mit Ticketknopf in voller Breite (48 px), Mehr-Menü per Tippen, Hover-Verlauf entfällt. Teilen nutzt navigator.share, sonst Link kopieren.",
  "reduziert": "Menüs, Filter und vergangene Termine öffnen und schließen ohne Clip und Höhenänderung, Kontur läuft nicht, harte Taste springt ohne Stufen, Toast nur Deckkraft 120 ms, Zeiger springt. Zeilen sind immer ohne Einblendung.",
  "korrekturen": {
   "beschreibung": "Die Termine eines Acts an vielen Orten als echte Liste, gruppiert nach Tour oder Reihe. Jede Zeile zeigt Datum mit Wochentag und Beginn, Stadt mit Länderkürzel, Ort als Link, Support, den Status als Wort und den Weg zum Ticket beim Anbieter. Ein Mehr-Menü je Termin legt eine .ics-Datei in den Kalender oder teilt den Termin; oben abonniert ein webcal-Feed alle Termine. Das Statusvokabular: Im Vorverkauf, Wenige Karten, Ausverkauft (Resale nur, wenn der Veranstalter ihn anbietet), Zusatzkonzert, Verlegt mit altem und neuem Datum, Abgesagt mit Hinweis zur Erstattung, Festival mit Link zum Festival. Vergangene Termine sind eingeklappt. Die Daten kommen aus einer JSON-Datei oder einem Import und werden selbst gesetzt; daraus entsteht auch das Event-Markup.",
   "warum_es_wirkt": "Fans kommen mit zwei Fragen: Spielt die Band in meiner Nähe, und gibt es noch Karten? Eine Zeile pro Termin mit Datum, Stadt und Status beantwortet beides am Telefon in Sekunden. Der Status als Wort ist eindeutig, auch ohne Farbe und für Screenreader. Verlegte Termine mit altem und neuem Datum sparen Nachfragen. Kalenderdatei und Abo machen aus Interesse einen festen Termin.",
   "wann_einsetzen": "Bands, Musiker:innen, DJs, Chöre und Ensembles mit Terminen an vielen Orten; Labels mit Terminen mehrerer Acts; Lesereisen und Comedy-Touren; bildende Künstler:innen mit Ausstellungen in verschiedenen Häusern. Ab etwa vier Terminen im Jahr, Filter ab etwa 15.",
   "wann_nicht": "Ein Haus mit vielen Terminen an einem Ort braucht programm-kalender (Rubriken, Monatsansicht). Wiederkehrende Wochentermine gehören in wochen-kursplan. Termin-Widgets von Bandsintown oder Songkick nicht als iframe einbinden: Sie laden Dritte vor der Einwilligung und brechen die Gestaltung. Daten importieren und selbst setzen.",
   "varianten": [
    "Tour: ein Act, nach Tour bzw. Reihe gruppiert (Tour, Festivals), vergangene Termine eingeklappt",
    "Label: mehrere Acts, Künstler:in als erste Spalte, nach Monat gruppiert, Filter nach Künstler:in und Stadt",
    "Ausstellungen: aktuell, kommend und Auswahl vergangen; Titel, Haus, Stadt, Zeitraum, Einzel- oder Gruppenausstellung, Link zum Haus statt Ticket",
    "Teaser: die nächsten drei Termine im Hero mit Ticketlink und Link zur ganzen Liste"
   ],
   "umsetzung": "Daten als JSON (id, gruppe, start, ende, stadt, land, ort, support, status, anbieter; bei Verlegung vorher und verfuegbar, bei Ausverkauf optional resale, bei Festival festival). Eine Render-Funktion setzt je Gruppe eine <section> mit Überschrift und <ol>, je Termin ein <li> mit <time datetime>. Kalenderrechnung in UTC, Anzeige mit Intl.DateTimeFormat('de-DE').\n\nZeile: Datum in Martian Mono mit tabular-nums, Stadt als Überschrift mit <abbr> für das Land, Ort als Link, Status als Text mit Form-Zeichen. Ticketlink <a target=\"_blank\" rel=\"noopener\">, sichtbar „Tickets / bei Anbieter“, versteckt „für Stadt am Datum“ und „öffnet in neuem Tab“. Ausverkauft ohne Ticketknopf; Resale-Link nur mit resale: true. Verlegt: <del> für das alte Datum mit „verlegt vom“, Satz zur Gültigkeit der Tickets als Platzhalter. Abgesagt: Datum durchgestrichen, Knopf „Erstattung bei Anbieter“.\n\nMehr-Menü: <button popovertarget> und <div popover role=\"menu\">, Pfeiltasten, Escape schließt und gibt den Fokus zurück. .ics als Blob (VTIMEZONE Europe/Berlin, Faltung nach 75 Oktetten, CRLF). Teilen über navigator.share, sonst Link kopieren. Abo als webcal://-Link auf einen Feed, den der Server aus derselben JSON erzeugt.\n\nFilter erst ab etwa 15 kommenden Terminen, Variante leiste von facettenfilter-ergebnisliste. „In meiner Nähe“ nur mit eingegebener Stadt oder PLZ und einer eigenen Ortstabelle (z. B. OpenGeoDB), nie mit dem Gerätestandort.\n\nJSON-LD nur für kommende Termine, die ohne Klick sichtbar sind: MusicEvent mit eventStatus, previousStartDate, offers.availability. Importfehler: letzte gültige Liste mit Stand-Datum und „Neu laden“, nie leere Fläche. Leerzustand mit Newsletter (Double-Opt-in, Region freiwillig). In der Demo sind Anbieter, Domains und Links erfunden und öffnen nicht.",
   "mobil": "Jede Zeile wird zur Karte: Datum, Wochentag und Beginn oben in einer Zeile, Stadt groß, Ort und Support, Status, Hinweis, dann Ticketknopf in voller Breite (48 px) und daneben das Mehr-Menü. Filter als wischbare Leiste. Vergangene Termine ohne Aktionen.",
   "reduzierte_bewegung": "Zeilen erscheinen nie animiert. Bei reduzierter Bewegung öffnen Menüs und vergangene Termine ohne Clip und Höhenänderung, die Kontur läuft nicht.",
   "barrierefreiheit": "Je Gruppe <section> mit Überschrift und <ol>, Datum als <time>, Land als <abbr>. Status immer als Wort, Farbe und Form nur zusätzlich; verlegt mit <del> und „verlegt vom“. Ticketlinks 48 px hoch, ihr Name nennt Stadt, Datum, Anbieter und „öffnet in neuem Tab“. Mehr-Menü mit aria-expanded, role=menu, Pfeiltasten, Escape. Trefferzahl in aria-live, Filter-Chips als Knöpfe „… entfernen“. Eingeklappte vergangene Termine mit inert. Fehler und Leerzustand mit role=status. „In meiner Nähe“ nur über Eingabe, nie über den Standort. Kontrast: Meta 6,5:1, Abgesagt 6,8:1, Ära-Fläche mit Papier 4,6:1."
  },
  "geprueft": "02.11.2026",
  "notiz": "Welt: Rezept musik-kuenstler-buehne. Erfundene Band Zinkweiß aus Duisburg-Ruhrort mit dem Album „Kaltes Walzwerk“, Ära-Farbe Zinnober; Label Ruhrort Tonträger (Zinkweiß, Liska Tamm, Doppelschicht, Koksbach); Bildhauerin Ida Rheinfeld für die Ausstellungen. Ticketanbieter (Kartenhaus, Billettwerk, Tixmarkt), Orte und Domains (.example) erfunden; Links öffnen in der Demo nicht. Science Gothic, Redaction, Martian Mono aus dem Rezept. 16 kommende Termine (12 Tour, 4 Festivals) mit allen Zuständen, 6 vergangene; Label 18 plus 4. Pult schaltet Daten auf Leer (Newsletter) und Importfehler (Stand 30.10.2026) und zeigt das erzeugte JSON-LD. Status „Tickets“ heißt in der Liste „Im Vorverkauf“, damit er nicht mit dem Ticketknopf doppelt. Referenzen: tocotronic.de, kraftklub.to, ninjatune.net, alicjakwade.com, developers.google.com. AD-Review-Nachbesserung: Kopf ab 760 px umbrechend mit schmalerer Wortmarke (--breite-s, --breite-xs), Titel „Ausstel­lungen“ mit weichem Trennstrich, Klappen-Titel ohne Mindestbreite, Label-Raster mit breiterer Stadtspalte (Amsterdam brach mitten im Wort); 320 px ohne Querscrollen in allen drei Varianten. AD-Review 02.11.2026: Note 5",
  "varianten": [
   {
    "id": "tour",
    "name": "Tour eines Acts",
    "wann": "Band, Musiker:in, Chor mit Tourabschnitten und Festivals.",
    "werte": {
     "gruppen": "nach Tour bzw. Reihe (Tour Frühjahr, Festivals Sommer)",
     "filter": "Land, Monat, In meiner Nähe",
     "haupttaste": "Alle Termine abonnieren"
    }
   },
   {
    "id": "label",
    "name": "Label mit mehreren Acts",
    "wann": "Label, Agentur oder Kollektiv, dessen Acts an vielen Orten spielen.",
    "werte": {
     "erste_spalte": "Künstler:in, Science Gothic 1.125rem wdth 90",
     "gruppen": "nach Monat",
     "filter": "Künstler:in mit Suche, Stadt, In meiner Nähe"
    }
   },
   {
    "id": "ausstellungen",
    "name": "Ausstellungen",
    "wann": "Bildende Künstler:in mit Einzel- und Gruppenausstellungen in verschiedenen Häusern.",
    "werte": {
     "grund": "Papier #eeebe3, Text Tinte, Meta #5c5a55",
     "gruppen": "Aktuell, Kommend, Vergangen (Auswahl, eingeklappt)",
     "zeile": "Zeitraum von–bis, Titel Redaction kursiv, Haus und Stadt, Einzel/Gruppe, Läuft/Kommend/verlängert",
     "aktion": "Zum Haus statt Ticket, Eröffnung als .ics",
     "filter": "keiner (unter 15)"
    }
   }
  ]
 }
}
