Linztermine

Veranstaltungen, Termine, Orte, Veranstalter und Kategorien in einem gemeinsamen Datensatz

← All datasets

The authoritative notes below are maintained in German.

Beschreibung

Linztermine.json führt die vier aktiven Linztermine-Schnittstellen in einer Datei zusammen:

  • Veranstaltungen und einzelne Termine;
  • Orte und Unterorte;
  • Veranstalter*innen;
  • fünf Hauptkategorien und 21 untergeordnete Tags.

Der aktuelle Snapshot deckt den Zeitraum vom 5. bis 14. September 2026 ab. Er enthält 211 Veranstaltungen mit 732 einzelnen Terminen, 571 Orte und Unterorte, 1.625 Veranstalter*innen und 26 Kategorien oder Tags.

Download

Linztermine.json herunterladen (ca. 1 MB)

Verwendungshinweise

Ein Eintrag in events kann mehrere Einträge in occurrences besitzen. Für Kalenderansichten sind diese einzelnen Vorkommen zu verwenden. location_id, organizer_id und tag_ids verknüpfen Events mit den drei Registern.

Der Live-Eventfeed verweist im aktuellen Zeitfenster bei 87 von 211 Events auf Orts-IDs, die im Ortsregister fehlen. location_name bleibt deshalb immer direkt am Event erhalten und ist auch bei einer fehlenden Referenz nutzbar. Veranstalter- und Tag-Referenzen sind vollständig auflösbar.

Alle Datums- und Zeitwerte aus dem Feed werden als Linzer Ortszeit interpretiert (Europe/Vienna) und mit ihrem UTC-Offset ausgegeben. Im Festival-Zeitfenster lautet der Offset +02:00; die Werte sind daher nicht als UTC zu behandeln.

Die Felder suitable_for_children und free_of_charge können true, false oder null enthalten. null bedeutet, dass die Quelle keine Angabe liefert.

Veranstaltungen können sich mit dem Ars-Programm überschneiden und benötigen bei einer gemeinsamen Anzeige eine quellenbewusste Deduplizierung. Die Inhalte sind deutschsprachig und werden von Veranstalter*innen gepflegt. Ein Snapshot kurz vor dem Hackathon muss den jetzigen Stand ersetzen.

Hackathon-Reifegrad

Empfohlen. Der zusammengeführte JSON-Snapshot ist ohne XML-Kenntnisse direkt nutzbar, thematisch stark und auf das Festival-Zeitfenster filterbar. Er ist nicht essential, weil der Live-Dienst keine Browser-CORS-Freigabe sendet, der Eventfeed eine falsche XML-Zeichenkodierung deklariert, Ortsreferenzen teilweise fehlen und die Daten bis September weiter geändert werden.

Gefundene Schnittstellen

Die offizielle Schnittstellenübersicht listet genau vier aktive XML-Endpunkte:

Zusätzlich existieren tags_xls.php und locations_xls.php. Trotz ihrer Namen liefern sie HTML-Tabellen und keine zusätzlichen Daten. Der ältere Katalogeintrag „Linztermine – Kategorie“ besitzt keinen funktionierenden Live-Endpunkt mehr; Hauptkategorien sind bereits im Tag-Feed enthalten.

Aktualisierung

Das mitgelieferte Python-Skript verwendet nur die Standardbibliothek:

python3 prepare_linztermine.py

Datumsgrenzen und lokale XML-Eingaben können als Argumente übergeben werden. Bei lokalen Eingaben ist für reproduzierbare Builds zusätzlich ein zeitzonenbehaftetes --retrieved-at erforderlich. Das Skript korrigiert die fehlerhafte Encoding-Deklaration des Eventfeeds, löst HTML-Zeichenreferenzen auf, prüft die vollständige XML-Struktur, validiert IDs und schreibt die Ausgabe atomar.

Quellen