Zgodność floty — Validate API Online
Sprawdza zarejestrowaną aktywność kierowcy pod kątem przepisów EU 561/2006 (lub AETR) dotyczących prowadzenia pojazdu i odpoczynku oraz dyrektywy 2002/15/EC o czasie pracy. Wyślij oś czasu jako treść JSON POST — bieżącą zmianę plus do 28 dni lub więcej historii podobnej do tachografu — i otrzymaj wszystkie naruszenia wraz z artykułem przepisu, znacznikiem czasu i wagą (przedziały z rozporządzenia (UE) 2016/403), ostrzeżenia oraz to, co kierowcy zostało w tej chwili: dzienny czas jazdy, budżety 56 h tygodniowo i 90 h na dwa tygodnie, kiedy przypada następna przerwa, odpoczynek dzienny i odpoczynek tygodniowy, wykorzystane wydłużone dni i skrócone odpoczynki oraz ewentualną należną rekompensatę za skrócony odpoczynek tygodniowy wraz z terminem. Obejmuje przerwy 4 h 30 min (w tym podział 15 + 30), dni 9/10 h, odpoczynek dzienny 11/9 h i 3 + 9 h, sześć 24-godzinnych okresów między odpoczynkami tygodniowymi, sekwencje skróconych odpoczynków tygodniowych i rekompensatę, podwójną obsadę (odpoczynek 9 h w ciągu 30 h), odpoczynek przerywany promem/pociągiem oraz według 2002/15 średnią 48 h, tydzień 60 h, przerwy po 6 h i limit 10 h pracy w nocy. Od v1.1: wyjątek z Art. 12 (do 1 h lub 2 h po przerwie 30 min, ponad limity dzienne i tygodniowe, aby dotrzeć do centrum operacyjnego lub do domu na odpoczynek tygodniowy) z należną rekompensatą i jej terminem, powrót do bazy lub do domu co 4 tygodnie wg Art. 8(8a), 12-dniowa derogacja z Art. 8(6a) dla okazjonalnych międzynarodowych przewozów autokarowych oraz krajowe okna pracy nocnej wg 2002/15 dla poszczególnych państw. route_plan_state można przekazać bezpośrednio do route-plan.
POST https://nakordoni.eu/api/v2/data/fleet/compliance/validate
— klasa limitu: heavy
| Parametr | Opis |
|---|---|
activities | (JSON body, wymagane) Czynności kierowcy, od najstarszej lub w dowolnej kolejności. Każda czynność: {type: drive | other_work | availability | break | rest, start, end} — ISO-8601 (data i godzina bez przesunięcia są odczytywane w tz) lub sekundy unix. Opcjonalne dla rest: ferry (true na promie lub w pociągu), sleeper_cabin, scheduled_journey_h, in_vehicle, location (residence | operational_centre | elsewhere — kontrola powrotu co 4 tygodnie wg EU 561 Art. 8(8a)). Opcjonalne dla drive: art12_exceed (true = jazda ponad limit zgodnie z EU 561 Art. 12, aby dotrzeć do centrum operacyjnego lub do domu na odpoczynek tygodniowy). Przerwy między czynnościami są liczone jako odpoczynek (zgłaszane w warnings); nakładające się czynności są odrzucane. |
history | (treść JSON) Starsze aktywności w tym samym formacie (np. ostatnie 28 dni z tachografu); łączone z activities. |
tz | (treść JSON) Strefa czasowa IANA dla tygodni kalendarzowych (poniedziałek 00:00) i okna nocnego, domyślnie UTC. |
ruleset | (treść JSON) eu561 (domyślnie) lub aetr. limits wymienia stosowane różnice AETR. |
crew | (treść JSON) single (domyślnie) lub double (podwójna obsada). |
now | (treść JSON) Czas oceny, domyślnie koniec ostatniej aktywności; czas po ostatniej aktywności liczy się jako odpoczynek. |
last_weekly_rest_end | (treść JSON) Koniec ostatniego odpoczynku tygodniowego przed osią czasu, jeśli oś czasu go nie zawiera. |
international_goods | (treść JSON, eu561) true = kierowca wykonuje międzynarodowy przewóz towarów poza państwem członkowskim siedziby (dozwolone dwa następujące po sobie skrócone odpoczynki tygodniowe zgodnie z Art. 8(6)). |
passenger_12day | (treść JSON) true lub {abroad_24h: bool} = pojedyncza okazjonalna międzynarodowa usługa przewozu pasażerów: tygodniowy odpoczynek może zostać odroczony do dwunastu 24-godzinnych okresów po regularnym odpoczynku tygodniowym (EU 561 Art. 8(6a), AETR Art. 8(6)(b)); sprawdzane są odpoczynki po nim oraz jazda w nocy (22:00-06:00: obsada wieloosobowa lub 3 h okres prowadzenia pojazdu). |
country | (treść JSON) Kod kraju ISO dla krajowego okna nocnego zgodnie z 2002/15 (taki sam jak wtd.country). |
include_wtd | (treść JSON) false = pomiń kontrole dyrektywy 2002/15/EC (domyślnie true). |
wtd | (treść JSON) Opcje 2002/15: reference_weeks 1-52 (domyślnie 17), reference_mode rolling | fixed, reference_start, night_window HH:MM-HH:MM (domyślnie 00:00-04:00), country (kod ISO kraju UE/EOG: krajowe okno nocne, zob. limity), carriage goods | passengers. |
Pola odpowiedzi — wewnątrz obiektu data w kopercie odpowiedzi. [] oznacza listę, więc data.items[].name to pole name każdego elementu. Pole bywa null, nieobecne lub jest pustą listą, gdy nie mamy wartości — nigdy nie wstawiamy atrapy.
| Pole | Opis |
|---|---|
data.compliant | true, gdy nie wykryto naruszeń; violation_count i by_severity (most_serious, very_serious, serious, minor) zliczają je. |
data.violations[] | code, ref (artykuł przepisu, np. "EU 561/2006 Art. 7"), severity, at (kiedy przekroczono limit), value_min / limit_min / excess_min, period_start lub week_start, open (nadal trwa w momencie oceny), message. Wpisy 2002/15 zawierają banded=false. |
data.warnings[] | Kwestie wymagające działania, które nie są jeszcze naruszeniami: code, message, opcjonalne ref i at (np. extended_day_in_use, weekly_drive_almost_used, history_short, gaps_counted_as_rest, four_week_rule_pending). |
data.remaining.driving | drive_left_now_min (najmniejszy z budżetów dziennego, tygodniowego i dwutygodniowego), daily_drive_left_min, weekly_drive_left_min, fortnight_drive_left_min, next_break (due_after_drive_min, required_min, split_first_part_taken), next_daily_rest (regular_latest_start, reduced_latest_start, min_duration_min, overdue), next_weekly_rest (latest_start, periods_used, min_duration_min, reduced_allowed), extended_days_used_this_week, reduced_daily_rests_used, reduced_weekly_rest_compensation[] (owed_min, deadline, basis), compensation_owed_min, art12_compensation[] (extension_start, owed_min, deadline, how), art12_compensation_owed_min, next_weekly_rest.passenger_12day_latest_start. |
data.remaining.working_time | 2002/15: week_work_left_min, worked_this_week_min, reference_period (average, budget_left_min), shift (work_min, breaks_min, next_break_due_after_work_min, night_work_in_shift, shift_work_left_min). |
data.route_plan_state | Stan kierowcy w nazwach parametrów route-plan (driven_since_break_min, driven_today_min, duty_started_min_ago, driven_week_min, driven_fortnight_min, extended_days_used, reduced_rests_used). |
data.duty_periods[] | Każdy okres pracy między odpoczynkami dziennymi/tygodniowymi: start, end, drive_min, extended, rest_type, rest_start, rest_end, rest_min (+ ferry_interruptions). |
data.weekly_rests[] | Znalezione odpoczynki tygodniowe: start, end, duration_min, type regular | reduced, periods_since_previous, compensation_owed_min, derogation. |
data.weeks | Dla każdego tygodnia kalendarzowego: driving.drive_min i working_time.work_min, wraz z complete. |
data.rolling | Wyłącznie informacyjnie: największy czas prowadzenia w dowolnym oknie 168 h i 336 h (test prawny wykorzystuje tygodnie kalendarzowe). |
data.assumptions[] | Jak zinterpretowano niekompletne dane wejściowe (np. brak odpoczynku tygodniowego przed znaną częścią osi czasu). |
data.exceptions | art12[]: każde skorzystanie z wyjątku EU 561 Art. 12 — start, end, flagged_drive_min, max_extra_min, break_before_min, following_rest, status (accepted | pending_weekly_rest | conditions_not_met | not_needed), daily_excess_min, weekly_excess_min, compensation_owed_min, compensation_deadline, compensated_at. passenger_12day[]: from, weekly_rest_start, periods_24h, max_periods_24h. |
data.weekly_rests[].location | Lokalizacja przesłana dla tego odpoczynku (residence | operational_centre | elsewhere). |
data.wtd.params | night_window, night_window_source (param | country:CC | country_unverified:CC | default), night_window_verified, night_window_ref (źródło krajowe). |
curl -X POST "https://nakordoni.eu/api/v2/data/fleet/compliance/validate" \
-H "Authorization: Bearer NKD-DEV-XXXX-XXXX-XXXX" \
-H "Content-Type: application/json" \
-d '{
"tz": "Europe/Warsaw",
"ruleset": "eu561",
"crew": "single",
"activities": [
{
"type": "rest",
"start": "2026-10-19T19:00:00",
"end": "2026-10-20T06:00:00"
},
{
"type": "other_work",
"start": "2026-10-20T06:00:00",
"end": "2026-10-20T06:20:00"
},
{
"type": "drive",
"start": "2026-10-20T06:20:00",
"end": "2026-10-20T10:50:00"
},
{
"type": "break",
"start": "2026-10-20T10:50:00",
"end": "2026-10-20T11:35:00"
},
{
"type": "drive",
"start": "2026-10-20T11:35:00",
"end": "2026-10-20T14:00:00"
}
]
}'
Zaktualizowano