Соответствие автопарка — Validate API Online
Проверяет зафиксированную активность водителя на соответствие правилам вождения и отдыха EU 561/2006 (или AETR) и Директиве 2002/15/EC о рабочем времени. Отправьте хронологию в теле JSON POST — текущую смену плюс до 28 дней или больше истории, подобной тахографу — и получите все нарушения с артикулом правила, временной меткой и серьёзностью (категории Регламента (ЕС) 2016/403), предупреждения, а также то, что у водителя осталось прямо сейчас: дневное время вождения, бюджеты 56 ч в неделю и 90 ч за две недели, когда наступят следующий перерыв, ежедневный отдых и еженедельный отдых, использованные удлинённые дни и сокращённые отдыхи, а также любую причитающуюся компенсацию за сокращённый еженедельный отдых с её сроком. Охватывает перерывы 4 ч 30 мин (включая разделение 15 + 30), дни 9/10 ч, ежедневный отдых 11/9 ч и 3 + 9 ч, шесть 24-часовых периодов между еженедельными отдыхами, последовательности сокращённых еженедельных отдыхов и компенсацию, двойной экипаж (отдых 9 ч в течение 30 ч), прерванный отдых на пароме/в поезде, а также по 2002/15 среднее за 48 ч, 60-часовую неделю, перерывы после 6 ч и ограничение 10 ч ночной работы. Начиная с v1.1: исключение по Art. 12 (до 1 ч или 2 ч после перерыва 30 мин, сверх дневных и недельных лимитов, чтобы добраться до операционного центра или домой для еженедельного отдыха) с причитающейся компенсацией и её сроком, возвращение на базу или домой каждые 4 недели по Art. 8(8a), 12-дневное отступление по Art. 8(6a) для разовых международных автобусных перевозок и национальные ночные окна по 2002/15 по странам. route_plan_state можно передать напрямую в route-plan.
POST https://nakordoni.eu/api/v2/data/fleet/compliance/validate
— класс квоты: heavy
| Параметр | Описание |
|---|---|
activities | (JSON body, обязательно) Действия водителя, от самых старых или в любом порядке. Каждое действие: {type: drive | other_work | availability | break | rest, start, end} — ISO-8601 (дата и время без смещения читаются в tz) или unix-секунды. Необязательные поля для rest: ferry (true на пароме или поезде), sleeper_cabin, scheduled_journey_h, in_vehicle, location (residence | operational_centre | elsewhere — проверка возвращения каждые 4 недели по EU 561 Art. 8(8a)). Необязательное поле для drive: art12_exceed (true = вождение сверх лимита по EU 561 Art. 12 для того, чтобы добраться до оперативного центра или домой для еженедельного отдыха). Промежутки между действиями считаются отдыхом (отражаются в warnings); пересечения отклоняются. |
history | (тело JSON) Более ранние записи деятельности в том же формате (напр. последние 28 дней из тахографа); объединяются с activities. |
tz | (тело JSON) Часовой пояс IANA для календарных недель (понедельник 00:00) и ночного окна, по умолчанию UTC. |
ruleset | (тело JSON) eu561 (по умолчанию) или aetr. limits перечисляет применяемые отличия AETR. |
crew | (тело JSON) single (по умолчанию) или double (несколько водителей). |
now | (тело JSON) Момент оценки, по умолчанию конец последней записи деятельности; время после последней записи считается отдыхом. |
last_weekly_rest_end | (тело JSON) Конец последнего еженедельного отдыха до начала хронологии, если хронология его не содержит. |
international_goods | (тело JSON, eu561) true = водитель выполняет международную перевозку грузов за пределами государства-члена регистрации (допускаются два последовательных сокращённых еженедельных отдыха согласно Art. 8(6)). |
passenger_12day | (тело JSON) true или {abroad_24h: bool} = единичная разовая международная пассажирская перевозка: еженедельный отдых может быть отложен на срок до двенадцати 24-часовых периодов после регулярного еженедельного отдыха (EU 561 Art. 8(6a), AETR Art. 8(6)(b)); проверяются отдыхи после него и ночное вождение (22:00-06:00: экипаж из нескольких водителей или период управления 3 h). |
country | (JSON-тело) Код страны ISO для национального ночного окна по 2002/15 (совпадает с wtd.country). |
include_wtd | (тело JSON) false = пропустить проверки Директивы 2002/15/EC (по умолчанию true). |
wtd | (тело JSON) Параметры 2002/15: reference_weeks 1-52 (по умолчанию 17), reference_mode rolling | fixed, reference_start, night_window HH:MM-HH:MM (по умолчанию 00:00-04:00), country (код ISO страны ЕС/ЕЭП: национальное ночное окно, см. ограничения), carriage goods | passengers. |
Поля ответа — внутри объекта data в конверте ответа. [] обозначает список, поэтому data.items[].name — это поле name каждого элемента. Поле бывает null, отсутствует или пустой список, если значения у нас нет, — заглушки мы не подставляем.
| Поле | Описание |
|---|---|
data.compliant | true, если нарушений не найдено; violation_count и by_severity (most_serious, very_serious, serious, minor) содержат их количество. |
data.violations[] | code, ref (статья правила, напр. "EU 561/2006 Art. 7"), severity, at (когда был превышен предел), value_min / limit_min / excess_min, period_start или week_start, open (всё ещё продолжается на момент оценки), message. Записи 2002/15 содержат banded=false. |
data.warnings[] | Моменты, требующие действий, но пока не являющиеся нарушениями: code, message, необязательные ref и at (напр. 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 (наименьший из дневного, недельного и двухнедельного бюджетов), 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 | Состояние водителя в названиях параметров 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[] | Каждый рабочий период между ежедневными/еженедельными отдыхами: start, end, drive_min, extended, rest_type, rest_start, rest_end, rest_min (+ ferry_interruptions). |
data.weekly_rests[] | Найденные еженедельные отдыхи: start, end, duration_min, type regular | reduced, periods_since_previous, compensation_owed_min, derogation. |
data.weeks | По календарным неделям: driving.drive_min и working_time.work_min, с complete. |
data.rolling | Только для информации: максимальное время вождения в любом окне 168 ч и 336 ч (юридическая проверка использует календарные недели). |
data.assumptions[] | Как была интерпретирована неполная входная информация (напр. нет еженедельного отдыха до известного начала хронологии). |
data.exceptions | art12[]: каждое использование исключения 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 | Местоположение, переданное для этого отдыха (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 (национальный источник). |
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"
}
]
}'
Обновлено