public-transport / hafas-client

JavaScript client for HAFAS public transport APIs.
ISC License
274 stars 53 forks source link

CHKI leg type #267

Closed yu-re-ka closed 2 years ago

yu-re-ka commented 2 years ago

The SNCB backend sometimes gives CHKI legs ("checkin" maybe?). For example Brussels -> London.

example response ``` { "svcResL": [ { "meth": "TripSearch", "err": "OK", "res": { "common": { "locL": [ { "lid": "A=1@O=Bruxelles-Midi / Brussel-Zuid@X=4336531@Y=50835707@U=80@L=8814001@", "type": "S", "name": "Bruxelles-Midi / Brussel-Zuid", "icoX": 0, "extId": "8814001", "state": "F", "crd": { "x": 4336531, "y": 50835707, "layerX": 0, "crdSysX": 0 }, "pCls": 1909 }, { "lid": "A=1@O=London St Pancras (gb)@X=123808@Y=51530403@U=80@L=7015400@", "type": "S", "name": "London St Pancras (gb)", "icoX": 0, "extId": "7015400", "state": "F", "crd": { "x": 123808, "y": 51530403, "layerX": 0, "crdSysX": 0 }, "pCls": 1 }, { "lid": "A=1@O=Lille Europe (f)@X=3074634@Y=50639023@U=80@L=8722326@", "type": "S", "name": "Lille Europe (f)", "icoX": 0, "extId": "8722326", "state": "F", "crd": { "x": 3074634, "y": 50639023, "layerX": 0, "crdSysX": 0 }, "pCls": 1 }, { "lid": "A=1@O=Halle@X=4240634@Y=50733931@U=80@L=8814308@", "type": "S", "name": "Halle", "icoX": 0, "extId": "8814308", "state": "F", "crd": { "x": 4240634, "y": 50733931, "layerX": 0, "crdSysX": 0 }, "pCls": 565 } ], "prodL": [ { "name": "Check-In", "icoX": 1, "prodCtx": { "name": "Check-In" } }, { "name": "EUR 9153", "number": "9153", "icoX": 0, "cls": 1, "prodCtx": { "name": "EUR 9153", "num": "9153", "matchId": "9153", "catOut": "EUR ", "catOutS": "003", "catOutL": "EUROSTAR", "catIn": "003", "catCode": "0", "admin": "88____" } }, { "name": "EUR 9153", "number": "9153", "icoX": 0, "cls": 1, "prodCtx": { "name": "EUR 9153", "num": "9153", "matchId": "9153", "catOut": "EUR ", "catOutS": "003", "catOutL": "EUROSTAR", "catIn": "003", "catCode": "0", "admin": "87____" } }, { "name": "EUR 9157", "number": "9157", "icoX": 0, "cls": 1, "prodCtx": { "name": "EUR 9157", "num": "9157", "matchId": "9157", "catOut": "EUR ", "catOutS": "003", "catOutL": "EUROSTAR", "catIn": "003", "catCode": "0", "admin": "88____" } }, { "name": "EUR 9167", "number": "9167", "icoX": 0, "cls": 1, "prodCtx": { "name": "EUR 9167", "num": "9167", "matchId": "9167", "catOut": "EUR ", "catOutS": "003", "catOutL": "EUROSTAR", "catIn": "003", "catCode": "0", "admin": "88____" } }, { "name": "EUR 9157", "number": "9157", "icoX": 0, "cls": 1, "prodCtx": { "name": "EUR 9157", "num": "9157", "matchId": "9157", "catOut": "EUR ", "catOutS": "003", "catOutL": "EUROSTAR", "catIn": "003", "catCode": "0", "admin": "87____" } }, { "name": "EUR 9117", "number": "9117", "icoX": 0, "cls": 1, "prodCtx": { "name": "EUR 9117", "num": "9117", "matchId": "9117", "catOut": "EUR ", "catOutS": "003", "catOutL": "EUROSTAR", "catIn": "003", "catCode": "0", "admin": "88____" } }, { "name": "EUR 9117", "number": "9117", "icoX": 0, "cls": 1, "prodCtx": { "name": "EUR 9117", "num": "9117", "matchId": "9117", "catOut": "EUR ", "catOutS": "003", "catOutL": "EUROSTAR", "catIn": "003", "catCode": "0", "admin": "87____" } }, { "name": "EUR 9135", "number": "9135", "icoX": 0, "cls": 1, "prodCtx": { "name": "EUR 9135", "num": "9135", "matchId": "9135", "catOut": "EUR ", "catOutS": "003", "catOutL": "EUROSTAR", "catIn": "003", "catCode": "0", "admin": "88____" } }, { "name": "EUR 9135", "number": "9135", "icoX": 0, "cls": 1, "prodCtx": { "name": "EUR 9135", "num": "9135", "matchId": "9135", "catOut": "EUR ", "catOutS": "003", "catOutL": "EUROSTAR", "catIn": "003", "catCode": "0", "admin": "87____" } } ], "polyL": [ { "delta": true, "dim": 2, "crdEncYX": "ezguHi~mYb{RjvQbpQnvbFcbmDri_Q", "crdEncS": "NNNN", "crdEncF": "????", "ppLocRefL": [ { "ppIdx": 0, "locX": 0 }, { "ppIdx": 1, "locX": 3 }, { "ppIdx": 2, "locX": 2 }, { "ppIdx": 3, "locX": 1 } ] }, { "delta": true, "dim": 2, "crdEncYX": "ezguHi~mYb{RjvQbpQnvbFcbmDri_Q", "crdEncS": "NNNN", "crdEncF": "????", "ppLocRefL": [ { "ppIdx": 0, "locX": 0 }, { "ppIdx": 1, "locX": 3 }, { "ppIdx": 2, "locX": 2 }, { "ppIdx": 3, "locX": 1 } ] }, { "delta": true, "dim": 2, "crdEncYX": "ezguHi~mYb{RjvQ_qzCbacX", "crdEncS": "NNN", "crdEncF": "???", "ppLocRefL": [ { "ppIdx": 0, "locX": 0 }, { "ppIdx": 1, "locX": 3 }, { "ppIdx": 2, "locX": 1 } ] }, { "delta": true, "dim": 2, "crdEncYX": "ezguHi~mYb{RjvQbpQnvbFcbmDri_Q", "crdEncS": "NNNN", "crdEncF": "????", "ppLocRefL": [ { "ppIdx": 0, "locX": 0 }, { "ppIdx": 1, "locX": 3 }, { "ppIdx": 2, "locX": 2 }, { "ppIdx": 3, "locX": 1 } ] }, { "delta": true, "dim": 2, "crdEncYX": "ezguHi~mYb{RjvQbpQnvbFcbmDri_Q", "crdEncS": "NNNN", "crdEncF": "????", "ppLocRefL": [ { "ppIdx": 0, "locX": 0 }, { "ppIdx": 1, "locX": 3 }, { "ppIdx": 2, "locX": 2 }, { "ppIdx": 3, "locX": 1 } ] }, { "delta": true, "dim": 2, "crdEncYX": "ezguHi~mYb{RjvQbpQnvbFcbmDri_Q", "crdEncS": "NNNN", "crdEncF": "????", "ppLocRefL": [ { "ppIdx": 0, "locX": 0 }, { "ppIdx": 1, "locX": 3 }, { "ppIdx": 2, "locX": 2 }, { "ppIdx": 3, "locX": 1 } ] } ], "layerL": [ { "id": "standard", "name": "standard", "index": 0, "annoCnt": 0 } ], "crdSysL": [ { "id": "standard", "index": 0, "type": "WGS84" } ], "opL": [], "remL": [ { "type": "A", "code": "60", "prio": 10, "icoX": 2, "txtN": "Reservierungspflicht" }, { "type": "A", "code": "64", "prio": 110, "icoX": 2, "txtN": "Zuschlag" }, { "type": "I", "code": "CON_OVERVIEW_TARIF_HINT", "icoX": 2, "txtN": "Für diese Strecke ist ein internationales Ticket notwendig." } ], "icoL": [ { "res": "prod_ice" }, { "res": "CHKI" }, { "res": "INFO" }, { "res": "cl_all" } ], "dirL": [ { "txt": "London St Pancras (gb)" } ] }, "outConL": [ { "cid": "C-0", "date": "20220630", "dur": "024700", "chg": 0, "sDays": { "sDaysR": "täglich", "sDaysI": "nicht 13. Nov", "sDaysB": "83060C183060C183060C183060C1FF060C18307FFFFFFFFEA7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FFFFFF0" }, "dep": { "locX": 0, "idx": 0, "dPlatfS": "2", "dInR": true, "dTimeS": "172600", "type": "N" }, "arr": { "locX": 1, "idx": 3, "aProdX": 2, "aOutR": true, "aTimeS": "191300", "aProgType": "PROGNOSED", "type": "N" }, "secL": [ { "type": "CHKI", "icoX": 1, "dep": { "locX": 0, "idx": 0, "dPlatfS": "2", "dInR": true, "dTimeS": "172600", "type": "N" }, "arr": { "locX": 0, "idx": 0, "aOutR": true, "aTimeS": "175600", "type": "N" }, "gis": { "dist": 0, "durS": "003000", "gisPrvr": "E", "getDescr": false, "getPoly": false } }, { "type": "JNY", "icoX": 0, "dep": { "locX": 0, "idx": 0, "dProdX": 1, "dPlatfS": "2", "dInR": true, "dTimeS": "175600", "dProgType": "PROGNOSED", "type": "N" }, "arr": { "locX": 1, "idx": 3, "aProdX": 2, "aOutR": true, "aTimeS": "191300", "aProgType": "PROGNOSED", "type": "N" }, "jny": { "jid": "1|7243|0|80|30062022", "prodX": 1, "dirTxt": "London St Pancras (gb)", "status": "P", "isRchbl": true, "stopL": [ { "locX": 0, "idx": 0, "dProdX": 1, "dInR": true, "dTimeS": "175600", "dProgType": "PROGNOSED", "dDirTxt": "London St Pancras (gb)", "type": "N" }, { "locX": 2, "idx": 2, "aProdX": 1, "aOutR": true, "aTimeS": "183000", "dProdX": 2, "dInR": true, "dTimeS": "183500", "type": "N" }, { "locX": 1, "idx": 3, "aProdX": 2, "aOutR": true, "aTimeS": "191300", "aProgType": "PROGNOSED", "type": "N" } ], "polyG": { "polyXL": [ 0 ], "layerX": 0, "crdSysX": 0 }, "procRT": -1, "lPassStRT": { "idx": -1 }, "freq": { "minC": 56, "maxC": 124, "numC": 2, "jnyL": [ { "jid": "1|7253|0|80|30062022", "prodX": 3, "dirTxt": "London St Pancras (gb)", "stopL": [ { "locX": 0, "idx": 20, "dProdX": 3, "dTimeS": "185200", "dDirTxt": "London St Pancras (gb)", "type": "N" }, { "locX": 1, "idx": 23, "aProdX": 3, "aTimeS": "195700", "type": "N" } ], "procRT": -1, "lPassStRT": { "idx": -1 }, "ctxRecon": "T$A=1@O=Bruxelles-Midi / Brussel-Zuid@L=8814001@a=128@$A=1@O=London St Pancras (gb)@L=7015400@a=128@$202206301852$202206301957$EUR 9157$$1$$$$", "msgL": [ { "type": "REM", "remX": 0, "fLocX": 0, "tLocX": 1, "tagL": [ "RES_JNY_DTL_H2" ], "sort": 538181632 }, { "type": "REM", "remX": 1, "fLocX": 0, "tLocX": 1, "tagL": [ "RES_JNY_DTL" ], "sort": 685506560 } ], "subscr": "F", "prodL": [ { "prodX": 3, "fLocX": 0, "tLocX": 1, "fIdx": 20, "tIdx": 23 } ], "dirL": [ { "dirX": 0, "fLocX": 0, "tLocX": 1, "fIdx": 20, "tIdx": 23 } ] }, { "jid": "1|7265|0|80|30062022", "prodX": 4, "dirTxt": "London St Pancras (gb)", "stopL": [ { "locX": 0, "idx": 20, "dProdX": 4, "dTimeS": "205600", "dDirTxt": "London St Pancras (gb)", "type": "N" }, { "locX": 1, "idx": 22, "aProdX": 4, "aTimeS": "215700", "type": "N" } ], "procRT": -1, "lPassStRT": { "idx": -1 }, "ctxRecon": "T$A=1@O=Bruxelles-Midi / Brussel-Zuid@L=8814001@a=128@$A=1@O=London St Pancras (gb)@L=7015400@a=128@$202206302056$202206302157$EUR 9167$$1$$$$", "msgL": [ { "type": "REM", "remX": 0, "fLocX": 0, "tLocX": 1, "tagL": [ "RES_JNY_DTL_H2" ], "sort": 538181632 }, { "type": "REM", "remX": 1, "fLocX": 0, "tLocX": 1, "tagL": [ "RES_JNY_DTL" ], "sort": 685506560 } ], "subscr": "F", "prodL": [ { "prodX": 4, "fLocX": 0, "tLocX": 1, "fIdx": 20, "tIdx": 22 } ], "dirL": [ { "dirX": 0, "fLocX": 0, "tLocX": 1, "fIdx": 20, "tIdx": 22 } ] } ] }, "ctxRecon": "T$A=1@O=Bruxelles-Midi / Brussel-Zuid@L=8814001@a=128@$A=1@O=London St Pancras (gb)@L=7015400@a=128@$202206301756$202206301913$EUR 9153$$1$$$$", "msgL": [ { "type": "REM", "remX": 0, "fLocX": 0, "tLocX": 1, "tagL": [ "RES_JNY_DTL_H2" ], "sort": 538181632 }, { "type": "REM", "remX": 1, "fLocX": 0, "tLocX": 1, "tagL": [ "RES_JNY_DTL" ], "sort": 685506560 } ], "subscr": "F", "prodL": [ { "prodX": 1, "fLocX": 0, "tLocX": 2, "fIdx": 0, "tIdx": 2 }, { "prodX": 2, "fLocX": 2, "tLocX": 1, "fIdx": 2, "tIdx": 3 } ], "dirL": [ { "dirX": 0, "fLocX": 0, "tLocX": 1, "fIdx": 0, "tIdx": 3 } ] } } ], "ctxRecon": "¶HKI¶G@F$A=1@O=Bruxelles-Midi / Brussel-Zuid@L=8814001@a=128@$A=1@O=Bruxelles-Midi / Brussel-Zuid@L=8814001@a=128@$202206301726$202206301756$__CI$$1$$$$§T$A=1@O=Bruxelles-Midi / Brussel-Zuid@L=8814001@a=128@$A=1@O=London St Pancras (gb)@L=7015400@a=128@$202206301756$202206301913$EUR 9153$$1$$$$¶GP¶ft@0@2000@120@1@115@1@@0@@@@@false@0@-1@0@-1@-1@$f@$f@$f@$f@$f@$§bt@0@2000@120@1@115@1@@0@@@@@false@0@-1@0@-1@-1@$f@$f@$f@$f@$f@$§tt@0@5000@120@1@100@1@@0@@@@@false@0@-1@0@-1@-1@$t@0@25000@120@1@100@1@@0@@@@@false@0@-1@0@-1@-1@$f@$f@$f@$f@$§", "freq": { "minC": 56 }, "msgL": [ { "type": "REM", "remX": 2, "tagL": [ "SUM_CON_HDR", "RES_CON_FTR" ], "sort": 684195840 } ], "conSubscr": "P", "recState": "U", "cksum": "9b56fd08_3", "cksumDti": "86beaf8c_3" }, { "cid": "C-1", "date": "20220630", "dur": "023500", "chg": 0, "sDays": { "sDaysR": "nicht täglich", "sDaysI": "30. Jun bis 30. Okt 2022; nicht 5. bis 9. Sep 2022, 12. Sep bis 28. Okt 2022", "sDaysB": "000000000000000000000000000000FCFBF7EFFFFFFFFFFEAFFFFFFFFFFFFFFFFFE0C00000000000600000000000" }, "dep": { "locX": 0, "idx": 20, "dPlatfS": "3", "dInR": true, "dTimeS": "182200", "type": "N" }, "arr": { "locX": 1, "idx": 23, "aProdX": 5, "aOutR": true, "aTimeS": "195700", "aProgType": "PROGNOSED", "type": "N" }, "secL": [ { "type": "CHKI", "icoX": 1, "dep": { "locX": 0, "idx": 20, "dPlatfS": "3", "dInR": true, "dTimeS": "182200", "type": "N" }, "arr": { "locX": 0, "idx": 20, "aOutR": true, "aTimeS": "185200", "type": "N" }, "gis": { "dist": 0, "durS": "003000", "gisPrvr": "E", "getDescr": false, "getPoly": false } }, { "type": "JNY", "icoX": 0, "dep": { "locX": 0, "idx": 20, "dProdX": 3, "dPlatfS": "3", "dInR": true, "dTimeS": "185200", "dProgType": "PROGNOSED", "type": "N" }, "arr": { "locX": 1, "idx": 23, "aProdX": 5, "aOutR": true, "aTimeS": "195700", "aProgType": "PROGNOSED", "type": "N" }, "jny": { "jid": "1|7253|0|80|30062022", "prodX": 3, "dirTxt": "London St Pancras (gb)", "status": "P", "isRchbl": true, "stopL": [ { "locX": 0, "idx": 20, "dProdX": 3, "dInR": true, "dTimeS": "185200", "dDirTxt": "London St Pancras (gb)", "type": "N" }, { "locX": 2, "idx": 22, "aProdX": 3, "aOutR": true, "aTimeS": "193000", "dProdX": 5, "dInR": true, "dTimeS": "193500", "type": "N" }, { "locX": 1, "idx": 23, "aProdX": 5, "aOutR": true, "aTimeS": "195700", "aProgType": "PROGNOSED", "type": "N" } ], "polyG": { "polyXL": [ 1 ], "layerX": 0, "crdSysX": 0 }, "procRT": -1, "lPassStRT": { "idx": -1 }, "ctxRecon": "T$A=1@O=Bruxelles-Midi / Brussel-Zuid@L=8814001@a=128@$A=1@O=London St Pancras (gb)@L=7015400@a=128@$202206301852$202206301957$EUR 9157$$1$$$$", "msgL": [ { "type": "REM", "remX": 0, "fLocX": 0, "tLocX": 1, "tagL": [ "RES_JNY_DTL_H2" ], "sort": 538181632 }, { "type": "REM", "remX": 1, "fLocX": 0, "tLocX": 1, "tagL": [ "RES_JNY_DTL" ], "sort": 685506560 } ], "subscr": "F", "prodL": [ { "prodX": 3, "fLocX": 0, "tLocX": 2, "fIdx": 20, "tIdx": 22 }, { "prodX": 5, "fLocX": 2, "tLocX": 1, "fIdx": 22, "tIdx": 23 } ], "dirL": [ { "dirX": 0, "fLocX": 0, "tLocX": 1, "fIdx": 20, "tIdx": 23 } ] } } ], "ctxRecon": "¶HKI¶G@F$A=1@O=Bruxelles-Midi / Brussel-Zuid@L=8814001@a=128@$A=1@O=Bruxelles-Midi / Brussel-Zuid@L=8814001@a=128@$202206301822$202206301852$__CI$$1$$$$§T$A=1@O=Bruxelles-Midi / Brussel-Zuid@L=8814001@a=128@$A=1@O=London St Pancras (gb)@L=7015400@a=128@$202206301852$202206301957$EUR 9157$$1$$$$¶GP¶ft@0@2000@120@1@115@1@@0@@@@@false@0@-1@0@-1@-1@$f@$f@$f@$f@$f@$§bt@0@2000@120@1@115@1@@0@@@@@false@0@-1@0@-1@-1@$f@$f@$f@$f@$f@$§tt@0@5000@120@1@100@1@@0@@@@@false@0@-1@0@-1@-1@$t@0@25000@120@1@100@1@@0@@@@@false@0@-1@0@-1@-1@$f@$f@$f@$f@$§", "msgL": [ { "type": "REM", "remX": 2, "tagL": [ "SUM_CON_HDR", "RES_CON_FTR" ], "sort": 684195840 } ], "conSubscr": "P", "recState": "U", "cksum": "26bf1b4d_3", "cksumDti": "ccd75a98_3" }, { "cid": "C-2", "date": "20220630", "dur": "023100", "chg": 0, "sDays": { "sDaysR": "Mo - Fr, So", "sDaysI": "nicht 13. Nov", "sDaysB": "FDF3E7EFDFBF7EFDFBF7EFDFBF7EFDF9F7EFDFBF7EFDFBF6AFDFBF7EFDFBF7EFDFBF7EFDFBF7EFDFBF7E7DFBF7E0" }, "dep": { "locX": 0, "idx": 20, "dPlatfS": "3", "dInR": true, "dTimeS": "202600", "type": "N" }, "arr": { "locX": 1, "idx": 22, "aProdX": 4, "aOutR": true, "aTimeS": "215700", "aProgType": "PROGNOSED", "type": "N" }, "secL": [ { "type": "CHKI", "icoX": 1, "dep": { "locX": 0, "idx": 20, "dPlatfS": "3", "dInR": true, "dTimeS": "202600", "type": "N" }, "arr": { "locX": 0, "idx": 20, "aOutR": true, "aTimeS": "205600", "type": "N" }, "gis": { "dist": 0, "durS": "003000", "gisPrvr": "E", "getDescr": false, "getPoly": false } }, { "type": "JNY", "icoX": 0, "dep": { "locX": 0, "idx": 20, "dProdX": 4, "dPlatfS": "3", "dInR": true, "dTimeS": "205600", "dProgType": "PROGNOSED", "type": "N" }, "arr": { "locX": 1, "idx": 22, "aProdX": 4, "aOutR": true, "aTimeS": "215700", "aProgType": "PROGNOSED", "type": "N" }, "jny": { "jid": "1|7265|0|80|30062022", "prodX": 4, "dirTxt": "London St Pancras (gb)", "status": "P", "isRchbl": true, "stopL": [ { "locX": 0, "idx": 20, "dProdX": 4, "dInR": true, "dTimeS": "205600", "dDirTxt": "London St Pancras (gb)", "type": "N" }, { "locX": 1, "idx": 22, "aProdX": 4, "aOutR": true, "aTimeS": "215700", "aProgType": "PROGNOSED", "type": "N" } ], "polyG": { "polyXL": [ 2 ], "layerX": 0, "crdSysX": 0 }, "procRT": -1, "lPassStRT": { "idx": -1 }, "ctxRecon": "T$A=1@O=Bruxelles-Midi / Brussel-Zuid@L=8814001@a=128@$A=1@O=London St Pancras (gb)@L=7015400@a=128@$202206302056$202206302157$EUR 9167$$1$$$$", "msgL": [ { "type": "REM", "remX": 0, "fLocX": 0, "tLocX": 1, "tagL": [ "RES_JNY_DTL_H2" ], "sort": 538181632 }, { "type": "REM", "remX": 1, "fLocX": 0, "tLocX": 1, "tagL": [ "RES_JNY_DTL" ], "sort": 685506560 } ], "subscr": "F", "prodL": [ { "prodX": 4, "fLocX": 0, "tLocX": 1, "fIdx": 20, "tIdx": 22 } ], "dirL": [ { "dirX": 0, "fLocX": 0, "tLocX": 1, "fIdx": 20, "tIdx": 22 } ] } } ], "ctxRecon": "¶HKI¶G@F$A=1@O=Bruxelles-Midi / Brussel-Zuid@L=8814001@a=128@$A=1@O=Bruxelles-Midi / Brussel-Zuid@L=8814001@a=128@$202206302026$202206302056$__CI$$1$$$$§T$A=1@O=Bruxelles-Midi / Brussel-Zuid@L=8814001@a=128@$A=1@O=London St Pancras (gb)@L=7015400@a=128@$202206302056$202206302157$EUR 9167$$1$$$$¶GP¶ft@0@2000@120@1@115@1@@0@@@@@false@0@-1@0@-1@-1@$f@$f@$f@$f@$f@$§bt@0@2000@120@1@115@1@@0@@@@@false@0@-1@0@-1@-1@$f@$f@$f@$f@$f@$§tt@0@5000@120@1@100@1@@0@@@@@false@0@-1@0@-1@-1@$t@0@25000@120@1@100@1@@0@@@@@false@0@-1@0@-1@-1@$f@$f@$f@$f@$§", "msgL": [ { "type": "REM", "remX": 2, "tagL": [ "SUM_CON_HDR", "RES_CON_FTR" ], "sort": 684195840 } ], "conSubscr": "P", "recState": "U", "cksum": "f600f931_3", "cksumDti": "383e0813_3" }, { "cid": "C-3", "date": "20220701", "dur": "023500", "chg": 0, "sDays": { "sDaysR": "täglich", "sDaysI": "nicht 13. Nov", "sDaysB": "FFFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FFFFFF0" }, "dep": { "locX": 0, "idx": 0, "dPlatfS": "1", "dInR": true, "dTimeS": "082200", "type": "N" }, "arr": { "locX": 1, "idx": 3, "aProdX": 7, "aOutR": true, "aTimeS": "095700", "aProgType": "PROGNOSED", "type": "N" }, "secL": [ { "type": "CHKI", "icoX": 1, "dep": { "locX": 0, "idx": 0, "dPlatfS": "1", "dInR": true, "dTimeS": "082200", "type": "N" }, "arr": { "locX": 0, "idx": 0, "aOutR": true, "aTimeS": "085200", "type": "N" }, "gis": { "dist": 0, "durS": "003000", "gisPrvr": "E", "getDescr": false, "getPoly": false } }, { "type": "JNY", "icoX": 0, "dep": { "locX": 0, "idx": 0, "dProdX": 6, "dPlatfS": "1", "dInR": true, "dTimeS": "085200", "dProgType": "PROGNOSED", "type": "N" }, "arr": { "locX": 1, "idx": 3, "aProdX": 7, "aOutR": true, "aTimeS": "095700", "aProgType": "PROGNOSED", "type": "N" }, "jny": { "jid": "1|7189|0|80|1072022", "prodX": 6, "dirTxt": "London St Pancras (gb)", "status": "P", "isRchbl": true, "stopL": [ { "locX": 0, "idx": 0, "dProdX": 6, "dInR": true, "dTimeS": "085200", "dProgType": "PROGNOSED", "dDirTxt": "London St Pancras (gb)", "type": "N" }, { "locX": 2, "idx": 2, "aProdX": 6, "aOutR": true, "aTimeS": "092600", "dProdX": 7, "dInR": true, "dTimeS": "093000", "type": "N" }, { "locX": 1, "idx": 3, "aProdX": 7, "aOutR": true, "aTimeS": "095700", "aProgType": "PROGNOSED", "type": "N" } ], "polyG": { "polyXL": [ 3 ], "layerX": 0, "crdSysX": 0 }, "procRT": -1, "lPassStRT": { "idx": -1 }, "ctxRecon": "T$A=1@O=Bruxelles-Midi / Brussel-Zuid@L=8814001@a=128@$A=1@O=London St Pancras (gb)@L=7015400@a=128@$202207010852$202207010957$EUR 9117$$1$$$$", "msgL": [ { "type": "REM", "remX": 0, "fLocX": 0, "tLocX": 1, "tagL": [ "RES_JNY_DTL_H2" ], "sort": 538181632 }, { "type": "REM", "remX": 1, "fLocX": 0, "tLocX": 1, "tagL": [ "RES_JNY_DTL" ], "sort": 685506560 } ], "subscr": "F", "prodL": [ { "prodX": 6, "fLocX": 0, "tLocX": 2, "fIdx": 0, "tIdx": 2 }, { "prodX": 7, "fLocX": 2, "tLocX": 1, "fIdx": 2, "tIdx": 3 } ], "dirL": [ { "dirX": 0, "fLocX": 0, "tLocX": 1, "fIdx": 0, "tIdx": 3 } ] } } ], "ctxRecon": "¶HKI¶G@F$A=1@O=Bruxelles-Midi / Brussel-Zuid@L=8814001@a=128@$A=1@O=Bruxelles-Midi / Brussel-Zuid@L=8814001@a=128@$202207010822$202207010852$__CI$$1$$$$§T$A=1@O=Bruxelles-Midi / Brussel-Zuid@L=8814001@a=128@$A=1@O=London St Pancras (gb)@L=7015400@a=128@$202207010852$202207010957$EUR 9117$$1$$$$¶GP¶ft@0@2000@120@1@115@1@@0@@@@@false@0@-1@0@-1@-1@$f@$f@$f@$f@$f@$§bt@0@2000@120@1@115@1@@0@@@@@false@0@-1@0@-1@-1@$f@$f@$f@$f@$f@$§tt@0@5000@120@1@100@1@@0@@@@@false@0@-1@0@-1@-1@$t@0@25000@120@1@100@1@@0@@@@@false@0@-1@0@-1@-1@$f@$f@$f@$f@$§", "msgL": [ { "type": "REM", "remX": 2, "tagL": [ "SUM_CON_HDR", "RES_CON_FTR" ], "sort": 684195840 } ], "conSubscr": "P", "recState": "U", "cksum": "ba96fb44_3", "cksumDti": "ad217d86_3" }, { "cid": "C-4", "date": "20220701", "dur": "023100", "chg": 0, "sDays": { "sDaysR": "Mo - Fr", "sDaysI": "nicht 21. Jul, 15., 29. Aug, 1., 11. Nov", "sDaysB": "7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF8F3E7CF9F3A3C79F3E7CF9F3A7CF9F1E7C79F3E7CF9F3E7CF973C7CF9F3E0" }, "dep": { "locX": 0, "idx": 0, "dPlatfS": "1", "dInR": true, "dTimeS": "122600", "type": "N" }, "arr": { "locX": 1, "idx": 3, "aProdX": 9, "aOutR": true, "aTimeS": "135700", "aProgType": "PROGNOSED", "type": "N" }, "secL": [ { "type": "CHKI", "icoX": 1, "dep": { "locX": 0, "idx": 0, "dPlatfS": "1", "dInR": true, "dTimeS": "122600", "type": "N" }, "arr": { "locX": 0, "idx": 0, "aOutR": true, "aTimeS": "125600", "type": "N" }, "gis": { "dist": 0, "durS": "003000", "gisPrvr": "E", "getDescr": false, "getPoly": false } }, { "type": "JNY", "icoX": 0, "dep": { "locX": 0, "idx": 0, "dProdX": 8, "dPlatfS": "1", "dInR": true, "dTimeS": "125600", "dProgType": "PROGNOSED", "type": "N" }, "arr": { "locX": 1, "idx": 3, "aProdX": 9, "aOutR": true, "aTimeS": "135700", "aProgType": "PROGNOSED", "type": "N" }, "jny": { "jid": "1|7208|0|80|1072022", "prodX": 8, "dirTxt": "London St Pancras (gb)", "status": "P", "isRchbl": true, "stopL": [ { "locX": 0, "idx": 0, "dProdX": 8, "dInR": true, "dTimeS": "125600", "dProgType": "PROGNOSED", "dDirTxt": "London St Pancras (gb)", "type": "N" }, { "locX": 2, "idx": 2, "aProdX": 8, "aOutR": true, "aTimeS": "133000", "dProdX": 9, "dInR": true, "dTimeS": "133500", "type": "N" }, { "locX": 1, "idx": 3, "aProdX": 9, "aOutR": true, "aTimeS": "135700", "aProgType": "PROGNOSED", "type": "N" } ], "polyG": { "polyXL": [ 4 ], "layerX": 0, "crdSysX": 0 }, "procRT": -1, "lPassStRT": { "idx": -1 }, "ctxRecon": "T$A=1@O=Bruxelles-Midi / Brussel-Zuid@L=8814001@a=128@$A=1@O=London St Pancras (gb)@L=7015400@a=128@$202207011256$202207011357$EUR 9135$$1$$$$", "msgL": [ { "type": "REM", "remX": 0, "fLocX": 0, "tLocX": 1, "tagL": [ "RES_JNY_DTL_H2" ], "sort": 538181632 }, { "type": "REM", "remX": 1, "fLocX": 0, "tLocX": 1, "tagL": [ "RES_JNY_DTL" ], "sort": 685506560 } ], "subscr": "F", "prodL": [ { "prodX": 8, "fLocX": 0, "tLocX": 2, "fIdx": 0, "tIdx": 2 }, { "prodX": 9, "fLocX": 2, "tLocX": 1, "fIdx": 2, "tIdx": 3 } ], "dirL": [ { "dirX": 0, "fLocX": 0, "tLocX": 1, "fIdx": 0, "tIdx": 3 } ] } } ], "ctxRecon": "¶HKI¶G@F$A=1@O=Bruxelles-Midi / Brussel-Zuid@L=8814001@a=128@$A=1@O=Bruxelles-Midi / Brussel-Zuid@L=8814001@a=128@$202207011226$202207011256$__CI$$1$$$$§T$A=1@O=Bruxelles-Midi / Brussel-Zuid@L=8814001@a=128@$A=1@O=London St Pancras (gb)@L=7015400@a=128@$202207011256$202207011357$EUR 9135$$1$$$$¶GP¶ft@0@2000@120@1@115@1@@0@@@@@false@0@-1@0@-1@-1@$f@$f@$f@$f@$f@$§bt@0@2000@120@1@115@1@@0@@@@@false@0@-1@0@-1@-1@$f@$f@$f@$f@$f@$§tt@0@5000@120@1@100@1@@0@@@@@false@0@-1@0@-1@-1@$t@0@25000@120@1@100@1@@0@@@@@false@0@-1@0@-1@-1@$f@$f@$f@$f@$§", "msgL": [ { "type": "REM", "remX": 2, "tagL": [ "SUM_CON_HDR", "RES_CON_FTR" ], "sort": 684195840 } ], "conSubscr": "P", "recState": "U", "cksum": "e0423e5d_3", "cksumDti": "6a9a349d_3" }, { "cid": "C-5", "date": "20220701", "dur": "024700", "chg": 0, "sDays": { "sDaysR": "täglich", "sDaysI": "nicht 13. Nov", "sDaysB": "83060C183060C183060C183060C1FF060C18307FFFFFFFFEA7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FFFFFF0" }, "dep": { "locX": 0, "idx": 0, "dPlatfS": "2", "dInR": true, "dTimeS": "172600", "type": "N" }, "arr": { "locX": 1, "idx": 3, "aProdX": 2, "aOutR": true, "aTimeS": "191300", "aProgType": "PROGNOSED", "type": "N" }, "secL": [ { "type": "CHKI", "icoX": 1, "dep": { "locX": 0, "idx": 0, "dPlatfS": "2", "dInR": true, "dTimeS": "172600", "type": "N" }, "arr": { "locX": 0, "idx": 0, "aOutR": true, "aTimeS": "175600", "type": "N" }, "gis": { "dist": 0, "durS": "003000", "gisPrvr": "E", "getDescr": false, "getPoly": false } }, { "type": "JNY", "icoX": 0, "dep": { "locX": 0, "idx": 0, "dProdX": 1, "dPlatfS": "2", "dInR": true, "dTimeS": "175600", "dProgType": "PROGNOSED", "type": "N" }, "arr": { "locX": 1, "idx": 3, "aProdX": 2, "aOutR": true, "aTimeS": "191300", "aProgType": "PROGNOSED", "type": "N" }, "jny": { "jid": "1|7243|0|80|1072022", "prodX": 1, "dirTxt": "London St Pancras (gb)", "status": "P", "isRchbl": true, "stopL": [ { "locX": 0, "idx": 0, "dProdX": 1, "dInR": true, "dTimeS": "175600", "dProgType": "PROGNOSED", "dDirTxt": "London St Pancras (gb)", "type": "N" }, { "locX": 2, "idx": 2, "aProdX": 1, "aOutR": true, "aTimeS": "183000", "dProdX": 2, "dInR": true, "dTimeS": "183500", "type": "N" }, { "locX": 1, "idx": 3, "aProdX": 2, "aOutR": true, "aTimeS": "191300", "aProgType": "PROGNOSED", "type": "N" } ], "polyG": { "polyXL": [ 5 ], "layerX": 0, "crdSysX": 0 }, "procRT": -1, "lPassStRT": { "idx": -1 }, "freq": { "minC": 56, "maxC": 124, "numC": 2, "jnyL": [ { "jid": "1|7253|0|80|1072022", "prodX": 3, "dirTxt": "London St Pancras (gb)", "stopL": [ { "locX": 0, "idx": 20, "dProdX": 3, "dTimeS": "185200", "dDirTxt": "London St Pancras (gb)", "type": "N" }, { "locX": 1, "idx": 23, "aProdX": 3, "aTimeS": "195700", "type": "N" } ], "procRT": -1, "lPassStRT": { "idx": -1 }, "ctxRecon": "T$A=1@O=Bruxelles-Midi / Brussel-Zuid@L=8814001@a=128@$A=1@O=London St Pancras (gb)@L=7015400@a=128@$202207011852$202207011957$EUR 9157$$1$$$$", "msgL": [ { "type": "REM", "remX": 0, "fLocX": 0, "tLocX": 1, "tagL": [ "RES_JNY_DTL_H2" ], "sort": 538181632 }, { "type": "REM", "remX": 1, "fLocX": 0, "tLocX": 1, "tagL": [ "RES_JNY_DTL" ], "sort": 685506560 } ], "subscr": "F", "prodL": [ { "prodX": 3, "fLocX": 0, "tLocX": 1, "fIdx": 20, "tIdx": 23 } ], "dirL": [ { "dirX": 0, "fLocX": 0, "tLocX": 1, "fIdx": 20, "tIdx": 23 } ] }, { "jid": "1|7265|0|80|1072022", "prodX": 4, "dirTxt": "London St Pancras (gb)", "stopL": [ { "locX": 0, "idx": 20, "dProdX": 4, "dTimeS": "205600", "dDirTxt": "London St Pancras (gb)", "type": "N" }, { "locX": 1, "idx": 22, "aProdX": 4, "aTimeS": "215700", "type": "N" } ], "procRT": -1, "lPassStRT": { "idx": -1 }, "ctxRecon": "T$A=1@O=Bruxelles-Midi / Brussel-Zuid@L=8814001@a=128@$A=1@O=London St Pancras (gb)@L=7015400@a=128@$202207012056$202207012157$EUR 9167$$1$$$$", "msgL": [ { "type": "REM", "remX": 0, "fLocX": 0, "tLocX": 1, "tagL": [ "RES_JNY_DTL_H2" ], "sort": 538181632 }, { "type": "REM", "remX": 1, "fLocX": 0, "tLocX": 1, "tagL": [ "RES_JNY_DTL" ], "sort": 685506560 } ], "subscr": "F", "prodL": [ { "prodX": 4, "fLocX": 0, "tLocX": 1, "fIdx": 20, "tIdx": 22 } ], "dirL": [ { "dirX": 0, "fLocX": 0, "tLocX": 1, "fIdx": 20, "tIdx": 22 } ] } ] }, "ctxRecon": "T$A=1@O=Bruxelles-Midi / Brussel-Zuid@L=8814001@a=128@$A=1@O=London St Pancras (gb)@L=7015400@a=128@$202207011756$202207011913$EUR 9153$$1$$$$", "msgL": [ { "type": "REM", "remX": 0, "fLocX": 0, "tLocX": 1, "tagL": [ "RES_JNY_DTL_H2" ], "sort": 538181632 }, { "type": "REM", "remX": 1, "fLocX": 0, "tLocX": 1, "tagL": [ "RES_JNY_DTL" ], "sort": 685506560 } ], "subscr": "F", "prodL": [ { "prodX": 1, "fLocX": 0, "tLocX": 2, "fIdx": 0, "tIdx": 2 }, { "prodX": 2, "fLocX": 2, "tLocX": 1, "fIdx": 2, "tIdx": 3 } ], "dirL": [ { "dirX": 0, "fLocX": 0, "tLocX": 1, "fIdx": 0, "tIdx": 3 } ] } } ], "ctxRecon": "¶HKI¶G@F$A=1@O=Bruxelles-Midi / Brussel-Zuid@L=8814001@a=128@$A=1@O=Bruxelles-Midi / Brussel-Zuid@L=8814001@a=128@$202207011726$202207011756$__CI$$1$$$$§T$A=1@O=Bruxelles-Midi / Brussel-Zuid@L=8814001@a=128@$A=1@O=London St Pancras (gb)@L=7015400@a=128@$202207011756$202207011913$EUR 9153$$1$$$$¶GP¶ft@0@2000@120@1@115@1@@0@@@@@false@0@-1@0@-1@-1@$f@$f@$f@$f@$f@$§bt@0@2000@120@1@115@1@@0@@@@@false@0@-1@0@-1@-1@$f@$f@$f@$f@$f@$§tt@0@5000@120@1@100@1@@0@@@@@false@0@-1@0@-1@-1@$t@0@25000@120@1@100@1@@0@@@@@false@0@-1@0@-1@-1@$f@$f@$f@$f@$§", "freq": { "minC": 56 }, "msgL": [ { "type": "REM", "remX": 2, "tagL": [ "SUM_CON_HDR", "RES_CON_FTR" ], "sort": 684195840 } ], "conSubscr": "P", "recState": "U", "cksum": "b4bec84c_3", "cksumDti": "86beaf8c_3" } ], "outCtxScrB": "2|OB|MT#11#291926#291926#292033#292033#0#0#5#291693#1#-2147483646#0#1#2|PDH#fd1a98f5efbe061ace6852d17212dbad|RD#30062022|RT#133300|US#1", "outCtxScrF": "2|OF|MT#11#293366#293366#293473#293473#0#0#5#293067#6#-2147483646#0#1#2|PDH#fd1a98f5efbe061ace6852d17212dbad|RD#30062022|RT#133300|US#1", "fpB": "20211212", "fpE": "20221210", "planrtTS": "1656589069", "outConGrpL": [ { "name": "Alle Verbindungen", "icoX": 3, "grpid": "cl_all", "conScoringL": [ { "type": "DT", "conScoreL": [ { "score": 7952130986383770000, "conRefL": [ 0 ] }, { "score": 7951884695785439000, "conRefL": [ 1 ] }, { "score": 7951339338020160000, "conRefL": [ 2 ] }, { "score": 7948190336716112000, "conRefL": [ 3 ] }, { "score": 7947117213369500000, "conRefL": [ 4 ] }, { "score": 7945797799407780000, "conRefL": [ 5 ] } ], "name": "Abfahrt" }, { "type": "AT", "conScoreL": [ { "score": 7951660395407081000, "conRefL": [ 0 ] }, { "score": 7951466881366884000, "conRefL": [ 1 ] }, { "score": 7950939115787649000, "conRefL": [ 2 ] }, { "score": 7947772522297557000, "conRefL": [ 3 ] }, { "score": 7946716991136989000, "conRefL": [ 4 ] }, { "score": 7945327208431092000, "conRefL": [ 5 ] } ], "name": "Ankunft" }, { "type": "TI", "conScoreL": [ { "score": 9222634113009189000, "conRefL": [ 0 ] }, { "score": 9222686889537962000, "conRefL": [ 1 ] }, { "score": 9222704481658995000, "conRefL": [ 2 ] }, { "score": 9222686889097560000, "conRefL": [ 3 ] }, { "score": 9222704481155678000, "conRefL": [ 4 ] }, { "score": 9222634112254214000, "conRefL": [ 5 ] } ], "name": "Dauer" } ], "initScoringType": "DT", "requests": [ { "id": "RQ_CLIENT", "autosend": true } ], "scrollable": true } ] } } ] } ```

hafas-client currently translates this as a leg from X to X without walking or transfer flag, but also without a line.

derhuerst commented 2 years ago

The SNCB backend sometimes gives CHKI legs ("checkin" maybe?).

I can confirm this, an old HAFAS XSD contains CHKI (check-in) & CHKO (check-out).

I'm not sure what's the best way to represent this information though. Will the origin (dep.locX) ever be different than the destination (arr.locX)?

vkrause commented 2 years ago

Looking through my local collection of Hafas responses I don't find any with arr.locX != dep.locX, but I only have a few CHKO ones from VBB (related to park&ride parking).

yu-re-ka commented 2 years ago

From my perspective it doesn't matter what the origin is. In my application I would like to display these similar to walking and transfer legs: "transfer to XY", "walk to XY", "Check in at XY". From this point of view, an .checkin: true / .checkout: true flag would be okay. It doesn't hurt to preserve the origin field, but I will only look at the destination.

derhuerst commented 2 years ago

I think we have two possible API design strategies here:

derhuerst commented 2 years ago

The support for CHKI legs has been published as hafas-client@5.25.0. 🎉