first/last walking leg: dTZOffset/aTZOffset of 0 🐛

fixes #237

Thanks @yu-re-ka!
This commit is contained in:
Jannis R 2021-08-17 14:52:29 +02:00
parent 62454d5d94
commit 216102763d
No known key found for this signature in database
GPG key ID: 0FE83946296A88A5
5 changed files with 1449 additions and 1 deletions

View file

@ -18,7 +18,8 @@
"Julius Tens <mail@juliustens.eu>",
"n0emis <n0emis@noemis.me>",
"em0lar <hello@em0lar.de>",
"Adrian Böhme <hannsadrian@gmail.com> (https://github.com/Adwirawien)"
"Adrian Böhme <hannsadrian@gmail.com> (https://github.com/Adwirawien)",
"Yureka <github@yuka.dev>"
],
"homepage": "https://github.com/public-transport/hafas-client/tree/5.18.0",
"repository": "public-transport/hafas-client",

View file

@ -59,6 +59,13 @@ const parseJourneyLeg = (ctx, pt, date) => { // pt = raw leg
destination: clone(pt.arr.location)
}
// HAFAS seems to have a bug where a journey's first leg has a `dTZOffset` of `0`.
// https://github.com/public-transport/hafas-client/issues/237
if (pt.type === 'WALK' && pt.dep.dTZOffset != pt.arr.aTZOffset) {
if (pt.dep.dTZOffset == 0) pt.dep.dTZOffset = pt.arr.aTZOffset
if (pt.arr.aTZOffset == 0) pt.arr.aTZOffset = pt.dep.dTZOffset
}
const dep = profile.parseWhen(ctx, date, pt.dep.dTimeS, pt.dep.dTimeR, pt.dep.dTZOffset, pt.dep.dCncl)
res.departure = dep.when
res.plannedDeparture = dep.plannedWhen

View file

@ -0,0 +1,42 @@
'use strict'
const tap = require('tap')
const createClient = require('..')
const rawProfile = require('../p/db')
const resDTZOffset0 = require('./fixtures/db-journey-dtzoffset-0.json')
const resATZOffset0 = require('./fixtures/db-journey-atzoffset-0.json')
const client = createClient(rawProfile, 'public-transport/hafas-client:test')
const {profile} = client
const opt = {
stopovers: false,
tickets: false,
polylines: false,
subStops: true,
entrances: true,
remarks: true,
}
// https://github.com/public-transport/hafas-client/issues/237
tap.test('parses a journey whose first leg has a dTZOffset of 0 (#237)', (t) => {
const common = profile.parseCommon({profile, opt, res: resDTZOffset0})
const ctx = {profile, opt, common, res: resDTZOffset0}
const journey = profile.parseJourney(ctx, resDTZOffset0.outConL[0])
const firstLeg = journey.legs[0]
t.notOk(/Z$/.test(firstLeg.departure), 'firstLeg.departure has TZ offset "Z"')
t.end()
})
tap.test('parses a journey whose first leg has a aTZOffset of 0 (#237)', (t) => {
const common = profile.parseCommon({profile, opt, res: resATZOffset0})
const ctx = {profile, opt, common, res: resATZOffset0}
const journey = profile.parseJourney(ctx, resATZOffset0.outConL[0])
const lastLeg = journey.legs[0]
t.notOk(/Z$/.test(lastLeg.departure), 'lastLeg.departure has TZ offset "Z"')
t.end()
})

View file

@ -0,0 +1,640 @@
{
"common": {
"locL": [
{
"lid": "A=1@O=Moser, Achstetten@X=9898310@Y=48258859@U=80@L=800002@",
"type": "S",
"name": "Moser, Achstetten",
"icoX": 0,
"extId": "800002",
"state": "F",
"crd": {
"x": 9898310,
"y": 48258859,
"floor": 0
},
"pCls": 544
},
{
"lid": "A=1@O=Dellmensingen Schule, Erbach (Donau)@X=9901834@Y=48302844@U=80@L=800258@",
"type": "S",
"name": "Dellmensingen Schule, Erbach (Donau)",
"icoX": 0,
"extId": "800258",
"state": "F",
"crd": {
"x": 9901834,
"y": 48302844,
"floor": 0
},
"pCls": 32
},
{
"lid": "A=1@O=ZOB Ost, Ulm@X=9983887@Y=48397644@U=80@L=801345@",
"type": "S",
"name": "ZOB Ost, Ulm",
"icoX": 0,
"extId": "801345",
"state": "F",
"crd": {
"x": 9983887,
"y": 48397644,
"floor": 0
},
"pCls": 40
},
{
"lid": "A=1@O=Ulm Hbf@X=9982224@Y=48399433@U=80@L=8000170@",
"type": "S",
"name": "Ulm Hbf",
"icoX": 1,
"extId": "8000170",
"state": "F",
"crd": {
"x": 9982422,
"y": 48399585,
"z": 0,
"floor": 0
},
"pCls": 299
},
{
"lid": "A=1@O=München Hbf@X=11558339@Y=48140229@U=80@L=8000261@",
"type": "S",
"name": "München Hbf",
"icoX": 5,
"extId": "8000261",
"state": "F",
"crd": {
"x": 11558744,
"y": 48140364,
"z": 0,
"floor": 0
},
"pCls": 447
},
{
"lid": "A=1@O=München Hbf@X=11559004@Y=48139429@U=199@L=618000261@",
"type": "S",
"name": "München Hbf",
"icoX": 8,
"extId": "618000261",
"state": "F",
"crd": {
"x": 11559004,
"y": 48139429,
"floor": 0
},
"pCls": 0,
"entry": true,
"mMastLocX": 4
},
{
"lid": "A=1@O=Karlsplatz (Stachus), München@X=11565584@Y=48140148@U=80@L=800001@",
"type": "S",
"name": "Karlsplatz (Stachus), München",
"icoX": 0,
"extId": "800001",
"state": "F",
"crd": {
"x": 11565584,
"y": 48140148,
"floor": 0
},
"pCls": 432,
"mMastLocX": 7
},
{
"lid": "A=1@O=München Karlsplatz@X=11565620@Y=48139456@U=80@L=8004132@",
"type": "S",
"name": "München Karlsplatz",
"icoX": 9,
"extId": "8004132",
"state": "F",
"crd": {
"x": 11565521,
"y": 48139564,
"z": 0,
"floor": 0
},
"pCls": 432
}
],
"prodL": [
{
"name": "Bus 212",
"nameS": "212",
"number": "212",
"icoX": 0,
"cls": 32,
"prodCtx": {
"name": "Bus 212",
"num": "913",
"line": "212",
"matchId": "212",
"catOut": "Bus",
"catOutS": "Bus",
"catOutL": "Bus",
"catIn": "Bus",
"catCode": "5",
"admin": "ald020"
}
},
{
"name": "Bus 212",
"nameS": "212",
"number": "212",
"icoX": 0,
"cls": 32,
"prodCtx": {
"name": "Bus 212",
"num": "913",
"line": "212",
"lineId": "5_ald020_212",
"matchId": "212",
"catOut": "Bus",
"catOutS": "Bus",
"catOutL": "Bus",
"catIn": "Bus",
"catCode": "5",
"admin": "ald020"
}
},
{
"name": "Bus 12",
"nameS": "12",
"number": "12",
"icoX": 0,
"cls": 32,
"prodCtx": {
"name": "Bus 12",
"num": "15266",
"line": "12",
"matchId": "12",
"catOut": "Bus",
"catOutS": "Bus",
"catOutL": "Bus",
"catIn": "Bus",
"catCode": "5",
"admin": "ald087"
}
},
{
"name": "Bus 12",
"nameS": "12",
"number": "12",
"icoX": 0,
"cls": 32,
"prodCtx": {
"name": "Bus 12",
"num": "15266",
"line": "12",
"lineId": "5_ald087_12",
"matchId": "12",
"catOut": "Bus",
"catOutS": "Bus",
"catOutL": "Bus",
"catIn": "Bus",
"catCode": "5",
"admin": "ald087"
}
},
{
"name": "Walk",
"icoX": 2,
"prodCtx": {
"name": "Walk"
}
},
{
"name": "RE 57057",
"nameS": "RE",
"number": "57057",
"icoX": 3,
"cls": 8,
"oprX": 0,
"prodCtx": {
"name": "RE 57057",
"num": "57057",
"matchId": "9",
"catOut": "RE",
"catOutS": "RE",
"catOutL": "Regional-Express",
"catIn": "RE",
"catCode": "3",
"admin": "800734",
"addName": "RE 9"
},
"addName": "RE 9"
}
],
"opL": [
{
"name": "DB Regio AG Bayern",
"icoX": 4
}
],
"remL": [
{
"type": "A",
"code": "PF",
"prio": 200,
"icoX": 6,
"txtN": "Please wear an FFP2 mask. You are legally required to do so"
},
{
"type": "A",
"code": "FB",
"prio": 260,
"icoX": 7,
"txtN": "Number of bicycles conveyed limited"
},
{
"type": "A",
"code": "RC",
"prio": 320,
"icoX": 6,
"txtN": "Reservations at DB ticket machines/travel centres + many DB agencies"
},
{
"type": "A",
"code": "ER",
"prio": 560,
"icoX": 6,
"txtN": "vehicle-mounted accessaid"
}
],
"icoL": [
{
"res": "Bus"
},
{
"res": "ICE"
},
{
"res": "prod_walk"
},
{
"res": "RE"
},
{
"res": "RE",
"txt": "DB Regio AG Bayern"
},
{
"res": "ECE"
},
{
"res": "attr_info"
},
{
"res": "attr_bike"
},
{
"res": "STA"
},
{
"res": "S"
}
],
"lDrawStyleL": [
{
"sIcoX": 0,
"type": "SOLID"
},
{
"type": "SOLID"
},
{
"sIcoX": 2,
"type": "SOLID"
},
{
"type": "DOT"
},
{
"sIcoX": 3,
"type": "SOLID"
}
]
},
"outConL": [
{
"cid": "DirectConReq",
"date": "20210817",
"dur": "034600",
"durS": "033700",
"durR": "033700",
"chg": 2,
"sDays": {
"sDaysR": "runs Mo - Fr, not 1. Nov ",
"sDaysB": "0000000000000000000000000000000000000000000001F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF8F3E7CF9F3E0"
},
"dep": {
"locX": 0,
"idx": 5,
"dProdX": 0,
"dTimeS": "154600",
"dProgType": "PROGNOSED",
"dTZOffset": 120,
"type": "N"
},
"arr": {
"locX": 6,
"aTimeS": "193200",
"type": "N"
},
"secL": [
{
"type": "JNY",
"dep": {
"locX": 0,
"idx": 5,
"dProdX": 0,
"dTimeS": "154600",
"dProgType": "PROGNOSED",
"dTZOffset": 120,
"type": "N"
},
"arr": {
"locX": 1,
"idx": 12,
"aTimeS": "160000",
"aProgType": "PROGNOSED",
"aTZOffset": 120,
"type": "N"
},
"jny": {
"jid": "1|1722205|0|80|17082021",
"prodX": 1,
"dirTxt": "Rabenstraße, Laupheim",
"dirFlg": "2",
"status": "P",
"isRchbl": true,
"ctxRecon": "T$A=1@O=Moser, Achstetten@L=800002@a=128@$A=1@O=Dellmensingen Schule, Erbach (Donau)@L=800258@a=128@$202108171546$202108171600$Bus 212$$1$$$$",
"subscr": "F",
"chgDurR": 5,
"prodL": [
{
"prodX": 1,
"fLocX": 0,
"tLocX": 1,
"fIdx": 5,
"tIdx": 12
}
],
"sumLDrawStyleX": 0,
"resLDrawStyleX": 1,
"trainStartDate": "20210817",
"durS": "001400"
},
"minChg": "000500",
"resState": "N",
"resRecommendation": "N"
},
{
"type": "JNY",
"dep": {
"locX": 1,
"idx": 2,
"dProdX": 2,
"dTimeS": "160500",
"dProgType": "PROGNOSED",
"dTZOffset": 120,
"type": "N"
},
"arr": {
"locX": 2,
"idx": 15,
"aTimeS": "163000",
"aProgType": "PROGNOSED",
"aTZOffset": 120,
"type": "N"
},
"jny": {
"jid": "1|74020|9|80|17082021",
"prodX": 3,
"dirTxt": "ZOB Ost, Ulm",
"dirFlg": "2",
"status": "P",
"isRchbl": true,
"freq": {
"minC": 54,
"maxC": 60,
"numC": 3
},
"ctxRecon": "T$A=1@O=Dellmensingen Schule, Erbach (Donau)@L=800258@a=128@$A=1@O=ZOB Ost, Ulm@L=801345@a=128@$202108171605$202108171630$Bus 12$$1$$$$",
"subscr": "F",
"chgDurR": 53,
"prodL": [
{
"prodX": 3,
"fLocX": 1,
"tLocX": 2,
"fIdx": 2,
"tIdx": 15
}
],
"sumLDrawStyleX": 0,
"resLDrawStyleX": 1,
"trainStartDate": "20210817",
"durS": "002500"
},
"minChg": "000600",
"resState": "N",
"resRecommendation": "N"
},
{
"type": "WALK",
"dep": {
"locX": 2,
"dTimeS": "163000",
"dTZOffset": 120,
"type": "N"
},
"arr": {
"locX": 3,
"aTimeS": "163600",
"aTZOffset": 120,
"type": "N"
},
"gis": {
"dist": 234,
"durS": "000600",
"dirGeo": 10,
"ctx": "H|1|W$A=1@O=ZOB Ost, Ulm@L=801345@a=128@$A=1@O=Ulm Hbf@L=8000170@a=128@$202108171630$202108171636$$$1$$$$",
"gisPrvr": "H",
"getDescr": true,
"getPoly": true,
"sumLDrawStyleX": 2,
"resLDrawStyleX": 3,
"prodX": 4
},
"resState": "N",
"resRecommendation": "N"
},
{
"type": "JNY",
"dep": {
"locX": 3,
"idx": 0,
"dProdX": 5,
"dPltfS": {
"type": "PL",
"txt": "25"
},
"dTimeS": "172300",
"dProgType": "PROGNOSED",
"dTZOffset": 120,
"type": "N"
},
"arr": {
"locX": 4,
"idx": 24,
"aPltfS": {
"type": "PL",
"txt": "17"
},
"aTimeS": "192100",
"aProgType": "PROGNOSED",
"aTZOffset": 120,
"type": "N"
},
"jny": {
"jid": "1|239889|0|80|17082021",
"prodX": 5,
"dirTxt": "München Hbf",
"status": "P",
"isRchbl": true,
"ctxRecon": "T$A=1@O=Ulm Hbf@L=8000170@a=128@$A=1@O=München Hbf@L=8000261@a=128@$202108171723$202108171921$RE 57057$$1$$$$",
"msgL": [
{
"type": "REM",
"remX": 0,
"sty": "I",
"fLocX": 3,
"tLocX": 4,
"fIdx": 0,
"tIdx": 24,
"tagL": [
"RES_JNY_DTL"
],
"sort": 697303040
},
{
"type": "REM",
"remX": 1,
"sty": "I",
"fLocX": 3,
"tLocX": 4,
"fIdx": 0,
"tIdx": 24,
"tagL": [
"RES_JNY_DTL_L"
],
"sort": 705167360
},
{
"type": "REM",
"remX": 2,
"sty": "I",
"fLocX": 3,
"tLocX": 4,
"fIdx": 0,
"tIdx": 24,
"tagL": [
"RES_JNY_DTL"
],
"sort": 713031680
},
{
"type": "REM",
"remX": 3,
"sty": "I",
"fLocX": 3,
"tLocX": 4,
"fIdx": 0,
"tIdx": 24,
"tagL": [
"RES_JNY_DTL"
],
"sort": 744488960
}
],
"subscr": "F",
"prodL": [
{
"prodX": 5,
"fLocX": 3,
"tLocX": 4,
"fIdx": 0,
"tIdx": 24
}
],
"sumLDrawStyleX": 4,
"resLDrawStyleX": 1,
"trainStartDate": "20210817",
"durS": "015800"
},
"minChg": "000200",
"resState": "N",
"resRecommendation": "N"
},
{
"type": "WALK",
"hide": false,
"dep": {
"locX": 4,
"dTimeS": "192100",
"dTZOffset": 120
},
"arr": {
"locX": 6,
"aTimeS": "193200",
"aTZOffset": 0
},
"gis": {
"dist": 701,
"durS": "001100",
"ctx": "H|1|W$A=1@O=München Hbf@L=8000261@a=128@$A=1@O=München Hbf@L=618000261@a=128@$202108171921$202108171923$$$1$$$$±G|1|G@F|A=1@O=München Hbf@X=11559004@Y=48139429@U=199@L=618000261@|A=1@O=Karlsplatz (Stachus), München@X=11565584@Y=48140148@U=80@L=800001@|17082021|192400|193200|fb|ft@0@2000@120@0@100@1@@0@@@@@false@0@-1@0@-1@-1@$f@$f@$f@$f@$f@$§bt@0@2000@120@0@100@1@@0@@@@@false@0@-1@0@-1@-1@$f@$f@$f@$f@$f@$§tf@$f@$f@$f@$f@$f@$§||",
"gisPrvr": "M",
"sumLDrawStyleX": 2,
"resLDrawStyleX": 3,
"prodX": 4
},
"resRecommendation": "U"
}
],
"ctxRecon": "¶HKI¶T$A=1@O=Moser, Achstetten@L=800002@a=128@$A=1@O=Dellmensingen Schule, Erbach (Donau)@L=800258@a=128@$202108171546$202108171600$Bus 212$$1$$$$§T$A=1@O=Dellmensingen Schule, Erbach (Donau)@L=800258@a=128@$A=1@O=ZOB Ost, Ulm@L=801345@a=128@$202108171605$202108171630$Bus 12$$1$$$$§W$A=1@O=ZOB Ost, Ulm@L=801345@a=128@$A=1@O=Ulm Hbf@L=8000170@a=128@$202108171630$202108171636$$$1$$$$§T$A=1@O=Ulm Hbf@L=8000170@a=128@$A=1@O=München Hbf@L=8000261@a=128@$202108171723$202108171921$RE 57057$$1$$$$§W$A=1@O=München Hbf@L=8000261@a=128@$A=1@O=München Hbf@L=618000261@a=128@$202108171921$202108171923$$$1$$$$§G@F$A=1@O=München Hbf@L=618000261@a=128@$A=1@O=Karlsplatz (Stachus), München@L=800001@a=128@$202108171924$202108171932$$$1$$$$¶GP¶ft@0@2000@120@0@100@1@@0@@@@@false@0@-1@0@-1@-1@$f@$f@$f@$f@$f@$§bt@0@2000@120@0@100@1@@0@@@@@false@0@-1@0@-1@-1@$f@$f@$f@$f@$f@$§tf@$f@$f@$f@$f@$f@$§",
"freq": {
"minC": 54
},
"conSubscr": "F",
"resState": "N",
"resRecommendation": "N",
"recState": "C",
"sotRating": 0,
"isSotCon": false,
"showARSLink": false,
"sotCtxt": {
"cnLocX": 0,
"calcDate": "20210817",
"jid": "1|1722205|0|80|-1",
"locMode": "FROM_START",
"pLocX": 0,
"reqMode": "UNKNOWN",
"sectX": 0,
"calcTime": "153402"
},
"cksum": "e68a17a7_3",
"cksumDti": "24d55b5a_3",
"intvlSubscr": "P",
"originType": "INITIAL"
}
],
"fpB": "20201213",
"fpE": "20211211",
"bfATS": -1,
"bfIOSTS": -1,
"planrtTS": "1629207135"
}

View file

@ -0,0 +1,758 @@
{
"common": {
"locL": [
{
"lid": "A=1@O=Karlsplatz (Stachus), München@X=11565584@Y=48140148@U=80@L=800001@",
"type": "S",
"name": "Karlsplatz (Stachus), München",
"icoX": 0,
"extId": "800001",
"state": "F",
"crd": {
"x": 11565584,
"y": 48140148,
"floor": 0
},
"pCls": 432,
"mMastLocX": 1
},
{
"lid": "A=1@O=München Karlsplatz@X=11565620@Y=48139456@U=80@L=8004132@",
"type": "S",
"name": "München Karlsplatz",
"icoX": 1,
"extId": "8004132",
"state": "F",
"crd": {
"x": 11565521,
"y": 48139564,
"z": 0,
"floor": 0
},
"pCls": 432
},
{
"lid": "A=1@O=München Hbf@X=11559004@Y=48139429@U=199@L=618000261@",
"type": "S",
"name": "München Hbf",
"icoX": 2,
"extId": "618000261",
"state": "F",
"crd": {
"x": 11559004,
"y": 48139429,
"floor": 0
},
"pCls": 0,
"entry": true,
"mMastLocX": 3
},
{
"lid": "A=1@O=München Hbf@X=11558339@Y=48140229@U=80@L=8000261@",
"type": "S",
"name": "München Hbf",
"icoX": 3,
"extId": "8000261",
"state": "F",
"crd": {
"x": 11558744,
"y": 48140364,
"z": 0,
"floor": 0
},
"pCls": 447
},
{
"lid": "A=1@O=Ulm Hbf@X=9982224@Y=48399433@U=80@L=8000170@",
"type": "S",
"name": "Ulm Hbf",
"icoX": 7,
"extId": "8000170",
"state": "F",
"crd": {
"x": 9982422,
"y": 48399585,
"z": 0,
"floor": 0
},
"pCls": 299
},
{
"lid": "A=1@O=ZOB Ost, Ulm@X=9983887@Y=48397644@U=80@L=801345@",
"type": "S",
"name": "ZOB Ost, Ulm",
"icoX": 0,
"extId": "801345",
"state": "F",
"crd": {
"x": 9983887,
"y": 48397644,
"floor": 0
},
"pCls": 40
},
{
"lid": "A=1@O=Oberholzheim Hauptstraße, Achstetten@X=9923848@Y=48260792@U=80@L=801494@",
"type": "S",
"name": "Oberholzheim Hauptstraße, Achstetten",
"icoX": 0,
"extId": "801494",
"state": "F",
"crd": {
"x": 9923848,
"y": 48260792,
"floor": 0
},
"pCls": 32
},
{
"lid": "A=1@O=Rathaus, Achstetten@X=9897941@Y=48258563@U=80@L=800132@",
"type": "S",
"name": "Rathaus, Achstetten",
"icoX": 0,
"extId": "800132",
"state": "F",
"crd": {
"x": 9897941,
"y": 48258563,
"floor": 0
},
"pCls": 32
},
{
"lid": "A=1@O=Moser, Achstetten@X=9898310@Y=48258859@U=80@L=800002@",
"type": "S",
"name": "Moser, Achstetten",
"icoX": 0,
"extId": "800002",
"state": "F",
"crd": {
"x": 9898310,
"y": 48258859,
"floor": 0
},
"pCls": 544
}
],
"prodL": [
{
"name": "Walk",
"icoX": 4,
"prodCtx": {
"name": "Walk"
}
},
{
"name": "IC 2094",
"number": "2094",
"icoX": 5,
"cls": 2,
"oprX": 0,
"prodCtx": {
"name": "IC 2094",
"num": "2094",
"matchId": "60",
"catOut": "IC",
"catOutS": "IC",
"catOutL": "Intercity",
"catIn": "IC",
"catCode": "1",
"admin": "80____"
}
},
{
"name": "Bus 24",
"nameS": "24",
"number": "24",
"icoX": 0,
"cls": 32,
"prodCtx": {
"name": "Bus 24",
"num": "45",
"line": "24",
"matchId": "24",
"catOut": "Bus",
"catOutS": "Bus",
"catOutL": "Bus",
"catIn": "Bus",
"catCode": "5",
"admin": "ald020"
}
},
{
"name": "Bus 24",
"nameS": "24",
"number": "24",
"icoX": 0,
"cls": 32,
"prodCtx": {
"name": "Bus 24",
"num": "45",
"line": "24",
"lineId": "5_ald020_24",
"matchId": "24",
"catOut": "Bus",
"catOutS": "Bus",
"catOutL": "Bus",
"catIn": "Bus",
"catCode": "5",
"admin": "ald020"
}
},
{
"name": "Bus 227",
"nameS": "227",
"number": "227",
"icoX": 0,
"cls": 32,
"oprX": 1,
"prodCtx": {
"name": "Bus 227",
"num": "3381",
"line": "227",
"matchId": "227",
"catOut": "Bus",
"catOutS": "Bus",
"catOutL": "Bus",
"catIn": "Bus",
"catCode": "5",
"admin": "rabRAB"
}
},
{
"name": "Bus 227",
"nameS": "227",
"number": "227",
"icoX": 0,
"cls": 32,
"oprX": 1,
"prodCtx": {
"name": "Bus 227",
"num": "3381",
"line": "227",
"lineId": "5_rabRAB_227",
"matchId": "227",
"catOut": "Bus",
"catOutS": "Bus",
"catOutL": "Bus",
"catIn": "Bus",
"catCode": "5",
"admin": "rabRAB"
}
}
],
"opL": [
{
"name": "DB Fernverkehr AG",
"icoX": 6
},
{
"name": "DB ZugBus Regionalverkehr Alb-Bodensee",
"icoX": 11
}
],
"remL": [
{
"type": "A",
"code": "CK",
"prio": 200,
"icoX": 8,
"txtN": "Komfort Check-in possible (visit bahn.de/kci for more information)"
},
{
"type": "A",
"code": "PF",
"prio": 200,
"icoX": 8,
"txtN": "Please wear an FFP2 mask. You are legally required to do so"
},
{
"type": "A",
"code": "FR",
"prio": 260,
"icoX": 9,
"txtN": "Bicycles conveyed - subject to reservation"
},
{
"type": "A",
"code": "FB",
"prio": 260,
"icoX": 10,
"txtN": "Number of bicycles conveyed limited"
},
{
"type": "A",
"code": "KG",
"prio": 640,
"icoX": 8,
"txtN": "No food or beverages"
},
{
"type": "A",
"code": "bg",
"prio": 560,
"icoX": 8,
"txtN": "Behindertengerechtes Fahrzeug"
}
],
"icoL": [
{
"res": "Bus"
},
{
"res": "S"
},
{
"res": "STA"
},
{
"res": "ECE"
},
{
"res": "prod_walk"
},
{
"res": "IC"
},
{
"res": "D",
"txt": "DB Fernverkehr AG"
},
{
"res": "ICE"
},
{
"res": "attr_info"
},
{
"res": "attr_bike_r"
},
{
"res": "attr_bike"
},
{
"res": "N",
"txt": "DB ZugBus Regionalverkehr Alb-Bodensee"
},
{
"res": "navi_enter"
}
],
"tcocL": [
{
"c": "FIRST",
"r": 1
},
{
"c": "SECOND",
"r": 1
}
],
"lDrawStyleL": [
{
"sIcoX": 4,
"type": "SOLID"
},
{
"type": "DOT"
},
{
"sIcoX": 5,
"type": "SOLID"
},
{
"type": "SOLID"
},
{
"sIcoX": 0,
"type": "SOLID"
}
]
},
"outConL": [
{
"cid": "DirectConReq",
"date": "20210817",
"dur": "032200",
"durS": "031300",
"durR": "031300",
"chg": 2,
"sDays": {
"sDaysR": "runs Mo - Th, not 1. Nov ",
"sDaysB": "00000000000000000000000000000000000000000000000000000000000063C78F1E3C78F1E3C78F0E3C78F1E3C0"
},
"dep": {
"locX": 0,
"dTimeS": "170800",
"type": "N"
},
"arr": {
"locX": 8,
"aTimeS": "203100",
"type": "N"
},
"secL": [
{
"type": "WALK",
"hide": false,
"dep": {
"locX": 0,
"dTimeS": "170800",
"dTZOffset": 0
},
"arr": {
"locX": 3,
"aTimeS": "171800",
"aTZOffset": 120
},
"gis": {
"dist": 701,
"durS": "001000",
"ctx": "G|1|G@F|A=1@O=Karlsplatz (Stachus), München@X=11565584@Y=48140148@U=80@L=800001@|A=1@O=München Hbf@X=11559004@Y=48139429@U=199@L=618000261@|17082021|170800|171600|bf|ft@0@2000@120@0@100@1@@0@@@@@false@0@-1@0@-1@-1@$f@$f@$f@$f@$f@$§bt@0@2000@120@0@100@1@@0@@@@@false@0@-1@0@-1@-1@$f@$f@$f@$f@$f@$§tf@$f@$f@$f@$f@$f@$§||±H|1|W$A=1@O=München Hbf@L=618000261@a=128@$A=1@O=München Hbf@L=8000261@a=128@$202108171716$202108171718$$$1$$$$",
"gisPrvr": "M",
"sumLDrawStyleX": 0,
"resLDrawStyleX": 1,
"prodX": 0
},
"resRecommendation": "U"
},
{
"type": "JNY",
"dep": {
"locX": 3,
"idx": 0,
"dProdX": 1,
"dPltfS": {
"type": "PL",
"txt": "17"
},
"dTimeS": "171900",
"dProgType": "PROGNOSED",
"dTrnCmpSX": {
"tcocX": [
0,
1
],
"tcM": 1
},
"dTZOffset": 120,
"type": "N"
},
"arr": {
"locX": 4,
"idx": 4,
"aPltfS": {
"type": "PL",
"txt": "25"
},
"aTimeS": "183600",
"aProgType": "PROGNOSED",
"aTrnCmpSX": {
"tcM": 1
},
"aTZOffset": 120,
"type": "N"
},
"jny": {
"jid": "1|187459|0|80|17082021",
"prodX": 1,
"dirTxt": "Ulm Hbf",
"status": "P",
"isRchbl": true,
"ctxRecon": "T$A=1@O=München Hbf@L=8000261@a=128@$A=1@O=Ulm Hbf@L=8000170@a=128@$202108171719$202108171836$IC 2094$$1$$$$",
"msgL": [
{
"type": "REM",
"remX": 0,
"sty": "I",
"fLocX": 3,
"tLocX": 4,
"fIdx": 0,
"tIdx": 4,
"tagL": [
"RES_JNY_DTL"
],
"sort": 697303040
},
{
"type": "REM",
"remX": 1,
"sty": "I",
"fLocX": 3,
"tLocX": 4,
"fIdx": 0,
"tIdx": 4,
"tagL": [
"RES_JNY_DTL"
],
"sort": 697303040
},
{
"type": "REM",
"remX": 2,
"sty": "I",
"fLocX": 3,
"tLocX": 4,
"fIdx": 0,
"tIdx": 4,
"tagL": [
"RES_JNY_DTL_L"
],
"sort": 705167360
},
{
"type": "REM",
"remX": 3,
"sty": "I",
"fLocX": 3,
"tLocX": 4,
"fIdx": 0,
"tIdx": 4,
"tagL": [
"RES_JNY_DTL_L"
],
"sort": 705167360
},
{
"type": "REM",
"remX": 4,
"sty": "I",
"fLocX": 3,
"tLocX": 4,
"fIdx": 0,
"tIdx": 4,
"tagL": [
"RES_JNY_DTL"
],
"sort": 754974720
}
],
"subscr": "F",
"chgDurR": 36,
"prodL": [
{
"prodX": 1,
"fLocX": 3,
"tLocX": 4,
"fIdx": 0,
"tIdx": 4
}
],
"dTrnCmpSX": {
"tcocX": [
0,
1
]
},
"sumLDrawStyleX": 2,
"resLDrawStyleX": 3,
"trainStartDate": "20210817",
"durS": "011700",
"tcocXL": [
0,
1
]
},
"minChg": "000600",
"resState": "N",
"resRecommendation": "N"
},
{
"type": "WALK",
"dep": {
"locX": 4,
"dTimeS": "183600",
"dTZOffset": 120,
"type": "N"
},
"arr": {
"locX": 5,
"aTimeS": "184200",
"aTZOffset": 120,
"type": "N"
},
"gis": {
"dist": 234,
"durS": "000600",
"dirGeo": 26,
"ctx": "H|1|W$A=1@O=Ulm Hbf@L=8000170@a=128@$A=1@O=ZOB Ost, Ulm@L=801345@a=128@$202108171836$202108171842$$$1$$$$",
"gisPrvr": "H",
"getDescr": true,
"getPoly": true,
"sumLDrawStyleX": 0,
"resLDrawStyleX": 1,
"prodX": 0
},
"resState": "N",
"resRecommendation": "N"
},
{
"type": "JNY",
"dep": {
"locX": 5,
"idx": 0,
"dProdX": 2,
"dTimeS": "191200",
"dProgType": "PROGNOSED",
"dTZOffset": 120,
"type": "N"
},
"arr": {
"locX": 6,
"idx": 15,
"aTimeS": "194800",
"aProgType": "PROGNOSED",
"aTZOffset": 120,
"type": "N"
},
"jny": {
"jid": "1|75903|0|80|17082021",
"prodX": 3,
"dirTxt": "Rabenstraße, Laupheim",
"dirFlg": "1",
"status": "P",
"isRchbl": true,
"ctxRecon": "T$A=1@O=ZOB Ost, Ulm@L=801345@a=128@$A=1@O=Oberholzheim Hauptstraße, Achstetten@L=801494@a=128@$202108171912$202108171948$Bus 24$$1$$$$",
"subscr": "F",
"chgDurR": 31,
"prodL": [
{
"prodX": 3,
"fLocX": 5,
"tLocX": 6,
"fIdx": 0,
"tIdx": 15
}
],
"sumLDrawStyleX": 4,
"resLDrawStyleX": 3,
"trainStartDate": "20210817",
"durS": "003600"
},
"minChg": "000300",
"resState": "N",
"resRecommendation": "N"
},
{
"type": "JNY",
"dep": {
"locX": 6,
"idx": 17,
"dProdX": 4,
"dTimeS": "201900",
"dProgType": "PROGNOSED",
"dTZOffset": 120,
"type": "N"
},
"arr": {
"locX": 7,
"idx": 21,
"aTimeS": "202900",
"aProgType": "PROGNOSED",
"aTZOffset": 120,
"type": "N"
},
"jny": {
"jid": "1|587878|0|80|17082021",
"prodX": 5,
"dirTxt": "Rabenstraße, Laupheim",
"dirFlg": "1",
"status": "P",
"isRchbl": true,
"ctxRecon": "T$A=1@O=Oberholzheim Hauptstraße, Achstetten@L=801494@a=128@$A=1@O=Rathaus, Achstetten@L=800132@a=128@$202108172019$202108172029$Bus 227$$1$$$$",
"msgL": [
{
"type": "REM",
"remX": 5,
"sty": "I",
"fLocX": 6,
"tLocX": 7,
"fIdx": 17,
"tIdx": 21,
"tagL": [
"RES_JNY_DTL"
],
"sort": 744488960
}
],
"subscr": "F",
"prodL": [
{
"prodX": 5,
"fLocX": 6,
"tLocX": 7,
"fIdx": 17,
"tIdx": 21
}
],
"sumLDrawStyleX": 4,
"resLDrawStyleX": 3,
"trainStartDate": "20210817",
"durS": "001000"
},
"resState": "N",
"resRecommendation": "N"
},
{
"type": "WALK",
"dep": {
"locX": 7,
"dTimeS": "202900",
"type": "N"
},
"arr": {
"locX": 8,
"aTimeS": "203100",
"type": "N"
},
"gis": {
"dist": 53,
"durS": "000200",
"ctx": "G|1|G@F|A=1@O=Rathaus, Achstetten@X=9897941@Y=48258563@U=80@L=800132@|A=1@O=Moser, Achstetten@X=9898310@Y=48258859@U=80@L=800002@|17082021|202900|203100|fb|ft@0@2000@120@0@100@1@@0@@@@@false@0@-1@0@-1@-1@$f@$f@$f@$f@$f@$§bt@0@2000@120@0@100@1@@0@@@@@false@0@-1@0@-1@-1@$f@$f@$f@$f@$f@$§tf@$f@$f@$f@$f@$f@$§||",
"gisPrvr": "E",
"getDescr": true,
"getPoly": true,
"sumLDrawStyleX": 0,
"resLDrawStyleX": 1,
"prodX": 0
},
"resState": "N",
"resRecommendation": "N"
}
],
"ctxRecon": "¶HKI¶G@F$A=1@O=Karlsplatz (Stachus), München@L=800001@a=128@$A=1@O=München Hbf@L=618000261@a=128@$202108171708$202108171716$$$1$$$$§W$A=1@O=München Hbf@L=618000261@a=128@$A=1@O=München Hbf@L=8000261@a=128@$202108171716$202108171718$$$1$$$$§T$A=1@O=München Hbf@L=8000261@a=128@$A=1@O=Ulm Hbf@L=8000170@a=128@$202108171719$202108171836$IC 2094$$1$$$$§W$A=1@O=Ulm Hbf@L=8000170@a=128@$A=1@O=ZOB Ost, Ulm@L=801345@a=128@$202108171836$202108171842$$$1$$$$§T$A=1@O=ZOB Ost, Ulm@L=801345@a=128@$A=1@O=Oberholzheim Hauptstraße, Achstetten@L=801494@a=128@$202108171912$202108171948$Bus 24$$1$$$$§T$A=1@O=Oberholzheim Hauptstraße, Achstetten@L=801494@a=128@$A=1@O=Rathaus, Achstetten@L=800132@a=128@$202108172019$202108172029$Bus 227$$1$$$$§G@F$A=1@O=Rathaus, Achstetten@L=800132@a=128@$A=1@O=Moser, Achstetten@L=800002@a=128@$202108172029$202108172031$$$1$$$$¶GP¶ft@0@2000@120@0@100@1@@0@@@@@false@0@-1@0@-1@-1@$f@$f@$f@$f@$f@$§bt@0@2000@120@0@100@1@@0@@@@@false@0@-1@0@-1@-1@$f@$f@$f@$f@$f@$§tf@$f@$f@$f@$f@$f@$§",
"conSubscr": "F",
"resState": "N",
"resRecommendation": "N",
"recState": "C",
"sotRating": 0,
"isSotCon": false,
"showARSLink": false,
"sotCtxt": {
"calcDate": "20210817",
"locMode": "FROM_START",
"reqMode": "UNKNOWN",
"calcTime": "153352"
},
"cksum": "4e99db20_3",
"cksumDti": "c10fe4ec_3",
"dTrnCmpSX": {
"tcocX": [
0,
1
]
},
"intvlSubscr": "P",
"tcocXL": [
0,
1
],
"originType": "INITIAL"
}
],
"fpB": "20201213",
"fpE": "20211211",
"bfATS": -1,
"bfIOSTS": -1,
"planrtTS": "1629207135"
}