API odjezdových tabulí - funkční požadavky
Datová struktura
{
"delay": {
"is_available": true, //současně is_delay_available
"minutes": 2,
"seconds": 72, // přidat v sekundách
},
//"arrival_time": "4:34:00", SMAZAT
//"departure_time": "4:34:00", SMAZAT
"arrival_timestamp": {
"scheduled": "2020-03-02T03:34:00.000Z", //současné arrival_datetime
"predicted": "2020-03-02T05:46:00.000Z" //připočtené zpoždění
},
"departure_timestamp": {
"scheduled": "2020-03-02T04:34:00.000Z", //současné departure_datetime
"predicted": "2020-03-02T06:46:00.000Z" //připočtené zpoždění
},
"last_stop": {
"id": "U85Z8", // nově
"name": "Dědina", // nově
},
"stop": {
"id": "U85Z8", //nově - nutné protože jich bude možné zadat více (více zastávek na stejném místě)
"name": "Divoká Šárka", //nově
"platform_code": "H", // nově
"wheelchair_boarding": 0 // nově
},
"trip": {
"id": "300_533_190826",
"headsign": "Nádraží Veleslavín",
"is_wheelchair_accessible": true, // nově
"is_canceled": false, // nově budeme vůbec chít uvádět zrušené spoje?
},
"route": {
"type": 0, // nově typ dopravy metro/tram/...
"short_name": "300"
}
//"service_id": "1111100-1", SMAZAT
/* Další k diskusi, zda-li nestačí se
..."is_vehicle_at_stop": false, // BACKLOG - není zatím implementována detekce spoje v zastávce
...last_stop_datetime
...last_update_datetime
...last_gps_latitude
...last_gps_longitude
*/
}
Parametrizace API
Identifikace zastávky(zastávek)
Možnost zadání víc zastávek
/departureboards?id[]=UX1&id[]=UX2...
Zadání zastávky přes CIS číslo (je to nutné?)
/departureboards?cis=1234
ASW je co?
/departureboards?asw=??
Zadání zastávky přes název s nějakým doplňujícím parametrem pro zajištění unikátnosti
/departureboards?name=Divoká%20Šárka
Modifikace výstupu
Počet záznamů (výchozí 100)
/departureboards?limit=3
Filtrace času odjezdu (výchozí 0 resp 120 minut)
/departureboards?relativeFrom=-5&relativeTo=60
Změna řazení (defaultně se řadí dle predikovaného času odjezdu a nehledě na sled linek)
/departureboards?orderBySchedule=true
- řadit bude odjezdy dle plánu JŘ
/departureboards?showAllRoutesFirst=true
- seznam ukáže na prvních místech vždy po jedné lince a jednom spoji, poté bude zobrazovat další spoje dle času odjezdu (scheduled/predicted)