summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xt/30-db-journey-platformchange.t75
-rwxr-xr-xt/31-db-journey-daychange.t88
-rw-r--r--t/in/DB.EC392.journey.json1
-rw-r--r--t/in/DB.ICE615.journey.json1
4 files changed, 165 insertions, 0 deletions
diff --git a/t/30-db-journey-platformchange.t b/t/30-db-journey-platformchange.t
new file mode 100755
index 0000000..ea4f177
--- /dev/null
+++ b/t/30-db-journey-platformchange.t
@@ -0,0 +1,75 @@
+#!/usr/bin/env perl
+use strict;
+use warnings;
+use 5.020;
+
+use utf8;
+
+use File::Slurp qw(read_file);
+use JSON;
+use Test::More tests => 30;
+
+use Travel::Status::DE::HAFAS;
+
+my $json = JSON->new->utf8->decode( read_file('t/in/DB.EC392.journey.json') );
+
+my $status = Travel::Status::DE::HAFAS->new(
+ service => 'DB',
+ journey => { id => '1|197782|0|81|17122023' },
+ json => $json
+);
+
+is( $status->errcode, undef, 'no error code' );
+is( $status->errstr, undef, 'no error string' );
+
+is(
+ $status->get_active_service->{name},
+ 'Deutsche Bahn',
+ 'active service name'
+);
+
+my $result = $status->result;
+
+isa_ok( $result, 'Travel::Status::DE::HAFAS::Journey' );
+
+is( $result->name, 'EC 392', 'name' );
+is( $result->type, 'EC', 'type' );
+is( $result->type_long, 'Eurocity', 'type_long', );
+is( $result->class, 2, 'class' );
+is( $result->line, 'EC 392', 'line' );
+is( $result->line_no, 75, 'line_no' );
+is( $result->id, '1|197782|0|81|17122023', 'id' );
+is( $result->operator, 'DB Fernverkehr AG', 'operator' );
+is( $result->direction, 'Koebenhavn H', 'direction' );
+
+is( scalar $result->route, 7, 'route == 7' );
+
+is( ( $result->route )[0]->loc->name, 'Hamburg Hbf', 'route[0] name' );
+is( ( $result->route )[0]->direction, 'Koebenhavn H', 'route[0] direction' );
+is( ( $result->route )[0]->arr, undef, 'route[0] arr' );
+is( ( $result->route )[0]->rt_arr, undef, 'route[0] rt_arr' );
+is(
+ ( $result->route )[0]->sched_dep->strftime('%Y%m%d %H%M%S'),
+ '20231217 145300',
+ 'route[0] dep'
+);
+is(
+ ( $result->route )[0]->rt_dep->strftime('%Y%m%d %H%M%S'),
+ '20231217 150300',
+ 'route[0] dep'
+);
+is(
+ ( $result->route )[0]->dep->strftime('%Y%m%d %H%M%S'),
+ '20231217 150300',
+ 'route[0] dep'
+);
+is( ( $result->route )[0]->arr_delay, undef, 'route[0] arr_delay' );
+is( ( $result->route )[0]->dep_delay, 10, 'route[0] dep_delay' );
+is( ( $result->route )[0]->delay, 10, 'route[0] delay' );
+is( ( $result->route )[0]->load->{FIRST}, 3, 'route[0] load 1st' );
+is( ( $result->route )[0]->load->{SECOND}, 3, 'route[0] load 2nd' );
+is( ( $result->route )[0]->sched_platform, '12C-F', 'route[0] sched_platform' );
+is( ( $result->route )[0]->rt_platform, '12A-B', 'route[0] rt_platform' );
+is( ( $result->route )[0]->platform, '12A-B', 'route[0] rt_platform' );
+ok( ( $result->route )[0]->is_changed_platform,
+ 'route[0] is_changed_platform' );
diff --git a/t/31-db-journey-daychange.t b/t/31-db-journey-daychange.t
new file mode 100755
index 0000000..bb66cdb
--- /dev/null
+++ b/t/31-db-journey-daychange.t
@@ -0,0 +1,88 @@
+#!/usr/bin/env perl
+use strict;
+use warnings;
+use 5.020;
+
+use utf8;
+
+use File::Slurp qw(read_file);
+use JSON;
+use Test::More tests => 36;
+
+use Travel::Status::DE::HAFAS;
+
+my $json = JSON->new->utf8->decode( read_file('t/in/DB.ICE615.journey.json') );
+
+my $status = Travel::Status::DE::HAFAS->new(
+ service => 'DB',
+ journey => { id => '1|160139|0|81|17122023' },
+ json => $json
+);
+
+is( $status->errcode, undef, 'no error code' );
+is( $status->errstr, undef, 'no error string' );
+
+is(
+ $status->get_active_service->{name},
+ 'Deutsche Bahn',
+ 'active service name'
+);
+
+my $result = $status->result;
+
+isa_ok( $result, 'Travel::Status::DE::HAFAS::Journey' );
+
+is( $result->name, 'ICE 615', 'name' );
+is( $result->type, 'ICE', 'type' );
+is( $result->type_long, 'Intercity-Express', 'type_long', );
+is( $result->class, 1, 'class' );
+is( $result->line, 'ICE 615', 'line' );
+is( $result->line_no, 42, 'line_no' );
+is( $result->id, '1|160139|0|81|17122023', 'id' );
+is( $result->operator, 'DB Fernverkehr AG', 'operator' );
+is( $result->direction, 'München Hbf', 'direction' );
+
+is( scalar $result->route, 19, 'route == 19' );
+
+is( ( $result->route )[0]->loc->name, 'Hamburg-Altona', 'route[0] name' );
+is( ( $result->route )[0]->direction, 'München Hbf', 'route[0] direction' );
+
+is( ( $result->route )[4]->loc->name, 'Bremen Hbf', 'route[4] name' );
+is(
+ ( $result->route )[4]->direction,
+ 'Frankfurt(M) Flughafen Fernbf',
+ 'route[4] direction'
+);
+
+is( ( $result->route )[5]->loc->name, 'Osnabrück Hbf', 'route[5] name' );
+is( ( $result->route )[5]->direction, 'München Hbf', 'route[5] direction' );
+
+is( ( $result->route )[16]->loc->name, 'Augsburg Hbf', 'route[16] name' );
+is(
+ ( $result->route )[16]->arr->strftime('%Y%m%d %H%M%S'),
+ '20231217 235300',
+ 'route[16] arr'
+);
+is( ( $result->route )[16]->rt_arr, undef, 'route[16] rt_arr' );
+is(
+ ( $result->route )[16]->dep->strftime('%Y%m%d %H%M%S'),
+ '20231217 235500',
+ 'route[16] dep'
+);
+is( ( $result->route )[16]->rt_dep, undef, 'route[16] rt_dep' );
+is( ( $result->route )[16]->arr_delay, undef, 'route[16] arr_delay' );
+is( ( $result->route )[16]->dep_delay, undef, 'route[16] dep_delay' );
+is( ( $result->route )[16]->delay, undef, 'route[16] delay' );
+
+is( ( $result->route )[17]->loc->name, 'München-Pasing', 'route[17] name' );
+is(
+ ( $result->route )[17]->arr->strftime('%Y%m%d %H%M%S'),
+ '20231218 001700',
+ 'route[17] arr'
+);
+is( ( $result->route )[17]->rt_arr, undef, 'route[17] rt_arr' );
+is( ( $result->route )[17]->dep, undef, 'route[17] dep' );
+is( ( $result->route )[17]->rt_dep, undef, 'route[17] rt_dep' );
+is( ( $result->route )[17]->arr_delay, undef, 'route[17] arr_delay' );
+is( ( $result->route )[17]->dep_delay, undef, 'route[17] dep_delay' );
+is( ( $result->route )[17]->delay, undef, 'route[17] delay' );
diff --git a/t/in/DB.EC392.journey.json b/t/in/DB.EC392.journey.json
new file mode 100644
index 0000000..0f65c7a
--- /dev/null
+++ b/t/in/DB.EC392.journey.json
@@ -0,0 +1 @@
+{"svcResL":[{"meth":"JourneyDetails","res":{"journey":{"dTrnCmpSX":{"tcocX":[2,3]},"sDaysL":[{"sDaysB":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FFF7FE000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","sDaysR":"fährt 17. Dez 2023 bis 1. Jan 2024; nicht 22. Dez 2023 ","tLocX":3,"fLocX":0}],"dirTxt":"Koebenhavn H","stopL":[{"dPlatfS":"12C-F","locX":0,"dProgType":"PROGNOSED","dDirFlg":"2","type":"N","dTimeR":"150300","dTimeS":"145300","dPlatfCh":true,"dTZOffset":60,"dTrnCmpSX":{"tcocX":[0,1]},"dInR":true,"dDirTxt":"Koebenhavn H","dProdX":0,"dPlatfR":"12A-B","msgL":[{"type":"REM","fIdx":-1,"tagL":["RES_LOC_H3"],"remX":0,"tIdx":-1,"prio":478,"txtC":{"r":204,"a":255,"g":0,"b":0}},{"prio":478,"tIdx":-1,"type":"REM","remX":1,"tagL":["RES_LOC_H3"],"fIdx":-1},{"type":"REM","tagL":["RES_LOC_H3"],"remX":5}],"idx":0},{"dProdX":0,"msgL":[{"tagL":["RES_LOC_H3"],"remX":6,"type":"REM"}],"idx":1,"dDirTxt":"København H","dInR":true,"aProdX":0,"type":"N","dTimeR":"163200","aProgType":"PROGNOSED","dTimeS":"162800","aPlatfS":"1","dTZOffset":60,"locX":1,"dPlatfS":"1","aTZOffset":60,"aTimeS":"162600","dProgType":"PROGNOSED","aTimeR":"163000","aOutR":true},{"dTimeR":"170100","aProgType":"PROGNOSED","type":"N","dTZOffset":60,"dTimeS":"165900","locX":2,"aTimeS":"165300","dPlatfS":"2","aTZOffset":60,"dDirFlg":"1","dProgType":"PROGNOSED","aTimeR":"165700","aOutR":true,"dProdX":1,"idx":3,"dInR":true,"aProdX":0},{"dTZOffset":60,"aPlatfS":"2","dTimeS":"174200","aProgType":"PROGNOSED","dTimeR":"174200","type":"N","aTimeR":"174200","dProgType":"PROGNOSED","aOutR":true,"locX":4,"aTimeS":"174000","dPlatfS":"2","aTZOffset":60,"idx":4,"dProdX":1,"aProdX":1,"dInR":true},{"type":"N","aProgType":"PROGNOSED","dTimeR":"182300","dTimeS":"182300","aPlatfS":"3","dTZOffset":60,"aTZOffset":60,"dPlatfS":"3","aTimeS":"182000","locX":5,"aOutR":true,"aTimeR":"182000","dProgType":"PROGNOSED","dProdX":1,"idx":5,"dInR":true,"aProdX":1},{"dProdX":1,"idx":6,"dInR":true,"aProdX":1,"dTimeR":"190700","aProgType":"PROGNOSED","type":"N","aPlatfS":"2","dTZOffset":60,"dTimeS":"190700","aTimeS":"190200","dPlatfS":"2","aTZOffset":60,"locX":6,"aOutR":true,"aTimeR":"190200","dProgType":"PROGNOSED"},{"idx":7,"aPlatfS":"5","type":"N","aProgType":"PROGNOSED","aTimeR":"193600","aOutR":true,"aProdX":1,"locX":3,"aTZOffset":60,"aTimeS":"193600"}],"isRchbl":true,"subscr":"F","msgL":[{"tIdx":7,"tLocX":3,"remX":2,"tagL":["RES_JNY_DTL"],"fIdx":1,"type":"REM","fLocX":1},{"type":"REM","remX":3,"tagL":["RES_JNY_DTL"],"fIdx":1,"fLocX":1,"tIdx":7,"tLocX":3},{"tIdx":1,"tLocX":1,"remX":4,"tagL":["RES_JNY_DTL"],"fIdx":0,"type":"REM","fLocX":0},{"tagL":["SUM_JNY_H3"],"remX":7,"type":"REM"}],"status":"P","jid":"1|197782|0|81|17122023","date":"20231217","dirFlg":"2","prodX":0},"fpB":"20221211","planrtTS":"1702821591","common":{"icoL":[{"res":"EC"},{"txt":"DB Fernverkehr AG","res":"D"},{"res":"ICE"},{"txt":"Dänische Staatsbahnen","res":"ZUG"},{"res":"ICL"},{"res":"Empty"},{"res":"attr_info"}],"locL":[{"type":"S","extId":"8002549","state":"F","lid":"A=1@O=Hamburg Hbf@X=10006909@Y=53552733@U=81@L=8002549@","pCls":191,"name":"Hamburg Hbf","icoX":2,"crd":{"layerX":0,"x":10006360,"z":0,"crdSysX":0,"y":53553533,"type":"WGS84"}},{"icoX":0,"name":"Schleswig","crd":{"layerX":0,"crdSysX":0,"x":9537438,"z":0,"y":54499881,"type":"WGS84"},"lid":"A=1@O=Schleswig@X=9538139@Y=54499459@U=81@L=8005362@","state":"F","extId":"8005362","type":"S","pCls":42},{"name":"Padborg st","icoX":0,"crd":{"layerX":0,"x":9356225,"z":0,"crdSysX":0,"y":54829057,"type":"WGS84"},"extId":"8601899","lid":"A=1@O=Padborg st@X=9358804@Y=54824248@U=81@L=8601899@","state":"F","type":"S","pCls":10},{"icoX":4,"name":"Koebenhavn H","crd":{"y":55672722,"type":"WGS84","crdSysX":0,"x":12564618,"layerX":0},"extId":"8601309","lid":"A=1@O=Koebenhavn H@X=12564618@Y=55672722@U=81@L=8601309@","state":"F","type":"S","pCls":27},{"pCls":15,"lid":"A=1@O=Kolding st@X=9481525@Y=55490843@U=81@L=8601318@","extId":"8601318","state":"F","type":"S","crd":{"y":55490843,"type":"WGS84","x":9481525,"crdSysX":0,"layerX":0},"icoX":4,"name":"Kolding st"},{"icoX":4,"name":"Odense st","crd":{"y":55401778,"type":"WGS84","layerX":0,"x":10386002,"crdSysX":0},"type":"S","lid":"A=1@O=Odense st@X=10386002@Y=55401778@U=81@L=8601770@","extId":"8601770","state":"F","pCls":271},{"crd":{"y":55438040,"type":"WGS84","layerX":0,"crdSysX":0,"x":11786153},"icoX":4,"name":"Ringsted st","pCls":10,"type":"S","lid":"A=1@O=Ringsted st@X=11786153@Y=55438040@U=81@L=8601979@","extId":"8601979","state":"F"}],"crdSysL":[{"index":0,"id":"standard","dim":3,"type":"WGS84"}],"layerL":[{"annoCnt":0,"name":"standard","id":"standard","index":0}],"opL":[{"name":"DB Fernverkehr AG","icoX":1},{"name":"Dänische Staatsbahnen","icoX":3}],"tcocL":[{"r":3,"c":"FIRST"},{"r":3,"c":"SECOND"},{"c":"FIRST","r":3},{"r":3,"c":"SECOND"}],"remL":[{"icoX":5,"type":"D","code":"","txtN":"Verspätung aus vorheriger Fahrt"},{"type":"G","icoX":5,"txtN":"Gleiswechsel","code":""},{"type":"A","icoX":6,"prio":260,"txtN":"keine Fahrradbeförderung möglich (Schleswig - Koebenhavn H)","code":"NF"},{"prio":320,"code":"RE","txtN":"Bitte reservieren (Schleswig - Koebenhavn H)","type":"A","icoX":6},{"code":"KG","txtN":"Ohne gastronomisches Angebot (Hamburg Hbf - Schleswig)","prio":640,"type":"A","icoX":6},{"icoX":6,"type":"A","code":"text.journeystop.product.or.direction.changes.stop.message","txtN":"Verkehrt ab hier als EC 392 in Richtung Koebenhavn H"},{"type":"A","icoX":6,"txtN":"Verkehrt ab hier als EC 392 in Richtung København H","code":"text.journeystop.product.or.direction.changes.stop.message"},{"icoX":6,"type":"A","code":"text.journeystop.product.or.direction.changes.journey.message","txtN":"Verkehrt ab Schleswig als EC 392 in Richtung København H"}],"polyL":[],"prodL":[{"name":"EC 392","icoX":0,"number":"392","oprX":0,"cls":2,"prodCtx":{"name":"EC 392","catOut":"EC","catIn":"EC","catCode":"1","catOutS":"EC","matchId":"75","catOutL":"Eurocity","admin":"80____","num":"392"}},{"cls":2,"prodCtx":{"num":"392","admin":"86____","catOutL":"Eurocity","matchId":"392","catOutS":"EC","catCode":"1","name":"EC 392","catIn":"EC","catOut":"EC"},"name":"EC 392","icoX":0,"number":"392","oprX":1}]},"fpE":"20241214"},"err":"OK"}],"ver":"1.15","ext":"DB.R21.12.a","id":"hb6i5jekkqud9w4s","cInfo":{"code":"OK"},"lang":"deu"}
diff --git a/t/in/DB.ICE615.journey.json b/t/in/DB.ICE615.journey.json
new file mode 100644
index 0000000..0bc9715
--- /dev/null
+++ b/t/in/DB.ICE615.journey.json
@@ -0,0 +1 @@
+{"ver":"1.15","cInfo":{"code":"OK"},"lang":"deu","svcResL":[{"err":"OK","meth":"JourneyDetails","res":{"fpB":"20221211","journey":{"subscr":"F","stopL":[{"dTimeS":"152900","dDirFlg":"1","type":"N","idx":0,"dProgType":"PROGNOSED","dProdX":0,"msgL":[{"type":"REM","tagL":["RES_LOC_H3"],"remX":6}],"dTZOffset":60,"locX":0,"dInR":true,"dDirTxt":"München Hbf","dPlatfS":"12"},{"type":"N","dTimeS":"153800","dProdX":0,"aTZOffset":60,"idx":1,"aOutS":false,"dInR":true,"dTZOffset":60,"aProdX":0,"locX":4,"aOutR":false,"dPlatfS":"4"},{"type":"N","dTimeS":"154500","aTZOffset":60,"dProdX":0,"aOutS":false,"idx":2,"dInR":true,"locX":5,"aProdX":0,"dTZOffset":60,"aOutR":false,"dPlatfS":"12"},{"aOutR":false,"dPlatfS":"4","dInR":true,"locX":6,"aProdX":0,"dTZOffset":60,"aTZOffset":60,"dProdX":0,"aOutS":false,"idx":3,"type":"N","dTimeS":"155700","dTrnCmpSX":{"tcocX":[0,1]}},{"dTrnCmpSX":{"tcocX":[2,3]},"dTimeS":"164400","type":"N","aPlatfS":"10","idx":4,"aTZOffset":60,"msgL":[{"type":"REM","tagL":["RES_LOC_H3"],"remX":7}],"dProdX":0,"locX":1,"aProdX":0,"dTZOffset":60,"dInR":true,"dDirTxt":"Frankfurt(M) Flughafen Fernbf","dPlatfS":"10","aTimeS":"164100","aOutR":true},{"dInR":true,"dDirTxt":"München Hbf","locX":2,"aProdX":0,"dTZOffset":60,"aTimeS":"173500","aOutR":true,"dPlatfS":"2","type":"N","aPlatfS":"2","dTimeS":"173700","dTrnCmpSX":{"tcocX":[4,5]},"aTZOffset":60,"msgL":[{"type":"REM","remX":6,"tagL":["RES_LOC_H3"]}],"dProdX":0,"idx":5},{"aOutR":true,"aTimeS":"180000","dPlatfS":"9","dInR":true,"dTZOffset":60,"locX":7,"aProdX":0,"dProdX":0,"aTZOffset":60,"idx":6,"aPlatfS":"9","type":"N","dTrnCmpSX":{"tcocX":[6,7]},"dTimeS":"180200"},{"dProdX":0,"aTZOffset":60,"idx":7,"aPlatfS":"11","type":"N","dTrnCmpSX":{"tcocX":[8,9]},"dTimeS":"183600","aOutR":true,"aTimeS":"183200","dPlatfS":"11","dInR":true,"dTZOffset":60,"locX":8,"aProdX":0},{"aProdX":0,"locX":9,"dTZOffset":60,"dInR":true,"dPlatfS":"7/8","aOutR":true,"aTimeS":"185500","dTimeS":"185700","dTrnCmpSX":{"tcocX":[10,11]},"type":"N","aPlatfS":"7/8","idx":8,"aTZOffset":60,"dProdX":0},{"dPlatfS":"1","aOutR":true,"aTimeS":"191200","dTZOffset":60,"aProdX":0,"locX":10,"dInR":true,"idx":9,"dProdX":0,"aTZOffset":60,"dTimeS":"191400","dTrnCmpSX":{"tcocX":[12,13]},"aPlatfS":"1","type":"N"},{"aTZOffset":60,"dProdX":0,"idx":10,"type":"N","aPlatfS":"1","dTimeS":"193000","dTrnCmpSX":{"tcocX":[14,15]},"aOutR":true,"aTimeS":"192800","dPlatfS":"1","dInR":true,"locX":11,"aProdX":0,"dTZOffset":60},{"dInR":true,"locX":12,"aProdX":0,"dTZOffset":60,"aTimeS":"194600","aOutR":true,"dPlatfS":"11","type":"N","aPlatfS":"11","dTimeS":"195100","dTrnCmpSX":{"tcocX":[16,17]},"aTZOffset":60,"dProdX":0,"idx":11},{"dInR":true,"locX":13,"aProdX":0,"dTZOffset":60,"aOutR":true,"aTimeS":"205000","dPlatfS":"Fern 5","type":"N","aPlatfS":"Fern 5","dTrnCmpSX":{"tcocX":[18,19]},"dTimeS":"205100","aTZOffset":60,"dProdX":0,"idx":12},{"dTrnCmpSX":{"tcocX":[20,21]},"dTimeS":"213100","aPlatfS":"7","type":"N","idx":13,"dProdX":0,"aTZOffset":60,"dTZOffset":60,"aProdX":0,"locX":14,"dInR":true,"dPlatfS":"7","aTimeS":"212400","aOutR":true},{"idx":14,"aTZOffset":60,"dProdX":0,"dTrnCmpSX":{"tcocX":[22,23]},"dTimeS":"221400","type":"N","aPlatfS":"16","dPlatfS":"16","aOutR":true,"aTimeS":"220800","aProdX":0,"locX":15,"dTZOffset":60,"dInR":true},{"type":"N","aPlatfS":"2","dTimeS":"231200","dTrnCmpSX":{"tcocX":[24,25]},"aTZOffset":60,"dProdX":0,"idx":15,"dInR":true,"locX":16,"aProdX":0,"dTZOffset":60,"aOutR":true,"aTimeS":"231000","dPlatfS":"2"},{"type":"N","aPlatfS":"4","dTrnCmpSX":{"tcocX":[26,27]},"dTimeS":"235500","aTZOffset":60,"dProdX":0,"idx":16,"dInR":true,"locX":17,"aProdX":0,"dTZOffset":60,"aTimeS":"235300","aOutR":true,"dPlatfS":"4"},{"locX":18,"aProdX":0,"dTZOffset":60,"dInR":false,"aTimeS":"01001700","aOutR":true,"type":"N","aPlatfS":"9","idx":17,"aTZOffset":60,"dProdX":0,"dInS":false},{"idx":18,"aOutR":true,"aTimeS":"01002800","aTZOffset":60,"locX":3,"aProdX":0,"aProgType":"PROGNOSED","aPlatfS":"15","type":"N"}],"dirTxt":"München Hbf","isRchbl":true,"jid":"1|160139|0|81|17122023","prodX":0,"dirFlg":"1","msgL":[{"tIdx":18,"remX":0,"fLocX":0,"tagL":["RES_JNY_DTL"],"type":"REM","tLocX":3,"fIdx":0},{"fIdx":0,"type":"REM","tLocX":3,"tagL":["RES_JNY_DTL"],"fLocX":0,"remX":1,"tIdx":18},{"remX":2,"tIdx":18,"fLocX":0,"type":"REM","tLocX":3,"tagL":["RES_JNY_DTL"],"fIdx":0},{"tLocX":3,"type":"REM","tagL":["RES_JNY_DTL"],"fIdx":0,"tIdx":18,"remX":3,"fLocX":0},{"fIdx":0,"type":"REM","tLocX":3,"tagL":["RES_JNY_DTL"],"fLocX":0,"tIdx":18,"remX":4},{"tIdx":-1,"remX":5,"prio":120,"tagL":["RES_JNY_H2"],"type":"REM","fIdx":-1},{"type":"REM","tagL":["SUM_JNY_H3"],"remX":8},{"remX":9,"tagL":["SUM_JNY_H3"],"type":"REM"}],"date":"20231217","sDaysL":[{"fLocX":0,"tLocX":3,"sDaysB":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003F000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","sDaysR":"fährt 17. bis 21. Dez 2023 "}],"status":"P","dTrnCmpSX":{"tcocX":[28,29]}},"common":{"prodL":[{"number":"615","prodCtx":{"catCode":"0","matchId":"42","num":"615","catOutL":"Intercity-Express","catOut":"ICE","admin":"80____","name":"ICE 615","catIn":"ICE","catOutS":"ICE"},"name":"ICE 615","cls":1,"oprX":0,"icoX":0}],"locL":[{"crd":{"y":53552571,"z":0,"layerX":0,"x":9934860,"crdSysX":0,"type":"WGS84"},"pCls":63,"type":"S","extId":"8002553","icoX":0,"lid":"A=1@O=Hamburg-Altona@X=9935175@Y=53552697@U=81@L=8002553@","state":"F","name":"Hamburg-Altona"},{"state":"F","name":"Bremen Hbf","crd":{"y":53083280,"z":0,"type":"WGS84","layerX":0,"x":8813681,"crdSysX":0},"type":"S","pCls":319,"extId":"8000050","icoX":0,"lid":"A=1@O=Bremen Hbf@X=8813833@Y=53083478@U=81@L=8000050@"},{"lid":"A=1@O=Osnabrück Hbf@X=8061778@Y=52272849@U=81@L=8000294@","icoX":0,"type":"S","extId":"8000294","pCls":47,"crd":{"crdSysX":0,"x":8061256,"layerX":0,"type":"WGS84","z":0,"y":52272534},"name":"Osnabrück Hbf","state":"F"},{"state":"F","name":"München Hbf","crd":{"type":"WGS84","crdSysX":0,"x":11558744,"layerX":0,"z":0,"y":48140364},"extId":"8000261","pCls":447,"type":"S","icoX":2,"lid":"A=1@O=München Hbf@X=11558339@Y=48140229@U=81@L=8000261@"},{"name":"Hamburg Dammtor","state":"F","lid":"A=1@O=Hamburg Dammtor@X=9989569@Y=53560751@U=81@L=8002548@","icoX":0,"type":"S","extId":"8002548","pCls":59,"crd":{"y":53560841,"z":0,"type":"WGS84","layerX":0,"x":9989533,"crdSysX":0}},{"state":"F","name":"Hamburg Hbf","crd":{"y":53553533,"z":0,"type":"WGS84","x":10006360,"layerX":0,"crdSysX":0},"extId":"8002549","type":"S","pCls":191,"icoX":0,"lid":"A=1@O=Hamburg Hbf@X=10006909@Y=53552733@U=81@L=8002549@"},{"icoX":0,"lid":"A=1@O=Hamburg-Harburg@X=9991699@Y=53455910@U=81@L=8000147@","crd":{"type":"WGS84","x":9991591,"layerX":0,"crdSysX":0,"y":53456198,"z":0},"type":"S","pCls":63,"extId":"8000147","name":"Hamburg-Harburg","state":"F"},{"icoX":0,"lid":"A=1@O=Münster(Westf)Hbf@X=7635716@Y=51956563@U=81@L=8000263@","crd":{"y":51956527,"z":0,"type":"WGS84","layerX":0,"x":7635860,"crdSysX":0},"type":"S","extId":"8000263","pCls":559,"name":"Münster(Westf)Hbf","state":"F"},{"icoX":3,"lid":"A=1@O=Dortmund Hbf@X=7459294@Y=51517899@U=81@L=8000080@","crd":{"type":"WGS84","x":7459276,"layerX":0,"crdSysX":0,"y":51517872,"z":0},"extId":"8000080","pCls":191,"type":"S","name":"Dortmund Hbf","state":"F"},{"name":"Hagen Hbf","state":"F","icoX":0,"lid":"A=1@O=Hagen Hbf@X=7460247@Y=51362745@U=81@L=8000142@","crd":{"type":"WGS84","crdSysX":0,"x":7460391,"layerX":0,"z":0,"y":51362727},"type":"S","extId":"8000142","pCls":59},{"lid":"A=1@O=Wuppertal Hbf@X=7149544@Y=51254362@U=81@L=8000266@","icoX":0,"pCls":315,"extId":"8000266","type":"S","crd":{"type":"WGS84","crdSysX":0,"layerX":0,"x":7150155,"z":0,"y":51254443},"name":"Wuppertal Hbf","state":"F"},{"state":"F","name":"Solingen Hbf","pCls":571,"type":"S","extId":"8000087","crd":{"crdSysX":0,"x":7004287,"layerX":0,"type":"WGS84","z":0,"y":51160784},"lid":"A=1@O=Solingen Hbf@X=7004188@Y=51160766@U=81@L=8000087@","icoX":0},{"extId":"8073368","type":"S","pCls":319,"crd":{"y":50940602,"z":0,"x":6975162,"layerX":0,"crdSysX":0,"type":"WGS84"},"entry":true,"lid":"A=1@O=Köln Messe/Deutz Gl.11-12@X=6974065@Y=50941717@U=81@L=8073368@","icoX":0,"state":"F","name":"Köln Messe/Deutz Gl.11-12"},{"lid":"A=1@O=Frankfurt(M) Flughafen Fernbf@X=8570181@Y=50053169@U=81@L=8070003@","icoX":0,"extId":"8070003","type":"S","pCls":31,"crd":{"type":"WGS84","crdSysX":0,"x":8569776,"layerX":0,"z":0,"y":50052926},"name":"Frankfurt(M) Flughafen Fernbf","state":"F"},{"name":"Mannheim Hbf","state":"F","icoX":2,"lid":"A=1@O=Mannheim Hbf@X=8468917@Y=49479352@U=81@L=8000244@","crd":{"z":0,"y":49479181,"crdSysX":0,"x":8469268,"layerX":0,"type":"WGS84"},"extId":"8000244","pCls":319,"type":"S"},{"lid":"A=1@O=Stuttgart Hbf@X=9181636@Y=48784081@U=81@L=8000096@","icoX":0,"extId":"8000096","type":"S","pCls":319,"crd":{"layerX":0,"x":9182589,"crdSysX":0,"type":"WGS84","y":48785052,"z":0},"name":"Stuttgart Hbf","state":"F"},{"name":"Ulm Hbf","state":"F","icoX":0,"lid":"A=1@O=Ulm Hbf@X=9982224@Y=48399433@U=81@L=8000170@","crd":{"z":0,"y":48399585,"crdSysX":0,"layerX":0,"x":9982422,"type":"WGS84"},"pCls":303,"extId":"8000170","type":"S"},{"name":"Augsburg Hbf","state":"F","lid":"A=1@O=Augsburg Hbf@X=10885568@Y=48365444@U=81@L=8000013@","icoX":0,"extId":"8000013","type":"S","pCls":303,"crd":{"type":"WGS84","layerX":0,"x":10885595,"crdSysX":0,"y":48365247,"z":0}},{"name":"München-Pasing","state":"F","icoX":0,"lid":"A=1@O=München-Pasing@X=11461876@Y=48149856@U=81@L=8004158@","crd":{"y":48150036,"z":0,"layerX":0,"x":11461633,"crdSysX":0,"type":"WGS84"},"pCls":319,"extId":"8004158","type":"S"}],"icoL":[{"res":"ICE"},{"res":"D","txt":"DB Fernverkehr AG"},{"res":"ECE"},{"res":"EST"},{"res":"attr_info"},{"res":"attr_bike_r"},{"res":"attr_bike"},{"res":"attr_resto"},{"res":"HimInfo"}],"tcocL":[{"c":"FIRST","r":2},{"r":3,"c":"SECOND"},{"r":2,"c":"FIRST"},{"r":3,"c":"SECOND"},{"r":2,"c":"FIRST"},{"c":"SECOND","r":3},{"c":"FIRST","r":2},{"r":3,"c":"SECOND"},{"r":2,"c":"FIRST"},{"r":2,"c":"SECOND"},{"r":2,"c":"FIRST"},{"c":"SECOND","r":2},{"c":"FIRST","r":2},{"r":2,"c":"SECOND"},{"c":"FIRST","r":2},{"r":2,"c":"SECOND"},{"c":"FIRST","r":2},{"r":2,"c":"SECOND"},{"c":"FIRST","r":2},{"r":2,"c":"SECOND"},{"c":"FIRST","r":1},{"r":2,"c":"SECOND"},{"c":"FIRST","r":1},{"r":1,"c":"SECOND"},{"c":"FIRST","r":1},{"r":1,"c":"SECOND"},{"c":"FIRST","r":1},{"r":1,"c":"SECOND"},{"r":2,"c":"FIRST"},{"c":"SECOND","r":3}],"crdSysL":[{"dim":3,"id":"standard","type":"WGS84","index":0}],"layerL":[{"annoCnt":0,"name":"standard","index":0,"id":"standard"}],"opL":[{"name":"DB Fernverkehr AG","icoX":1}],"polyL":[],"remL":[{"type":"A","code":"CK","icoX":4,"prio":200,"txtN":"Sicher & kontaktlos ohne Ticketkontrolle reisen mit Komfort Check-in"},{"code":"FR","type":"A","icoX":5,"prio":260,"txtN":"Fahrradmitnahme reservierungspflichtig"},{"txtN":"Fahrradmitnahme begrenzt möglich","icoX":6,"prio":260,"code":"FB","type":"A"},{"icoX":7,"prio":450,"txtN":"Bordrestaurant","code":"BR","type":"A"},{"prio":560,"icoX":4,"txtN":"Fahrzeuggebundene Einstiegshilfe vorhanden","code":"EH","type":"A"},{"code":"","txtS":"Hamburg-Altona->München Hbf: Information. ","type":"M","icoX":8,"txtN":"Keine fahrzeuggebundene Einstiegshilfe. Mobilitätseingeschränkte Reisende wenden sich bzgl. eventuell erforderlicher Umbuchungen an unsere Mobilitätsservice-Zentrale unter 030 65212888."},{"txtN":"Verkehrt ab hier als ICE 615 in Richtung München Hbf","icoX":4,"code":"text.journeystop.product.or.direction.changes.stop.message","type":"A"},{"code":"text.journeystop.product.or.direction.changes.stop.message","type":"A","txtN":"Verkehrt ab hier als ICE 615 in Richtung Frankfurt(M) Flughafen Fernbf","icoX":4},{"code":"text.journeystop.product.or.direction.changes.journey.message","type":"A","txtN":"Verkehrt ab Bremen Hbf als ICE 615 in Richtung Frankfurt(M) Flughafen Fernbf","icoX":4},{"code":"text.journeystop.product.or.direction.changes.journey.message","type":"A","icoX":4,"txtN":"Verkehrt ab Osnabrück Hbf als ICE 615 in Richtung München Hbf"}]},"fpE":"20241214","planrtTS":"1702821532"}}],"ext":"DB.R21.12.a","id":"cpk2zjackqe8pics"}