summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Changelog12
-rwxr-xr-xbin/hafas-m103
-rw-r--r--lib/Travel/Status/DE/HAFAS.pm335
-rw-r--r--lib/Travel/Status/DE/HAFAS/Result.pm41
-rwxr-xr-xt/20-db.t116
-rwxr-xr-xt/30-invalid-xml.t4
-rw-r--r--t/in/DB.Berlin Jannowitzbrücke.json1
-rw-r--r--t/in/DB.Berlin Jannowitzbrücke.xml1
8 files changed, 418 insertions, 195 deletions
diff --git a/Changelog b/Changelog
index ff8dabe..61d663b 100644
--- a/Changelog
+++ b/Changelog
@@ -1,3 +1,15 @@
+git HEAD
+
+ * Use mgate.exe HAFAS interface by default. This introduces several
+ breaking changes in hafas-m, Travel::Status::DE::HAFAS, and
+ Travel::StatuS::DE::HAFAS::Result.
+ * hafas-m: -l/--lang and -L/--ignore-late are no longer supported
+ * Travel::Status::DE::HAFAS->new: "date" and "time" keys are no longer
+ supported. Use "datetime" instead.
+ * Travel::Status::DE::HAFAS->new: "lang" key is no longer supported.
+ * Travel::Status::DE::HAFAS->new: "mode" key is no longer supported. Set
+ "arrivals" to a true value to request arrivals instead of departures.
+
Travel::Status::DE::DeutscheBahn 3.01 - Sat Jun 06 2020
* Fix support for ÖBB and other backends which recently switched from
diff --git a/bin/hafas-m b/bin/hafas-m
index 8eca084..95e01a9 100755
--- a/bin/hafas-m
+++ b/bin/hafas-m
@@ -5,17 +5,16 @@ use 5.014;
our $VERSION = '3.01';
-use Encode qw(decode);
-use Getopt::Long qw(:config no_ignore_case);
+use DateTime;
+use Encode qw(decode);
+use Getopt::Long qw(:config no_ignore_case);
use List::MoreUtils qw(uniq);
-use List::Util qw(first max);
+use List::Util qw(first max);
use Travel::Status::DE::HAFAS;
my ( $date, $time );
-my $arrivals = 0;
-my $ignore_late = 0;
-my $types = q{};
-my $language;
+my $arrivals = 0;
+my $types = q{};
my $developer_mode;
my ( $list_services, $service, $hafas_url );
my ( @excluded_mots, @exclusive_mots );
@@ -28,18 +27,16 @@ for my $arg (@ARGV) {
}
GetOptions(
- 'a|arrivals' => \$arrivals,
- 'd|date=s' => \$date,
- 'h|help' => sub { show_help(0) },
- 'l|lang=s' => \$language,
- 'L|ignore-late' => \$ignore_late,
- 'm|mot=s' => \$types,
- 's|service=s' => \$service,
- 't|time=s' => \$time,
- 'u|url=s' => \$hafas_url,
- 'V|version' => \&show_version,
- 'devmode' => \$developer_mode,
- 'list' => \$list_services,
+ 'a|arrivals' => \$arrivals,
+ 'd|date=s' => \$date,
+ 'h|help' => sub { show_help(0) },
+ 'm|mot=s' => \$types,
+ 's|service=s' => \$service,
+ 't|time=s' => \$time,
+ 'u|url=s' => \$hafas_url,
+ 'V|version' => \&show_version,
+ 'devmode' => \$developer_mode,
+ 'list' => \$list_services,
) or show_help(1);
@@ -53,19 +50,53 @@ if ($list_services) {
parse_mot_options();
-my $status = Travel::Status::DE::HAFAS->new(
- date => $date,
- language => $language,
+my %opt = (
excluded_mots => \@excluded_mots,
exclusive_mots => \@exclusive_mots,
station => shift || show_help(1),
- time => $time,
- mode => $arrivals ? 'arr' : 'dep',
+ arrivals => $arrivals,
developer_mode => $developer_mode,
service => $service,
url => $hafas_url,
);
+if ( $date or $time ) {
+ my $dt = DateTime->now( time_zone => 'Europe/Berlin' );
+ if ($date) {
+ if ( $date
+ =~ m{ ^ (?<day> \d{1,2} ) [.] (?<month> \d{1,2} ) [.] (?<year> \d{4})? $ }x
+ )
+ {
+ $dt->set(
+ day => $+{day},
+ month => $+{month}
+ );
+ if ( $+{year} ) {
+ $dt->set( year => $+{year} );
+ }
+ }
+ else {
+ say "--date must be specified as DD.MM.[YYYY]";
+ exit 1;
+ }
+ }
+ if ($time) {
+ if ( $time =~ m{ ^ (?<hour> \d{1,2} ) : (?<minute> \d{1,2} ) $ }x ) {
+ $dt->set(
+ hour => $+{hour},
+ minute => $+{minute}
+ );
+ }
+ else {
+ say "--time must be specified as HH:MM";
+ exit 1;
+ }
+ }
+ $opt{datetime} = $dt;
+}
+
+my $status = Travel::Status::DE::HAFAS->new(%opt);
+
sub show_help {
my ($code) = @_;
@@ -176,7 +207,9 @@ sub display_result {
if ( my $err = $status->errstr ) {
say STDERR "Request error: ${err}";
- if ( $status->errcode and $status->errcode eq 'H730' ) {
+ if ( $status->errcode
+ and ( $status->errcode eq 'H730' or $status->errcode eq 'LOCATION' ) )
+ {
show_similar_stops();
}
exit 2;
@@ -192,10 +225,6 @@ for my $m ( $status->messages ) {
for my $d ( $status->results ) {
- if ( $ignore_late and $d->delay ) {
- next;
- }
-
my $info_line = $d->info // q{};
for my $message ( $d->messages ) {
@@ -207,7 +236,7 @@ for my $d ( $status->results ) {
push(
@output,
[
- $d->sched_time,
+ $d->sched_datetime->strftime('%H:%M'),
$d->is_cancelled
? 'CANCELED'
: ( $d->delay ? sprintf( '%+d', $d->delay ) : q{} ),
@@ -255,19 +284,10 @@ Show arrivals instead of departures, including trains ending at the specified
station. Note that this causes the output to display the start instead of
the end station.
-=item B<-d>, B<--date> I<dd>.I<mm>.I<yyyy>
+=item B<-d>, B<--date> I<dd>.I<mm>.[I<yyyy>]
Date to list departures for. Default: today.
-=item B<-l>, B<--lang> B<d>|B<e>|B<i>|B<n>
-
-Set language used for additional information. Supports B<d>eutsch (default),
-B<e>nglish, B<i>talian and dutch (B<n>), depending on the used service.
-
-=item B<-L>, B<--ignore-late>
-
-Do not display delayed trains.
-
=item B<--list>
List known HAFAS installations. A HAFAS service from this list can be querie
@@ -300,8 +320,7 @@ Time to list departures for. Default: now.
=item B<-u>, B<--url> I<url>
-Request arrivals/departures using the API entry point at I<url>. Note that the
-language and output selection suffix (e.g. "/dn") must not be included here.
+Request arrivals/departures using the API entry point at I<url>.
Note that B<--mot> will not work when using this opton.
=item B<-V>, B<--version>
diff --git a/lib/Travel/Status/DE/HAFAS.pm b/lib/Travel/Status/DE/HAFAS.pm
index 839a599..2c2b6b5 100644
--- a/lib/Travel/Status/DE/HAFAS.pm
+++ b/lib/Travel/Status/DE/HAFAS.pm
@@ -10,6 +10,9 @@ no if $] >= 5.018, warnings => 'experimental::smartmatch';
use Carp qw(confess);
use DateTime;
use DateTime::Format::Strptime;
+use Digest::MD5 qw(md5_hex);
+use Encode qw(decode encode);
+use JSON;
use List::Util qw(any);
use LWP::UserAgent;
use POSIX qw(strftime);
@@ -33,9 +36,24 @@ my %hafas_instance = (
stopfinder => 'https://reiseauskunft.bahn.de/bin/ajax-getstop.exe',
trainsearch => 'https://reiseauskunft.bahn.de/bin/trainsearch.exe',
traininfo => 'https://reiseauskunft.bahn.de/bin/traininfo.exe',
+ mgate => 'https://reiseauskunft.bahn.de/bin/mgate.exe',
name => 'Deutsche Bahn',
- productbits =>
- [qw[ice ic_ec d regio s bus ferry u tram ondemand x x x x]],
+ productbits => [qw[ice ic_ec d regio s bus ferry u tram ondemand]],
+ salt => 'bdI8UVj4' . '0K5fvxwf',
+ request => {
+ client => {
+ id => 'DB',
+ v => '20100000',
+ type => 'IPH',
+ name => 'DB Navigator',
+ },
+ ext => 'DB.R21.12.a',
+ ver => '1.15',
+ auth => {
+ type => 'AID',
+ aid => 'n91dB8Z77MLdoR0K'
+ },
+ },
},
NAHSH => {
url => 'https://nah.sh.hafas.de/bin/stboard.exe',
@@ -50,17 +68,17 @@ my %hafas_instance = (
productbits => [qw[ice ice regio regio regio tram bus ondemand]],
},
NVV => {
- url => 'https://auskunft.nvv.de/auskunft/bin/jp/stboard.exe',
+ url => 'https://auskunft.nvv.de/auskunft/bin/jp/stboard.exe',
stopfinder =>
'https://auskunft.nvv.de/auskunft/bin/jp/ajax-getstop.exe',
- name => 'Nordhessischer VerkehrsVerbund',
+ name => 'Nordhessischer VerkehrsVerbund',
productbits =>
[qw[ice ic_ec regio s u tram bus bus ferry ondemand regio regio]],
},
'ÖBB' => {
- url => 'https://fahrplan.oebb.at/bin/stboard.exe',
- stopfinder => 'https://fahrplan.oebb.at/bin/ajax-getstop.exe',
- name => 'Österreichische Bundesbahnen',
+ url => 'https://fahrplan.oebb.at/bin/stboard.exe',
+ stopfinder => 'https://fahrplan.oebb.at/bin/ajax-getstop.exe',
+ name => 'Österreichische Bundesbahnen',
productbits =>
[qw[ice ice ice regio regio s bus ferry u tram ice ondemand ice]],
},
@@ -94,11 +112,6 @@ my %hafas_instance = (
sub new {
my ( $obj, %conf ) = @_;
-
- my $date = $conf{date} // strftime( '%d.%m.%Y', localtime(time) );
- my $time = $conf{time} // strftime( '%H:%M', localtime(time) );
- my $lang = $conf{language} // 'd';
- my $mode = $conf{mode} // 'dep';
my $service = $conf{service};
my %lwp_options = %{ $conf{lwp_options} // { timeout => 10 } };
@@ -107,14 +120,12 @@ sub new {
$ua->env_proxy;
- my $reply;
-
if ( not $conf{station} ) {
confess('You need to specify a station');
}
if ( not defined $service and not defined $conf{url} ) {
- $service = 'DB';
+ $service = $conf{service} = 'DB';
}
if ( defined $service and not exists $hafas_instance{$service} ) {
@@ -123,6 +134,7 @@ sub new {
my $ref = {
active_service => $service,
+ arrivals => $conf{arrivals},
developer_mode => $conf{developer_mode},
exclusive_mots => $conf{exclusive_mots},
excluded_mots => $conf{excluded_mots},
@@ -130,41 +142,172 @@ sub new {
results => [],
station => $conf{station},
ua => $ua,
- post => {
- input => $conf{station},
- date => $date,
- time => $time,
- start => 'yes', # value doesn't matter, just needs to be set
- boardType => $mode,
- L => 'vs_java3',
- },
+ now => DateTime->now( time_zone => 'Europe/Berlin' ),
};
bless( $ref, $obj );
- $ref->set_productfilter;
+ if ( $hafas_instance{$service}{mgate} ) {
+ return $ref->new_mgate(%conf);
+ }
+ return $ref->new_legacy(%conf);
+}
+
+sub new_mgate {
+ my ( $self, %conf ) = @_;
+ my $json = JSON->new->utf8;
+ my $service = $conf{service};
+
+ my $now = $self->{now};
+ my $date = ( $conf{datetime} // $now )->strftime('%Y%m%d');
+ my $time = ( $conf{datetime} // $now )->strftime('%H%M%S');
+
+ my $lid;
+ if ( $self->{station} =~ m{ ^ [0-9]+ $ }x ) {
+ $lid = 'A=1@L=' . $self->{station} . '@';
+ }
+ else {
+ $lid = 'A=1@O=' . $self->{station} . '@';
+ }
+
+ my $mot_mask = 1023;
+
+ my %mot_pos;
+ for my $i ( 0 .. $#{ $hafas_instance{$service}{productbits} } ) {
+ $mot_pos{ $hafas_instance{$service}{productbits}[$i] } = $i;
+ }
+
+ if ( my @mots = @{ $self->{exclusive_mots} // [] } ) {
+ $mot_mask = 0;
+ for my $mot (@mots) {
+ $mot_mask |= 1 << $mot_pos{$mot};
+ }
+ }
+
+ if ( my @mots = @{ $self->{excluded_mots} // [] } ) {
+ for my $mot (@mots) {
+ $mot_mask &= ~( 1 << $mot_pos{$mot} );
+ }
+ }
+
+ my $req = {
+ svcReqL => [
+ {
+ req => {
+ type => ( $conf{arrivals} ? 'ARR' : 'DEP' ),
+ stbLoc => { lid => $lid },
+ dirLoc => undef,
+ maxJny => 30,
+ date => $date,
+ time => $time,
+ dur => -1,
+ jnyFltrL =>
+ [ { type => "PROD", mode => "INC", value => $mot_mask } ]
+ },
+ meth => 'StationBoard'
+ }
+ ],
+ client => {
+ id => 'DB',
+ v => '20100000',
+ type => 'IPH',
+ name => 'DB Navigator'
+ },
+ ext => 'DB.R21.12.a',
+ ver => '1.15',
+ auth => {
+ type => 'AID',
+ 'aid' => 'n91dB8Z77MLdoR0K'
+ }
+ };
+
+ $req = $json->encode($req);
+ $self->{post} = $req;
+
+ my $url = $conf{url} // $hafas_instance{$service}{mgate};
+
+ if ( my $salt = $hafas_instance{$service}{salt} ) {
+ $url .= '?checksum=' . md5_hex( $self->{post} . $salt );
+ }
+
+ if ( $conf{json} ) {
+ $self->{raw_json} = $conf{json};
+ }
+ else {
+ if ( $self->{developer_mode} ) {
+ say "requesting $req from $url";
+ }
+
+ my $reply = $self->{ua}->post(
+ $url,
+ 'Content-Type' => 'application/json',
+ Content => $self->{post}
+ );
+ if ( $reply->is_error ) {
+ $self->{errstr} = $reply->status_line;
+ return $self;
+ }
+
+ if ( $self->{developer_mode} ) {
+ say decode( 'utf-8', $reply->content );
+ }
+
+ $self->{raw_json} = $json->decode( $reply->content );
+ }
+
+ $self->check_mgate;
+ $self->parse_mgate;
+
+ return $self;
+}
+
+sub new_legacy {
+ my ( $self, %conf ) = @_;
+
+ my $now = $self->{now};
+ my $date = ( $conf{datetime} // $now )->strftime('%d.%m.%Y');
+ my $time = ( $conf{datetime} // $now )->strftime('%H:%M');
+ my $mode = $conf{arrivals} ? 'arr' : 'dep';
+ my $lang = 'd';
+ my $service = $conf{service};
+
+ $self->{post} = {
+ input => $conf{station},
+ date => $date,
+ time => $time,
+ start => 'yes', # value doesn't matter, just needs to be set
+ boardType => $mode,
+ L => 'vs_java3',
+ };
+
+ $self->set_productfilter;
my $url = ( $conf{url} // $hafas_instance{$service}{url} ) . "/${lang}n";
if ( $conf{xml} ) {
- $ref->{raw_xml} = $conf{xml};
+
+ # used for testing
+ $self->{raw_xml} = $conf{xml};
}
else {
- $reply = $ua->post( $url, $ref->{post} );
+ if ( $self->{developer_mode} ) {
+ say "requesting from $url";
+ }
+ my $reply = $self->{ua}->post( $url, $self->{post} );
if ( $reply->is_error ) {
- $ref->{errstr} = $reply->status_line;
- return $ref;
+ $self->{errstr} = $reply->status_line;
+ return $self;
}
- $ref->{raw_xml} = $reply->content;
+ $self->{raw_xml} = $reply->content;
}
# the interface often does not return valid XML (but it's close!)
- if ( substr( $ref->{raw_xml}, 0, 5 ) ne '<?xml' ) {
- $ref->{raw_xml}
+ if ( substr( $self->{raw_xml}, 0, 5 ) ne '<?xml' ) {
+ $self->{raw_xml}
= '<?xml version="1.0" encoding="iso-8859-15"?><wrap>'
- . $ref->{raw_xml}
+ . $self->{raw_xml}
. '</wrap>';
}
@@ -172,7 +315,7 @@ sub new {
# Returns invalid XML with tags inside HIMMessage's lead attribute.
# Fix this.
- $ref->{raw_xml}
+ $self->{raw_xml}
=~ s{ lead = " \K ( [^"]+ ) }{ $1 =~ s{ < [^>]+ > }{}grx }egx;
}
@@ -180,23 +323,23 @@ sub new {
# errors in delay="...") when setting the language to dutch/italian.
# No, I don't know why.
- eval { $ref->{tree} = XML::LibXML->load_xml( string => $ref->{raw_xml} ) };
+ eval { $self->{tree} = XML::LibXML->load_xml( string => $self->{raw_xml} ) };
if ( my $err = $@ ) {
- if ( $ref->{developer_mode} ) {
- say $ref->{raw_xml};
+ if ( $self->{developer_mode} ) {
+ say $self->{raw_xml};
}
- $ref->{errstr} = "Backend returned invalid XML: $err";
- return $ref;
+ $self->{errstr} = "Backend returned invalid XML: $err";
+ return $self;
}
- if ( $ref->{developer_mode} ) {
- say $ref->{tree}->toString(1);
+ if ( $self->{developer_mode} ) {
+ say $self->{tree}->toString(1);
}
- $ref->check_input_error;
- $ref->prepare_results;
- return $ref;
+ $self->check_input_error;
+ $self->prepare_results;
+ return $self;
}
sub set_productfilter {
@@ -254,7 +397,26 @@ sub check_input_error {
$self->{errcode} = $err->getAttribute('code');
}
- return;
+ return $self;
+}
+
+sub check_mgate {
+ my ($self) = @_;
+
+ if ( $self->{raw_json}{cInfo}{code} ne 'OK' ) {
+ $self->{errstr} = 'cInfo code is ' . $self->{raw_json}{cInfo}{code};
+ $self->{errcode} = $self->{raw_json}{cInfo}{code};
+ }
+ elsif ( @{ $self->{raw_json}{svcResL} // [] } == 0 ) {
+ $self->{errstr} = 'svcResL is empty';
+ }
+ elsif ( $self->{raw_json}{svcResL}[0]{err} ne 'OK' ) {
+ $self->{errstr}
+ = 'svcResL[0].err is ' . $self->{raw_json}{svcResL}[0]{err};
+ $self->{errcode} = $self->{raw_json}{svcResL}[0]{err};
+ }
+
+ return $self;
}
sub errcode {
@@ -289,7 +451,7 @@ sub similar_stops {
$self->{errstr} = $err;
return;
}
- return $sf->results;
+ return $self->results;
}
return;
}
@@ -333,9 +495,6 @@ sub prepare_results {
$self->{results} = [];
- $self->{datetime_now} //= DateTime->now(
- time_zone => 'Europe/Berlin',
- );
$self->{strptime_obj} //= DateTime::Format::Strptime->new(
pattern => '%d.%m.%YT%H:%M',
time_zone => 'Europe/Berlin',
@@ -388,13 +547,11 @@ sub prepare_results {
push(
@{ $self->{results} },
Travel::Status::DE::HAFAS::Result->new(
- sched_date => $date,
sched_datetime => $datetime,
- datetime_now => $self->{datetime_now},
+ datetime_now => $self->{now},
raw_delay => $delay,
raw_e_delay => $e_delay,
messages => \@messages,
- sched_time => $time,
train => $train,
operator => $operator,
route_end => $dest,
@@ -404,6 +561,74 @@ sub prepare_results {
)
);
}
+ return $self;
+}
+
+sub parse_mgate {
+ my ($self) = @_;
+
+ $self->{results} = [];
+
+ if ( $self->{errstr} ) {
+ return $self;
+ }
+
+ $self->{strptime_obj} //= DateTime::Format::Strptime->new(
+ pattern => '%Y%m%dT%H%M%S',
+ time_zone => 'Europe/Berlin',
+ );
+
+ my @locL = @{ $self->{raw_json}{svcResL}[0]{res}{common}{locL} // [] };
+ my @prodL = @{ $self->{raw_json}{svcResL}[0]{res}{common}{prodL} // [] };
+ my @opL = @{ $self->{raw_json}{svcResL}[0]{res}{common}{opL} // [] };
+ my @icoL = @{ $self->{raw_json}{svcResL}[0]{res}{common}{icoL} // [] };
+ my @jnyL = @{ $self->{raw_json}{svcResL}[0]{res}{jnyL} // [] };
+
+ for my $result (@jnyL) {
+ my $date = $result->{date};
+ my $time_s
+ = $result->{stbStop}{ $self->{arrivals} ? 'aTimeS' : 'dTimeS' };
+ my $time_r
+ = $result->{stbStop}{ $self->{arrivals} ? 'aTimeR' : 'dTimeR' };
+ my $datetime_s
+ = $self->{strptime_obj}->parse_datetime("${date}T${time_s}");
+ my $datetime_r
+ = $time_r
+ ? $self->{strptime_obj}->parse_datetime("${date}T${time_r}")
+ : undef;
+ my $delay
+ = $datetime_r
+ ? ( $datetime_r->epoch - $datetime_s->epoch ) / 60
+ : undef;
+
+ my $destination = $result->{dirTxt};
+ my $is_cancelled = $result->{isCncl};
+ my $jid = $result->{jid};
+ my $platform = $result->{stbStop}{dPlatfS};
+ my $new_platform = $result->{stbStop}{dPlatfR};
+
+ my $product = $prodL[ $result->{prodX} ];
+ my $train = $product->{prodCtx}{name};
+ my $train_type = $product->{prodCtx}{catOutS};
+ my $line_no = $product->{prodCtx}{line};
+
+ push(
+ @{ $self->{results} },
+ Travel::Status::DE::HAFAS::Result->new(
+ sched_datetime => $datetime_s,
+ rt_datetime => $datetime_r,
+ datetime => $datetime_r // $datetime_s,
+ datetime_now => $self->{now},
+ delay => $delay,
+ is_cancelled => $is_cancelled,
+ train => $train,
+ route_end => $destination,
+ platform => $platform,
+ new_platform => $new_platform,
+ )
+ );
+ }
+ return $self;
}
sub results {
@@ -505,9 +730,9 @@ Supported I<opts> are:
The station or stop to report for, e.g. "Essen HBf" or
"Alfredusbad, Essen (Ruhr)". Mandatory.
-=item B<date> => I<dd>.I<mm>.I<yyyy>
+=item B<datetime> => I<DateTime object>
-Date to report for. Defaults to the current day.
+Date and time to report for. Defaults to now.
=item B<excluded_mots> => [I<mot1>, I<mot2>, ...]
@@ -547,10 +772,6 @@ Request results from I<service>, defaults to "DB".
See B<get_services> (and C<< hafas-m --list >>) for a list of supported
services.
-=item B<time> => I<hh>:I<mm>
-
-Time to report for. Defaults to now.
-
=item B<url> => I<url>
Request results from I<url>, defaults to the one belonging to B<service>.
diff --git a/lib/Travel/Status/DE/HAFAS/Result.pm b/lib/Travel/Status/DE/HAFAS/Result.pm
index 71f9d1e..1fc13ce 100644
--- a/lib/Travel/Status/DE/HAFAS/Result.pm
+++ b/lib/Travel/Status/DE/HAFAS/Result.pm
@@ -11,8 +11,8 @@ use parent 'Class::Accessor';
our $VERSION = '3.01';
Travel::Status::DE::HAFAS::Result->mk_ro_accessors(
- qw(sched_date date sched_datetime datetime info operator raw_e_delay
- raw_delay sched_time time train route_end)
+ qw(sched_date date sched_datetime datetime info is_cancelled operator delay
+ sched_time time train route_end)
);
sub new {
@@ -21,17 +21,16 @@ sub new {
my $ref = \%conf;
bless( $ref, $obj );
- if ( my $delay = $ref->delay ) {
- $ref->{datetime}
- = $ref->{sched_datetime}->clone->add( minutes => $delay );
- $ref->{date} = $ref->{datetime}->strftime('%d.%m.%Y');
- $ref->{time} = $ref->{datetime}->strftime('%H:%M');
+ if ( $ref->{delay} ) {
+ $ref->{datetime} = $ref->{rt_datetime};
}
else {
$ref->{datetime} = $ref->{sched_datetime};
- $ref->{date} = $ref->{sched_date};
- $ref->{time} = $ref->{sched_time};
}
+ $ref->{date} = $ref->{datetime}->strftime('%d.%m.%Y');
+ $ref->{time} = $ref->{datetime}->strftime('%H:%M');
+ $ref->{sched_date} = $ref->{sched_datetime}->strftime('%d.%m.%Y');
+ $ref->{sched_time} = $ref->{sched_datetime}->strftime('%H:%M');
return $ref;
}
@@ -56,21 +55,6 @@ sub countdown_sec {
return $self->{countdown_sec};
}
-sub delay {
- my ($self) = @_;
-
- if ( defined $self->{raw_e_delay} ) {
- return $self->{raw_e_delay};
- }
- if ( defined $self->{raw_delay}
- and $self->{raw_delay} ne q{-}
- and $self->{raw_delay} ne 'cancel' )
- {
- return $self->{raw_delay};
- }
- return;
-}
-
sub destination {
my ($self) = @_;
@@ -83,15 +67,6 @@ sub line {
return $self->{train};
}
-sub is_cancelled {
- my ($self) = @_;
-
- if ( $self->{raw_delay} and $self->{raw_delay} eq 'cancel' ) {
- return 1;
- }
- return 0;
-}
-
sub is_changed_platform {
my ($self) = @_;
diff --git a/t/20-db.t b/t/20-db.t
index 90257e4..65c7ba5 100755
--- a/t/20-db.t
+++ b/t/20-db.t
@@ -6,16 +6,18 @@ use 5.020;
use utf8;
use File::Slurp qw(read_file);
-use Test::More tests => 67;
+use JSON;
+use Test::More tests => 61;
use Travel::Status::DE::HAFAS;
-my $xml = read_file('t/in/DB.Berlin Jannowitzbrücke.xml');
+my $json
+ = JSON->new->utf8->decode( read_file('t/in/DB.Berlin Jannowitzbrücke.json') );
my $status = Travel::Status::DE::HAFAS->new(
service => 'DB',
station => 'Berlin Jannowitzbrücke',
- xml => $xml
+ json => $json
);
is( $status->errcode, undef, 'no error code' );
@@ -27,69 +29,65 @@ is(
'active service name'
);
-is( scalar $status->results, 73, 'number of results' );
+is( scalar $status->results, 30, 'number of results' );
my @results = $status->results;
-# Result 0: S-Bahn
+# Result 0: Bus
-is( $results[0]->date, '13.06.2020', 'result 0: date' );
+is( $results[0]->date, '02.10.2022', 'result 0: date' );
is(
$results[0]->datetime->strftime('%Y%m%d %H%M%S'),
- '20200613 141700',
+ '20221002 170500',
'result 0: datetime'
);
-is( $results[0]->delay, 2, 'result 0: delay' );
-is( $results[0]->info, undef, 'result 0: no info' );
+is( $results[0]->delay, 10, 'result 0: delay' );
ok( !$results[0]->is_cancelled, 'result 0: not cancelled' );
ok( !$results[0]->is_changed_platform, 'result 0: platform not changed' );
-is( scalar $results[0]->messages, 0, 'result 0: no messages' );
for my $res ( $results[0]->line, $results[0]->train ) {
- is( $res, 'S 5', 'result 0: line/train' );
+ is( $res, 'Bus 300', 'result 0: line/train' );
}
for my $res ( $results[0]->line_no, $results[0]->train_no ) {
- is( $res, 5, 'result 0: line/train number' );
+ is( $res, 300, 'result 0: line/train number' );
}
is( $results[0]->operator, undef, 'result 0: no operator' );
-is( $results[0]->platform, '4', 'result 0: platform' );
+is( $results[0]->platform, undef, 'result 0: platform' );
for my $res ( $results[0]->route_end, $results[0]->destination,
$results[0]->origin )
{
- is( $res, 'Berlin Westkreuz', 'result 0: route start/end' );
+ is( $res, 'Tiergarten, Philharmonie', 'result 0: route start/end' );
}
-is( $results[0]->sched_date, '13.06.2020', 'result 0: sched_date' );
+is( $results[0]->sched_date, '02.10.2022', 'result 0: sched_date' );
is(
$results[0]->sched_datetime->strftime('%Y%m%d %H%M%S'),
- '20200613 141500',
+ '20221002 165500',
'result 0: sched_datetime'
);
-is( $results[0]->sched_time, '14:15', 'result 0: sched_time' );
-is( $results[0]->time, '14:17', 'result 0: time' );
-is( $results[0]->type, 'S', 'result 0: type' );
+is( $results[0]->sched_time, '16:55', 'result 0: sched_time' );
+is( $results[0]->time, '17:05', 'result 0: time' );
+is( $results[0]->type, 'Bus', 'result 0: type' );
-# Result 2: Bus
+# Result 2: U-Bahn
-is( $results[2]->date, '13.06.2020', 'result 2: date' );
+is( $results[2]->date, '02.10.2022', 'result 2: date' );
is(
$results[2]->datetime->strftime('%Y%m%d %H%M%S'),
- '20200613 141700',
+ '20221002 170000',
'result 2: datetime'
);
-is( $results[2]->delay, 0, 'result 2: delay' );
-is( $results[2]->info, undef, 'result 2: no info' );
+is( $results[2]->delay, 0, 'result 2: delay' );
ok( !$results[2]->is_cancelled, 'result 2: not cancelled' );
ok( !$results[2]->is_changed_platform, 'result 2: platform not changed' );
-is( scalar $results[2]->messages, 0, 'result 2: no messages' );
for my $res ( $results[2]->line, $results[2]->train ) {
- is( $res, 'Bus 300', 'result 2: line/train' );
+ is( $res, 'U 8', 'result 2: line/train' );
}
for my $res ( $results[2]->line_no, $results[2]->train_no ) {
- is( $res, 300, 'result 2: line/train number' );
+ is( $res, 8, 'result 2: line/train number' );
}
is( $results[2]->operator, undef, 'result 2: no operator' );
@@ -98,55 +96,53 @@ is( $results[2]->platform, undef, 'result 2: no platform' );
for my $res ( $results[2]->route_end, $results[2]->destination,
$results[2]->origin )
{
- is( $res, 'Warschauer Str. (S+U), Berlin', 'result 2: route start/end' );
+ is( $res, 'Hermannstr. (S+U), Berlin', 'result 2: route start/end' );
}
-is( $results[2]->sched_date, '13.06.2020', 'result 2: sched_date' );
+is( $results[2]->sched_date, '02.10.2022', 'result 2: sched_date' );
is(
$results[2]->sched_datetime->strftime('%Y%m%d %H%M%S'),
- '20200613 141700',
+ '20221002 170000',
'result 2: sched_datetime'
);
-is( $results[2]->sched_time, '14:17', 'result 2: sched_time' );
-is( $results[2]->time, '14:17', 'result 2: time' );
-is( $results[2]->type, 'Bus', 'result 2: type' );
+is( $results[2]->sched_time, '17:00', 'result 2: sched_time' );
+is( $results[2]->time, '17:00', 'result 2: time' );
+is( $results[2]->type, 'U', 'result 2: type' );
-# Result 6: U-Bahn
+# Result 3: S-Bahn
-is( $results[6]->date, '13.06.2020', 'result 6: date' );
+is( $results[3]->date, '02.10.2022', 'result 3: date' );
is(
- $results[6]->datetime->strftime('%Y%m%d %H%M%S'),
- '20200613 142100',
- 'result 6: datetime'
+ $results[3]->datetime->strftime('%Y%m%d %H%M%S'),
+ '20221002 170100',
+ 'result 3: datetime'
);
-is( $results[6]->delay, 1, 'result 6: delay' );
-is( $results[6]->info, undef, 'result 6: no info' );
-ok( !$results[6]->is_cancelled, 'result 6: not cancelled' );
-ok( !$results[6]->is_changed_platform, 'result 6: platform not changed' );
-is( scalar $results[6]->messages, 0, 'result 6: no messages' );
-
-for my $res ( $results[6]->line, $results[6]->train ) {
- is( $res, 'U 8', 'result 6: line/train' );
+is( $results[3]->delay, 0, 'result 3: delay' );
+ok( !$results[3]->is_cancelled, 'result 3: not cancelled' );
+ok( !$results[3]->is_changed_platform, 'result 3: platform not changed' );
+
+for my $res ( $results[3]->line, $results[3]->train ) {
+ is( $res, 'S 3', 'result 3: line/train' );
}
-for my $res ( $results[6]->line_no, $results[6]->train_no ) {
- is( $res, 8, 'result 6: line/train number' );
+for my $res ( $results[3]->line_no, $results[3]->train_no ) {
+ is( $res, 3, 'result 3: line/train number' );
}
-is( $results[6]->operator, undef, 'result 6: no operator' );
-is( $results[6]->platform, undef, 'result 6: no platform' );
+is( $results[3]->operator, undef, 'result 3: no operator' );
+is( $results[3]->platform, 4, 'result 3: platform' );
-for my $res ( $results[6]->route_end, $results[6]->destination,
- $results[6]->origin )
+for my $res ( $results[3]->route_end, $results[3]->destination,
+ $results[3]->origin )
{
- is( $res, 'Paracelsus-Bad (U), Berlin', 'result 6: route start/end' );
+ is( $res, 'Berlin-Spandau (S)', 'result 3: route start/end' );
}
-is( $results[6]->sched_date, '13.06.2020', 'result 6: sched_date' );
+is( $results[3]->sched_date, '02.10.2022', 'result 3: sched_date' );
is(
- $results[6]->sched_datetime->strftime('%Y%m%d %H%M%S'),
- '20200613 142000',
- 'result 6: sched_datetime'
+ $results[3]->sched_datetime->strftime('%Y%m%d %H%M%S'),
+ '20221002 170100',
+ 'result 3: sched_datetime'
);
-is( $results[6]->sched_time, '14:20', 'result 6: sched_time' );
-is( $results[6]->time, '14:21', 'result 6: time' );
-is( $results[6]->type, 'U', 'result 6: type' );
+is( $results[3]->sched_time, '17:01', 'result 3: sched_time' );
+is( $results[3]->time, '17:01', 'result 3: time' );
+is( $results[3]->type, 'S', 'result 3: type' );
diff --git a/t/30-invalid-xml.t b/t/30-invalid-xml.t
index 4a358a2..f8f7d58 100755
--- a/t/30-invalid-xml.t
+++ b/t/30-invalid-xml.t
@@ -13,7 +13,7 @@ use Travel::Status::DE::HAFAS;
my $xml = 'lol';
my $status = Travel::Status::DE::HAFAS->new(
- service => 'DB',
+ service => 'NASA',
station => 'Berlin Jannowitzbrücke',
xml => $xml
);
@@ -24,7 +24,7 @@ is( scalar $status->results,
$xml = 'lol<';
$status = Travel::Status::DE::HAFAS->new(
- service => 'DB',
+ service => 'NASA',
station => 'Berlin Jannowitzbrücke',
xml => $xml
);
diff --git a/t/in/DB.Berlin Jannowitzbrücke.json b/t/in/DB.Berlin Jannowitzbrücke.json
new file mode 100644
index 0000000..e8ab4bb
--- /dev/null
+++ b/t/in/DB.Berlin Jannowitzbrücke.json
@@ -0,0 +1 @@
+{"ver":"1.15","ext":"DB.R21.12.a","lang":"deu","id":"8g46emqmmw2swm4s","cInfo":{"code":"OK"},"svcResL":[{"meth":"StationBoard","err":"OK","res":{"common":{"locL":[{"lid":"A=1@O=Jannowitzbrücke (S+U), Berlin@X=13418126@Y=52515503@U=80@L=732534@","type":"S","name":"Jannowitzbrücke (S+U), Berlin","icoX":0,"extId":"732534","state":"F","crd":{"x":13418126,"y":52515503,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":184,"pRefL":[1,2,3,4,5,6],"mMastLocX":1},{"lid":"A=1@O=Berlin Jannowitzbrücke@X=13419349@Y=52514272@U=80@L=8089019@","type":"S","name":"Berlin Jannowitzbrücke","icoX":0,"extId":"8089019","state":"F","crd":{"x":13419681,"y":52514227,"z":0,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":184,"pRefL":[7,8,9,10,11,12,1,2,3,4,5,6]},{"lid":"A=1@O=Philharmonie Süd, Berlin@X=13370816@Y=52509166@U=80@L=744896@","type":"S","name":"Philharmonie Süd, Berlin","icoX":0,"extId":"744896","state":"F","crd":{"x":13370816,"y":52509166,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":32},{"lid":"A=1@O=Alexanderstr., Berlin@X=13418072@Y=52517121@U=80@L=732595@","type":"S","name":"Alexanderstr., Berlin","icoX":0,"extId":"732595","state":"F","crd":{"x":13418072,"y":52517121,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":32},{"lid":"A=1@O=Alexanderplatz (S+U)/Grunerstr., Berlin@X=13414926@Y=52520825@U=80@L=732536@","type":"S","name":"Alexanderplatz (S+U)/Grunerstr., Berlin","icoX":0,"extId":"732536","state":"F","crd":{"x":13414926,"y":52520825,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":440,"mMastLocX":5},{"lid":"A=1@O=Berlin Alexanderplatz@X=13410962@Y=52521481@U=80@L=8011155@","type":"S","name":"Berlin Alexanderplatz","icoX":0,"extId":"8011155","state":"F","crd":{"x":13411088,"y":52521526,"z":0,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":440},{"lid":"A=1@O=Rotes Rathaus (U), Berlin@X=13409209@Y=52517032@U=80@L=732572@","type":"S","name":"Rotes Rathaus (U), Berlin","icoX":0,"extId":"732572","state":"F","crd":{"x":13409209,"y":52517032,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":160},{"lid":"A=1@O=Museumsinsel (U), Berlin@X=13400283@Y=52518083@U=80@L=732613@","type":"S","name":"Museumsinsel (U), Berlin","icoX":0,"extId":"732613","state":"F","crd":{"x":13400283,"y":52518083,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":160},{"lid":"A=1@O=Staatsoper, Berlin@X=13393837@Y=52517319@U=80@L=732591@","type":"S","name":"Staatsoper, Berlin","icoX":0,"extId":"732591","state":"F","crd":{"x":13393837,"y":52517319,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":32},{"lid":"A=1@O=Unter den Linden (U), Berlin@X=13388830@Y=52517041@U=80@L=732590@","type":"S","name":"Unter den Linden (U), Berlin","icoX":0,"extId":"732590","state":"F","crd":{"x":13388830,"y":52517041,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":160},{"lid":"A=1@O=Behrenstr./Wilhelmstr., Berlin@X=13381558@Y=52514964@U=80@L=746255@","type":"S","name":"Behrenstr./Wilhelmstr., Berlin","icoX":0,"extId":"746255","state":"F","crd":{"x":13381558,"y":52514964,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":40},{"lid":"A=1@O=Mohrenstr. (U), Berlin@X=13384471@Y=52511638@U=80@L=732540@","type":"S","name":"Mohrenstr. (U), Berlin","icoX":0,"extId":"732540","state":"F","crd":{"x":13384471,"y":52511638,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":160},{"lid":"A=1@O=Leipziger Str./Wilhelmstr., Berlin@X=13383536@Y=52509957@U=80@L=732611@","type":"S","name":"Leipziger Str./Wilhelmstr., Berlin","icoX":0,"extId":"732611","state":"F","crd":{"x":13383536,"y":52509957,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":32},{"lid":"A=1@O=Potsdamer Platz [Bus Leipziger Str.] (S+U), Berlin@X=13378286@Y=52509615@U=80@L=728614@","type":"S","name":"Potsdamer Platz [Bus Leipziger Str.] (S+U), Berlin","icoX":0,"extId":"728614","state":"F","crd":{"x":13378286,"y":52509615,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":184,"mMastLocX":14},{"lid":"A=1@O=Berlin Potsdamer Platz@X=13375985@Y=52509382@U=80@L=8011118@","type":"S","name":"Berlin Potsdamer Platz","icoX":0,"extId":"8011118","state":"F","crd":{"x":13375904,"y":52509436,"z":0,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":184},{"lid":"A=1@O=Varian-Fry-Str./Potsdamer Platz, Berlin@X=13374376@Y=52509346@U=80@L=746250@","type":"S","name":"Varian-Fry-Str./Potsdamer Platz, Berlin","icoX":0,"extId":"746250","state":"F","crd":{"x":13374376,"y":52509346,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":32},{"lid":"A=1@O=Paracelsus-Bad (U), Berlin@X=13348145@Y=52574284@U=80@L=732266@","type":"S","name":"Paracelsus-Bad (U), Berlin","icoX":0,"extId":"732266","state":"F","crd":{"x":13348145,"y":52574284,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":168},{"lid":"A=1@O=Alexanderplatz [U8] (S+U), Berlin@X=13412661@Y=52521023@U=80@L=732533@","type":"S","name":"Alexanderplatz [U8] (S+U), Berlin","icoX":2,"extId":"732533","state":"F","crd":{"x":13412661,"y":52521023,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":440,"mMastLocX":5},{"lid":"A=1@O=Weinmeisterstr. (U), Berlin@X=13405299@Y=52525356@U=80@L=732576@","type":"S","name":"Weinmeisterstr. (U), Berlin","icoX":0,"extId":"732576","state":"F","crd":{"x":13405299,"y":52525356,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":416},{"lid":"A=1@O=Rosenthaler Platz (U), Berlin@X=13401406@Y=52529787@U=80@L=732552@","type":"S","name":"Rosenthaler Platz (U), Berlin","icoX":0,"extId":"732552","state":"F","crd":{"x":13401406,"y":52529787,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":416},{"lid":"A=1@O=Bernauer Str. (U), Berlin@X=13396148@Y=52538039@U=80@L=730803@","type":"S","name":"Bernauer Str. (U), Berlin","icoX":0,"extId":"730803","state":"F","crd":{"x":13396148,"y":52538039,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":416},{"lid":"A=1@O=Voltastr. (U), Berlin@X=13393397@Y=52541590@U=80@L=730797@","type":"S","name":"Voltastr. (U), Berlin","icoX":0,"extId":"730797","state":"F","crd":{"x":13393397,"y":52541590,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":160},{"lid":"A=1@O=Gesundbrunnen Bahnhof (S+U), Berlin@X=13388264@Y=52548970@U=80@L=730796@","type":"S","name":"Gesundbrunnen Bahnhof (S+U), Berlin","icoX":0,"extId":"730796","state":"F","crd":{"x":13388264,"y":52548970,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":191,"mMastLocX":23},{"lid":"A=1@O=Berlin Gesundbrunnen@X=13388516@Y=52548961@U=80@L=8011102@","type":"S","name":"Berlin Gesundbrunnen","icoX":6,"extId":"8011102","state":"F","crd":{"x":13391060,"y":52548656,"z":0,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":191},{"lid":"A=1@O=Osloer Str. (U), Berlin@X=13373126@Y=52556728@U=80@L=730846@","type":"S","name":"Osloer Str. (U), Berlin","icoX":0,"extId":"730846","state":"F","crd":{"x":13373126,"y":52556728,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":416},{"lid":"A=1@O=Franz-Neumann-Platz (Am Schäfersee) (U), Berlin@X=13364029@Y=52564360@U=80@L=732278@","type":"S","name":"Franz-Neumann-Platz (Am Schäfersee) (U), Berlin","icoX":0,"extId":"732278","state":"F","crd":{"x":13364029,"y":52564360,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":160},{"lid":"A=1@O=Residenzstr. (U), Berlin@X=13360667@Y=52570733@U=80@L=732279@","type":"S","name":"Residenzstr. (U), Berlin","icoX":0,"extId":"732279","state":"F","crd":{"x":13360667,"y":52570733,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":160},{"lid":"A=1@O=Hermannstr. (S+U), Berlin@X=13431349@Y=52467465@U=80@L=732126@","type":"S","name":"Hermannstr. (S+U), Berlin","icoX":0,"extId":"732126","state":"F","crd":{"x":13431349,"y":52467465,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":184,"mMastLocX":28},{"lid":"A=1@O=Berlin Hermannstraße@X=13431313@Y=52467510@U=80@L=8089105@","type":"S","name":"Berlin Hermannstraße","icoX":0,"extId":"8089105","state":"F","crd":{"x":13430945,"y":52467645,"z":0,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":184},{"lid":"A=1@O=Heinrich-Heine-Str. (U), Berlin@X=13416185@Y=52510622@U=80@L=732538@","type":"S","name":"Heinrich-Heine-Str. (U), Berlin","icoX":0,"extId":"732538","state":"F","crd":{"x":13416185,"y":52510622,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":160},{"lid":"A=1@O=Moritzplatz (U), Berlin@X=13410620@Y=52503647@U=80@L=730889@","type":"S","name":"Moritzplatz (U), Berlin","icoX":0,"extId":"730889","state":"F","crd":{"x":13410620,"y":52503647,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":160},{"lid":"A=1@O=Kottbusser Tor (U), Berlin@X=13418198@Y=52499071@U=80@L=730890@","type":"S","name":"Kottbusser Tor (U), Berlin","icoX":0,"extId":"730890","state":"F","crd":{"x":13418198,"y":52499071,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":160},{"lid":"A=1@O=Schönleinstr. (U), Berlin@X=13421848@Y=52493381@U=80@L=730927@","type":"S","name":"Schönleinstr. (U), Berlin","icoX":0,"extId":"730927","state":"F","crd":{"x":13421848,"y":52493381,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":160},{"lid":"A=1@O=Hermannplatz (U), Berlin@X=13424428@Y=52486576@U=80@L=732102@","type":"S","name":"Hermannplatz (U), Berlin","icoX":0,"extId":"732102","state":"F","crd":{"x":13424428,"y":52486576,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":160},{"lid":"A=1@O=Boddinstr. (U), Berlin@X=13425408@Y=52479798@U=80@L=732121@","type":"S","name":"Boddinstr. (U), Berlin","icoX":0,"extId":"732121","state":"F","crd":{"x":13425408,"y":52479798,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":160},{"lid":"A=1@O=Leinestr. (U), Berlin@X=13428131@Y=52473425@U=80@L=732120@","type":"S","name":"Leinestr. (U), Berlin","icoX":0,"extId":"732120","state":"F","crd":{"x":13428131,"y":52473425,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":160},{"lid":"A=1@O=Berlin-Spandau (S)@X=13197450@Y=52534776@U=80@L=8089083@","type":"S","name":"Berlin-Spandau (S)","icoX":0,"extId":"8089083","state":"F","crd":{"x":13198547,"y":52534632,"z":0,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":191,"entry":true,"mMastLocX":37},{"lid":"A=1@O=Berlin-Spandau@X=13196902@Y=52534650@U=80@L=8010404@","type":"S","name":"Berlin-Spandau","icoX":6,"extId":"8010404","state":"F","crd":{"x":13200947,"y":52533787,"z":0,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":191},{"lid":"A=1@O=Berlin Alexanderplatz (S)@X=13411007@Y=52521643@U=80@L=8089001@","type":"S","name":"Berlin Alexanderplatz (S)","icoX":3,"extId":"8089001","state":"F","crd":{"x":13411097,"y":52521643,"z":0,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":440,"entry":true,"mMastLocX":5},{"lid":"A=1@O=Berlin Hackescher Markt@X=13402368@Y=52522623@U=80@L=8089017@","type":"S","name":"Berlin Hackescher Markt","icoX":3,"extId":"8089017","state":"F","crd":{"x":13402197,"y":52522614,"z":0,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":304},{"lid":"A=1@O=Berlin Friedrichstraße (S)@X=13386907@Y=52520178@U=80@L=8089066@","type":"S","name":"Berlin Friedrichstraße (S)","icoX":3,"extId":"8089066","state":"F","crd":{"x":13386322,"y":52520555,"z":0,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":444,"entry":true,"mMastLocX":41},{"lid":"A=1@O=Berlin Friedrichstraße@X=13387203@Y=52520376@U=80@L=8011306@","type":"S","name":"Berlin Friedrichstraße","icoX":8,"extId":"8011306","state":"F","crd":{"x":13386925,"y":52520331,"z":0,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":444},{"lid":"A=1@O=Berlin Hbf (S-Bahn)@X=13369549@Y=52525589@U=80@L=8089021@","type":"S","name":"Berlin Hbf (S-Bahn)","icoX":3,"extId":"8089021","state":"F","crd":{"x":13369279,"y":52525167,"z":0,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":447,"entry":true,"mMastLocX":43},{"lid":"A=1@O=Berlin Hbf@X=13369549@Y=52525589@U=80@L=8011160@","type":"S","name":"Berlin Hbf","icoX":6,"extId":"8011160","state":"F","crd":{"x":13369629,"y":52524924,"z":0,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":447},{"lid":"A=1@O=Berlin Bellevue@X=13348262@Y=52519953@U=80@L=8089005@","type":"S","name":"Berlin Bellevue","icoX":3,"extId":"8089005","state":"F","crd":{"x":13347956,"y":52519962,"z":0,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":16},{"lid":"A=1@O=Berlin-Tiergarten@X=13336396@Y=52514065@U=80@L=8089091@","type":"S","name":"Berlin-Tiergarten","icoX":0,"extId":"8089091","state":"F","crd":{"x":13336414,"y":52514281,"z":0,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":56},{"lid":"A=1@O=Berlin Zoologischer Garten (S)@X=13332360@Y=52507152@U=80@L=8089046@","type":"S","name":"Berlin Zoologischer Garten (S)","icoX":3,"extId":"8089046","state":"F","crd":{"x":13332360,"y":52507152,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":191,"entry":true,"mMastLocX":47},{"lid":"A=1@O=Berlin Zoologischer Garten@X=13331992@Y=52507278@U=80@L=8010406@","type":"S","name":"Berlin Zoologischer Garten","icoX":6,"extId":"8010406","state":"F","crd":{"x":13332414,"y":52507242,"z":0,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":191},{"lid":"A=1@O=Berlin Savignyplatz@X=13319272@Y=52505094@U=80@L=8089037@","type":"S","name":"Berlin Savignyplatz","icoX":3,"extId":"8089037","state":"F","crd":{"x":13319362,"y":52505193,"z":0,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":48},{"lid":"A=1@O=Berlin Charlottenburg (S)@X=13303945@Y=52504932@U=80@L=8089165@","type":"S","name":"Berlin Charlottenburg (S)","icoX":3,"extId":"8089165","state":"F","crd":{"x":13301338,"y":52504348,"z":0,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":63,"entry":true,"mMastLocX":50},{"lid":"A=1@O=Berlin-Charlottenburg@X=13302327@Y=52504213@U=80@L=8010403@","type":"S","name":"Berlin-Charlottenburg","icoX":9,"extId":"8010403","state":"F","crd":{"x":13302049,"y":52504195,"z":0,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":63},{"lid":"A=1@O=Berlin Westkreuz@X=13283962@Y=52500734@U=80@L=8089047@","type":"S","name":"Berlin Westkreuz","icoX":3,"extId":"8089047","state":"F","crd":{"x":13283962,"y":52500734,"z":0,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":48},{"lid":"A=1@O=Berlin Messe Süd (Eichkamp)@X=13270119@Y=52498748@U=80@L=8089328@","type":"S","name":"Berlin Messe Süd (Eichkamp)","icoX":3,"extId":"8089328","state":"F","crd":{"x":13269921,"y":52498756,"z":0,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":48},{"lid":"A=1@O=Berlin Heerstraße@X=13259377@Y=52508123@U=80@L=8089329@","type":"S","name":"Berlin Heerstraße","icoX":3,"extId":"8089329","state":"F","crd":{"x":13259952,"y":52507899,"z":0,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":48},{"lid":"A=1@O=Berlin Olympiastadion@X=13242387@Y=52511162@U=80@L=8089330@","type":"S","name":"Berlin Olympiastadion","icoX":3,"extId":"8089330","state":"F","crd":{"x":13242765,"y":52511305,"z":0,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":16},{"lid":"A=1@O=Berlin-Pichelsberg@X=13227132@Y=52510389@U=80@L=8089331@","type":"S","name":"Berlin-Pichelsberg","icoX":3,"extId":"8089331","state":"F","crd":{"x":13227087,"y":52510442,"z":0,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":16},{"lid":"A=1@O=Berlin-Stresow@X=13209127@Y=52531972@U=80@L=8089053@","type":"S","name":"Berlin-Stresow","icoX":3,"extId":"8089053","state":"F","crd":{"x":13209559,"y":52531954,"z":0,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":48},{"lid":"A=1@O=Erkner (S)@X=13751761@Y=52428847@U=80@L=8089181@","type":"S","name":"Erkner (S)","icoX":3,"extId":"8089181","state":"F","crd":{"x":13751761,"y":52428847,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":568,"entry":true,"mMastLocX":58},{"lid":"A=1@O=Erkner@X=13752246@Y=52427562@U=80@L=8013477@","type":"S","name":"Erkner","icoX":0,"extId":"8013477","state":"F","crd":{"x":13751518,"y":52428236,"z":0,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":568},{"lid":"A=1@O=Berlin Ostbahnhof (S)@X=13435125@Y=52510721@U=80@L=8089185@","type":"S","name":"Berlin Ostbahnhof (S)","icoX":3,"extId":"8089185","state":"F","crd":{"x":13435125,"y":52510721,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":63,"entry":true,"mMastLocX":60},{"lid":"A=1@O=Berlin Ostbahnhof@X=13434684@Y=52510487@U=80@L=8010255@","type":"S","name":"Berlin Ostbahnhof","icoX":6,"extId":"8010255","state":"F","crd":{"x":13434900,"y":52510424,"z":0,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":63},{"lid":"A=1@O=Berlin Warschauer Straße@X=13451647@Y=52505975@U=80@L=8089045@","type":"S","name":"Berlin Warschauer Straße","icoX":3,"extId":"8089045","state":"F","crd":{"x":13452240,"y":52505948,"z":0,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":432},{"lid":"A=1@O=Berlin Ostkreuz (S)@X=13469311@Y=52502999@U=80@L=8089028@","type":"S","name":"Berlin Ostkreuz (S)","icoX":3,"extId":"8089028","state":"F","crd":{"x":13468861,"y":52503305,"z":0,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":63,"entry":true,"mMastLocX":63},{"lid":"A=1@O=Berlin Ostkreuz@X=13469104@Y=52503035@U=80@L=8011162@","type":"S","name":"Berlin Ostkreuz","icoX":6,"extId":"8011162","state":"F","crd":{"x":13470497,"y":52504689,"z":0,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":63},{"lid":"A=1@O=Berlin-Rummelsburg@X=13478363@Y=52501309@U=80@L=8089084@","type":"S","name":"Berlin-Rummelsburg","icoX":3,"extId":"8089084","state":"F","crd":{"x":13479145,"y":52501031,"z":0,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":304},{"lid":"A=1@O=Berlin Betriebsbf Rummelsburg@X=13497789@Y=52493830@U=80@L=8089006@","type":"S","name":"Berlin Betriebsbf Rummelsburg","icoX":3,"extId":"8089006","state":"F","crd":{"x":13497573,"y":52493920,"z":0,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":16},{"lid":"A=1@O=Berlin-Karlshorst (S)@X=13526446@Y=52480832@U=80@L=8089193@","type":"S","name":"Berlin-Karlshorst (S)","icoX":3,"extId":"8089193","state":"F","crd":{"x":13526446,"y":52480832,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":304,"entry":true,"mMastLocX":67},{"lid":"A=1@O=Berlin-Karlshorst@X=13527947@Y=52479798@U=80@L=8010035@","type":"S","name":"Berlin-Karlshorst","icoX":3,"extId":"8010035","state":"F","crd":{"x":13529017,"y":52479574,"z":0,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":304},{"lid":"A=1@O=Berlin-Wuhlheide@X=13553198@Y=52469029@U=80@L=8089097@","type":"S","name":"Berlin-Wuhlheide","icoX":3,"extId":"8089097","state":"F","crd":{"x":13554259,"y":52468553,"z":0,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":48},{"lid":"A=1@O=Berlin-Köpenick@X=13580939@Y=52458611@U=80@L=8089069@","type":"S","name":"Berlin-Köpenick","icoX":0,"extId":"8089069","state":"F","crd":{"x":13579932,"y":52458692,"z":0,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":312},{"lid":"A=1@O=Berlin-Hirschgarten@X=13602135@Y=52457972@U=80@L=8089065@","type":"S","name":"Berlin-Hirschgarten","icoX":0,"extId":"8089065","state":"F","crd":{"x":13603151,"y":52457865,"z":0,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":24},{"lid":"A=1@O=Berlin-Friedrichshagen@X=13624599@Y=52457244@U=80@L=8089060@","type":"S","name":"Berlin-Friedrichshagen","icoX":0,"extId":"8089060","state":"F","crd":{"x":13625211,"y":52457271,"z":0,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":312},{"lid":"A=1@O=Berlin-Rahnsdorf@X=13690401@Y=52451536@U=80@L=8089082@","type":"S","name":"Berlin-Rahnsdorf","icoX":0,"extId":"8089082","state":"F","crd":{"x":13690760,"y":52451500,"z":0,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":312},{"lid":"A=1@O=Berlin-Wilhelmshagen@X=13722141@Y=52438709@U=80@L=8089094@","type":"S","name":"Berlin-Wilhelmshagen","icoX":0,"extId":"8089094","state":"F","crd":{"x":13722402,"y":52438358,"z":0,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":56},{"lid":"A=1@O=Wittenau [U8] (S+U), Berlin@X=13335515@Y=52595660@U=80@L=728428@","type":"S","name":"Wittenau [U8] (S+U), Berlin","icoX":2,"extId":"728428","state":"F","crd":{"x":13335515,"y":52595660,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":184,"mMastLocX":75},{"lid":"A=1@O=Berlin-Wittenau (Wilhelmsruher Damm)@X=13334446@Y=52597045@U=80@L=8089096@","type":"S","name":"Berlin-Wittenau (Wilhelmsruher Damm)","icoX":0,"extId":"8089096","state":"F","crd":{"x":13334868,"y":52596784,"z":0,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":184},{"lid":"A=1@O=Lindauer Allee (U), Berlin@X=13339039@Y=52575390@U=80@L=732319@","type":"S","name":"Lindauer Allee (U), Berlin","icoX":0,"extId":"732319","state":"F","crd":{"x":13339039,"y":52575390,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":160},{"lid":"A=1@O=Karl-Bonhoeffer-Nervenklinik (S+U), Berlin@X=13333115@Y=52578707@U=80@L=732520@","type":"S","name":"Karl-Bonhoeffer-Nervenklinik (S+U), Berlin","icoX":0,"extId":"732520","state":"F","crd":{"x":13333115,"y":52578707,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":176,"mMastLocX":78},{"lid":"A=1@O=Berlin Karl-Bonhoeffer-Nervenklinik@X=13329178@Y=52578050@U=80@L=8089102@","type":"S","name":"Berlin Karl-Bonhoeffer-Nervenklinik","icoX":3,"extId":"8089102","state":"F","crd":{"x":13329349,"y":52578050,"z":0,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":176},{"lid":"A=1@O=Rathaus Reinickendorf (U), Berlin@X=13325915@Y=52588388@U=80@L=732512@","type":"S","name":"Rathaus Reinickendorf (U), Berlin","icoX":0,"extId":"732512","state":"F","crd":{"x":13325915,"y":52588388,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":160},{"lid":"A=1@O=Warschauer Str. (S+U), Berlin@X=13449112@Y=52505238@U=80@L=732675@","type":"S","name":"Warschauer Str. (S+U), Berlin","icoX":0,"extId":"732675","state":"F","crd":{"x":13449112,"y":52505238,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":432,"mMastLocX":61},{"lid":"A=1@O=Holzmarktstr., Berlin@X=13423771@Y=52513634@U=80@L=732596@","type":"S","name":"Holzmarktstr., Berlin","icoX":0,"extId":"732596","state":"F","crd":{"x":13423771,"y":52513634,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":32},{"lid":"A=1@O=Stralauer Platz, Berlin@X=13430729@Y=52511027@U=80@L=732691@","type":"S","name":"Stralauer Platz, Berlin","icoX":0,"extId":"732691","state":"F","crd":{"x":13430729,"y":52511027,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":32},{"lid":"A=1@O=Ostbahnhof (S), Berlin@X=13432410@Y=52510353@U=80@L=732676@","type":"S","name":"Ostbahnhof (S), Berlin","icoX":0,"extId":"732676","state":"F","crd":{"x":13432410,"y":52510353,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":63,"mMastLocX":60},{"lid":"A=1@O=Rummelsburger Platz, Berlin@X=13437138@Y=52506730@U=80@L=220546@","type":"S","name":"Rummelsburger Platz, Berlin","icoX":0,"extId":"220546","state":"F","crd":{"x":13437138,"y":52506730,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":32},{"lid":"A=1@O=East Side Gallery, Berlin@X=13438379@Y=52505957@U=80@L=728701@","type":"S","name":"East Side Gallery, Berlin","icoX":0,"extId":"728701","state":"F","crd":{"x":13438379,"y":52505957,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":32},{"lid":"A=1@O=Tamara-Danz-Str., Berlin@X=13444537@Y=52503503@U=80@L=728700@","type":"S","name":"Tamara-Danz-Str., Berlin","icoX":0,"extId":"728700","state":"F","crd":{"x":13444537,"y":52503503,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":32},{"lid":"A=1@O=Ahrensfelde (S)@X=13565549@Y=52571246@U=80@L=8089188@","type":"S","name":"Ahrensfelde (S)","icoX":3,"extId":"8089188","state":"F","crd":{"x":13565549,"y":52571246,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":56,"entry":true,"mMastLocX":88},{"lid":"A=1@O=Ahrensfelde@X=13565154@Y=52571371@U=80@L=8011003@","type":"S","name":"Ahrensfelde","icoX":0,"extId":"8011003","state":"F","crd":{"x":13566008,"y":52572306,"z":0,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":56},{"lid":"A=1@O=Berlin Nöldnerplatz@X=13484449@Y=52503494@U=80@L=8089026@","type":"S","name":"Berlin Nöldnerplatz","icoX":3,"extId":"8089026","state":"F","crd":{"x":13485366,"y":52503817,"z":0,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":48},{"lid":"A=1@O=Berlin-Lichtenberg (S)@X=13497249@Y=52509921@U=80@L=8089182@","type":"S","name":"Berlin-Lichtenberg (S)","icoX":3,"extId":"8089182","state":"F","crd":{"x":13497249,"y":52509921,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":447,"entry":true,"mMastLocX":91},{"lid":"A=1@O=Berlin-Lichtenberg@X=13496692@Y=52510137@U=80@L=8010036@","type":"S","name":"Berlin-Lichtenberg","icoX":9,"extId":"8010036","state":"F","crd":{"x":13496494,"y":52509840,"z":0,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":447},{"lid":"A=1@O=Berlin-Friedrichsfelde Ost@X=13520253@Y=52514173@U=80@L=8089059@","type":"S","name":"Berlin-Friedrichsfelde Ost","icoX":0,"extId":"8089059","state":"F","crd":{"x":13520091,"y":52514128,"z":0,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":312},{"lid":"A=1@O=Berlin Springpfuhl@X=13536739@Y=52526344@U=80@L=8089040@","type":"S","name":"Berlin Springpfuhl","icoX":3,"extId":"8089040","state":"F","crd":{"x":13536883,"y":52526389,"z":0,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":304},{"lid":"A=1@O=Berlin Poelchaustr.@X=13535382@Y=52535594@U=80@L=8089031@","type":"S","name":"Berlin Poelchaustr.","icoX":3,"extId":"8089031","state":"F","crd":{"x":13535642,"y":52535855,"z":0,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":48},{"lid":"A=1@O=Berlin-Marzahn@X=13541341@Y=52543604@U=80@L=8089075@","type":"S","name":"Berlin-Marzahn","icoX":0,"extId":"8089075","state":"F","crd":{"x":13540865,"y":52542992,"z":0,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":312},{"lid":"A=1@O=Berlin Raoul-Wallenberg-Str.@X=13547463@Y=52550678@U=80@L=8089035@","type":"S","name":"Berlin Raoul-Wallenberg-Str.","icoX":0,"extId":"8089035","state":"F","crd":{"x":13547616,"y":52550669,"z":0,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":56},{"lid":"A=1@O=Berlin Mehrower Allee@X=13553702@Y=52557762@U=80@L=8089022@","type":"S","name":"Berlin Mehrower Allee","icoX":0,"extId":"8089022","state":"F","crd":{"x":13553558,"y":52557564,"z":0,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":56},{"lid":"A=1@O=Potsdam Hbf (S)@X=13066711@Y=52391857@U=80@L=8089184@","type":"S","name":"Potsdam Hbf (S)","icoX":3,"extId":"8089184","state":"F","crd":{"x":13067727,"y":52391713,"z":0,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":315,"entry":true,"mMastLocX":99},{"lid":"A=1@O=Potsdam Hbf@X=13066702@Y=52391506@U=80@L=8012666@","type":"S","name":"Potsdam Hbf","icoX":6,"extId":"8012666","state":"F","crd":{"x":13066711,"y":52391551,"z":0,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":315},{"lid":"A=1@O=Berlin-Grunewald@X=13261723@Y=52488689@U=80@L=8089062@","type":"S","name":"Berlin-Grunewald","icoX":3,"extId":"8089062","state":"F","crd":{"x":13261831,"y":52488680,"z":0,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":48},{"lid":"A=1@O=Berlin-Nikolassee@X=13193639@Y=52431805@U=80@L=8089078@","type":"S","name":"Berlin-Nikolassee","icoX":3,"extId":"8089078","state":"F","crd":{"x":13193270,"y":52432425,"z":0,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":48},{"lid":"A=1@O=Berlin Wannsee (S)@X=13179418@Y=52421180@U=80@L=8089190@","type":"S","name":"Berlin Wannsee (S)","icoX":3,"extId":"8089190","state":"F","crd":{"x":13179418,"y":52421180,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":123,"entry":true,"mMastLocX":103},{"lid":"A=1@O=Berlin Wannsee@X=13179526@Y=52420973@U=80@L=8010405@","type":"S","name":"Berlin Wannsee","icoX":6,"extId":"8010405","state":"F","crd":{"x":13179696,"y":52420955,"z":0,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":123},{"lid":"A=1@O=Potsdam Griebnitzsee (S)@X=13128943@Y=52394473@U=80@L=8080530@","type":"S","name":"Potsdam Griebnitzsee (S)","icoX":3,"extId":"8080530","state":"F","crd":{"x":13128638,"y":52394392,"z":0,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":56,"entry":true,"mMastLocX":105},{"lid":"A=1@O=Potsdam Griebnitzsee@X=13128728@Y=52394437@U=80@L=8011695@","type":"S","name":"Potsdam Griebnitzsee","icoX":0,"extId":"8011695","state":"F","crd":{"x":13128728,"y":52394437,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":56},{"lid":"A=1@O=Potsdam-Babelsberg@X=13092870@Y=52391389@U=80@L=8080070@","type":"S","name":"Potsdam-Babelsberg","icoX":0,"extId":"8080070","state":"F","crd":{"x":13093049,"y":52391353,"z":0,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":312},{"lid":"A=1@O=Strausberg Nord@X=13908479@Y=52590150@U=80@L=8013064@","type":"S","name":"Strausberg Nord","icoX":0,"extId":"8013064","state":"F","crd":{"x":13909153,"y":52590905,"z":0,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":568},{"lid":"A=1@O=Berlin-Biesdorf@X=13555877@Y=52513094@U=80@L=8089055@","type":"S","name":"Berlin-Biesdorf","icoX":3,"extId":"8089055","state":"F","crd":{"x":13556254,"y":52513085,"z":0,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":48},{"lid":"A=1@O=Berlin Wuhletal@X=13575366@Y=52512420@U=80@L=8089049@","type":"S","name":"Berlin Wuhletal","icoX":0,"extId":"8089049","state":"F","crd":{"x":13574673,"y":52512465,"z":0,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":184},{"lid":"A=1@O=Berlin-Kaulsdorf@X=13588939@Y=52512096@U=80@L=8089068@","type":"S","name":"Berlin-Kaulsdorf","icoX":3,"extId":"8089068","state":"F","crd":{"x":13590198,"y":52512079,"z":0,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":48},{"lid":"A=1@O=Berlin-Mahlsdorf (S)@X=13611071@Y=52512159@U=80@L=8089072@","type":"S","name":"Berlin-Mahlsdorf (S)","icoX":0,"extId":"8089072","state":"F","crd":{"x":13611907,"y":52512249,"z":0,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":312,"entry":true,"mMastLocX":112},{"lid":"A=1@O=Berlin-Mahlsdorf@X=13611421@Y=52512105@U=80@L=8011343@","type":"S","name":"Berlin-Mahlsdorf","icoX":0,"extId":"8011343","state":"F","crd":{"x":13611421,"y":52512105,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":312},{"lid":"A=1@O=Birkenstein@X=13647189@Y=52515602@U=80@L=8070002@","type":"S","name":"Birkenstein","icoX":0,"extId":"8070002","state":"F","crd":{"x":13647459,"y":52515611,"z":0,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":56},{"lid":"A=1@O=Hoppegarten(Mark)@X=13672952@Y=52518119@U=80@L=8080750@","type":"S","name":"Hoppegarten(Mark)","icoX":0,"extId":"8080750","state":"F","crd":{"x":13673087,"y":52518056,"z":0,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":56},{"lid":"A=1@O=Neuenhagen(b Berlin)@X=13700423@Y=52520762@U=80@L=8081020@","type":"S","name":"Neuenhagen(b Berlin)","icoX":0,"extId":"8081020","state":"F","crd":{"x":13700882,"y":52520807,"z":0,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":56},{"lid":"A=1@O=Fredersdorf(b Berlin)@X=13760624@Y=52526210@U=80@L=8080440@","type":"S","name":"Fredersdorf(b Berlin)","icoX":0,"extId":"8080440","state":"F","crd":{"x":13762638,"y":52526398,"z":0,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":56},{"lid":"A=1@O=Petershagen Nord@X=13789381@Y=52528906@U=80@L=8081150@","type":"S","name":"Petershagen Nord","icoX":3,"extId":"8081150","state":"F","crd":{"x":13789165,"y":52528861,"z":0,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":560},{"lid":"A=1@O=Strausberg (S)@X=13833581@Y=52532232@U=80@L=8089187@","type":"S","name":"Strausberg (S)","icoX":3,"extId":"8089187","state":"F","crd":{"x":13833581,"y":52532232,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":824,"entry":true,"mMastLocX":119},{"lid":"A=1@O=Strausberg@X=13833500@Y=52532080@U=80@L=8010341@","type":"S","name":"Strausberg","icoX":0,"extId":"8010341","state":"F","crd":{"x":13835621,"y":52532026,"z":0,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":824},{"lid":"A=1@O=Strausberg-Hegermühle@X=13866607@Y=52548377@U=80@L=8080680@","type":"S","name":"Strausberg-Hegermühle","icoX":3,"extId":"8080680","state":"F","crd":{"x":13866733,"y":52548799,"z":0,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":16},{"lid":"A=1@O=Strausberg Stadt@X=13888136@Y=52576981@U=80@L=8081420@","type":"S","name":"Strausberg Stadt","icoX":0,"extId":"8081420","state":"F","crd":{"x":13887903,"y":52576540,"z":0,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":568},{"lid":"A=1@O=Flughafen BER - Terminal 1-2 (S-Bahn)@X=13511920@Y=52364844@U=80@L=8089201@","type":"S","name":"Flughafen BER - Terminal 1-2 (S-Bahn)","icoX":3,"extId":"8089201","state":"F","crd":{"x":13511920,"y":52364844,"z":0,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":58,"entry":true,"mMastLocX":123},{"lid":"A=1@O=Flughafen BER - Terminal 1-2@X=13511947@Y=52364808@U=80@L=8011201@","type":"S","name":"Flughafen BER - Terminal 1-2","icoX":10,"extId":"8011201","state":"F","crd":{"x":13511947,"y":52364808,"z":0,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":58},{"lid":"A=1@O=Berlin Treptower Park@X=13461445@Y=52493561@U=80@L=8089043@","type":"S","name":"Berlin Treptower Park","icoX":0,"extId":"8089043","state":"F","crd":{"x":13461364,"y":52493345,"z":0,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":56},{"lid":"A=1@O=Berlin Plänterwald@X=13473122@Y=52478540@U=80@L=8089030@","type":"S","name":"Berlin Plänterwald","icoX":0,"extId":"8089030","state":"F","crd":{"x":13473374,"y":52478477,"z":0,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":56},{"lid":"A=1@O=Berlin Baumschulenweg@X=13490094@Y=52467240@U=80@L=8089004@","type":"S","name":"Berlin Baumschulenweg","icoX":0,"extId":"8089004","state":"F","crd":{"x":13486300,"y":52469470,"z":0,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":56},{"lid":"A=1@O=Berlin-Schöneweide (S)@X=13509115@Y=52454979@U=80@L=8089168@","type":"S","name":"Berlin-Schöneweide (S)","icoX":3,"extId":"8089168","state":"F","crd":{"x":13509115,"y":52454979,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":312,"entry":true,"mMastLocX":128},{"lid":"A=1@O=Berlin-Schöneweide@X=13509394@Y=52455123@U=80@L=8010041@","type":"S","name":"Berlin-Schöneweide","icoX":0,"extId":"8010041","state":"F","crd":{"x":13508773,"y":52455204,"z":0,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":312},{"lid":"A=1@O=Berlin-Johannisthal@X=13523678@Y=52446907@U=80@L=8089007@","type":"S","name":"Berlin-Johannisthal","icoX":0,"extId":"8089007","state":"F","crd":{"x":13523705,"y":52446907,"z":0,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":24},{"lid":"A=1@O=Berlin-Adlershof@X=13541126@Y=52435032@U=80@L=8089052@","type":"S","name":"Berlin-Adlershof","icoX":0,"extId":"8089052","state":"F","crd":{"x":13541386,"y":52434816,"z":0,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":312},{"lid":"A=1@O=Berlin-Altglienicke@X=13558753@Y=52407300@U=80@L=8089054@","type":"S","name":"Berlin-Altglienicke","icoX":0,"extId":"8089054","state":"F","crd":{"x":13559365,"y":52407714,"z":0,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":56},{"lid":"A=1@O=Berlin Grünbergallee@X=13542483@Y=52399408@U=80@L=8089016@","type":"S","name":"Berlin Grünbergallee","icoX":0,"extId":"8089016","state":"F","crd":{"x":13542555,"y":52399480,"z":0,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":24},{"lid":"A=1@O=Flughafen BER - Terminal 5 (Schönefeld)@X=13512711@Y=52391066@U=80@L=8010109@","type":"S","name":"Flughafen BER - Terminal 5 (Schönefeld)","icoX":0,"extId":"8010109","state":"F","crd":{"x":13513196,"y":52391677,"z":0,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":56},{"lid":"A=1@O=Waßmannsdorf@X=13463531@Y=52368422@U=80@L=8013241@","type":"S","name":"Waßmannsdorf","icoX":0,"extId":"8013241","state":"F","crd":{"x":13463926,"y":52368898,"z":0,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":56}],"prodL":[{"name":"Bus 300","nameS":"300","number":"300","icoX":0,"cls":32,"oprX":0,"prodCtx":{"name":"Bus 300","num":"50833","line":"300","lineId":"5_vbbBVB_300","matchId":"300","catOut":"Bus","catOutS":"Bus","catOutL":"Bus","catIn":"Bus","catCode":"5","admin":"vbbBVB"}},{"name":"Bus N8","nameS":"N8","icoX":0,"cls":32,"prodCtx":{"name":"Bus N8","line":"N8","lineId":"5_vbbBVB_N8","matchId":"","catOut":"Bus ","catOutS":"Bus","catOutL":"Bus"}},{"name":"Bus 300","nameS":"300","icoX":0,"cls":32,"prodCtx":{"name":"Bus 300","line":"300","lineId":"5_vbbBVB_300","matchId":"","catOut":"Bus ","catOutS":"Bus","catOutL":"Bus"}},{"name":"Bus N40","nameS":"N40","icoX":0,"cls":32,"prodCtx":{"name":"Bus N40","line":"N40","lineId":"5_vbbBVB_N40","matchId":"","catOut":"Bus ","catOutS":"Bus","catOutL":"Bus"}},{"name":"Bus N60","nameS":"N60","icoX":0,"cls":32,"prodCtx":{"name":"Bus N60","line":"N60","lineId":"5_vbbBVB_N60","matchId":"","catOut":"Bus ","catOutS":"Bus","catOutL":"Bus"}},{"name":"Bus N65","nameS":"N65","icoX":0,"cls":32,"prodCtx":{"name":"Bus N65","line":"N65","lineId":"5_vbbBVB_N65","matchId":"","catOut":"Bus ","catOutS":"Bus","catOutL":"Bus"}},{"name":"U 8","nameS":"8","icoX":2,"cls":128,"prodCtx":{"name":"U 8","line":"8","lineId":"7_vbbBVU_8","matchId":"","catOut":"U ","catOutS":"U","catOutL":"U-Bahn"}},{"name":"Bus SEV","nameS":"SEV","icoX":0,"cls":8,"prodCtx":{"name":"Bus SEV","line":"SEV","lineId":"3_080001_SEV!!1498363!!5840671","matchId":"","catOut":"Bus ","catOutS":"Bsv","catOutL":"SEV-Bus"}},{"name":"S 3","nameS":"3","icoX":3,"cls":16,"prodCtx":{"name":"S 3","line":"3","lineId":"4_08_____3","matchId":"","catOut":"S ","catOutS":"s","catOutL":"S-Bahn"}},{"name":"S 5","nameS":"5","icoX":3,"cls":16,"prodCtx":{"name":"S 5","line":"5","lineId":"4_08_____5","matchId":"","catOut":"S ","catOutS":"s","catOutL":"S-Bahn"}},{"name":"S 7","nameS":"7","icoX":3,"cls":16,"prodCtx":{"name":"S 7","line":"7","lineId":"4_08_____7","matchId":"","catOut":"S ","catOutS":"s","catOutL":"S-Bahn"}},{"name":"S 9","nameS":"9","icoX":3,"cls":16,"prodCtx":{"name":"S 9","line":"9","lineId":"4_08_____9","matchId":"","catOut":"S ","catOutS":"s","catOutL":"S-Bahn"}},{"name":"S 47","nameS":"47","icoX":3,"cls":16,"prodCtx":{"name":"S 47","line":"47","lineId":"4_08_____47","matchId":"","catOut":"S ","catOutS":"s","catOutL":"S-Bahn"}},{"name":"U 8","nameS":"8","number":"8","icoX":2,"cls":128,"oprX":0,"prodCtx":{"name":"U 8","num":"19458","line":"8","lineId":"7_vbbBVU_8","matchId":"8","catOut":"U","catOutS":"U","catOutL":"U-Bahn","catIn":"U","catCode":"7","admin":"vbbBVU"}},{"name":"U 8","nameS":"8","number":"8","icoX":2,"cls":128,"oprX":0,"prodCtx":{"name":"U 8","num":"20024","line":"8","lineId":"7_vbbBVU_8","matchId":"8","catOut":"U","catOutS":"U","catOutL":"U-Bahn","catIn":"U","catCode":"7","admin":"vbbBVU"}},{"name":"S 3","nameS":"3","number":"3","icoX":3,"cls":16,"oprX":1,"prodCtx":{"name":"S 3","num":"3122","line":"3","lineId":"4_08_____3","matchId":"3","catOut":"S","catOutS":"s","catOutL":"S-Bahn","catIn":"s","catCode":"4","admin":"08____"}},{"name":"S 3","nameS":"3","number":"3","icoX":3,"cls":16,"oprX":1,"prodCtx":{"name":"S 3","num":"3127","line":"3","lineId":"4_08_____3","matchId":"3","catOut":"S","catOutS":"s","catOutL":"S-Bahn","catIn":"s","catCode":"4","admin":"08____"}},{"name":"S 5","nameS":"5","number":"5","icoX":3,"cls":16,"oprX":1,"prodCtx":{"name":"S 5","num":"5100","line":"5","lineId":"4_08_____5","matchId":"5","catOut":"S","catOutS":"s","catOutL":"S-Bahn","catIn":"s","catCode":"4","admin":"08____"}},{"name":"U 8","nameS":"8","number":"8","icoX":2,"cls":128,"oprX":0,"prodCtx":{"name":"U 8","num":"19326","line":"8","lineId":"7_vbbBVU_8","matchId":"8","catOut":"U","catOutS":"U","catOutL":"U-Bahn","catIn":"U","catCode":"7","admin":"vbbBVU"}},{"name":"U 8","nameS":"8","number":"8","icoX":2,"cls":128,"oprX":0,"prodCtx":{"name":"U 8","num":"20168","line":"8","lineId":"7_vbbBVU_8","matchId":"8","catOut":"U","catOutS":"U","catOutL":"U-Bahn","catIn":"U","catCode":"7","admin":"vbbBVU"}},{"name":"Bus 300","nameS":"300","number":"300","icoX":0,"cls":32,"oprX":0,"prodCtx":{"name":"Bus 300","num":"50749","line":"300","lineId":"5_vbbBVB_300","matchId":"300","catOut":"Bus","catOutS":"Bus","catOutL":"Bus","catIn":"Bus","catCode":"5","admin":"vbbBVB"}},{"name":"S 7","nameS":"7","number":"7","icoX":3,"cls":16,"oprX":1,"prodCtx":{"name":"S 7","num":"7117","line":"7","lineId":"4_08_____7","matchId":"7","catOut":"S","catOutS":"s","catOutL":"S-Bahn","catIn":"s","catCode":"4","admin":"08____"}},{"name":"S 7","nameS":"7","number":"7","icoX":3,"cls":16,"oprX":1,"prodCtx":{"name":"S 7","num":"7584","line":"7","lineId":"4_08_____7","matchId":"7","catOut":"S","catOutS":"s","catOutL":"S-Bahn","catIn":"s","catCode":"4","admin":"08____"}},{"name":"S 5","nameS":"5","number":"5","icoX":3,"cls":16,"oprX":1,"prodCtx":{"name":"S 5","num":"5105","line":"5","lineId":"4_08_____5","matchId":"5","catOut":"S","catOutS":"s","catOutL":"S-Bahn","catIn":"s","catCode":"4","admin":"08____"}},{"name":"U 8","nameS":"8","number":"8","icoX":2,"cls":128,"oprX":0,"prodCtx":{"name":"U 8","num":"19459","line":"8","lineId":"7_vbbBVU_8","matchId":"8","catOut":"U","catOutS":"U","catOutL":"U-Bahn","catIn":"U","catCode":"7","admin":"vbbBVU"}},{"name":"U 8","nameS":"8","number":"8","icoX":2,"cls":128,"oprX":0,"prodCtx":{"name":"U 8","num":"20026","line":"8","lineId":"7_vbbBVU_8","matchId":"8","catOut":"U","catOutS":"U","catOutL":"U-Bahn","catIn":"U","catCode":"7","admin":"vbbBVU"}},{"name":"S 9","nameS":"9","number":"9","icoX":3,"cls":16,"oprX":1,"prodCtx":{"name":"S 9","num":"9106","line":"9","lineId":"4_08_____9","matchId":"9","catOut":"S","catOutS":"s","catOutL":"S-Bahn","catIn":"s","catCode":"4","admin":"08____"}},{"name":"S 9","nameS":"9","number":"9","icoX":3,"cls":16,"oprX":1,"prodCtx":{"name":"S 9","num":"9107","line":"9","lineId":"4_08_____9","matchId":"9","catOut":"S","catOutS":"s","catOutL":"S-Bahn","catIn":"s","catCode":"4","admin":"08____"}},{"name":"S 5","nameS":"5","number":"5","icoX":3,"cls":16,"oprX":1,"prodCtx":{"name":"S 5","num":"5590","line":"5","lineId":"4_08_____5","matchId":"5","catOut":"S","catOutS":"s","catOutL":"S-Bahn","catIn":"s","catCode":"4","admin":"08____"}},{"name":"U 8","nameS":"8","number":"8","icoX":2,"cls":128,"oprX":0,"prodCtx":{"name":"U 8","num":"19328","line":"8","lineId":"7_vbbBVU_8","matchId":"8","catOut":"U","catOutS":"U","catOutL":"U-Bahn","catIn":"U","catCode":"7","admin":"vbbBVU"}},{"name":"U 8","nameS":"8","number":"8","icoX":2,"cls":128,"oprX":0,"prodCtx":{"name":"U 8","num":"20169","line":"8","lineId":"7_vbbBVU_8","matchId":"8","catOut":"U","catOutS":"U","catOutL":"U-Bahn","catIn":"U","catCode":"7","admin":"vbbBVU"}},{"name":"S 7","nameS":"7","number":"7","icoX":3,"cls":16,"oprX":1,"prodCtx":{"name":"S 7","num":"7583","line":"7","lineId":"4_08_____7","matchId":"7","catOut":"S","catOutS":"s","catOutL":"S-Bahn","catIn":"s","catCode":"4","admin":"08____"}},{"name":"S 7","nameS":"7","number":"7","icoX":3,"cls":16,"oprX":1,"prodCtx":{"name":"S 7","num":"7118","line":"7","lineId":"4_08_____7","matchId":"7","catOut":"S","catOutS":"s","catOutL":"S-Bahn","catIn":"s","catCode":"4","admin":"08____"}},{"name":"S 5","nameS":"5","number":"5","icoX":3,"cls":16,"oprX":1,"prodCtx":{"name":"S 5","num":"55591","line":"5","lineId":"4_08_____5","matchId":"5","catOut":"S","catOutS":"s","catOutL":"S-Bahn","catIn":"s","catCode":"4","admin":"08____"}},{"name":"U 8","nameS":"8","number":"8","icoX":2,"cls":128,"oprX":0,"prodCtx":{"name":"U 8","num":"19460","line":"8","lineId":"7_vbbBVU_8","matchId":"8","catOut":"U","catOutS":"U","catOutL":"U-Bahn","catIn":"U","catCode":"7","admin":"vbbBVU"}},{"name":"U 8","nameS":"8","number":"8","icoX":2,"cls":128,"oprX":0,"prodCtx":{"name":"U 8","num":"20028","line":"8","lineId":"7_vbbBVU_8","matchId":"8","catOut":"U","catOutS":"U","catOutL":"U-Bahn","catIn":"U","catCode":"7","admin":"vbbBVU"}},{"name":"S 3","nameS":"3","number":"3","icoX":3,"cls":16,"oprX":1,"prodCtx":{"name":"S 3","num":"3124","line":"3","lineId":"4_08_____3","matchId":"3","catOut":"S","catOutS":"s","catOutL":"S-Bahn","catIn":"s","catCode":"4","admin":"08____"}},{"name":"S 3","nameS":"3","number":"3","icoX":3,"cls":16,"oprX":1,"prodCtx":{"name":"S 3","num":"3129","line":"3","lineId":"4_08_____3","matchId":"3","catOut":"S","catOutS":"s","catOutL":"S-Bahn","catIn":"s","catCode":"4","admin":"08____"}},{"name":"S 5","nameS":"5","number":"5","icoX":3,"cls":16,"oprX":1,"prodCtx":{"name":"S 5","num":"5102","line":"5","lineId":"4_08_____5","matchId":"5","catOut":"S","catOutS":"s","catOutL":"S-Bahn","catIn":"s","catCode":"4","admin":"08____"}}],"polyL":[],"layerL":[{"id":"standard","name":"standard","index":0,"annoCnt":0}],"crdSysL":[{"id":"standard","index":0,"type":"WGS84","dim":3}],"opL":[{"name":"Nahreisezug","icoX":1},{"name":"S-Bahn Berlin","icoX":7}],"remL":[{"type":"P","code":"","icoX":11,"txtN":"Fahrt fällt aus"}],"icoL":[{"res":"Bus"},{"res":"DPN","txt":"Nahreisezug"},{"res":"U"},{"res":"S"},{"res":"rt_cnf"},{"res":"rt_ont"},{"res":"ICE"},{"res":"s","txt":"S-Bahn Berlin"},{"res":"D"},{"res":"RJ"},{"res":"IC"},{"res":"cancel"}]},"type":"DEP","jnyL":[{"jid":"1|1137745|35|80|2102022","date":"20221002","prodX":0,"dirTxt":"Tiergarten, Philharmonie","dirFlg":"2","status":"P","isRchbl":true,"stbStop":{"locX":0,"idx":7,"dProdX":0,"dInR":true,"dTimeS":"165500","dTimeR":"170500","dProgType":"PROGNOSED","dTZOffset":120,"type":"N"},"stopL":[{"locX":0,"idx":7,"dInR":true,"dTimeS":"165500","dTimeR":"170500","dProgType":"PROGNOSED","dTZOffset":120,"isImp":true,"type":"N"},{"locX":3,"idx":8,"aOutR":true,"aTimeS":"165600","aTZOffset":120,"isImp":true,"type":"N"},{"locX":4,"idx":9,"aOutR":true,"aTimeS":"165800","aTZOffset":120,"isImp":true,"type":"N"},{"locX":6,"idx":10,"aOutR":true,"aTimeS":"170000","aTZOffset":120,"isImp":true,"type":"N"},{"locX":7,"idx":11,"aOutR":true,"aTimeS":"170200","aTZOffset":120,"isImp":true,"type":"N"},{"locX":8,"idx":12,"aOutR":true,"aTimeS":"170400","aTZOffset":120,"isImp":true,"type":"N"},{"locX":9,"idx":13,"aOutR":true,"aTimeS":"170500","aTZOffset":120,"isImp":true,"type":"N"},{"locX":10,"idx":14,"aOutR":true,"aTimeS":"170900","aTZOffset":120,"type":"N"},{"locX":11,"idx":15,"aOutR":true,"aTimeS":"171000","aTZOffset":120,"isImp":true,"type":"N"},{"locX":12,"idx":16,"aOutR":true,"aTimeS":"171200","aTZOffset":120,"type":"N"},{"locX":13,"idx":17,"aOutR":true,"aTimeS":"171300","aTZOffset":120,"type":"N"},{"locX":15,"idx":18,"aOutR":true,"aTimeS":"171500","aTZOffset":120,"isImp":true,"type":"N"},{"locX":2,"idx":19,"aOutR":true,"aTimeS":"171800","aTZOffset":120,"isImp":true,"type":"N"}],"pos":{"x":13433363,"y":52509624,"layerX":0,"crdSysX":0},"subscr":"F"},{"jid":"1|1085848|26|80|2102022","date":"20221002","prodX":13,"dirTxt":"Paracelsus-Bad (U), Berlin","dirFlg":"2","status":"P","isRchbl":true,"stbStop":{"locX":0,"idx":8,"dProdX":13,"dInR":true,"dTimeS":"170000","dTimeR":"170000","dProgType":"PROGNOSED","dTZOffset":120,"type":"N"},"stopL":[{"locX":0,"idx":8,"dInR":true,"dTimeS":"170000","dTimeR":"170000","dProgType":"PROGNOSED","dTZOffset":120,"isImp":true,"type":"N"},{"locX":17,"idx":9,"aOutR":true,"aTimeS":"170200","aTZOffset":120,"isImp":true,"type":"N"},{"locX":18,"idx":10,"aOutR":true,"aTimeS":"170400","aTZOffset":120,"isImp":true,"type":"N"},{"locX":19,"idx":11,"aOutR":true,"aTimeS":"170500","aTZOffset":120,"isImp":true,"type":"N"},{"locX":20,"idx":12,"aOutR":true,"aTimeS":"170700","aTZOffset":120,"isImp":true,"type":"N"},{"locX":21,"idx":13,"aOutR":true,"aTimeS":"170800","aTZOffset":120,"type":"N"},{"locX":22,"idx":14,"aOutR":true,"aTimeS":"171000","aTZOffset":120,"isImp":true,"type":"N"},{"locX":24,"idx":15,"aOutR":true,"aTimeS":"171300","aTZOffset":120,"isImp":true,"type":"N"},{"locX":25,"idx":16,"aOutR":true,"aTimeS":"171500","aTZOffset":120,"isImp":true,"type":"N"},{"locX":26,"idx":17,"aOutR":true,"aTimeS":"171600","aTZOffset":120,"isImp":true,"type":"N"},{"locX":16,"idx":18,"aOutR":true,"aTimeS":"171700","aTZOffset":120,"isImp":true,"type":"N"}],"pos":{"x":13416742,"y":52516915,"layerX":0,"crdSysX":0},"subscr":"F"},{"jid":"1|1086924|29|80|2102022","date":"20221002","prodX":14,"dirTxt":"Hermannstr. (S+U), Berlin","dirFlg":"1","status":"P","isRchbl":true,"stbStop":{"locX":0,"idx":15,"dProdX":14,"dInR":true,"dTimeS":"170000","dTimeR":"170000","dProgType":"PROGNOSED","dTZOffset":120,"type":"N"},"stopL":[{"locX":0,"idx":15,"dInR":true,"dTimeS":"170000","dTimeR":"170000","dProgType":"PROGNOSED","dTZOffset":120,"type":"N"},{"locX":29,"idx":16,"aOutR":true,"aTimeS":"170100","aTZOffset":120,"type":"N"},{"locX":30,"idx":17,"aOutR":true,"aTimeS":"170300","aTZOffset":120,"type":"N"},{"locX":31,"idx":18,"aOutR":true,"aTimeS":"170500","aTZOffset":120,"type":"N"},{"locX":32,"idx":19,"aOutR":true,"aTimeS":"170600","aTZOffset":120,"type":"N"},{"locX":33,"idx":20,"aOutR":true,"aTimeS":"170800","aTZOffset":120,"type":"N"},{"locX":34,"idx":21,"aOutR":true,"aTimeS":"171000","aTZOffset":120,"type":"N"},{"locX":35,"idx":22,"aOutR":true,"aTimeS":"171100","aTZOffset":120,"type":"N"},{"locX":27,"idx":23,"aOutR":true,"aTimeS":"171200","aTZOffset":120,"type":"N"}],"pos":{"x":13417048,"y":52512780,"layerX":0,"crdSysX":0},"subscr":"F"},{"jid":"1|296882|3|80|2102022","date":"20221002","prodX":15,"dirTxt":"Berlin-Spandau (S)","dirFlg":"1","status":"P","isRchbl":true,"stbStop":{"locX":1,"idx":13,"dProdX":15,"dPlatfS":"4","dInR":true,"dTimeS":"170100","dTimeR":"170100","dProgType":"PROGNOSED","dTZOffset":120,"type":"N"},"stopL":[{"locX":1,"idx":13,"dPlatfS":"4","dInR":true,"dTimeS":"170100","dTimeR":"170100","dProgType":"PROGNOSED","dTZOffset":120,"isImp":true,"type":"N"},{"locX":38,"idx":14,"aOutR":true,"aTimeS":"170200","aTZOffset":120,"isImp":true,"type":"N"},{"locX":39,"idx":15,"aOutR":true,"aTimeS":"170400","aTZOffset":120,"isImp":true,"type":"N"},{"locX":40,"idx":16,"aOutR":true,"aTimeS":"170600","aTZOffset":120,"isImp":true,"type":"N"},{"locX":42,"idx":17,"aOutR":true,"aTimeS":"170900","aTZOffset":120,"type":"N"},{"locX":44,"idx":18,"aOutR":true,"aTimeS":"171200","aTZOffset":120,"type":"N"},{"locX":45,"idx":19,"aOutR":true,"aTimeS":"171400","aTZOffset":120,"isImp":true,"type":"N"},{"locX":46,"idx":20,"aOutR":true,"aTimeS":"171600","aTZOffset":120,"isImp":true,"type":"N"},{"locX":48,"idx":21,"aOutR":true,"aTimeS":"171800","aTZOffset":120,"isImp":true,"type":"N"},{"locX":49,"idx":22,"aOutR":true,"aTimeS":"172000","aTZOffset":120,"isImp":true,"type":"N"},{"locX":51,"idx":23,"aOutR":true,"aTimeS":"172200","aTZOffset":120,"isImp":true,"type":"N"},{"locX":52,"idx":24,"aOutR":true,"aTimeS":"172400","aTZOffset":120,"type":"N"},{"locX":53,"idx":25,"aOutR":true,"aTimeS":"172700","aTZOffset":120,"type":"N"},{"locX":54,"idx":26,"aOutR":true,"aTimeS":"172900","aTZOffset":120,"type":"N"},{"locX":55,"idx":27,"aOutR":true,"aTimeS":"173100","aTZOffset":120,"type":"N"},{"locX":56,"idx":28,"aOutR":true,"aTimeS":"173500","aTZOffset":120,"type":"N"},{"locX":36,"idx":29,"aOutR":true,"aTimeS":"173700","aTZOffset":120,"isImp":true,"type":"N"}],"pos":{"x":13419681,"y":52514227,"layerX":0,"crdSysX":0},"subscr":"F"},{"jid":"1|296884|2|80|2102022","date":"20221002","prodX":16,"dirTxt":"Erkner (S)","dirFlg":"2","status":"P","isRchbl":true,"stbStop":{"locX":1,"idx":16,"dProdX":16,"dPlatfS":"3","dInR":true,"dTimeS":"170400","dTimeR":"170400","dProgType":"PROGNOSED","dTZOffset":120,"type":"N"},"stopL":[{"locX":1,"idx":16,"dPlatfS":"3","dInR":true,"dTimeS":"170400","dTimeR":"170400","dProgType":"PROGNOSED","dTZOffset":120,"isImp":true,"type":"N"},{"locX":59,"idx":17,"aOutR":true,"aTimeS":"170600","aTZOffset":120,"isImp":true,"type":"N"},{"locX":61,"idx":18,"aOutR":true,"aTimeS":"170900","aTZOffset":120,"isImp":true,"type":"N"},{"locX":62,"idx":19,"aOutR":true,"aTimeS":"171100","aTZOffset":120,"isImp":true,"type":"N"},{"locX":64,"idx":20,"aOutR":true,"aTimeS":"171300","aTZOffset":120,"isImp":true,"type":"N"},{"locX":65,"idx":21,"aOutR":true,"aTimeS":"171500","aTZOffset":120,"isImp":true,"type":"N"},{"locX":66,"idx":22,"aOutR":true,"aTimeS":"171800","aTZOffset":120,"isImp":true,"type":"N"},{"locX":68,"idx":23,"aOutR":true,"aTimeS":"172100","aTZOffset":120,"type":"N"},{"locX":69,"idx":24,"aOutR":true,"aTimeS":"172400","aTZOffset":120,"isImp":true,"type":"N"},{"locX":70,"idx":25,"aOutR":true,"aTimeS":"172600","aTZOffset":120,"type":"N"},{"locX":71,"idx":26,"aOutR":true,"aTimeS":"172900","aTZOffset":120,"isImp":true,"type":"N"},{"locX":72,"idx":27,"aOutR":true,"aTimeS":"173300","aTZOffset":120,"type":"N"},{"locX":73,"idx":28,"aOutR":true,"aTimeS":"173700","aTZOffset":120,"type":"N"},{"locX":57,"idx":29,"aOutR":true,"aTimeS":"174000","aTZOffset":120,"isImp":true,"type":"N"}],"pos":{"x":13407564,"y":52523243,"layerX":0,"crdSysX":0},"subscr":"F"},{"jid":"1|301817|1|80|2102022","date":"20221002","prodX":17,"dirTxt":"Berlin Olympiastadion","dirFlg":"1","status":"P","isRchbl":true,"stbStop":{"locX":1,"idx":19,"dProdX":17,"dPlatfS":"4","dInR":true,"dTimeS":"170500","dTimeR":"170500","dProgType":"PROGNOSED","dTZOffset":120,"type":"N"},"stopL":[{"locX":1,"idx":19,"dPlatfS":"4","dInR":true,"dTimeS":"170500","dTimeR":"170500","dProgType":"PROGNOSED","dTZOffset":120,"isImp":true,"type":"N"},{"locX":38,"idx":20,"aOutR":true,"aTimeS":"170700","aTZOffset":120,"isImp":true,"type":"N"},{"locX":39,"idx":21,"aOutR":true,"aTimeS":"170900","aTZOffset":120,"isImp":true,"type":"N"},{"locX":40,"idx":22,"aOutR":true,"aTimeS":"171100","aTZOffset":120,"isImp":true,"type":"N"},{"locX":42,"idx":23,"aOutR":true,"aTimeS":"171400","aTZOffset":120,"type":"N"},{"locX":44,"idx":24,"aOutR":true,"aTimeS":"171600","aTZOffset":120,"type":"N"},{"locX":45,"idx":25,"aOutR":true,"aTimeS":"171800","aTZOffset":120,"isImp":true,"type":"N"},{"locX":46,"idx":26,"aOutR":true,"aTimeS":"172000","aTZOffset":120,"isImp":true,"type":"N"},{"locX":48,"idx":27,"aOutR":true,"aTimeS":"172200","aTZOffset":120,"isImp":true,"type":"N"},{"locX":49,"idx":28,"aOutR":true,"aTimeS":"172400","aTZOffset":120,"isImp":true,"type":"N"},{"locX":51,"idx":29,"aOutR":true,"aTimeS":"172700","aTZOffset":120,"isImp":true,"type":"N"},{"locX":52,"idx":30,"aOutR":true,"aTimeS":"173000","aTZOffset":120,"type":"N"},{"locX":53,"idx":31,"aOutR":true,"aTimeS":"173300","aTZOffset":120,"type":"N"},{"locX":54,"idx":32,"aOutR":true,"aTimeS":"173700","aTZOffset":120,"isImp":true,"type":"N"}],"pos":{"x":13452240,"y":52505948,"layerX":0,"crdSysX":0},"subscr":"F"},{"jid":"1|1085334|62|80|2102022","date":"20221002","prodX":18,"dirTxt":"S+U Wittenau","dirFlg":"2","status":"P","isRchbl":true,"stbStop":{"locX":0,"idx":8,"dProdX":18,"dInR":true,"dTimeS":"170500","dTimeR":"170500","dProgType":"PROGNOSED","dTZOffset":120,"type":"N"},"stopL":[{"locX":0,"idx":8,"dInR":true,"dTimeS":"170500","dTimeR":"170500","dProgType":"PROGNOSED","dTZOffset":120,"isImp":true,"type":"N"},{"locX":17,"idx":9,"aOutR":true,"aTimeS":"170700","aTZOffset":120,"isImp":true,"type":"N"},{"locX":18,"idx":10,"aOutR":true,"aTimeS":"170900","aTZOffset":120,"isImp":true,"type":"N"},{"locX":19,"idx":11,"aOutR":true,"aTimeS":"171000","aTZOffset":120,"isImp":true,"type":"N"},{"locX":20,"idx":12,"aOutR":true,"aTimeS":"171200","aTZOffset":120,"isImp":true,"type":"N"},{"locX":21,"idx":13,"aOutR":true,"aTimeS":"171300","aTZOffset":120,"type":"N"},{"locX":22,"idx":14,"aOutR":true,"aTimeS":"171500","aTZOffset":120,"type":"N"},{"locX":24,"idx":15,"aOutR":true,"aTimeS":"171800","aTZOffset":120,"isImp":true,"type":"N"},{"locX":25,"idx":16,"aOutR":true,"aTimeS":"172000","aTZOffset":120,"type":"N"},{"locX":26,"idx":17,"aOutR":true,"aTimeS":"172100","aTZOffset":120,"isImp":true,"type":"N"},{"locX":16,"idx":18,"aOutR":true,"aTimeS":"172200","aTZOffset":120,"isImp":true,"type":"N"},{"locX":76,"idx":19,"aOutR":true,"aTimeS":"172400","aTZOffset":120,"type":"N"},{"locX":77,"idx":20,"aOutR":true,"aTimeS":"172500","aTZOffset":120,"isImp":true,"type":"N"},{"locX":79,"idx":21,"aOutR":true,"aTimeS":"172700","aTZOffset":120,"type":"N"},{"locX":74,"idx":22,"aOutR":true,"aTimeS":"172800","aTZOffset":120,"isImp":true,"type":"N"}],"pos":{"x":13418935,"y":52497929,"layerX":0,"crdSysX":0},"subscr":"F"},{"jid":"1|1087305|22|80|2102022","date":"20221002","prodX":19,"dirTxt":"Hermannstr. (S+U), Berlin","dirFlg":"1","status":"P","isRchbl":true,"stbStop":{"locX":0,"idx":11,"dProdX":19,"dInR":true,"dTimeS":"170500","dTimeR":"170500","dProgType":"PROGNOSED","dTZOffset":120,"type":"N"},"stopL":[{"locX":0,"idx":11,"dInR":true,"dTimeS":"170500","dTimeR":"170500","dProgType":"PROGNOSED","dTZOffset":120,"type":"N"},{"locX":29,"idx":12,"aOutR":true,"aTimeS":"170600","aTZOffset":120,"type":"N"},{"locX":30,"idx":13,"aOutR":true,"aTimeS":"170800","aTZOffset":120,"type":"N"},{"locX":31,"idx":14,"aOutR":true,"aTimeS":"171000","aTZOffset":120,"type":"N"},{"locX":32,"idx":15,"aOutR":true,"aTimeS":"171100","aTZOffset":120,"type":"N"},{"locX":33,"idx":16,"aOutR":true,"aTimeS":"171300","aTZOffset":120,"type":"N"},{"locX":34,"idx":17,"aOutR":true,"aTimeS":"171500","aTZOffset":120,"type":"N"},{"locX":35,"idx":18,"aOutR":true,"aTimeS":"171600","aTZOffset":120,"type":"N"},{"locX":27,"idx":19,"aOutR":true,"aTimeS":"171700","aTZOffset":120,"type":"N"}],"pos":{"x":13403582,"y":52527315,"layerX":0,"crdSysX":0},"subscr":"F"},{"jid":"1|1137745|36|80|2102022","date":"20221002","prodX":0,"dirTxt":"Tiergarten, Philharmonie","dirFlg":"2","status":"P","isRchbl":true,"stbStop":{"locX":0,"idx":7,"dProdX":0,"dInR":true,"dTimeS":"170500","dTimeR":"170500","dProgType":"PROGNOSED","dTZOffset":120,"type":"N"},"stopL":[{"locX":0,"idx":7,"dInR":true,"dTimeS":"170500","dTimeR":"170500","dProgType":"PROGNOSED","dTZOffset":120,"isImp":true,"type":"N"},{"locX":3,"idx":8,"aOutR":true,"aTimeS":"170600","aTZOffset":120,"isImp":true,"type":"N"},{"locX":4,"idx":9,"aOutR":true,"aTimeS":"170800","aTZOffset":120,"isImp":true,"type":"N"},{"locX":6,"idx":10,"aOutR":true,"aTimeS":"171000","aTZOffset":120,"isImp":true,"type":"N"},{"locX":7,"idx":11,"aOutR":true,"aTimeS":"171200","aTZOffset":120,"isImp":true,"type":"N"},{"locX":8,"idx":12,"aOutR":true,"aTimeS":"171400","aTZOffset":120,"isImp":true,"type":"N"},{"locX":9,"idx":13,"aOutR":true,"aTimeS":"171500","aTZOffset":120,"isImp":true,"type":"N"},{"locX":10,"idx":14,"aOutR":true,"aTimeS":"171900","aTZOffset":120,"type":"N"},{"locX":11,"idx":15,"aOutR":true,"aTimeS":"172000","aTZOffset":120,"isImp":true,"type":"N"},{"locX":12,"idx":16,"aOutR":true,"aTimeS":"172200","aTZOffset":120,"type":"N"},{"locX":13,"idx":17,"aOutR":true,"aTimeS":"172300","aTZOffset":120,"type":"N"},{"locX":15,"idx":18,"aOutR":true,"aTimeS":"172500","aTZOffset":120,"isImp":true,"type":"N"},{"locX":2,"idx":19,"aOutR":true,"aTimeS":"172800","aTZOffset":120,"isImp":true,"type":"N"}],"pos":{"x":13433363,"y":52509624,"layerX":0,"crdSysX":0},"subscr":"F"},{"jid":"1|1507932|34|80|2102022","date":"20221002","prodX":20,"dirTxt":"S+U Warschauer Str.","dirFlg":"1","status":"P","isRchbl":true,"stbStop":{"locX":0,"idx":11,"dProdX":20,"dInR":true,"dTimeS":"170600","dTimeR":"171200","dProgType":"PROGNOSED","dTZOffset":120,"type":"N"},"stopL":[{"locX":0,"idx":11,"dInR":true,"dTimeS":"170600","dTimeR":"171200","dProgType":"PROGNOSED","dTZOffset":120,"type":"N"},{"locX":81,"idx":12,"aOutR":true,"aTimeS":"170700","aTZOffset":120,"type":"N"},{"locX":82,"idx":13,"aOutR":true,"aTimeS":"170900","aTZOffset":120,"type":"N"},{"locX":83,"idx":14,"aOutR":true,"aTimeS":"171000","aTZOffset":120,"type":"N"},{"locX":84,"idx":15,"aOutR":true,"aTimeS":"171200","aTZOffset":120,"type":"N"},{"locX":85,"idx":16,"aOutR":true,"aTimeS":"171400","aTZOffset":120,"type":"N"},{"locX":86,"idx":17,"aOutR":true,"aTimeS":"171600","aTZOffset":120,"type":"N"},{"locX":80,"idx":18,"aOutR":true,"aTimeS":"171700","aTZOffset":120,"type":"N"}],"pos":{"x":13388696,"y":52516870,"layerX":0,"crdSysX":0},"subscr":"F"},{"jid":"1|303933|2|80|2102022","date":"20221002","prodX":21,"dirTxt":"Ahrensfelde (S)","dirFlg":"2","status":"P","isRchbl":true,"stbStop":{"locX":1,"idx":16,"dProdX":21,"dPlatfS":"3","dInR":true,"dTimeS":"170700","dTimeR":"170700","dProgType":"PROGNOSED","dTZOffset":120,"type":"N"},"stopL":[{"locX":1,"idx":16,"dPlatfS":"3","dInR":true,"dTimeS":"170700","dTimeR":"170700","dProgType":"PROGNOSED","dTZOffset":120,"isImp":true,"type":"N"},{"locX":59,"idx":17,"aOutR":true,"aTimeS":"170900","aTZOffset":120,"isImp":true,"type":"N"},{"locX":61,"idx":18,"aOutR":true,"aTimeS":"171100","aTZOffset":120,"isImp":true,"type":"N"},{"locX":62,"idx":19,"aOutR":true,"aTimeS":"171300","aTZOffset":120,"isImp":true,"type":"N"},{"locX":89,"idx":20,"aOutR":true,"aTimeS":"171600","aTZOffset":120,"isImp":true,"type":"N"},{"locX":90,"idx":21,"aOutR":true,"aTimeS":"171800","aTZOffset":120,"isImp":true,"type":"N"},{"locX":92,"idx":22,"aOutR":true,"aTimeS":"172000","aTZOffset":120,"isImp":true,"type":"N"},{"locX":93,"idx":23,"aOutR":true,"aTimeS":"172300","aTZOffset":120,"isImp":true,"type":"N"},{"locX":94,"idx":24,"aOutR":true,"aTimeS":"172600","aTZOffset":120,"type":"N"},{"locX":95,"idx":25,"aOutR":true,"aTimeS":"172800","aTZOffset":120,"isImp":true,"type":"N"},{"locX":96,"idx":26,"aOutR":true,"aTimeS":"172900","aTZOffset":120,"type":"N"},{"locX":97,"idx":27,"aOutR":true,"aTimeS":"173100","aTZOffset":120,"type":"N"},{"locX":87,"idx":28,"aOutR":true,"aTimeS":"173400","aTZOffset":120,"isImp":true,"type":"N"}],"pos":{"x":13386322,"y":52520555,"layerX":0,"crdSysX":0},"subscr":"F"},{"jid":"1|304775|2|80|2102022","date":"20221002","prodX":22,"dirTxt":"Potsdam Hbf (S)","dirFlg":"1","status":"P","isRchbl":true,"stbStop":{"locX":1,"idx":12,"dProdX":22,"dPlatfS":"4","dInR":true,"dTimeS":"170800","dTimeR":"170800","dProgType":"PROGNOSED","dTZOffset":120,"type":"N"},"stopL":[{"locX":1,"idx":12,"dPlatfS":"4","dInR":true,"dTimeS":"170800","dTimeR":"170800","dProgType":"PROGNOSED","dTZOffset":120,"isImp":true,"type":"N"},{"locX":38,"idx":13,"aOutR":true,"aTimeS":"170900","aTZOffset":120,"isImp":true,"type":"N"},{"locX":39,"idx":14,"aOutR":true,"aTimeS":"171100","aTZOffset":120,"isImp":true,"type":"N"},{"locX":40,"idx":15,"aOutR":true,"aTimeS":"171300","aTZOffset":120,"isImp":true,"type":"N"},{"locX":42,"idx":16,"aOutR":true,"aTimeS":"171600","aTZOffset":120,"type":"N"},{"locX":44,"idx":17,"aOutR":true,"aTimeS":"171900","aTZOffset":120,"type":"N"},{"locX":45,"idx":18,"aOutR":true,"aTimeS":"172100","aTZOffset":120,"isImp":true,"type":"N"},{"locX":46,"idx":19,"aOutR":true,"aTimeS":"172300","aTZOffset":120,"isImp":true,"type":"N"},{"locX":48,"idx":20,"aOutR":true,"aTimeS":"172500","aTZOffset":120,"isImp":true,"type":"N"},{"locX":49,"idx":21,"aOutR":true,"aTimeS":"172700","aTZOffset":120,"isImp":true,"type":"N"},{"locX":51,"idx":22,"aOutR":true,"aTimeS":"172900","aTZOffset":120,"isImp":true,"type":"N"},{"locX":100,"idx":23,"aOutR":true,"aTimeS":"173200","aTZOffset":120,"type":"N"},{"locX":101,"idx":24,"aOutR":true,"aTimeS":"174000","aTZOffset":120,"type":"N"},{"locX":102,"idx":25,"aOutR":true,"aTimeS":"174200","aTZOffset":120,"type":"N"},{"locX":104,"idx":26,"aOutR":true,"aTimeS":"174700","aTZOffset":120,"type":"N"},{"locX":106,"idx":27,"aOutR":true,"aTimeS":"175000","aTZOffset":120,"type":"N"},{"locX":98,"idx":28,"aOutR":true,"aTimeS":"175200","aTZOffset":120,"isImp":true,"type":"N"}],"pos":{"x":13468771,"y":52503107,"layerX":0,"crdSysX":0},"subscr":"F"},{"jid":"1|301834|0|80|2102022","date":"20221002","prodX":23,"dirTxt":"Strausberg Nord","dirFlg":"2","status":"P","isRchbl":true,"stbStop":{"locX":1,"idx":12,"dProdX":23,"dPlatfS":"3","dInR":true,"dTimeS":"170900","dTimeR":"170900","dProgType":"PROGNOSED","dTZOffset":120,"type":"N"},"stopL":[{"locX":1,"idx":12,"dPlatfS":"3","dInR":true,"dTimeS":"170900","dTimeR":"170900","dProgType":"PROGNOSED","dTZOffset":120,"isImp":true,"type":"N"},{"locX":59,"idx":13,"aOutR":true,"aTimeS":"171100","aTZOffset":120,"isImp":true,"type":"N"},{"locX":61,"idx":14,"aOutR":true,"aTimeS":"171400","aTZOffset":120,"isImp":true,"type":"N"},{"locX":62,"idx":15,"aOutR":true,"aTimeS":"171600","aTZOffset":120,"isImp":true,"type":"N"},{"locX":89,"idx":16,"aOutR":true,"aTimeS":"171800","aTZOffset":120,"isImp":true,"type":"N"},{"locX":90,"idx":17,"aOutR":true,"aTimeS":"172000","aTZOffset":120,"isImp":true,"type":"N"},{"locX":92,"idx":18,"aOutR":true,"aTimeS":"172300","aTZOffset":120,"isImp":true,"type":"N"},{"locX":108,"idx":19,"aOutR":true,"aTimeS":"172600","aTZOffset":120,"type":"N"},{"locX":109,"idx":20,"aOutR":true,"aTimeS":"172800","aTZOffset":120,"isImp":true,"type":"N"},{"locX":110,"idx":21,"aOutR":true,"aTimeS":"173000","aTZOffset":120,"type":"N"},{"locX":111,"idx":22,"aOutR":true,"aTimeS":"173200","aTZOffset":120,"isImp":true,"type":"N"},{"locX":113,"idx":23,"aOutR":true,"aTimeS":"173600","aTZOffset":120,"type":"N"},{"locX":114,"idx":24,"aOutR":true,"aTimeS":"173900","aTZOffset":120,"type":"N"},{"locX":115,"idx":25,"aOutR":true,"aTimeS":"174100","aTZOffset":120,"type":"N"},{"locX":116,"idx":26,"aOutR":true,"aTimeS":"174600","aTZOffset":120,"type":"N"},{"locX":117,"idx":27,"aOutR":true,"aTimeS":"174900","aTZOffset":120,"type":"N"},{"locX":118,"idx":28,"aOutR":true,"aTimeS":"175300","aTZOffset":120,"type":"N"},{"locX":120,"idx":29,"aOutR":true,"aTimeS":"175800","aTZOffset":120,"type":"N"},{"locX":121,"idx":30,"aOutR":true,"aTimeS":"180200","aTZOffset":120,"type":"N"},{"locX":107,"idx":31,"aOutR":true,"aTimeS":"180400","aTZOffset":120,"isImp":true,"type":"N"}],"pos":{"x":13369333,"y":52525185,"layerX":0,"crdSysX":0},"subscr":"F"},{"jid":"1|1085848|27|80|2102022","date":"20221002","prodX":24,"dirTxt":"Paracelsus-Bad (U), Berlin","dirFlg":"2","status":"P","isRchbl":true,"stbStop":{"locX":0,"idx":8,"dProdX":24,"dInR":true,"dTimeS":"171000","dTimeR":"171000","dProgType":"PROGNOSED","dTZOffset":120,"type":"N"},"stopL":[{"locX":0,"idx":8,"dInR":true,"dTimeS":"171000","dTimeR":"171000","dProgType":"PROGNOSED","dTZOffset":120,"isImp":true,"type":"N"},{"locX":17,"idx":9,"aOutR":true,"aTimeS":"171200","aTZOffset":120,"isImp":true,"type":"N"},{"locX":18,"idx":10,"aOutR":true,"aTimeS":"171400","aTZOffset":120,"isImp":true,"type":"N"},{"locX":19,"idx":11,"aOutR":true,"aTimeS":"171500","aTZOffset":120,"isImp":true,"type":"N"},{"locX":20,"idx":12,"aOutR":true,"aTimeS":"171700","aTZOffset":120,"isImp":true,"type":"N"},{"locX":21,"idx":13,"aOutR":true,"aTimeS":"171800","aTZOffset":120,"type":"N"},{"locX":22,"idx":14,"aOutR":true,"aTimeS":"172000","aTZOffset":120,"isImp":true,"type":"N"},{"locX":24,"idx":15,"aOutR":true,"aTimeS":"172300","aTZOffset":120,"isImp":true,"type":"N"},{"locX":25,"idx":16,"aOutR":true,"aTimeS":"172500","aTZOffset":120,"isImp":true,"type":"N"},{"locX":26,"idx":17,"aOutR":true,"aTimeS":"172600","aTZOffset":120,"isImp":true,"type":"N"},{"locX":16,"idx":18,"aOutR":true,"aTimeS":"172700","aTZOffset":120,"isImp":true,"type":"N"}],"pos":{"x":13425165,"y":52481524,"layerX":0,"crdSysX":0},"subscr":"F"},{"jid":"1|1086924|30|80|2102022","date":"20221002","prodX":25,"dirTxt":"Hermannstr. (S+U), Berlin","dirFlg":"1","status":"P","isRchbl":true,"stbStop":{"locX":0,"idx":15,"dProdX":25,"dInR":true,"dTimeS":"171000","dTimeR":"171000","dProgType":"PROGNOSED","dTZOffset":120,"type":"N"},"stopL":[{"locX":0,"idx":15,"dInR":true,"dTimeS":"171000","dTimeR":"171000","dProgType":"PROGNOSED","dTZOffset":120,"type":"N"},{"locX":29,"idx":16,"aOutR":true,"aTimeS":"171100","aTZOffset":120,"type":"N"},{"locX":30,"idx":17,"aOutR":true,"aTimeS":"171300","aTZOffset":120,"type":"N"},{"locX":31,"idx":18,"aOutR":true,"aTimeS":"171500","aTZOffset":120,"type":"N"},{"locX":32,"idx":19,"aOutR":true,"aTimeS":"171600","aTZOffset":120,"type":"N"},{"locX":33,"idx":20,"aOutR":true,"aTimeS":"171800","aTZOffset":120,"type":"N"},{"locX":34,"idx":21,"aOutR":true,"aTimeS":"172000","aTZOffset":120,"type":"N"},{"locX":35,"idx":22,"aOutR":true,"aTimeS":"172100","aTZOffset":120,"type":"N"},{"locX":27,"idx":23,"aOutR":true,"aTimeS":"172200","aTZOffset":120,"type":"N"}],"pos":{"x":13389568,"y":52547100,"layerX":0,"crdSysX":0},"subscr":"F"},{"jid":"1|306323|4|80|2102022","date":"20221002","prodX":26,"dirTxt":"Berlin-Spandau (S)","dirFlg":"1","status":"P","isRchbl":true,"stbStop":{"locX":1,"idx":13,"dProdX":26,"dPlatfS":"4","dInR":true,"dTimeS":"171100","dTimeR":"171100","dProgType":"PROGNOSED","dTZOffset":120,"type":"N"},"stopL":[{"locX":1,"idx":13,"dPlatfS":"4","dInR":true,"dTimeS":"171100","dTimeR":"171100","dProgType":"PROGNOSED","dTZOffset":120,"isImp":true,"type":"N"},{"locX":38,"idx":14,"aOutR":true,"aTimeS":"171200","aTZOffset":120,"isImp":true,"type":"N"},{"locX":39,"idx":15,"aOutR":true,"aTimeS":"171400","aTZOffset":120,"isImp":true,"type":"N"},{"locX":40,"idx":16,"aOutR":true,"aTimeS":"171600","aTZOffset":120,"isImp":true,"type":"N"},{"locX":42,"idx":17,"aOutR":true,"aTimeS":"171900","aTZOffset":120,"type":"N"},{"locX":44,"idx":18,"aOutR":true,"aTimeS":"172200","aTZOffset":120,"type":"N"},{"locX":45,"idx":19,"aOutR":true,"aTimeS":"172400","aTZOffset":120,"isImp":true,"type":"N"},{"locX":46,"idx":20,"aOutR":true,"aTimeS":"172600","aTZOffset":120,"isImp":true,"type":"N"},{"locX":48,"idx":21,"aOutR":true,"aTimeS":"172800","aTZOffset":120,"isImp":true,"type":"N"},{"locX":49,"idx":22,"aOutR":true,"aTimeS":"173000","aTZOffset":120,"isImp":true,"type":"N"},{"locX":51,"idx":23,"aOutR":true,"aTimeS":"173200","aTZOffset":120,"isImp":true,"type":"N"},{"locX":52,"idx":24,"aOutR":true,"aTimeS":"173400","aTZOffset":120,"type":"N"},{"locX":53,"idx":25,"aOutR":true,"aTimeS":"173700","aTZOffset":120,"type":"N"},{"locX":54,"idx":26,"aOutR":true,"aTimeS":"173900","aTZOffset":120,"type":"N"},{"locX":55,"idx":27,"aOutR":true,"aTimeS":"174100","aTZOffset":120,"type":"N"},{"locX":56,"idx":28,"aOutR":true,"aTimeS":"174500","aTZOffset":120,"type":"N"},{"locX":36,"idx":29,"aOutR":true,"aTimeS":"174700","aTZOffset":120,"isImp":true,"type":"N"}],"pos":{"x":13460241,"y":52491206,"layerX":0,"crdSysX":0},"subscr":"F"},{"jid":"1|306331|3|80|2102022","date":"20221002","prodX":27,"dirTxt":"Flughafen BER - Terminal 1-2 (S-Bahn)","dirFlg":"2","status":"P","isCncl":true,"isRchbl":false,"stbStop":{"locX":1,"idx":16,"dProdX":27,"dInR":false,"dTimeS":"171400","dCncl":true,"dTZOffset":120,"type":"N"},"stopL":[{"locX":1,"idx":16,"dInR":false,"dTimeS":"171400","dCncl":true,"dTZOffset":120,"isImp":true,"type":"N"},{"locX":59,"idx":17,"aOutR":false,"aTimeS":"171600","aCncl":true,"aTZOffset":120,"isImp":true,"type":"N"},{"locX":61,"idx":18,"aOutR":false,"aTimeS":"171900","aCncl":true,"aTZOffset":120,"isImp":true,"type":"N"},{"locX":124,"idx":19,"aOutR":false,"aTimeS":"172200","aCncl":true,"aTZOffset":120,"isImp":true,"type":"N"},{"locX":125,"idx":20,"aOutR":false,"aTimeS":"172500","aCncl":true,"aTZOffset":120,"isImp":true,"type":"N"},{"locX":126,"idx":21,"aOutR":false,"aTimeS":"172700","aCncl":true,"aTZOffset":120,"isImp":true,"type":"N"},{"locX":127,"idx":22,"aOutR":false,"aTimeS":"173300","aCncl":true,"aTZOffset":120,"isImp":true,"type":"N"},{"locX":129,"idx":23,"aOutR":false,"aTimeS":"173500","aCncl":true,"aTZOffset":120,"isImp":true,"type":"N"},{"locX":130,"idx":24,"aOutR":false,"aTimeS":"173800","aCncl":true,"aTZOffset":120,"isImp":true,"type":"N"},{"locX":131,"idx":25,"aOutR":false,"aTimeS":"174200","aCncl":true,"aTZOffset":120,"isImp":true,"type":"N"},{"locX":132,"idx":26,"aOutR":false,"aTimeS":"174500","aCncl":true,"aTZOffset":120,"isImp":true,"type":"N"},{"locX":133,"idx":27,"aOutR":false,"aTimeS":"174700","aCncl":true,"aTZOffset":120,"isImp":true,"type":"N"},{"locX":134,"idx":28,"aOutR":false,"aTimeS":"175200","aCncl":true,"aTZOffset":120,"isImp":true,"type":"N"},{"locX":122,"idx":29,"aOutR":false,"aTimeS":"175600","aCncl":true,"aTZOffset":120,"isImp":true,"type":"N"}],"msgL":[{"type":"REM","remX":0,"txtC":{"r":204,"g":0,"b":0,"a":255},"prio":373,"fIdx":-1,"tIdx":-1,"tagL":["RES_JNY_H3"]}],"subscr":"F"},{"jid":"1|302585|0|80|2102022","date":"20221002","prodX":28,"dirTxt":"Berlin Olympiastadion","dirFlg":"1","status":"P","isRchbl":true,"stbStop":{"locX":1,"idx":12,"dProdX":28,"dPlatfS":"4","dInR":true,"dTimeS":"171500","dTimeR":"171500","dProgType":"PROGNOSED","dTZOffset":120,"type":"N"},"stopL":[{"locX":1,"idx":12,"dPlatfS":"4","dInR":true,"dTimeS":"171500","dTimeR":"171500","dProgType":"PROGNOSED","dTZOffset":120,"isImp":true,"type":"N"},{"locX":38,"idx":13,"aOutR":true,"aTimeS":"171700","aTZOffset":120,"isImp":true,"type":"N"},{"locX":39,"idx":14,"aOutR":true,"aTimeS":"171900","aTZOffset":120,"isImp":true,"type":"N"},{"locX":40,"idx":15,"aOutR":true,"aTimeS":"172100","aTZOffset":120,"isImp":true,"type":"N"},{"locX":42,"idx":16,"aOutR":true,"aTimeS":"172400","aTZOffset":120,"type":"N"},{"locX":44,"idx":17,"aOutR":true,"aTimeS":"172600","aTZOffset":120,"type":"N"},{"locX":45,"idx":18,"aOutR":true,"aTimeS":"172800","aTZOffset":120,"isImp":true,"type":"N"},{"locX":46,"idx":19,"aOutR":true,"aTimeS":"173000","aTZOffset":120,"isImp":true,"type":"N"},{"locX":48,"idx":20,"aOutR":true,"aTimeS":"173200","aTZOffset":120,"isImp":true,"type":"N"},{"locX":49,"idx":21,"aOutR":true,"aTimeS":"173400","aTZOffset":120,"isImp":true,"type":"N"},{"locX":51,"idx":22,"aOutR":true,"aTimeS":"173700","aTZOffset":120,"isImp":true,"type":"N"},{"locX":52,"idx":23,"aOutR":true,"aTimeS":"174000","aTZOffset":120,"type":"N"},{"locX":53,"idx":24,"aOutR":true,"aTimeS":"174300","aTZOffset":120,"type":"N"},{"locX":54,"idx":25,"aOutR":true,"aTimeS":"174700","aTZOffset":120,"isImp":true,"type":"N"}],"pos":{"x":13524882,"y":52513948,"layerX":0,"crdSysX":0},"subscr":"F"},{"jid":"1|1085334|63|80|2102022","date":"20221002","prodX":29,"dirTxt":"S+U Wittenau","dirFlg":"2","status":"P","isRchbl":true,"stbStop":{"locX":0,"idx":8,"dProdX":29,"dInR":true,"dTimeS":"171500","dTimeR":"171500","dProgType":"PROGNOSED","dTZOffset":120,"type":"N"},"stopL":[{"locX":0,"idx":8,"dInR":true,"dTimeS":"171500","dTimeR":"171500","dProgType":"PROGNOSED","dTZOffset":120,"isImp":true,"type":"N"},{"locX":17,"idx":9,"aOutR":true,"aTimeS":"171700","aTZOffset":120,"isImp":true,"type":"N"},{"locX":18,"idx":10,"aOutR":true,"aTimeS":"171900","aTZOffset":120,"isImp":true,"type":"N"},{"locX":19,"idx":11,"aOutR":true,"aTimeS":"172000","aTZOffset":120,"isImp":true,"type":"N"},{"locX":20,"idx":12,"aOutR":true,"aTimeS":"172200","aTZOffset":120,"isImp":true,"type":"N"},{"locX":21,"idx":13,"aOutR":true,"aTimeS":"172300","aTZOffset":120,"type":"N"},{"locX":22,"idx":14,"aOutR":true,"aTimeS":"172500","aTZOffset":120,"type":"N"},{"locX":24,"idx":15,"aOutR":true,"aTimeS":"172800","aTZOffset":120,"isImp":true,"type":"N"},{"locX":25,"idx":16,"aOutR":true,"aTimeS":"173000","aTZOffset":120,"type":"N"},{"locX":26,"idx":17,"aOutR":true,"aTimeS":"173100","aTZOffset":120,"isImp":true,"type":"N"},{"locX":16,"idx":18,"aOutR":true,"aTimeS":"173200","aTZOffset":120,"isImp":true,"type":"N"},{"locX":76,"idx":19,"aOutR":true,"aTimeS":"173400","aTZOffset":120,"type":"N"},{"locX":77,"idx":20,"aOutR":true,"aTimeS":"173500","aTZOffset":120,"isImp":true,"type":"N"},{"locX":79,"idx":21,"aOutR":true,"aTimeS":"173700","aTZOffset":120,"type":"N"},{"locX":74,"idx":22,"aOutR":true,"aTimeS":"173800","aTZOffset":120,"isImp":true,"type":"N"}],"subscr":"F"},{"jid":"1|1087305|23|80|2102022","date":"20221002","prodX":30,"dirTxt":"Hermannstr. (S+U), Berlin","dirFlg":"1","status":"P","isRchbl":true,"stbStop":{"locX":0,"idx":11,"dProdX":30,"dInR":true,"dTimeS":"171500","dTimeR":"171500","dProgType":"PROGNOSED","dTZOffset":120,"type":"N"},"stopL":[{"locX":0,"idx":11,"dInR":true,"dTimeS":"171500","dTimeR":"171500","dProgType":"PROGNOSED","dTZOffset":120,"type":"N"},{"locX":29,"idx":12,"aOutR":true,"aTimeS":"171600","aTZOffset":120,"type":"N"},{"locX":30,"idx":13,"aOutR":true,"aTimeS":"171800","aTZOffset":120,"type":"N"},{"locX":31,"idx":14,"aOutR":true,"aTimeS":"172000","aTZOffset":120,"type":"N"},{"locX":32,"idx":15,"aOutR":true,"aTimeS":"172100","aTZOffset":120,"type":"N"},{"locX":33,"idx":16,"aOutR":true,"aTimeS":"172300","aTZOffset":120,"type":"N"},{"locX":34,"idx":17,"aOutR":true,"aTimeS":"172500","aTZOffset":120,"type":"N"},{"locX":35,"idx":18,"aOutR":true,"aTimeS":"172600","aTZOffset":120,"type":"N"},{"locX":27,"idx":19,"aOutR":true,"aTimeS":"172700","aTZOffset":120,"type":"N"}],"pos":{"x":13366348,"y":52562427,"layerX":0,"crdSysX":0},"subscr":"F"},{"jid":"1|1137745|37|80|2102022","date":"20221002","prodX":0,"dirTxt":"Tiergarten, Philharmonie","dirFlg":"2","status":"P","isRchbl":true,"stbStop":{"locX":0,"idx":7,"dProdX":0,"dInR":true,"dTimeS":"171500","dTimeR":"171500","dProgType":"PROGNOSED","dTZOffset":120,"type":"N"},"stopL":[{"locX":0,"idx":7,"dInR":true,"dTimeS":"171500","dTimeR":"171500","dProgType":"PROGNOSED","dTZOffset":120,"isImp":true,"type":"N"},{"locX":3,"idx":8,"aOutR":true,"aTimeS":"171600","aTZOffset":120,"isImp":true,"type":"N"},{"locX":4,"idx":9,"aOutR":true,"aTimeS":"171800","aTZOffset":120,"isImp":true,"type":"N"},{"locX":6,"idx":10,"aOutR":true,"aTimeS":"172000","aTZOffset":120,"isImp":true,"type":"N"},{"locX":7,"idx":11,"aOutR":true,"aTimeS":"172200","aTZOffset":120,"isImp":true,"type":"N"},{"locX":8,"idx":12,"aOutR":true,"aTimeS":"172400","aTZOffset":120,"isImp":true,"type":"N"},{"locX":9,"idx":13,"aOutR":true,"aTimeS":"172500","aTZOffset":120,"isImp":true,"type":"N"},{"locX":10,"idx":14,"aOutR":true,"aTimeS":"172900","aTZOffset":120,"type":"N"},{"locX":11,"idx":15,"aOutR":true,"aTimeS":"173000","aTZOffset":120,"isImp":true,"type":"N"},{"locX":12,"idx":16,"aOutR":true,"aTimeS":"173200","aTZOffset":120,"type":"N"},{"locX":13,"idx":17,"aOutR":true,"aTimeS":"173300","aTZOffset":120,"type":"N"},{"locX":15,"idx":18,"aOutR":true,"aTimeS":"173500","aTZOffset":120,"isImp":true,"type":"N"},{"locX":2,"idx":19,"aOutR":true,"aTimeS":"173800","aTZOffset":120,"isImp":true,"type":"N"}],"subscr":"F"},{"jid":"1|1507932|35|80|2102022","date":"20221002","prodX":20,"dirTxt":"S+U Warschauer Str.","dirFlg":"1","status":"P","isRchbl":true,"stbStop":{"locX":0,"idx":11,"dProdX":20,"dInR":true,"dTimeS":"171600","dTimeR":"171600","dProgType":"PROGNOSED","dTZOffset":120,"type":"N"},"stopL":[{"locX":0,"idx":11,"dInR":true,"dTimeS":"171600","dTimeR":"171600","dProgType":"PROGNOSED","dTZOffset":120,"type":"N"},{"locX":81,"idx":12,"aOutR":true,"aTimeS":"171700","aTZOffset":120,"type":"N"},{"locX":82,"idx":13,"aOutR":true,"aTimeS":"171900","aTZOffset":120,"type":"N"},{"locX":83,"idx":14,"aOutR":true,"aTimeS":"172000","aTZOffset":120,"type":"N"},{"locX":84,"idx":15,"aOutR":true,"aTimeS":"172200","aTZOffset":120,"type":"N"},{"locX":85,"idx":16,"aOutR":true,"aTimeS":"172400","aTZOffset":120,"type":"N"},{"locX":86,"idx":17,"aOutR":true,"aTimeS":"172600","aTZOffset":120,"type":"N"},{"locX":80,"idx":18,"aOutR":true,"aTimeS":"172700","aTZOffset":120,"type":"N"}],"pos":{"x":13385567,"y":52512995,"layerX":0,"crdSysX":0},"subscr":"F"},{"jid":"1|304778|1|80|2102022","date":"20221002","prodX":31,"dirTxt":"Ahrensfelde (S)","dirFlg":"2","status":"P","isRchbl":true,"stbStop":{"locX":1,"idx":16,"dProdX":31,"dPlatfS":"3","dInR":true,"dTimeS":"171700","dTimeR":"171700","dProgType":"PROGNOSED","dTZOffset":120,"type":"N"},"stopL":[{"locX":1,"idx":16,"dPlatfS":"3","dInR":true,"dTimeS":"171700","dTimeR":"171700","dProgType":"PROGNOSED","dTZOffset":120,"isImp":true,"type":"N"},{"locX":59,"idx":17,"aOutR":true,"aTimeS":"171900","aTZOffset":120,"isImp":true,"type":"N"},{"locX":61,"idx":18,"aOutR":true,"aTimeS":"172100","aTZOffset":120,"isImp":true,"type":"N"},{"locX":62,"idx":19,"aOutR":true,"aTimeS":"172300","aTZOffset":120,"isImp":true,"type":"N"},{"locX":89,"idx":20,"aOutR":true,"aTimeS":"172600","aTZOffset":120,"isImp":true,"type":"N"},{"locX":90,"idx":21,"aOutR":true,"aTimeS":"172800","aTZOffset":120,"isImp":true,"type":"N"},{"locX":92,"idx":22,"aOutR":true,"aTimeS":"173000","aTZOffset":120,"isImp":true,"type":"N"},{"locX":93,"idx":23,"aOutR":true,"aTimeS":"173300","aTZOffset":120,"isImp":true,"type":"N"},{"locX":94,"idx":24,"aOutR":true,"aTimeS":"173600","aTZOffset":120,"type":"N"},{"locX":95,"idx":25,"aOutR":true,"aTimeS":"173800","aTZOffset":120,"isImp":true,"type":"N"},{"locX":96,"idx":26,"aOutR":true,"aTimeS":"173900","aTZOffset":120,"type":"N"},{"locX":97,"idx":27,"aOutR":true,"aTimeS":"174100","aTZOffset":120,"type":"N"},{"locX":87,"idx":28,"aOutR":true,"aTimeS":"174400","aTZOffset":120,"isImp":true,"type":"N"}],"pos":{"x":13329762,"y":52506757,"layerX":0,"crdSysX":0},"subscr":"F"},{"jid":"1|303931|4|80|2102022","date":"20221002","prodX":32,"dirTxt":"Potsdam Hbf (S)","dirFlg":"1","status":"P","isRchbl":true,"stbStop":{"locX":1,"idx":12,"dProdX":32,"dPlatfS":"4","dInR":true,"dTimeS":"171800","dTimeR":"171800","dProgType":"PROGNOSED","dTZOffset":120,"type":"N"},"stopL":[{"locX":1,"idx":12,"dPlatfS":"4","dInR":true,"dTimeS":"171800","dTimeR":"171800","dProgType":"PROGNOSED","dTZOffset":120,"isImp":true,"type":"N"},{"locX":38,"idx":13,"aOutR":true,"aTimeS":"171900","aTZOffset":120,"isImp":true,"type":"N"},{"locX":39,"idx":14,"aOutR":true,"aTimeS":"172100","aTZOffset":120,"isImp":true,"type":"N"},{"locX":40,"idx":15,"aOutR":true,"aTimeS":"172300","aTZOffset":120,"isImp":true,"type":"N"},{"locX":42,"idx":16,"aOutR":true,"aTimeS":"172600","aTZOffset":120,"type":"N"},{"locX":44,"idx":17,"aOutR":true,"aTimeS":"172900","aTZOffset":120,"type":"N"},{"locX":45,"idx":18,"aOutR":true,"aTimeS":"173100","aTZOffset":120,"isImp":true,"type":"N"},{"locX":46,"idx":19,"aOutR":true,"aTimeS":"173300","aTZOffset":120,"isImp":true,"type":"N"},{"locX":48,"idx":20,"aOutR":true,"aTimeS":"173500","aTZOffset":120,"isImp":true,"type":"N"},{"locX":49,"idx":21,"aOutR":true,"aTimeS":"173700","aTZOffset":120,"isImp":true,"type":"N"},{"locX":51,"idx":22,"aOutR":true,"aTimeS":"173900","aTZOffset":120,"isImp":true,"type":"N"},{"locX":100,"idx":23,"aOutR":true,"aTimeS":"174200","aTZOffset":120,"type":"N"},{"locX":101,"idx":24,"aOutR":true,"aTimeS":"175000","aTZOffset":120,"type":"N"},{"locX":102,"idx":25,"aOutR":true,"aTimeS":"175200","aTZOffset":120,"type":"N"},{"locX":104,"idx":26,"aOutR":true,"aTimeS":"175700","aTZOffset":120,"type":"N"},{"locX":106,"idx":27,"aOutR":true,"aTimeS":"180000","aTZOffset":120,"type":"N"},{"locX":98,"idx":28,"aOutR":true,"aTimeS":"180200","aTZOffset":120,"isImp":true,"type":"N"}],"pos":{"x":13536757,"y":52525733,"layerX":0,"crdSysX":0},"subscr":"F"},{"jid":"1|302460|0|80|2102022","date":"20221002","prodX":33,"dirTxt":"Berlin-Mahlsdorf (S)","dirFlg":"2","status":"P","isRchbl":true,"stbStop":{"locX":1,"idx":13,"dProdX":33,"dPlatfS":"3","dInR":true,"dTimeS":"171900","dTimeR":"171900","dProgType":"PROGNOSED","dTZOffset":120,"type":"N"},"stopL":[{"locX":1,"idx":13,"dPlatfS":"3","dInR":true,"dTimeS":"171900","dTimeR":"171900","dProgType":"PROGNOSED","dTZOffset":120,"isImp":true,"type":"N"},{"locX":59,"idx":14,"aOutR":true,"aTimeS":"172100","aTZOffset":120,"isImp":true,"type":"N"},{"locX":61,"idx":15,"aOutR":true,"aTimeS":"172400","aTZOffset":120,"isImp":true,"type":"N"},{"locX":62,"idx":16,"aOutR":true,"aTimeS":"172600","aTZOffset":120,"isImp":true,"type":"N"},{"locX":89,"idx":17,"aOutR":true,"aTimeS":"172800","aTZOffset":120,"isImp":true,"type":"N"},{"locX":90,"idx":18,"aOutR":true,"aTimeS":"173000","aTZOffset":120,"isImp":true,"type":"N"},{"locX":92,"idx":19,"aOutR":true,"aTimeS":"173300","aTZOffset":120,"isImp":true,"type":"N"},{"locX":108,"idx":20,"aOutR":true,"aTimeS":"173600","aTZOffset":120,"type":"N"},{"locX":109,"idx":21,"aOutR":true,"aTimeS":"173800","aTZOffset":120,"isImp":true,"type":"N"},{"locX":110,"idx":22,"aOutR":true,"aTimeS":"174000","aTZOffset":120,"isImp":true,"type":"N"},{"locX":111,"idx":23,"aOutR":true,"aTimeS":"174400","aTZOffset":120,"isImp":true,"type":"N"}],"pos":{"x":13312890,"y":52505480,"layerX":0,"crdSysX":0},"subscr":"F"},{"jid":"1|1085848|28|80|2102022","date":"20221002","prodX":34,"dirTxt":"Paracelsus-Bad (U), Berlin","dirFlg":"2","status":"P","isRchbl":true,"stbStop":{"locX":0,"idx":8,"dProdX":34,"dInR":true,"dTimeS":"172000","dTimeR":"172000","dProgType":"PROGNOSED","dTZOffset":120,"type":"N"},"stopL":[{"locX":0,"idx":8,"dInR":true,"dTimeS":"172000","dTimeR":"172000","dProgType":"PROGNOSED","dTZOffset":120,"isImp":true,"type":"N"},{"locX":17,"idx":9,"aOutR":true,"aTimeS":"172200","aTZOffset":120,"isImp":true,"type":"N"},{"locX":18,"idx":10,"aOutR":true,"aTimeS":"172400","aTZOffset":120,"isImp":true,"type":"N"},{"locX":19,"idx":11,"aOutR":true,"aTimeS":"172500","aTZOffset":120,"isImp":true,"type":"N"},{"locX":20,"idx":12,"aOutR":true,"aTimeS":"172700","aTZOffset":120,"isImp":true,"type":"N"},{"locX":21,"idx":13,"aOutR":true,"aTimeS":"172800","aTZOffset":120,"type":"N"},{"locX":22,"idx":14,"aOutR":true,"aTimeS":"173000","aTZOffset":120,"isImp":true,"type":"N"},{"locX":24,"idx":15,"aOutR":true,"aTimeS":"173300","aTZOffset":120,"isImp":true,"type":"N"},{"locX":25,"idx":16,"aOutR":true,"aTimeS":"173500","aTZOffset":120,"isImp":true,"type":"N"},{"locX":26,"idx":17,"aOutR":true,"aTimeS":"173600","aTZOffset":120,"isImp":true,"type":"N"},{"locX":16,"idx":18,"aOutR":true,"aTimeS":"173700","aTZOffset":120,"isImp":true,"type":"N"}],"subscr":"F"},{"jid":"1|1086924|31|80|2102022","date":"20221002","prodX":35,"dirTxt":"Hermannstr. (S+U), Berlin","dirFlg":"1","status":"P","isRchbl":true,"stbStop":{"locX":0,"idx":15,"dProdX":35,"dInR":true,"dTimeS":"172000","dTimeR":"172000","dProgType":"PROGNOSED","dTZOffset":120,"type":"N"},"stopL":[{"locX":0,"idx":15,"dInR":true,"dTimeS":"172000","dTimeR":"172000","dProgType":"PROGNOSED","dTZOffset":120,"type":"N"},{"locX":29,"idx":16,"aOutR":true,"aTimeS":"172100","aTZOffset":120,"type":"N"},{"locX":30,"idx":17,"aOutR":true,"aTimeS":"172300","aTZOffset":120,"type":"N"},{"locX":31,"idx":18,"aOutR":true,"aTimeS":"172500","aTZOffset":120,"type":"N"},{"locX":32,"idx":19,"aOutR":true,"aTimeS":"172600","aTZOffset":120,"type":"N"},{"locX":33,"idx":20,"aOutR":true,"aTimeS":"172800","aTZOffset":120,"type":"N"},{"locX":34,"idx":21,"aOutR":true,"aTimeS":"173000","aTZOffset":120,"type":"N"},{"locX":35,"idx":22,"aOutR":true,"aTimeS":"173100","aTZOffset":120,"type":"N"},{"locX":27,"idx":23,"aOutR":true,"aTimeS":"173200","aTZOffset":120,"type":"N"}],"pos":{"x":13336432,"y":52576855,"layerX":0,"crdSysX":0},"subscr":"F"},{"jid":"1|296882|4|80|2102022","date":"20221002","prodX":36,"dirTxt":"Berlin-Spandau (S)","dirFlg":"1","status":"P","isRchbl":true,"stbStop":{"locX":1,"idx":13,"dProdX":36,"dPlatfS":"4","dInR":true,"dTimeS":"172100","dTimeR":"172100","dProgType":"PROGNOSED","dTZOffset":120,"type":"N"},"stopL":[{"locX":1,"idx":13,"dPlatfS":"4","dInR":true,"dTimeS":"172100","dTimeR":"172100","dProgType":"PROGNOSED","dTZOffset":120,"isImp":true,"type":"N"},{"locX":38,"idx":14,"aOutR":true,"aTimeS":"172200","aTZOffset":120,"isImp":true,"type":"N"},{"locX":39,"idx":15,"aOutR":true,"aTimeS":"172400","aTZOffset":120,"isImp":true,"type":"N"},{"locX":40,"idx":16,"aOutR":true,"aTimeS":"172600","aTZOffset":120,"isImp":true,"type":"N"},{"locX":42,"idx":17,"aOutR":true,"aTimeS":"172900","aTZOffset":120,"type":"N"},{"locX":44,"idx":18,"aOutR":true,"aTimeS":"173200","aTZOffset":120,"type":"N"},{"locX":45,"idx":19,"aOutR":true,"aTimeS":"173400","aTZOffset":120,"isImp":true,"type":"N"},{"locX":46,"idx":20,"aOutR":true,"aTimeS":"173600","aTZOffset":120,"isImp":true,"type":"N"},{"locX":48,"idx":21,"aOutR":true,"aTimeS":"173800","aTZOffset":120,"isImp":true,"type":"N"},{"locX":49,"idx":22,"aOutR":true,"aTimeS":"174000","aTZOffset":120,"isImp":true,"type":"N"},{"locX":51,"idx":23,"aOutR":true,"aTimeS":"174200","aTZOffset":120,"isImp":true,"type":"N"},{"locX":52,"idx":24,"aOutR":true,"aTimeS":"174400","aTZOffset":120,"type":"N"},{"locX":53,"idx":25,"aOutR":true,"aTimeS":"174700","aTZOffset":120,"type":"N"},{"locX":54,"idx":26,"aOutR":true,"aTimeS":"174900","aTZOffset":120,"type":"N"},{"locX":55,"idx":27,"aOutR":true,"aTimeS":"175100","aTZOffset":120,"type":"N"},{"locX":56,"idx":28,"aOutR":true,"aTimeS":"175500","aTZOffset":120,"type":"N"},{"locX":36,"idx":29,"aOutR":true,"aTimeS":"175700","aTZOffset":120,"isImp":true,"type":"N"}],"pos":{"x":13575231,"y":52459546,"layerX":0,"crdSysX":0},"subscr":"F"},{"jid":"1|296884|3|80|2102022","date":"20221002","prodX":37,"dirTxt":"Erkner (S)","dirFlg":"2","status":"P","isRchbl":true,"stbStop":{"locX":1,"idx":16,"dProdX":37,"dPlatfS":"3","dInR":true,"dTimeS":"172400","dTimeR":"172400","dProgType":"PROGNOSED","dTZOffset":120,"type":"N"},"stopL":[{"locX":1,"idx":16,"dPlatfS":"3","dInR":true,"dTimeS":"172400","dTimeR":"172400","dProgType":"PROGNOSED","dTZOffset":120,"isImp":true,"type":"N"},{"locX":59,"idx":17,"aOutR":true,"aTimeS":"172600","aTZOffset":120,"isImp":true,"type":"N"},{"locX":61,"idx":18,"aOutR":true,"aTimeS":"172900","aTZOffset":120,"isImp":true,"type":"N"},{"locX":62,"idx":19,"aOutR":true,"aTimeS":"173100","aTZOffset":120,"isImp":true,"type":"N"},{"locX":64,"idx":20,"aOutR":true,"aTimeS":"173300","aTZOffset":120,"isImp":true,"type":"N"},{"locX":65,"idx":21,"aOutR":true,"aTimeS":"173500","aTZOffset":120,"isImp":true,"type":"N"},{"locX":66,"idx":22,"aOutR":true,"aTimeS":"173800","aTZOffset":120,"isImp":true,"type":"N"},{"locX":68,"idx":23,"aOutR":true,"aTimeS":"174100","aTZOffset":120,"type":"N"},{"locX":69,"idx":24,"aOutR":true,"aTimeS":"174400","aTZOffset":120,"isImp":true,"type":"N"},{"locX":70,"idx":25,"aOutR":true,"aTimeS":"174600","aTZOffset":120,"type":"N"},{"locX":71,"idx":26,"aOutR":true,"aTimeS":"174900","aTZOffset":120,"isImp":true,"type":"N"},{"locX":72,"idx":27,"aOutR":true,"aTimeS":"175300","aTZOffset":120,"type":"N"},{"locX":73,"idx":28,"aOutR":true,"aTimeS":"175700","aTZOffset":120,"type":"N"},{"locX":57,"idx":29,"aOutR":true,"aTimeS":"180000","aTZOffset":120,"isImp":true,"type":"N"}],"pos":{"x":13279674,"y":52497291,"layerX":0,"crdSysX":0},"subscr":"F"},{"jid":"1|301830|0|80|2102022","date":"20221002","prodX":38,"dirTxt":"Berlin Olympiastadion","dirFlg":"1","status":"P","isRchbl":true,"stbStop":{"locX":1,"idx":19,"dProdX":38,"dPlatfS":"4","dInR":true,"dTimeS":"172500","dTimeR":"172500","dProgType":"PROGNOSED","dTZOffset":120,"type":"N"},"stopL":[{"locX":1,"idx":19,"dPlatfS":"4","dInR":true,"dTimeS":"172500","dTimeR":"172500","dProgType":"PROGNOSED","dTZOffset":120,"isImp":true,"type":"N"},{"locX":38,"idx":20,"aOutR":true,"aTimeS":"172700","aTZOffset":120,"isImp":true,"type":"N"},{"locX":39,"idx":21,"aOutR":true,"aTimeS":"172900","aTZOffset":120,"isImp":true,"type":"N"},{"locX":40,"idx":22,"aOutR":true,"aTimeS":"173100","aTZOffset":120,"isImp":true,"type":"N"},{"locX":42,"idx":23,"aOutR":true,"aTimeS":"173400","aTZOffset":120,"type":"N"},{"locX":44,"idx":24,"aOutR":true,"aTimeS":"173600","aTZOffset":120,"type":"N"},{"locX":45,"idx":25,"aOutR":true,"aTimeS":"173800","aTZOffset":120,"isImp":true,"type":"N"},{"locX":46,"idx":26,"aOutR":true,"aTimeS":"174000","aTZOffset":120,"isImp":true,"type":"N"},{"locX":48,"idx":27,"aOutR":true,"aTimeS":"174200","aTZOffset":120,"isImp":true,"type":"N"},{"locX":49,"idx":28,"aOutR":true,"aTimeS":"174400","aTZOffset":120,"isImp":true,"type":"N"},{"locX":51,"idx":29,"aOutR":true,"aTimeS":"174700","aTZOffset":120,"isImp":true,"type":"N"},{"locX":52,"idx":30,"aOutR":true,"aTimeS":"175000","aTZOffset":120,"type":"N"},{"locX":53,"idx":31,"aOutR":true,"aTimeS":"175300","aTZOffset":120,"type":"N"},{"locX":54,"idx":32,"aOutR":true,"aTimeS":"175700","aTZOffset":120,"isImp":true,"type":"N"}],"pos":{"x":13611907,"y":52512249,"layerX":0,"crdSysX":0},"subscr":"F"}],"fpB":"20211212","fpE":"20221210","planrtTS":"1664722750","sD":"20221002","sT":"170028"}}]}
diff --git a/t/in/DB.Berlin Jannowitzbrücke.xml b/t/in/DB.Berlin Jannowitzbrücke.xml
deleted file mode 100644
index b5d7ed7..0000000
--- a/t/in/DB.Berlin Jannowitzbrücke.xml
+++ /dev/null
@@ -1 +0,0 @@
-<Journey fpTime="14:15" fpDate="13.06.20" delay="+ 2" e_delay="2" platform="4" targetLoc="Berlin Westkreuz" dirnr="8089047" prod="S 5#S" dir="Berlin Westkreuz" administration="08____" is_reachable="0" delayReason=" " approxDelay="0"></Journey><Journey fpTime="14:17" fpDate="13.06.20" delay="0" e_delay="0" platform="3" targetLoc="Berlin-Lichtenberg &#x0028;S&#x0029;" dirnr="8089182" prod="S 7#S" dir="Berlin-Lichtenberg (S)" administration="08____" is_reachable="0" delayReason=" " approxDelay="0"></Journey><Journey fpTime="14:17" fpDate="13.06.20" delay="0" e_delay="0" targetLoc="Warschauer Str. &#x0028;S+U&#x0029;, Berlin" dirnr="732675" prod="Bus 300#Bus" dir="S+U Warschauer Str." administration="vbbBVB" depStation="Jannowitzbrücke &#x0028;S+U&#x0029;, Berlin" is_reachable="0" delayReason=" " approxDelay="0"></Journey><Journey fpTime="14:18" fpDate="13.06.20" delay="+ 1" e_delay="1" platform="4" targetLoc="Potsdam Hbf &#x0028;S&#x0029;" dirnr="8089184" prod="S 7#S" dir="Potsdam Hbf (S)" administration="08____" is_reachable="0" delayReason=" " approxDelay="0"></Journey><Journey fpTime="14:18" fpDate="13.06.20" delay="0" e_delay="0" targetLoc="Philharmonie Süd, Berlin" dirnr="744896" prod="Bus 300#Bus" dir="Tiergarten, Philharmonie" administration="vbbBVB" depStation="Jannowitzbrücke &#x0028;S+U&#x0029;, Berlin" is_reachable="0" delayReason=" " approxDelay="0"></Journey><Journey fpTime="14:19" fpDate="13.06.20" delay="0" e_delay="0" platform="3" targetLoc="Berlin-Mahlsdorf &#x0028;S&#x0029;" dirnr="8089072" prod="S 5#S" dir="Berlin-Mahlsdorf (S)" administration="08____" is_reachable="0" delayReason=" " approxDelay="0"></Journey><Journey fpTime="14:20" fpDate="13.06.20" delay="+ 1" e_delay="1" targetLoc="Paracelsus-Bad &#x0028;U&#x0029;, Berlin" dirnr="732266" prod="U 8#U" dir="Paracelsus-Bad (U), Berlin" administration="vbbBVU" depStation="Jannowitzbrücke &#x0028;S+U&#x0029;, Berlin" is_reachable="0" delayReason=" " approxDelay="0"></Journey><Journey fpTime="14:20" fpDate="13.06.20" delay="+ 1" e_delay="1" targetLoc="Hermannstr. &#x0028;S+U&#x0029;, Berlin" dirnr="732126" prod="U 8#U" dir="Hermannstr. (S+U), Berlin" administration="vbbBVU" depStation="Jannowitzbrücke &#x0028;S+U&#x0029;, Berlin" is_reachable="0" delayReason=" " approxDelay="0"></Journey><Journey fpTime="14:21" fpDate="13.06.20" delay="0" e_delay="0" platform="4" targetLoc="Berlin-Spandau &#x0028;S&#x0029;" dirnr="8089083" prod="S 3#S" dir="Berlin-Spandau (S)" administration="08____" is_reachable="0" delayReason=" " approxDelay="0"></Journey><Journey fpTime="14:24" fpDate="13.06.20" delay="0" e_delay="0" platform="3" targetLoc="Erkner &#x0028;S&#x0029;" dirnr="8089181" prod="S 3#S" dir="Erkner (S)" administration="08____" is_reachable="0" delayReason=" " approxDelay="0"></Journey><Journey fpTime="14:25" fpDate="13.06.20" delay="0" e_delay="0" platform="4" targetLoc="Berlin Westkreuz" dirnr="8089047" prod="S 5#S" dir="Berlin Westkreuz" administration="08____" is_reachable="0" delayReason=" " approxDelay="0"></Journey><Journey fpTime="14:25" fpDate="13.06.20" delay="0" e_delay="0" targetLoc="Wittenau &#x005B;U8&#x005D; &#x0028;S+U&#x0029;, Berlin" dirnr="728428" prod="U 8#U" dir="S+U Wittenau" administration="vbbBVU" depStation="Jannowitzbrücke &#x0028;S+U&#x0029;, Berlin" is_reachable="0" delayReason=" " approxDelay="0"></Journey><Journey fpTime="14:25" fpDate="13.06.20" delay="0" e_delay="0" targetLoc="Hermannstr. &#x0028;S+U&#x0029;, Berlin" dirnr="732126" prod="U 8#U" dir="Hermannstr. (S+U), Berlin" administration="vbbBVU" depStation="Jannowitzbrücke &#x0028;S+U&#x0029;, Berlin" is_reachable="0" delayReason=" " approxDelay="0"></Journey><Journey fpTime="14:27" fpDate="13.06.20" delay="0" e_delay="0" platform="3" targetLoc="Berlin-Lichtenberg &#x0028;S&#x0029;" dirnr="8089182" prod="S 7#S" dir="Berlin-Lichtenberg (S)" administration="08____" is_reachable="0" delayReason=" " approxDelay="0"></Journey><Journey fpTime="14:27" fpDate="13.06.20" delay="+ 1" e_delay="1" targetLoc="Warschauer Str. &#x0028;S+U&#x0029;, Berlin" dirnr="732675" prod="Bus 300#Bus" dir="S+U Warschauer Str." administration="vbbBVB" depStation="Jannowitzbrücke &#x0028;S+U&#x0029;, Berlin" is_reachable="0" delayReason=" " approxDelay="0"></Journey><Journey fpTime="14:28" fpDate="13.06.20" delay="-" platform="4" targetLoc="Potsdam Hbf &#x0028;S&#x0029;" dirnr="8089184" prod="S 7#S" dir="Potsdam Hbf (S)" administration="08____" is_reachable="0" delayReason=" " approxDelay="0"></Journey><Journey fpTime="14:28" fpDate="13.06.20" delay="0" e_delay="0" targetLoc="Philharmonie Süd, Berlin" dirnr="744896" prod="Bus 300#Bus" dir="Tiergarten, Philharmonie" administration="vbbBVB" depStation="Jannowitzbrücke &#x0028;S+U&#x0029;, Berlin" is_reachable="0" delayReason=" " approxDelay="0"></Journey><Journey fpTime="14:29" fpDate="13.06.20" delay="0" e_delay="0" platform="3" targetLoc="Strausberg Nord" dirnr="8013064" prod="S 5#S" dir="Strausberg Nord" administration="08____" is_reachable="0" delayReason=" " approxDelay="0"></Journey><Journey fpTime="14:30" fpDate="13.06.20" delay="0" e_delay="0" targetLoc="Paracelsus-Bad &#x0028;U&#x0029;, Berlin" dirnr="732266" prod="U 8#U" dir="Paracelsus-Bad (U), Berlin" administration="vbbBVU" depStation="Jannowitzbrücke &#x0028;S+U&#x0029;, Berlin" is_reachable="0" delayReason=" " approxDelay="0"></Journey><Journey fpTime="14:30" fpDate="13.06.20" delay="0" e_delay="0" targetLoc="Hermannstr. &#x0028;S+U&#x0029;, Berlin" dirnr="732126" prod="U 8#U" dir="Hermannstr. (S+U), Berlin" administration="vbbBVU" depStation="Jannowitzbrücke &#x0028;S+U&#x0029;, Berlin" is_reachable="0" delayReason=" " approxDelay="0"></Journey><Journey fpTime="14:31" fpDate="13.06.20" delay="0" e_delay="0" platform="4" targetLoc="Berlin-Spandau &#x0028;S&#x0029;" dirnr="8089083" prod="S 9#S" dir="Berlin-Spandau (S)" administration="08____" is_reachable="0" delayReason=" " approxDelay="0"></Journey><Journey fpTime="14:34" fpDate="13.06.20" delay="0" e_delay="0" platform="3" targetLoc="Berlin-Schönefeld Flughafen" dirnr="8010109" prod="S 9#S" dir="Berlin-Schönefeld Flughafen" administration="08____" is_reachable="0" delayReason=" " approxDelay="0"></Journey><Journey fpTime="14:35" fpDate="13.06.20" delay="0" e_delay="0" platform="4" targetLoc="Berlin Westkreuz" dirnr="8089047" prod="S 5#S" dir="Berlin Westkreuz" administration="08____" is_reachable="0" delayReason=" " approxDelay="0"></Journey><Journey fpTime="14:35" fpDate="13.06.20" delay="0" e_delay="0" targetLoc="Wittenau &#x005B;U8&#x005D; &#x0028;S+U&#x0029;, Berlin" dirnr="728428" prod="U 8#U" dir="S+U Wittenau" administration="vbbBVU" depStation="Jannowitzbrücke &#x0028;S+U&#x0029;, Berlin" is_reachable="0" delayReason=" " approxDelay="0"></Journey><Journey fpTime="14:35" fpDate="13.06.20" delay="0" e_delay="0" targetLoc="Hermannstr. &#x0028;S+U&#x0029;, Berlin" dirnr="732126" prod="U 8#U" dir="Hermannstr. (S+U), Berlin" administration="vbbBVU" depStation="Jannowitzbrücke &#x0028;S+U&#x0029;, Berlin" is_reachable="0" delayReason=" " approxDelay="0"></Journey><Journey fpTime="14:37" fpDate="13.06.20" delay="0" e_delay="0" platform="3" targetLoc="Berlin-Lichtenberg &#x0028;S&#x0029;" dirnr="8089182" prod="S 7#S" dir="Berlin-Lichtenberg (S)" administration="08____" is_reachable="0" delayReason=" " approxDelay="0"></Journey><Journey fpTime="14:37" fpDate="13.06.20" delay="0" e_delay="0" targetLoc="Warschauer Str. &#x0028;S+U&#x0029;, Berlin" dirnr="732675" prod="Bus 300#Bus" dir="S+U Warschauer Str." administration="vbbBVB" depStation="Jannowitzbrücke &#x0028;S+U&#x0029;, Berlin" is_reachable="0" delayReason=" " approxDelay="0"></Journey><Journey fpTime="14:38" fpDate="13.06.20" delay="-" platform="4" targetLoc="Potsdam Hbf &#x0028;S&#x0029;" dirnr="8089184" prod="S 7#S" dir="Potsdam Hbf (S)" administration="08____" is_reachable="0" delayReason=" " approxDelay="0"></Journey><Journey fpTime="14:38" fpDate="13.06.20" delay="0" e_delay="0" targetLoc="Philharmonie Süd, Berlin" dirnr="744896" prod="Bus 300#Bus" dir="Tiergarten, Philharmonie" administration="vbbBVB" depStation="Jannowitzbrücke &#x0028;S+U&#x0029;, Berlin" is_reachable="0" delayReason=" " approxDelay="0"></Journey><Journey fpTime="14:39" fpDate="13.06.20" delay="-" platform="3" targetLoc="Berlin-Mahlsdorf &#x0028;S&#x0029;" dirnr="8089072" prod="S 5#S" dir="Berlin-Mahlsdorf (S)" administration="08____" is_reachable="0" delayReason=" " approxDelay="0"></Journey><Journey fpTime="14:40" fpDate="13.06.20" delay="0" e_delay="0" targetLoc="Paracelsus-Bad &#x0028;U&#x0029;, Berlin" dirnr="732266" prod="U 8#U" dir="Paracelsus-Bad (U), Berlin" administration="vbbBVU" depStation="Jannowitzbrücke &#x0028;S+U&#x0029;, Berlin" is_reachable="0" delayReason=" " approxDelay="0"></Journey><Journey fpTime="14:40" fpDate="13.06.20" delay="0" e_delay="0" targetLoc="Hermannstr. &#x0028;S+U&#x0029;, Berlin" dirnr="732126" prod="U 8#U" dir="Hermannstr. (S+U), Berlin" administration="vbbBVU" depStation="Jannowitzbrücke &#x0028;S+U&#x0029;, Berlin" is_reachable="0" delayReason=" " approxDelay="0"></Journey><Journey fpTime="14:41" fpDate="13.06.20" delay="0" e_delay="0" platform="4" targetLoc="Berlin-Spandau &#x0028;S&#x0029;" dirnr="8089083" prod="S 3#S" dir="Berlin-Spandau (S)" administration="08____" is_reachable="0" delayReason=" " approxDelay="0"></Journey><Journey fpTime="14:44" fpDate="13.06.20" delay="+ 3" e_delay="3" platform="3" targetLoc="Erkner &#x0028;S&#x0029;" dirnr="8089181" prod="S 3#S" dir="Erkner (S)" administration="08____" is_reachable="0" delayReason=" " approxDelay="0"></Journey><Journey fpTime="14:45" fpDate="13.06.20" delay="0" e_delay="0" platform="4" targetLoc="Berlin Westkreuz" dirnr="8089047" prod="S 5#S" dir="Berlin Westkreuz" administration="08____" is_reachable="0" delayReason=" " approxDelay="0"></Journey><Journey fpTime="14:45" fpDate="13.06.20" delay="0" e_delay="0" targetLoc="Wittenau &#x005B;U8&#x005D; &#x0028;S+U&#x0029;, Berlin" dirnr="728428" prod="U 8#U" dir="S+U Wittenau" administration="vbbBVU" depStation="Jannowitzbrücke &#x0028;S+U&#x0029;, Berlin" is_reachable="0" delayReason=" " approxDelay="0"></Journey><Journey fpTime="14:45" fpDate="13.06.20" delay="0" e_delay="0" targetLoc="Hermannstr. &#x0028;S+U&#x0029;, Berlin" dirnr="732126" prod="U 8#U" dir="Hermannstr. (S+U), Berlin" administration="vbbBVU" depStation="Jannowitzbrücke &#x0028;S+U&#x0029;, Berlin" is_reachable="0" delayReason=" " approxDelay="0"></Journey><Journey fpTime="14:47" fpDate="13.06.20" delay="0" e_delay="0" platform="3" targetLoc="Berlin-Lichtenberg &#x0028;S&#x0029;" dirnr="8089182" prod="S 7#S" dir="Berlin-Lichtenberg (S)" administration="08____" is_reachable="0" delayReason=" " approxDelay="0"></Journey><Journey fpTime="14:47" fpDate="13.06.20" delay="0" e_delay="0" targetLoc="Warschauer Str. &#x0028;S+U&#x0029;, Berlin" dirnr="732675" prod="Bus 300#Bus" dir="S+U Warschauer Str." administration="vbbBVB" depStation="Jannowitzbrücke &#x0028;S+U&#x0029;, Berlin" is_reachable="0" delayReason=" " approxDelay="0"></Journey><Journey fpTime="14:48" fpDate="13.06.20" delay="-" platform="4" targetLoc="Potsdam Hbf &#x0028;S&#x0029;" dirnr="8089184" prod="S 7#S" dir="Potsdam Hbf (S)" administration="08____" is_reachable="0" delayReason=" " approxDelay="0"></Journey><Journey fpTime="14:48" fpDate="13.06.20" delay="0" e_delay="0" targetLoc="Philharmonie Süd, Berlin" dirnr="744896" prod="Bus 300#Bus" dir="Tiergarten, Philharmonie" administration="vbbBVB" depStation="Jannowitzbrücke &#x0028;S+U&#x0029;, Berlin" is_reachable="0" delayReason=" " approxDelay="0"></Journey><Journey fpTime="14:49" fpDate="13.06.20" delay="-" platform="3" targetLoc="Strausberg Nord" dirnr="8013064" prod="S 5#S" dir="Strausberg Nord" administration="08____" is_reachable="0" delayReason=" " approxDelay="0"></Journey><Journey fpTime="14:50" fpDate="13.06.20" delay="0" e_delay="0" targetLoc="Paracelsus-Bad &#x0028;U&#x0029;, Berlin" dirnr="732266" prod="U 8#U" dir="Paracelsus-Bad (U), Berlin" administration="vbbBVU" depStation="Jannowitzbrücke &#x0028;S+U&#x0029;, Berlin" is_reachable="0" delayReason=" " approxDelay="0"></Journey><Journey fpTime="14:50" fpDate="13.06.20" delay="0" e_delay="0" targetLoc="Hermannstr. &#x0028;S+U&#x0029;, Berlin" dirnr="732126" prod="U 8#U" dir="Hermannstr. (S+U), Berlin" administration="vbbBVU" depStation="Jannowitzbrücke &#x0028;S+U&#x0029;, Berlin" is_reachable="0" delayReason=" " approxDelay="0"></Journey><Journey fpTime="14:51" fpDate="13.06.20" delay="-" platform="4" targetLoc="Berlin-Spandau &#x0028;S&#x0029;" dirnr="8089083" prod="S 9#S" dir="Berlin-Spandau (S)" administration="08____" is_reachable="0" delayReason=" " approxDelay="0"></Journey><Journey fpTime="14:54" fpDate="13.06.20" delay="-" platform="3" targetLoc="Berlin-Schönefeld Flughafen" dirnr="8010109" prod="S 9#S" dir="Berlin-Schönefeld Flughafen" administration="08____" is_reachable="0" delayReason=" " approxDelay="0"></Journey><Journey fpTime="14:55" fpDate="13.06.20" delay="-" platform="4" targetLoc="Berlin Westkreuz" dirnr="8089047" prod="S 5#S" dir="Berlin Westkreuz" administration="08____" is_reachable="0" delayReason=" " approxDelay="0"></Journey><Journey fpTime="14:55" fpDate="13.06.20" delay="0" e_delay="0" targetLoc="Wittenau &#x005B;U8&#x005D; &#x0028;S+U&#x0029;, Berlin" dirnr="728428" prod="U 8#U" dir="S+U Wittenau" administration="vbbBVU" depStation="Jannowitzbrücke &#x0028;S+U&#x0029;, Berlin" is_reachable="0" delayReason=" " approxDelay="0"></Journey><Journey fpTime="14:55" fpDate="13.06.20" delay="0" e_delay="0" targetLoc="Hermannstr. &#x0028;S+U&#x0029;, Berlin" dirnr="732126" prod="U 8#U" dir="Hermannstr. (S+U), Berlin" administration="vbbBVU" depStation="Jannowitzbrücke &#x0028;S+U&#x0029;, Berlin" is_reachable="0" delayReason=" " approxDelay="0"></Journey><Journey fpTime="14:57" fpDate="13.06.20" delay="0" e_delay="0" platform="3" targetLoc="Berlin-Lichtenberg &#x0028;S&#x0029;" dirnr="8089182" prod="S 7#S" dir="Berlin-Lichtenberg (S)" administration="08____" is_reachable="0" delayReason=" " approxDelay="0"></Journey><Journey fpTime="14:57" fpDate="13.06.20" delay="0" e_delay="0" targetLoc="Warschauer Str. &#x0028;S+U&#x0029;, Berlin" dirnr="732675" prod="Bus 300#Bus" dir="S+U Warschauer Str." administration="vbbBVB" depStation="Jannowitzbrücke &#x0028;S+U&#x0029;, Berlin" is_reachable="0" delayReason=" " approxDelay="0"></Journey><Journey fpTime="14:58" fpDate="13.06.20" delay="-" platform="4" targetLoc="Potsdam Hbf &#x0028;S&#x0029;" dirnr="8089184" prod="S 7#S" dir="Potsdam Hbf (S)" administration="08____" is_reachable="0" delayReason=" " approxDelay="0"></Journey><Journey fpTime="14:58" fpDate="13.06.20" delay="0" e_delay="0" targetLoc="Philharmonie Süd, Berlin" dirnr="744896" prod="Bus 300#Bus" dir="Tiergarten, Philharmonie" administration="vbbBVB" depStation="Jannowitzbrücke &#x0028;S+U&#x0029;, Berlin" is_reachable="0" delayReason=" " approxDelay="0"></Journey><Journey fpTime="14:59" fpDate="13.06.20" delay="-" platform="3" targetLoc="Berlin-Mahlsdorf &#x0028;S&#x0029;" dirnr="8089072" prod="S 5#S" dir="Berlin-Mahlsdorf (S)" administration="08____" is_reachable="0" delayReason=" " approxDelay="0"></Journey><Journey fpTime="15:00" fpDate="13.06.20" delay="-" targetLoc="Paracelsus-Bad &#x0028;U&#x0029;, Berlin" dirnr="732266" prod="U 8#U" dir="Paracelsus-Bad (U), Berlin" administration="vbbBVU" depStation="Jannowitzbrücke &#x0028;S+U&#x0029;, Berlin" is_reachable="0" delayReason=" " approxDelay="0"></Journey><Journey fpTime="15:00" fpDate="13.06.20" delay="0" e_delay="0" targetLoc="Hermannstr. &#x0028;S+U&#x0029;, Berlin" dirnr="732126" prod="U 8#U" dir="Hermannstr. (S+U), Berlin" administration="vbbBVU" depStation="Jannowitzbrücke &#x0028;S+U&#x0029;, Berlin" is_reachable="0" delayReason=" " approxDelay="0"></Journey><Journey fpTime="15:01" fpDate="13.06.20" delay="-" platform="4" targetLoc="Berlin-Spandau &#x0028;S&#x0029;" dirnr="8089083" prod="S 3#S" dir="Berlin-Spandau (S)" administration="08____" is_reachable="0" delayReason=" " approxDelay="0"></Journey><Journey fpTime="15:04" fpDate="13.06.20" delay="-" platform="3" targetLoc="Erkner &#x0028;S&#x0029;" dirnr="8089181" prod="S 3#S" dir="Erkner (S)" administration="08____" is_reachable="0" delayReason=" " approxDelay="0"></Journey><Journey fpTime="15:05" fpDate="13.06.20" delay="+ 2" e_delay="2" platform="4" targetLoc="Berlin Westkreuz" dirnr="8089047" prod="S 5#S" dir="Berlin Westkreuz" administration="08____" is_reachable="0" delayReason=" " approxDelay="0"></Journey><Journey fpTime="15:05" fpDate="13.06.20" delay="-" targetLoc="Wittenau &#x005B;U8&#x005D; &#x0028;S+U&#x0029;, Berlin" dirnr="728428" prod="U 8#U" dir="S+U Wittenau" administration="vbbBVU" depStation="Jannowitzbrücke &#x0028;S+U&#x0029;, Berlin" is_reachable="0" delayReason=" " approxDelay="0"></Journey><Journey fpTime="15:05" fpDate="13.06.20" delay="0" e_delay="0" targetLoc="Hermannstr. &#x0028;S+U&#x0029;, Berlin" dirnr="732126" prod="U 8#U" dir="Hermannstr. (S+U), Berlin" administration="vbbBVU" depStation="Jannowitzbrücke &#x0028;S+U&#x0029;, Berlin" is_reachable="0" delayReason=" " approxDelay="0"></Journey><Journey fpTime="15:07" fpDate="13.06.20" delay="-" platform="3" targetLoc="Berlin-Lichtenberg &#x0028;S&#x0029;" dirnr="8089182" prod="S 7#S" dir="Berlin-Lichtenberg (S)" administration="08____" is_reachable="0" delayReason=" " approxDelay="0"></Journey><Journey fpTime="15:07" fpDate="13.06.20" delay="0" e_delay="0" targetLoc="Warschauer Str. &#x0028;S+U&#x0029;, Berlin" dirnr="732675" prod="Bus 300#Bus" dir="S+U Warschauer Str." administration="vbbBVB" depStation="Jannowitzbrücke &#x0028;S+U&#x0029;, Berlin" is_reachable="0" delayReason=" " approxDelay="0"></Journey><Journey fpTime="15:08" fpDate="13.06.20" delay="-" platform="4" targetLoc="Potsdam Hbf &#x0028;S&#x0029;" dirnr="8089184" prod="S 7#S" dir="Potsdam Hbf (S)" administration="08____" is_reachable="0" delayReason=" " approxDelay="0"></Journey><Journey fpTime="15:08" fpDate="13.06.20" delay="0" e_delay="0" targetLoc="Philharmonie Süd, Berlin" dirnr="744896" prod="Bus 300#Bus" dir="Tiergarten, Philharmonie" administration="vbbBVB" depStation="Jannowitzbrücke &#x0028;S+U&#x0029;, Berlin" is_reachable="0" delayReason=" " approxDelay="0"></Journey><Journey fpTime="15:09" fpDate="13.06.20" delay="-" platform="3" targetLoc="Strausberg Nord" dirnr="8013064" prod="S 5#S" dir="Strausberg Nord" administration="08____" is_reachable="0" delayReason=" " approxDelay="0"></Journey><Journey fpTime="15:10" fpDate="13.06.20" delay="-" targetLoc="Paracelsus-Bad &#x0028;U&#x0029;, Berlin" dirnr="732266" prod="U 8#U" dir="Paracelsus-Bad (U), Berlin" administration="vbbBVU" depStation="Jannowitzbrücke &#x0028;S+U&#x0029;, Berlin" is_reachable="0" delayReason=" " approxDelay="0"></Journey><Journey fpTime="15:10" fpDate="13.06.20" delay="0" e_delay="0" targetLoc="Hermannstr. &#x0028;S+U&#x0029;, Berlin" dirnr="732126" prod="U 8#U" dir="Hermannstr. (S+U), Berlin" administration="vbbBVU" depStation="Jannowitzbrücke &#x0028;S+U&#x0029;, Berlin" is_reachable="0" delayReason=" " approxDelay="0"></Journey><Journey fpTime="15:11" fpDate="13.06.20" delay="-" platform="4" targetLoc="Berlin-Spandau &#x0028;S&#x0029;" dirnr="8089083" prod="S 9#S" dir="Berlin-Spandau (S)" administration="08____" is_reachable="0" delayReason=" " approxDelay="0"></Journey><Journey fpTime="15:14" fpDate="13.06.20" delay="-" platform="3" targetLoc="Berlin-Schönefeld Flughafen" dirnr="8010109" prod="S 9#S" dir="Berlin-Schönefeld Flughafen" administration="08____" is_reachable="0" delayReason=" " approxDelay="0"></Journey><Journey fpTime="15:15" fpDate="13.06.20" delay="-" platform="4" targetLoc="Berlin Westkreuz" dirnr="8089047" prod="S 5#S" dir="Berlin Westkreuz" administration="08____" is_reachable="0" delayReason=" " approxDelay="0"></Journey><Journey fpTime="15:15" fpDate="13.06.20" delay="-" targetLoc="Wittenau &#x005B;U8&#x005D; &#x0028;S+U&#x0029;, Berlin" dirnr="728428" prod="U 8#U" dir="S+U Wittenau" administration="vbbBVU" depStation="Jannowitzbrücke &#x0028;S+U&#x0029;, Berlin" is_reachable="0" delayReason=" " approxDelay="0"></Journey><Journey fpTime="15:15" fpDate="13.06.20" delay="0" e_delay="0" targetLoc="Hermannstr. &#x0028;S+U&#x0029;, Berlin" dirnr="732126" prod="U 8#U" dir="Hermannstr. (S+U), Berlin" administration="vbbBVU" depStation="Jannowitzbrücke &#x0028;S+U&#x0029;, Berlin" is_reachable="0" delayReason=" " approxDelay="0"></Journey>