Hur identifieras en avgång i Trafiklab Timetables?
Jag ser inget id för en avgång, och ingen kombination av egenskaper för identifikation av en specifik avgång. Hur är det tänkt att jag åstadkommer otvetydig identifiering av avgångar?
Själv gissade jag på att kolla att `trip` och `scheduled` var desamma, men jag blir något tveksam när jag får t.ex. dessa avgångar servade till mig:
{"scheduled":"2026-06-24T02:05:00","realtime":"2026-06-24T02:05:00","delay":0,"canceled":false,"route":{"name":null,"designation":"191","transport_mode_code":700,"transport_mode":"BUS","direction":"Norsborg","origin":{"id":"10004","name":"Centralen"},"destination":{"id":"9149","name":"Norsborg"}},"trip":{"trip_id":"14010000705343401","start_date":"2026-06-23","technical_number":5},"agency":{"id":"505000000000000001","name":"AB SL Kundtjänst","operator":"Nobina"},"stop":{"id":"10004","name":"Centralen","lat":59.331047,"lon":18.056514},"scheduled_platform":{"id":"9022050010004001","designation":"L"},"realtime_platform":{"id":"9022050010004001","designation":"L"},"alerts":[],"is_realtime":true},{"scheduled":"2026-06-24T02:05:59","realtime":"2026-06-24T02:05:59","delay":0,"canceled":false,"route":{"name":null,"designation":"191","transport_mode_code":700,"transport_mode":"BUS","direction":"Norsborg","origin":{"id":"10004","name":"Centralen"},"destination":{"id":"9149","name":"Norsborg"}},"trip":{"trip_id":"14010000705343401","start_date":"2026-06-23","technical_number":5},"agency":{"id":"505000000000000001","name":"AB SL Kundtjänst","operator":"Nobina"},"stop":{"id":"12736","name":"T-Centralen","lat":59.332098,"lon":18.061943},"scheduled_platform":{"id":"9022050012736001","designation":"N"},"realtime_platform":{"id":"9022050012736001","designation":"N"},"alerts":[],"is_realtime":true}
De har samma trip, samma designation, samma destination, men skiljer sig i stop och avgångstid med 59 sekunder... Åker bussen i en cirkel direkt tillbaka till samma hållplats? Eller ska det tolkas som att den börjar från "Centralen" och anländer till den helt separata hållplatsen "T-Centralen" 59 sekunder senare? Det låter ganska långsökt.
Om detta faktiskt är samma avgång så är min gissning uppenbart fel angående hur man identifierar avgångar då samma avgång tydligen inte har samma avgångstid som sig själv. Jag måste då också konstatera att jag själv behöver gallra departures från dubletter, vilket känns som en ganska märklig design – speciellt när det inte är uppenbart hur avgångar ska identifieras.
Själv gissade jag på att kolla att `trip` och `scheduled` var desamma, men jag blir något tveksam när jag får t.ex. dessa avgångar servade till mig:
{"scheduled":"2026-06-24T02:05:00","realtime":"2026-06-24T02:05:00","delay":0,"canceled":false,"route":{"name":null,"designation":"191","transport_mode_code":700,"transport_mode":"BUS","direction":"Norsborg","origin":{"id":"10004","name":"Centralen"},"destination":{"id":"9149","name":"Norsborg"}},"trip":{"trip_id":"14010000705343401","start_date":"2026-06-23","technical_number":5},"agency":{"id":"505000000000000001","name":"AB SL Kundtjänst","operator":"Nobina"},"stop":{"id":"10004","name":"Centralen","lat":59.331047,"lon":18.056514},"scheduled_platform":{"id":"9022050010004001","designation":"L"},"realtime_platform":{"id":"9022050010004001","designation":"L"},"alerts":[],"is_realtime":true},{"scheduled":"2026-06-24T02:05:59","realtime":"2026-06-24T02:05:59","delay":0,"canceled":false,"route":{"name":null,"designation":"191","transport_mode_code":700,"transport_mode":"BUS","direction":"Norsborg","origin":{"id":"10004","name":"Centralen"},"destination":{"id":"9149","name":"Norsborg"}},"trip":{"trip_id":"14010000705343401","start_date":"2026-06-23","technical_number":5},"agency":{"id":"505000000000000001","name":"AB SL Kundtjänst","operator":"Nobina"},"stop":{"id":"12736","name":"T-Centralen","lat":59.332098,"lon":18.061943},"scheduled_platform":{"id":"9022050012736001","designation":"N"},"realtime_platform":{"id":"9022050012736001","designation":"N"},"alerts":[],"is_realtime":true}
De har samma trip, samma designation, samma destination, men skiljer sig i stop och avgångstid med 59 sekunder... Åker bussen i en cirkel direkt tillbaka till samma hållplats? Eller ska det tolkas som att den börjar från "Centralen" och anländer till den helt separata hållplatsen "T-Centralen" 59 sekunder senare? Det låter ganska långsökt.
Om detta faktiskt är samma avgång så är min gissning uppenbart fel angående hur man identifierar avgångar då samma avgång tydligen inte har samma avgångstid som sig själv. Jag måste då också konstatera att jag själv behöver gallra departures från dubletter, vilket känns som en ganska märklig design – speciellt när det inte är uppenbart hur avgångar ska identifieras.
Följ inlägget
1
följare
trip_id tillsammans med start_date ger en unik identifiering för en tur. I exemplet ovan så är det en buss som rör sig mellan två hållplatser som ligger väldigt nära (10004 centralen läge L, sen 12736 t-centralen läge N). Jag misstänker att du har sökt på en meta-hållplats som innehåller både dessa två hållplatser, vilket leder till att du ser bägge resultat.
Söker man på rikshållplatsen för T-centralen får man endast upp den avgången: https://realtime-api.trafiklab.se/v1/departures/740035997/2026-06-24T02:00
Hälsningar,
Bert
Nu sa du inte det uttryckligen: Är trip + scheduled en korrekt unik kombination för en avgång? Eller är någon annan kombination rekommenderad?
Hur trip identifieras är redan dokumenterat, även om jag inte har koll på terminologin då den ändras från api till api och jag mest använt SLs hittills. Gissar att trip motsvarar journey och route motsvarar line.
I övrigt relativt smärtfri migrering till Trafiklab API. Endast två felaktiga fältnamn hittills, inklusive icke-existerande `name` i `Platform`. Däremot är jag osäker på felkoder – kunde inte hitta någon lista.
För att säkerställa att man kan hantera alla fall skulle jag ta trip_id + start_date + stop_id + scheduled. Detta borde alltid vara unikt, även om turen angör en hållplats flera gånger, om man letar upp en meta-hållplats där flera avgångar från samma tur på olika hållplatser kan förekomma, eller om en operatör skulle leverera felaktiga avgångstider.
Vi följer så mycket standard terminologi som möjligt, men det varierar mellan standarder. Sen är API:er alltid proprietära, individuellt utvecklad för att matcha specifika behov. De flesta benämningar i Trafiklab Realtime APIs borde matcha med GTFS standarden.
Trip är en tur eller journey, Route är en linje. Sen kan det finnas skillnader i hur SL eller vi grupperar eller delar upp vissa linjer på grund av olika begränsningar eller modeleringar.
Hälsningar,
Bert