API — транспортні засоби

Це документація для версії 2 API. Документація для застарілої версії 1.

Інформація про поточне розташування транспортних засобів громадського транспорту. Див. також: GTFS.

  • Endpoint: GET https://www.zditm.szczecin.pl/api/v2/vehicles?format=json|cbor
  • Формат даних: application/json (за замовчуванням) або application/cbor (коли format=cbor)
  • Частота оновлення: приблизно кожні 10 секунд

Структура даних

{
  "data": [
    {
      "line": {
        "id": 14,
        "number": "53",
        "type": "DAY",
        "subtype": "NORMAL"
      },
      "vehicle": {
        "id": 3,
        "type": "BUS",
        "number": "1050",
        "model": "Solaris Urbino 18",
        "low_floor": true,
        "ticket_machine": {
          "cards": true,
          "coins": false
        },
        "passenger_counter": true,
        "operator": "SPA Klonowica"
      },
      "trip": {
        "service": "053-01",
        "gtfs_id": "502693_POWS",
        "start_date": "2026-06-22",
        "scheduled_start_time": "2026-06-22T11:09:00.000000Z",
        "headsign": "Stocznia Szczecińska",
        "direction_id": 1,
        "route_variant_number": 12,
        "current_stop_sequence": 30
      },
      "previous_stop": {
        "number": "14121",
        "name": "Sczanieckiej"
      },
      "next_stop": {
        "number": "17012",
        "name": "Plac Matki Teresy"
      },
      "position": {
        "latitude": 53.43933868408203,
        "longitude": 14.565779685974121,
        "bearing": 90,
        "velocity": 0
      },
      "delay": {
        "seconds": 568,
        "minutes": 9
      },
      "occupancy_status": "MANY_SEATS_AVAILABLE",
      "stuck": false,
      "updated_at": "2026-06-22T12:03:28.000000Z"
    },

    ...

  ]
}
  • object line — об’єкт з інформацією про маршрут
    • int id — унікальний ідентифікатор маршруту (незмінний)
    • string number — позначення маршруту (номер) (може змінюватися)
    • string type — тип маршруту:
      • DAY — денний маршрут
      • NIGHT — нічний маршрут
    • string subtype — підтип маршруту:
      • NORMAL — звичайний маршрут
      • SEMI_FAST — напівшвидкісний маршрут
      • FAST — швидкісний маршрут
      • REPLACEMENT — заміщаючий маршрут
      • ADDITIONAL — додатковий маршрут
      • SPECIAL — спеціальний маршрут
      • TOURIST — туристичний маршрут
  • object vehicle — об’єкт, що містить інформацію про транспортний засіб
    • int id — ідентифікатор транспортного засобу
    • string type — тип рухомого складу:
      • SKM — потяг SKM
      • TRAM — трамвай
      • BUS — автобус
    • string number — бортовий номер транспортного засобу
    • string|null model — назва моделі транспортного засобу
    • bool|null low_floortrue, якщо транспортний засіб низькопідлоговий
    • object|null ticket_machine — об’єкт, що містить інформацію про квитковий автомат, встановлений у транспортному засобі (null, якщо в транспортному засобі не встановлено квитковий автомат)
      • bool cards — квитковий автомат підтримує оплату карткою
      • bool coins — квитковий автомат підтримує оплату монетами
    • bool passenger_countertrue, якщо транспортний засіб обладнано датчиками автоматичного підрахунку пасажирів
    • string|null operator — назва оператора, якому належить транспортний засіб
  • object trip — об’єкт, що містить інформацію про рейс, який наразі виконує транспортний засіб
    • string service — позначення рейсу (зміни), який виконує транспортний засіб
    • string|null gtfs_id — ідентифікатор рейсу, який зараз виконує транспортний засіб, у статичному GTFS-розкладі (null, якщо транспортний засіб не можна зіставити з рейсом)
    • string start_date — початкова дата, що є точкою відліку для рейсу, який наразі виконує транспортний засіб
    • string scheduled_start_time — запланований час початку рейсу, який наразі виконує транспортний засіб
    • string headsign — назва напрямку рейсу, який наразі виконує транспортний засіб
    • int direction_id — ідентифікатор напрямку (0 означає напрямок «туди», а 1 — напрямок «назад»)
    • int route_variant_number — номер варіанта маршруту, на якому транспортний засіб наразі виконує рейс
    • int|null current_stop_sequence — порядковий номер поточної зупинки в межах рейсу, який наразі виконує транспортний засіб (null, якщо транспортний засіб не можна зіставити з рейсом)
  • object|null previous_stop — об’єкт, що містить інформацію про попередню зупинку (null, якщо немає даних про попередню зупинку)
    • string number — номер попередньої зупинки
    • string name — назва попередньої зупинки
  • object|null next_stop — об’єкт, що містить інформацію про наступну зупинку (null, якщо немає даних про наступну зупинку)
    • string number — номер наступної зупинки
    • string name — назва наступної зупинки
  • object position — об’єкт, що містить інформацію про місцезнаходження транспортного засобу
    • float latitude — географічна широта транспортного засобу
    • float longitude — географічна довгота транспортного засобу
    • int|null bearing — значення в діапазоні від 0 до 360, що вказує географічний напрям руху транспортного засобу (пеленг), де 0 або 360 означає північ, 90 — схід тощо, з кроком 45°
    • int velocity — поточна швидкість транспортного засобу в км/год
  • object delay — об’єкт, що містить інформацію про запізнення транспортного засобу
    • int seconds — відхилення транспортного засобу від розкладу в секундах (0 = за розкладом, додатне = запізнення, від’ємне = випередження)
    • int minutes — відхилення транспортного засобу від розкладу, округлене до повних хвилин (0 = за розкладом, додатне = запізнення, від’ємне = випередження)
  • string occupancy_status — поточний рівень заповненості транспортного засобу:
    • MANY_SEATS_AVAILABLE — дуже низьке заповнення
    • FEW_SEATS_AVAILABLE — низьке заповнення
    • STANDING_ROOM_ONLY — середнє заповнення
    • CRUSHED_STANDING_ROOM_ONLY — високе заповнення
    • NO_DATA_AVAILABLE — немає даних про заповненість
  • bool stucktrue, якщо транспортний засіб не рухається (застряг); можливі причини включають, зокрема, затор на дорозі або поломку транспортного засобу
  • string updated_at — мітка часу останнього оновлення даних

Загальна інформація

  1. Дані надаються безкоштовно за ліцензією CC0 1.0, для будь‑якого використання без попереднього погодження.
  2. Zarząd Dróg i Transportu Miejskiego w Szczecinie (Управління доріг і міського транспорту в Щецині) не гарантує правильність чи повноту даних і не несе відповідальності за можливі збитки чи помилкові рішення на їх основі.
  3. У продуктах (додатках, веб‑сайтах, публікаціях тощо) рекомендується вказувати джерело даних як «Zarząd Dróg i Transportu Miejskiego w Szczecinie» або скорочено «ZDiTM Szczecin» (не є обов’язковим).
  4. За можливості бажано додати посилання на цю сторінку або на головну сторінку ZDiTM Szczecin (не є юридично обов’язковим).
  5. Клієнти повинні розпізнавати й дотримуватися HTTP‑заголовки Cache-Control та ETag.
  6. Кількість запитів до API обмежена: 100 запитів на хвилину з однієї IP‑адреси для всіх endpointів. Заголовок X-RateLimit-Remaining показує кількість залишкових запитів. Після вичерпання ліміту повертається код HTTP 429. У відповідному заголовку X-RateLimit-Reset вказано Unix‑мітку часу скидання ліміту, а Retry-After — кількість секунд до скидання.
  7. Якщо можливо, додайте в заголовок User-Agent інформацію про організацію чи додаток, що використовує дані (наприклад, назву або URL).
  8. У разі надмірного навантаження на сервер ZDiTM Szczecin залишає за собою право частково або повністю блокувати доступ до API.

Міграція з версії 1

  1. Endpoint змінено на: GET https://www.zditm.szczecin.pl/api/v2/vehicles.
  2. Структуру відповіді реорганізовано шляхом введення об’єктів line, vehicle, trip, position і delay.
  3. Додано поля: vehicle.passenger_counter, trip.gtfs_id, trip.start_date, trip.scheduled_start_time, trip.direction_id, trip.current_stop_sequence, previous_stop.number, next_stop.number, delay.seconds та occupancy_status.
  4. Поля previous_stop і next_stop перетворено на об’єкти.
  5. Поле punctuality замінено об’єктом delay (також змінено правила інтерпретації знака значення).
  6. Значення полів line.type, line.subtype і vehicle.type повертаються у форматі UPPER_SNAKE_CASE.
  7. Додатково підтримується формат CBOR (application/cbor) через параметр format=cbor.