Zeitkonflikte und Überschneidungen im Reiseplan prüfen
Die Prüfung für Zeitkonflikte untersucht geplante Aktivitäten und erkennt jedes Paar, das denselben Zeitraum belegt.
Im Browser ausführen – kostenlos
Geben Sie Name, Beginn und Ende im 24-Stunden-Format HH:MM ein. Das Ergebnis zeigt, ob und wie viele Konflikte bestehen, welche Aktivitäten betroffen sind und welches Zeitfenster sie teilen. Endet eine Aktivität vor ihrem Beginn, wird sie abgelehnt, damit ein ungültiger Plan keine irreführenden Ergebnisse erzeugt.
Erfassen Sie einen eindeutigen Tagesplan
Geben Sie jeder Aktivität einen aussagekräftigen Namen und tragen Sie Beginn und Ende im 24-Stunden-Format HH:MM ein. Alle Einträge gelten als Aktivitäten desselben Tages. Die Prüfung eignet sich damit für Besichtigungen, Tagungen, Ausflüge und Reisetage. Verwenden Sie Namen, die im Ergebnis leicht zuzuordnen sind; „Museumsführung“ ist hilfreicher als „Führung“. Eine chronologische Sortierung ist nicht erforderlich. Alle Paare werden verglichen, wobei der ursprüngliche, bei 0 beginnende Index erhalten bleibt. So kann Software einen Konflikt sicher dem übermittelten Datensatz zuordnen. Beginn und Ende dürfen gleich sein; eine solche Aktivität hat keine Dauer und verursacht keine Überschneidung. Eine Nachtaktivität von 23:00 bis 01:00 passt nicht in dieses Tagesmodell, weil ihr Ende vor dem Beginn zu liegen scheint. Teilen Sie solche Pläne nach Datum auf, bevor Sie sie prüfen.
Verstehen Sie die genaue Konfliktregel
Zwei Aktivitäten stehen nur dann im Konflikt, wenn sie eine positive Zeitspanne gemeinsam haben. Endet ein Museumsbesuch um 11:00 und beginnt das Mittagessen um 11:00, berühren sich die Intervalle lediglich. Ein Beginn um 10:59 verursacht dagegen einen Konflikt von einer Minute. Für jede Überschneidung nennt die Ausgabe Namen und Indizes beider Aktivitäten, Anfang und Ende des gemeinsamen Fensters sowie dessen Länge in Minuten. Der Bericht ist vollständig: Belegen drei Aktivitäten denselben Zeitraum, erscheinen alle drei Paare statt eines ungenauen Sammelblocks. Menschen und Programme können dadurch jede Beziehung einzeln bearbeiten. Die Paare folgen in deterministischer Reihenfolge der Eingabe und werden nicht nach Schweregrad sortiert. Liegt eine Aktivität vollständig in einer anderen, ist ihre gesamte Dauer das Überschneidungsfenster. Identische Zeiträume stehen ebenfalls während ihrer vollen Dauer im Konflikt.
Korrigieren Sie ungültige Zeiten und nutzen Sie die Ausgabe
Vor dem Vergleich wird jede Uhrzeit geprüft. Sie muss aus zwei Stundenziffern, einem Doppelpunkt und zwei Minutenziffern bestehen und zwischen 00:00 und 23:59 liegen. Ein Ende vor dem Beginn führt sofort zu einem Eingabefehler. Die Prüfung nimmt weder einen Verlauf über Mitternacht an noch korrigiert sie Werte automatisch, weil dies einen Buchungsfehler verbergen könnte. Verwenden Sie bei gültigen Daten `has_conflicts` für eine einfache Entscheidung, `conflict_count` als Zusammenfassung und `conflicts` für Einzelheiten neben den ursprünglichen Datensätzen. Ein Reiseplaner kann eine Auswahl zwischen jedem Paar verlangen; eine Tabelle kann die genannten Indizes markieren. Senden Sie nach einer Änderung die vollständige Liste erneut. Null Konflikte bestätigen, dass keine Überschneidung mit positiver Dauer verbleibt. Die Berechnung ist deterministisch und benötigt weder Netzwerk noch aktuelle Uhrzeit. Im Browser ist sie kostenlos; eine API-Anfrage kostet den veröffentlichten Grundpreis von $0.002.
Anwendungsfälle
Einen Besichtigungstag prüfen
Prüfen Sie zeitgebundene Eintrittskarten, Führungen, Mahlzeiten und Transfers vor der Buchung.
Ein Tagungsprogramm validieren
Finden Sie Sitzungen, Besprechungen und Veranstaltungen, die dieselbe Person gleichzeitig beanspruchen.
Eine Planungsanwendung ergänzen
Markieren Sie mit stabilen Indizes und vollständigen Konfliktpaaren die neu zu planenden Einträge.
Häufige Fragen
Welches Zeitformat muss ich verwenden?
Verwenden Sie 24-Stunden-Werte im Format HH:MM von 00:00 bis 23:59, etwa 09:30 oder 18:05.
Stehen direkt aufeinanderfolgende Aktivitäten im Konflikt?
Nein. Endet eine Aktivität genau beim Beginn der nächsten, berühren sich die Intervalle nur und es wird kein Konflikt gemeldet.
Was geschieht, wenn das Ende vor dem Beginn liegt?
Die Anfrage schlägt mit einem Eingabefehler fehl, der die Position nennt. Eine Fortsetzung über Nacht wird nicht angenommen.
Kann die Prüfung mehrere Konflikte melden?
Ja. Sie gibt jedes überlappende Paar aus, einschließlich aller Kombinationen, wenn drei oder mehr Aktivitäten zusammentreffen.
Kann ich Aktivitäten an verschiedenen Tagen prüfen?
Nicht unmittelbar. Verglichen werden Uhrzeiten desselben Tages. Gruppieren Sie die Aktivitäten nach Datum und prüfen Sie jeden Tag einzeln.
Was kostet eine API-Anfrage?
Eine API-Anfrage nutzt den veröffentlichten Grundpreis von $0.002. Im Browser läuft dieselbe deterministische Prüfung kostenlos.
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/travel2/itinerary-time-conflict-check \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"activities":[{"name":"Museum visit","start":"09:00","end":"11:00"},{"name":"Walking tour","start":"10:30","end":"12:00"}]}'const res = await fetch("https://api.kit.forhosting.com/travel2/itinerary-time-conflict-check", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"activities": [
{
"name": "Museum visit",
"start": "09:00",
"end": "11:00"
},
{
"name": "Walking tour",
"start": "10:30",
"end": "12:00"
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/travel2/itinerary-time-conflict-check",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"activities": [
{
"name": "Museum visit",
"start": "09:00",
"end": "11:00"
},
{
"name": "Walking tour",
"start": "10:30",
"end": "12:00"
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/travel2/itinerary-time-conflict-check", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"activities":[{"name":"Museum visit","start":"09:00","end":"11:00"},{"name":"Walking tour","start":"10:30","end":"12:00"}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"activities":[{"name":"Museum visit","start":"09:00","end":"11:00"},{"name":"Walking tour","start":"10:30","end":"12:00"}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/travel2/itinerary-time-conflict-check", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"activities": [
{
"name": "Museum visit",
"start": "09:00",
"end": "11:00"
},
{
"name": "Walking tour",
"start": "10:30",
"end": "12:00"
}
]
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "travel2.itinerary_time_conflict_check",
"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.
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. |