Veranstaltungsprogramm erstellen und Überschneidungen erkennen
Verwandeln Sie eine Liste aus Programmpunkten, Startzeiten und Dauern ohne manuelles Rechnen in einen übersichtlichen Ablaufplan.
Im Browser ausführen – kostenlos
Der Generator sortiert alle Termine, berechnet die genaue Endzeit, kennzeichnet Einträge über Mitternacht und meldet Überschneidungen samt Dauer. Er eignet sich für Tagungen, Workshops, Gemeindeveranstaltungen, Schulungstage und jedes Programm, bei dem ein Zeitfehler Vortragende, Personal oder Gäste irritieren könnte.
Geben Sie einen verlässlichen Ausgangsplan ein
Beginnen Sie mit dem Namen der Veranstaltung und einem Datensatz für jeden Programmpunkt, den Sie veröffentlichen möchten. Jeder Datensatz benötigt eine eindeutige Bezeichnung, eine Startzeit im 24-Stunden-Format HH:MM und eine positive ganzzahlige Dauer in Minuten. Das 24-Stunden-Format verhindert Verwechslungen zwischen Vormittag und Abend; Minuten bilden sowohl kurze Pausen als auch lange Workshops präzise ab. Der Generator sortiert die Datensätze nach Startzeit, sodass Ihre Eingabe nicht bereits chronologisch geordnet sein muss. Verwenden Sie dennoch unterscheidbare, gut lesbare Namen: Sie erscheinen im Konfliktbericht und helfen, Überschneidungen schnell zuzuordnen. Behandeln Sie die übermittelte Liste als verbindlichen Plan eines Veranstaltungstages. Beginnt ein Programmpunkt spät und reicht über Mitternacht hinaus, springt seine Endzeit auf den Folgetag; der Tagesversatz weist diesen Übergang ausdrücklich aus. Leere Pläne, fehlerhafte Uhrzeiten, fehlende Namen und nicht positive Dauern werden abgelehnt, damit kein nur scheinbar stimmiges Programm entsteht.
Verstehen Sie Endzeiten und Überschneidungshinweise
Das Ergebnis enthält den Veranstaltungsnamen, die Anzahl der Programmpunkte, eine chronologische Liste, einen allgemeinen Konflikthinweis und eine ausführliche Aufstellung der Überschneidungen. Jeder Eintrag übernimmt Startzeit und Dauer und ergänzt die berechnete Endzeit. Ein Tagesversatz von null bedeutet ein Ende am selben Tag; der Wert eins kennzeichnet ein Ende nach der folgenden Mitternacht. Zwei Programmpunkte überschneiden sich, wenn der spätere beginnt, bevor der frühere endet. Endet einer genau um 10:30 und beginnt der nächste um 10:30, liegt kein Konflikt vor. Bei einer Überschneidung nennt der Bericht beide Einträge und die gemeinsamen Minuten. So können Sie entscheiden, ob Sie einen Vortrag kürzen, einen Start verschieben oder verschiedene Räume nutzen. Der Generator prüft alle maßgeblichen Paare, nicht nur benachbarte Zeilen. Ein langer Workshop, der mehrere kürzere Termine überdeckt, erzeugt daher sämtliche zutreffenden Hinweise.
Binden Sie den Ablaufplan in Ihre Organisation ein
Erzeugen Sie das Programm nach jeder Zeitänderung erneut und verwenden Sie die strukturierte Antwort als geprüfte Quelle für Website, Teilnehmer-E-Mail, gedruckte Agenda, Beschilderung oder Hinweise an Vortragende. Bei einem manuellen Ablauf fügen Sie den aktuellen Plan in das Browserwerkzeug ein und kontrollieren vor der Veröffentlichung den Konfliktstatus. In einem automatisierten Ablauf rufen Sie beim Speichern einer Agenda die API für $0.002 auf, verhindern die Veröffentlichung, wenn has_overlaps wahr ist, und übertragen die berechneten Felder in Ihre Dokumentvorlage. Da der Algorithmus weder Netzwerk noch aktuelles Datum, Zufallswerte oder verborgene Kalenderannahmen verwendet, liefert dieselbe Eingabe stets dasselbe Ergebnis. Dadurch lassen sich Versionen vergleichen und geänderte Zeiten genau erkennen. Das Werkzeug vergibt keine Räume, ergänzt keine Wegezeiten, errät keine Zeitzonen und behebt keine Konflikte. Es liefert genaue Zeitberechnungen und einen vollständigen Bericht, damit Sie fundiert planen können.
Anwendungsfälle
Prüfung einer Tagungsagenda
Berechnen Sie Vortragsenden und erkennen Sie Konflikte bei Personen oder Räumen vor der Veröffentlichung.
Planung eines Workshoptages
Ordnen Sie Unterricht, Übungen, Mahlzeiten und Pausen zu einem lückenlos definierten Zeitplan.
Automatisierte Programmveröffentlichung
Prüfen Sie eine Agenda in Ihrer Anwendung und übergeben Sie das Ergebnis an Web-, E-Mail- oder Druckvorlagen.
Häufige Fragen
Was kostet die Nutzung?
Eine API-Anfrage kostet $0.002; die Browserversion lässt sich auf dieser Seite lokal ausführen.
Welches Zeitformat soll ich verwenden?
Nutzen Sie das 24-Stunden-Format HH:MM, beispielsweise 09:30 oder 17:05.
Was geschieht, wenn ein Programmpunkt über Mitternacht reicht?
Die Endzeit wechselt auf den Folgetag; day_offset gibt die Anzahl der Tage nach dem Start an.
Gelten direkt aufeinanderfolgende Termine als Überschneidung?
Nein. Beginnt ein Eintrag genau in der Minute, in der der andere endet, erscheint keine Warnung.
Kann der Generator Konflikte automatisch beheben?
Nein. Er nennt jedes betroffene Paar und die Überschneidungsdauer; über Räume, Personen und Zeiten entscheiden Sie.
Für Entwickler — API-Zugang
Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem Stack
curl -X POST https://api.kit.forhosting.com/doc/event-program-generate \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"event_name":"Product Leadership Summit","sessions":[{"name":"Opening keynote","start_time":"09:00","duration_minutes":60},{"name":"Strategy panel","start_time":"09:45","duration_minutes":45},{"name":"Networking break","start_time":"10:30","duration_minutes":20}]}'const res = await fetch("https://api.kit.forhosting.com/doc/event-program-generate", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"event_name": "Product Leadership Summit",
"sessions": [
{
"name": "Opening keynote",
"start_time": "09:00",
"duration_minutes": 60
},
{
"name": "Strategy panel",
"start_time": "09:45",
"duration_minutes": 45
},
{
"name": "Networking break",
"start_time": "10:30",
"duration_minutes": 20
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/doc/event-program-generate",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"event_name": "Product Leadership Summit",
"sessions": [
{
"name": "Opening keynote",
"start_time": "09:00",
"duration_minutes": 60
},
{
"name": "Strategy panel",
"start_time": "09:45",
"duration_minutes": 45
},
{
"name": "Networking break",
"start_time": "10:30",
"duration_minutes": 20
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/doc/event-program-generate", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"event_name":"Product Leadership Summit","sessions":[{"name":"Opening keynote","start_time":"09:00","duration_minutes":60},{"name":"Strategy panel","start_time":"09:45","duration_minutes":45},{"name":"Networking break","start_time":"10:30","duration_minutes":20}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"event_name":"Product Leadership Summit","sessions":[{"name":"Opening keynote","start_time":"09:00","duration_minutes":60},{"name":"Strategy panel","start_time":"09:45","duration_minutes":45},{"name":"Networking break","start_time":"10:30","duration_minutes":20}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/doc/event-program-generate", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"event_name": "Product Leadership Summit",
"sessions": [
{
"name": "Opening keynote",
"start_time": "09:00",
"duration_minutes": 60
},
{
"name": "Strategy panel",
"start_time": "09:45",
"duration_minutes": 45
},
{
"name": "Networking break",
"start_time": "10:30",
"duration_minutes": 20
}
]
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "doc.event_program_generate",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Limits
max_mb | 25 |
max_pages | 200 |
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |