Odosielanie správ a flotila NakBus sú teraz na partnerskom paneli
Na prihlásenie do panela Nakordoni Partners použite rovnaké prihlasovacie údaje (e-mail a heslo) ako pre svoj vývojársky účet a spravujte tam správy a svoj autobusový vozový park (NakDriver / NakManager) s tímovými rolami. Vaše kľúče API, koncové body a aplikácie zostávajú nezmenené a stránky tu naďalej fungujú. Otvoriť Nakordoni Partners

← Všetky endpointy

Bus Sun Side API Online

Ktorá strana autobusu má počas cesty slnko alebo tieň a ktoré sedadlá sú najlepšie pre tieň alebo výhľad. Cesta sa prechádza v 5-minútových krokoch: poloha a smer jazdy z trasy, poloha slnka na danom mieste a v danom čase, potom odhad pre každé sedadlo podľa zvoleného rozloženia autobusu. Použite trasu z nášho registra licencovaných liniek (route_id), dva body (from/to) alebo pošlite vlastnú trasu cez POST (zastávky alebo polyline) a získajte aj mapu sedadiel, mapu trasy a časovú os ako obrázky. Výsledky sú odhad z geometrie a polohy slnka; skutočný tieň závisí aj od záclon, budov, terénu a počasia.

GET https://nakordoni.eu/api/v2/data/bus-sun-side — trieda kvóty: heavy

ParameterPopis
route_idId trasy z nášho registra autobusových trás (rovnaké id ako na autobusových stránkach nakordoni.eu). Použite route_id alebo from+to.
dirdirect (predvolené) alebo return.
dateDátum cesty YYYY-MM-DD (predvolene dnes). Poloha slnka závisí od dátumu.
depČas odchodu HH:MM v miestnom čase trasy (predvolene: cestovný poriadok z registra).
fromVoľná trasa: začiatočný bod lat,lon (spolu s to).
toVoľná trasa: koncový bod lat,lon (spolu s from).
departVoľná trasa: odchod YYYY-MM-DDTHH:MM, miestny čas začiatočného bodu.
langJazyk názvov miest a textov, 25 jazykov (en, uk, pl, de, …). Predvolene en.
bus_modelId modelu autobusu z bus-sun-catalog (predvolene standard_coach). Každé pole nižšie prepíše model.
rowsSeat rows, 8-20.
layoutRozloženie sedadiel: 2+2, 2+1 alebo 1+2 (vľavo+vpravo od uličky).
door_sideright (kontinentálna Európa) alebo left.
windshieldlarge alebo normal — koľko slnka dostávajú prvé rady cez predné sklo.
rear_windownone, small alebo large — slnko na posledných radoch.
window_heightstandard alebo panoramic (vysoké bočné okná).
decksingle, upper alebo lower (dvojpodlažné autobusy).
mid_door1 alebo 0 — sú stredné dvere (sedadlá tam sa odstránia).
timeline0 = vynechať časovú os (riadky po 15 minútach).
track0 = vynechať body trasy s časom.
weather1 (predvolené) alebo 0. Pri 1 sa použije predpoveď počasia pozdĺž cesty, ak je cesta v najbližších 3 dňoch (72 h); neskoršie cesty a weather=0 používajú jasnú oblohu.
animation1 (default) or 0. With 0, the animation block (sun and coach position every 5 minutes) is left out. POST body: animation true|false.

Polia odpovede — vnútri objektu data v obálke odpovede. [] označuje zoznam, takže data.items[].name je pole name každého prvku. Pole býva null, chýba alebo je prázdny zoznam, keď preň nemáme hodnotu — zástupný údaj nedopĺňame.

PolePopis
data.date / data.tzTravel date and the time zone of the times in the answer.
data.routeid, num, from, to, dir, dep, arr, km (registry route) — or the stops you sent (POST).
data.basisHow the timed path was built: timetable (registry or your stop times), router (our road route between points) or geometry (your polyline).
data.busThe bus profile used: model, layout, rows, door_side, windshield, rear_window, window_height, deck, mid_door.
data.summarytrip_min, daylight_min, night_min and minutes with the sun on the left, right, ahead and behind (weather-weighted when a forecast was used).
data.recommendshade_side, sun_side, shade_pct, best_shade_seats[], best_sun_seats[], confidence (high | medium | low), reason_key; tip_key hot_sun_side when the sunny side is forecast at 28 °C or more. reason_key mostly_cloudy (shade_side any) when the forecast is mostly cloud or rain.
data.recommend_clearThe same recommendation for a clear sky (no weather).
data.weather_changes_answertrue when the forecast changes the shade side compared with recommend_clear.
data.weatherused, window_h (72), covered_pct, sunny_min, cloudy_min, rain_min, max_temp, note_key (forecast_used | partly_forecast | mostly_cloudy | rain_expected | clear_sky_only).
data.zonesfront / middle / back: left and right sun exposure 0-100 and rows [first, last] of that part.
data.seatslayout, rows, cols[], grid[][]: every seat — id (e.g. 4C), side, pos (window | aisle), exp (sun exposure 0-100), door (true next to a door).
data.timeline[]One row per 15 min: t, lat, lon, hd (heading), az / el (sun azimuth / elevation), side (left | right | ahead | behind | none), w (sun strength); wx {code, f, temp, precip} when a forecast was used.
data.track[]Track points [lat, lon, sun side] for drawing the route (leave out with track=0).
data.inputPOST only: how your route was read — source, timed_by, stops, points, legs_routed, legs_straight, timezone.
data.imagesPOST only: seat_map, route_map, timeline — each {url, format, expires_at}; url = https://api.nakordoni.dev/images/<random name>.<png | webp | jpg> (body format, default png). Files are kept 12 hours. format svg: PNG files plus the seat map as inline SVG (seat_map.svg).
data.embed_htmlPOST only: a self-contained HTML figure with the seat map (inline SVG) to paste into a page; null with embed_html=false.

Vyskúšajte bez kódu: plánovač slnečnej strany spustí toto API na ľubovoľnej linke alebo vašej ceste a ukáže plán sedadiel, mapu, časovú os, obrázky a kód volania. Otvoriť plánovač →

Your route (POST)

Pošlite vlastnú trasu ako telo JSON metódou POST na rovnakú URL. Odpoveď má rovnaké polia ako GET a navyše input (ako bola trasa načítaná), images (mapa sedadiel, mapa trasy a časová os) a embed_html.

Zastávky bez geometrie sa spoja naším cestným plánovačom; úsek, ktorý sa nedá naplánovať, sa nakreslí ako priamka a započíta do input.legs_straight. Časy: aspoň dve zastávky s časom alebo route.depart s route.duration_min či route.speed_kmh. Cesta môže trvať až 72 h.

Body fieldPopis
route.stops2-200 zastávok v poradí: {lat, lon, name?, arr?, dep?, day?}. arr / dep sú miestny čas HH:MM; day = počet dní po route.date (časy cez polnoc sa prenesú automaticky).
route.geometryVaša trasa: GeoJSON LineString, MultiLineString, Feature alebo FeatureCollection (poradie [lon, lat]) alebo zakódovaný reťazec polyline. Najviac 5000 bodov. Spolu so stops dávajú zastávky časy a geometria trasu.
route.polyline_precision5 (predvolené) alebo 6, pre zakódovanú polyline.
route.dateYYYY-MM-DD času prvej zastávky (predvolene dnes).
route.departOdchod YYYY-MM-DDTHH:MM, keď zastávky nemajú časy alebo posielate iba geometriu.
route.duration_minDĺžka cesty v minútach, spolu s depart (inak sa čas vypočíta zo speed_kmh).
route.speed_kmhPriemerná rýchlosť spolu s depart, predvolene 65.
route.timezoneČasové pásmo IANA posielaných časov (predvolene: pásmo krajiny prvého bodu).
busAutobus: bus_model z katalógu a/alebo seats, rows, layout, door_side, windshield, rear_window, window_height, deck, mid_door — rovnaké polia ako parametre GET. Predvolene standard_coach.
imagesKtoré obrázky vytvoriť: ľubovoľné zo seat_map, route_map, timeline (predvolene všetky tri); [] = žiadne.
formatpng (predvolené), webp alebo jpg: typ súboru každej URL obrázka. svg: súbory PNG a mapa sedadiel sa navyše vráti inline ako SVG (seat_map.svg).
themelight (default) or dark.
langJazyk popisov na obrázkoch a textov, 25 jazykov (predvolene en).
widthŠírka obrázka v px, 240-1600 (predvolene: prirodzená veľkosť).
embed_htmltrue (predvolené) = vrátiť aj embed_html; false = null.
timeline / trackfalse = vynechať tento zoznam z odpovede.
weathertrue (predvolené) alebo false: použiť predpoveď počasia pozdĺž cesty (najbližšie 3 dni); false = iba jasná obloha. Akceptujú sa aj 1 a 0.

Nesprávne alebo chýbajúce pole vráti HTTP 400, pričom error.field obsahuje jeho cestu, napríklad route.stops[2].lat alebo bus.seats.

curl -X POST "https://nakordoni.eu/api/v2/data/bus-sun-side" \
  -H "Authorization: Bearer NKD-DEV-XXXX-XXXX-XXXX" \
  -H "Content-Type: application/json" \
  -d '{
    "route": {
        "stops": [
            {
                "name": "Poznań Dworzec Autobusowy",
                "lat": 52.4011,
                "lon": 16.911,
                "dep": "08:00"
            },
            {
                "name": "Konin",
                "lat": 52.223,
                "lon": 18.2511,
                "arr": "09:20",
                "dep": "09:25"
            },
            {
                "name": "Łódź Kaliska",
                "lat": 51.7573,
                "lon": 19.4306,
                "arr": "10:55",
                "dep": "11:05"
            },
            {
                "name": "Warszawa Zachodnia",
                "lat": 52.219,
                "lon": 20.965,
                "arr": "13:10"
            }
        ],
        "date": "2026-06-21",
        "timezone": "Europe/Warsaw"
    },
    "bus": {
        "bus_model": "minibus"
    },
    "images": [
        "seat_map",
        "route_map",
        "timeline"
    ],
    "format": "png",
    "theme": "light",
    "lang": "en",
    "weather": true
}'
const res = await fetch('https://nakordoni.eu/api/v2/data/bus-sun-side', {
  method: 'POST',
  headers: { 'Authorization': 'Bearer NKD-DEV-XXXX-XXXX-XXXX', 'Content-Type': 'application/json' },
  body: JSON.stringify({
    route: { stops: [
      { name: 'Poznań', lat: 52.4011, lon: 16.911, dep: '08:00' },
      { name: 'Warszawa', lat: 52.219, lon: 20.965, arr: '11:30' } ],
      date: '2026-06-21', timezone: 'Europe/Warsaw' },
    bus: { bus_model: 'comfort_coach_2_1' },
    images: ['seat_map'], format: 'svg', lang: 'pl'
  })
});
const { data } = await res.json();
console.log(data.recommend.shade_side, data.recommend.best_shade_seats);
document.querySelector('#seats').innerHTML = data.embed_html;   // or <img src="data.images.seat_map.url">

Images and embed_html

Každý obrázok má vlastnú URL s náhodným názvom súboru (.png, .webp alebo .jpg). URL nevyžadujú kľúč a sú platné 12 hodín (expires_at); ak ich potrebujete dlhšie, súbory si skopírujte. embed_html je samostatný figure s mapou sedadiel ako inline SVG a riadkom s uvedením zdroja nakordoni.eu; pri zobrazení uvedenie zdroja ponechajte.

Nižšie: obrázky pre ukážkové telo vyššie (minibus, Poznaň – Varšava, 21. júna).

Mapa sedadiel: tieň a slnko pre každé sedadlo
seat_map
Mapa trasy zafarbená podľa strany slnka
route_map
Časová os: kedy je slnko na ktorej strane
timeline

Bus catalogue

bus_model prijíma jednu z týchto všeobecných tried vozidiel (nie konkrétne značky). Každé poslané pole autobusu prepíše model; seats sa prepočíta na rows podľa layout. Rovnaký zoznam je dostupný ako JSON z bus-sun-catalog.

bus_modellayoutrowsdoor_sidewindshieldrear_windowwindow_heightdeckmid_doortypical_seats
standard_coach
Standard touring coach (12-13 m, 2+2)
2+213rightlargesmallstandardsingletrue49-53
panoramic_coach
Coach with panoramic (tall) side windows, 2+2
2+213rightlargesmallpanoramicsingletrue49-53
midi_coach
Midi coach (9-10 m, 2+2)
2+29rightlargesmallstandardsinglefalse33-37
comfort_coach_2_1
Comfort coach with 2+1 seating
2+112rightlargesmallstandardsingletrue33-36
minibus
Minibus (7-8 m, 2+1)
2+16rightnormallargestandardsinglefalse16-20
double_deck_upper
Double-deck coach, upper deck
2+215rightlargesmallpanoramicupperfalse56-64 on the upper deck
double_deck_lower
Double-deck coach, lower deck
2+25rightnormalnonestandardlowertrue12-20 on the lower deck

Allowed values: layout 2+2 | 2+1 | 1+2 · rows {"min":4,"max":20,"custom_min":8} · door_side right | left · windshield large | normal · rear_window none | small | large · window_height standard | panoramic · deck single | upper | lower · mid_door true | false

Weather

Pri weather=1 (predvolené; v tele POST "weather": true) odpoveď používa hodinovú predpoveď počasia pozdĺž cesty na najbližšie 3 dni (72 h); pre neskoršie časti cesty sa použije jasná obloha. summary.sun_*_min sú potom vážené podľa predpovede, každý riadok timeline dostane wx {code, f, temp, precip} a weather {used, window_h, covered_pct, sunny_min, cloudy_min, rain_min, max_temp, note_key} ukazuje, akú časť cesty predpoveď pokryla. recommend_clear je odpoveď pre jasnú oblohu; weather_changes_answer má hodnotu true, keď predpoveď mení stranu tieňa. Keď je predpoveď prevažne oblačná alebo daždivá, recommend.reason_key je mostly_cloudy a shade_side je any. recommend.tip_key hot_sun_side znamená, že na slnečnej strane sa predpovedá 28 °C alebo viac.

Quota and accuracy

GET aj POST s "images": [] sa počítajú ako 1 jednotka ťažkej triedy; POST, ktorý vytvára obrázky, sa počíta ako 2. bus-sun-catalog je lacné volanie. Rovnaké telo POST vracia uloženú odpoveď až 6 hodín (1 hodinu, ak sa použila predpoveď počasia).

Výsledok je odhad z geometrie trasy a polohy slnka. Záclony, tónované sklá, budovy, stromy, terén a zmenená trasa nám nie sú známe. Oblaky a dážď pochádzajú z predpovede počasia iba pre cesty v najbližších 3 dňoch; pre neskoršie cesty sa predpokladá jasná obloha. confidence je nižšia, keď je slnko nízko, cesta je krátka, trasa často odbočuje alebo je predpoveď prevažne oblačná.

curl "https://nakordoni.eu/api/v2/data/bus-sun-side?route_id=521&dir=direct&date=2026-06-21&bus_model=standard_coach&lang=en" \
  -H "Authorization: Bearer NKD-DEV-XXXX-XXXX-XXXX"
🔑 Prihláste sa ako vývojár a vyskúšajte tento endpoint naživo v sandboxe — 10 bezplatných testovacích volaní na produkt za deň. Prihlásiť sa

Aktualizované