Für Hochschulen und Schulen

Semesterdateien für Studienbüros

Wie Studienbüros Semesterzeiten, Fristen und Lehrveranstaltungen als Datei bereitstellen, die Studierende mit einem Tipp übernehmen.

Mit .studynow-Dateien bekommen Studierende die Eckdaten ihres Studiengangs mit einem Tipp in die App, statt sie abzutippen. Es gibt zwei Sorten:

  • Studiengangsrahmen — Semesterzeit, Vorlesungszeit, vorlesungsfreie Zeiten, hochschulweite Termine und Fristen, etwa Prüfungsan- und -abmeldung.
  • Lehrveranstaltungsliste — alle Veranstaltungen des Semesters mit Terminen und Fristen. Die Studierenden wählen daraus aus, was sie belegen.

Die normative Beschreibung steht in SPEC.md. Dieses Dokument ist der kurze Weg dorthin.


In drei Schritten

  1. Datei schreiben — am einfachsten eine der Beispieldateien kopieren und anpassen (siehe unten). Eine Datei je Studiengang und Semester.
  2. Auf einen Webserver legen — per HTTPS erreichbar.
  3. Link verteilen — in dieser Form:
    studynow://import?url=https://ihre-hochschule.de/pfad/informatik-bsc-wise2627.studynow
    

    Auf dem iPhone öffnet ein Tipp darauf die App mit einer Vorschau. Die Studierenden bestätigen, fertig. Enthält die Adresse der Datei ein & oder #, muss sie prozentkodiert werden.

Die Datei lässt sich auch direkt verschicken (Mail, AirDrop, Moodle-Download): iOS bietet dann „In StudyNow öffnen" an. Nur über den Link kann die App die Datei später aber neu laden — eine verschickte Datei kennt ihre Quelle nicht.

Beispieldateien

DateiWofür
informatik-bsc-wise2627.studynowVollständiger Studiengangsrahmen mit allem, was das Format kennt
mathematik-bsc-wise2627.studynowZweiter Studiengang — zeigt, dass zwei Importe nebeneinander bestehen. Noch mit phasen, der Schreibweise bis App-Version 6.10.0; die App liest sie weiter
fehlerhaft.studynowAbsichtlich falsch — so sieht die Fehlermeldung aus
informatik-bsc-wise2627-lehrveranstaltungen.studynowLehrveranstaltungsliste zum Informatik-Rahmen — Serien, Einzeltermine, Fristen und Fristserien gemischt
semestervorlage-wise2627.studynowEin ganzes Semester zum Weitergeben (Version 2) — mit Lehrenden, Räumen, Farben, Fristuhrzeit und „zählt als Prüfung“

Alle Datumsangaben, Wochentage und Uhrzeiten in den Beispielen sind Beispielwerte, keine verbindlichen Termine einer Hochschule.

Ein vollständiges Beispiel

{
  "format": "studynow",
  "version": 1,
  "profil": "studiengangsrahmen",
  "herausgeber": "Studienbüro Informatik",
  "studiengang": "Informatik B.Sc.",
  "semester": {
    "id": "wise-2026-27",
    "name": "Wintersemester 26/27 (Informatik B.Sc.)",
    "beginn": "2026-10-01",
    "ende": "2027-03-31",
    "vorlesungszeit": { "beginn": "2026-10-12", "ende": "2027-02-05" }
  },
  "vorlesungsfrei": [
    { "id": "weihnachten", "bezeichnung": "Weihnachtspause", "beginn": "2026-12-21", "ende": "2027-01-03" }
  ],
  "termine": [
    { "id": "begruessung", "art": "sonstiges", "bezeichnung": "Begrüßung Erstsemester",
      "datum": "2026-10-09", "beginn": "10:00", "ende": "12:00" }
  ],
  "fristen": [
    { "id": "pruefung-an", "art": "anmeldung", "bezeichnung": "Prüfungen",
      "start": "2026-11-16", "abgabe": "2026-11-30", "uhrzeit": "23:59" },
    { "id": "pruefung-ab", "art": "abmeldung", "bezeichnung": "Prüfungen", "abgabe": "2027-01-15" },
    { "id": "rueckmeldung", "art": "anmeldung", "bezeichnung": "Rückmeldung Sommersemester", "abgabe": "2027-02-15" }
  ]
}

Die Lehrveranstaltungsliste

Eine Datei je Studiengang und Semester, mit derselben studiengang-Angabe wie der Rahmen und dessen Semesterkennung. Dann landen die gewählten Veranstaltungen automatisch im richtigen Semester.

{
  "format": "studynow",
  "version": 1,
  "profil": "lehrveranstaltungen",
  "studiengang": "Informatik B.Sc.",
  "semester": "wise-2026-27",
  "veranstaltungen": [
    {
      "id": "M.079.1121",
      "veranstaltungsnummer": "M.079.1121",
      "titel": "Programmierung 1",
      "kurzform": "Prog 1",
      "serien": [
        { "id": "vl", "art": "vorlesung", "turnus": "woechentlich", "wochentag": "di",
          "beginn": "09:15", "ende": "10:45" }
      ],
      "termine": [
        { "id": "klausur", "art": "klausur", "datum": "2027-02-19", "beginn": "09:00", "ende": "11:00" }
      ],
      "fristserien": [
        { "id": "blaetter", "art": "uebungsblatt", "bezeichnung": "Übungsblatt",
          "turnus": "woechentlich", "erste": "2026-10-23", "letzte": "2027-01-29" }
      ]
    }
  ]
}

Einzeltermine, wenn Sie sie haben. Kann Ihr System nur Regeln ausgeben, reicht eine Serie: wochentag genügt, die App legt die Termine in die Vorlesungszeit und lässt vorlesungsfreie Zeiten aus. Beginnt eine Übung erst in der zweiten Woche, geben Sie zusätzlich von an.

Eigenschaften nur für das, was noch fehlt. Übungen, Klausurtermine und Übungsblätter erkennt die App an den Einträgen selbst. "pruefung": true lohnt sich, wenn der Klausurtermin noch nicht feststeht — die App erinnert die Studierenden dann daran, ihn nachzutragen.

Keine Räume und Lehrenden. Die gehören nicht ins Format; sie ändern sich zu oft und werden in der App gepflegt.

Korrekturen erreichen importierte Veranstaltungen nicht. Eine Lehrveranstaltungsliste wird nicht neu geladen. Wer eine Veranstaltung schon übernommen hat, korrigiert sie in der App; neu hinzugekommene Veranstaltungen kann man jederzeit dazunehmen.

Worauf es ankommt

Kennungen nie ändern. Jedes Semester, jede Phase, jede Pause trägt eine id. Über sie erkennt die App beim Neuladen, dass es dieselbe Phase ist, deren Ende sich verschoben hat. Wer eine id umbenennt, erzeugt aus Sicht der App eine neue Phase und löscht die alte.

Den Studiengang in den Semesternamen. Wer zwei Studiengänge studiert (Zwei- Fach, Lehramt), hat sonst zweimal „Wintersemester 26/27". Empfohlen: Wintersemester 26/27 (Informatik B.Sc.).

Daten als JJJJ-MM-TT, Uhrzeiten als HH:MM. Also 2026-11-16, nicht 16.11.2026.

Korrekturen einfach in die Datei. Ändern Sie die Datei auf dem Server, und die Studierenden laden in der App neu. Hat jemand einen Wert selbst angepasst, bleibt seine Änderung stehen — außer Sie ändern genau diesen Wert, dann fragt die App nach, welcher gelten soll.

Webserver

  • HTTPS, erreichbar ohne Anmeldung.
  • Inhaltstyp application/json oder application/vnd.studynow+json.
  • Für die Browser-Fassung der App zusätzlich Access-Control-Allow-Origin: *. Die iOS-App braucht das nicht.

Prüfen, bevor Sie verteilen

Öffnen Sie die Datei selbst über Einstellungen → Semester importieren. Ist etwas falsch, zeigt die App alle Fehler auf einmal mit der Stelle in der Datei, etwa phasen[0].beginn: „16.11.2026" ist kein gültiges Datum. Es wird dabei nichts angelegt.


Für Schulen (seit App-Version 6.4)

Schulen geben den Stundenplan einer Klasse oder das Kursangebot der Oberstufe als Schulvorlage weiter: Eine Lehrkraft richtet die Klasse in der App ein und teilt sie unter Einstellungen → Schulplan als Vorlage teilen. Wer die Datei öffnet, wählt aus den Wahlgruppen bzw. seine Kurse und bekommt ein eigenes Halbjahr – ohne Aufgaben, Rückblicke oder andere persönliche Angaben anderer. Aufbau: SPEC.md, Abschnitt 6b, Schema: schulvorlage.schema.json, Beispiele: beispiele/schulvorlage-7b.studynow, beispiele/schulvorlage-q11.studynow.

Liegt der Plan schon anders vor, nimmt die App auch Kalenderdateien (.ics, etwa aus WebUntis oder dem Schulportal) und Tabellen (.csv) an – Spalten und Regeln in SPEC.md, Abschnitt 6c, Beispiele unter beispiele/stundenplan*. Ein laufendes Kalenderabo gibt es noch nicht; eine Datei wird bei jedem Import einmal gelesen und mit dem Bestand abgeglichen.