Note
Click here to download the full example code
Example Train Annex 4 v2¶
Version 2 of example annex 4
from networkx import DiGraph
from tom.util import example, dump_routing_info_as_xml
from tom.tom import make_train_from_yml, TrainRun, RouteSection, Route
from tom.plot import *
Load example annex 4 version 2 from yaml specification
pattern = 'annex-4-2'
_, t_spec_file = example('../tests/data', pattern)
print(t_spec_file.read_text())
Out:
---
coreID: ID1
lead_ru: RU1
version: 2 # RoutingInfo version
sections:
- id: 10
version: 2 # RouteSection version
departure_station: S
departure_time: '00:20:00'
arrival_station: H1
travel_time: &s1-tt '24:20:00'
calendar:
begin: '2021-02-01'
end: '2021-02-04'
color: green
succ:
- 11
- id: 11
version: 2
departure_station: H1
arrival_station: T
travel_time: &s2-tt '07:30:00'
- id: 40
version: 1
departure_station: S
departure_time: '23:30:00'
arrival_station: H1
travel_time: '24:20:00'
color: yellowgreen
calendar:
begin: '2021-02-04'
end: '2021-02-06'
succ:
- 41
- id: 41
version: 1
departure_station: H1
arrival_station: T
travel_time: '07:30:00'
# Sec 3-4: Shorten calender
# Change departure times
- id: 20
version: 2
departure_station: S
departure_time: '23:55:00'
arrival_station: H1
travel_time: *s1-tt
color: blue
calendar:
begin: '2021-02-11'
end: '2021-02-13'
succ:
- 21
- id: 21
version: 2
departure_station: H1
arrival_station: T
travel_time: *s2-tt
# Shorten calender of D-T
- id: 50
version: 1
departure_station: D
departure_time: '01:45:00'
arrival_station: H1
travel_time: '22:30:00'
color: red
calendar:
begin: '2021-02-08'
end: '2021-02-11'
succ:
- 51
- id: 51
version: 1
departure_station: H1
arrival_station: T
travel_time: *s2-tt
- id: 30
version: 2
departure_station: D
departure_time: '01:10:00'
arrival_station: H1
travel_time: '22:30:00'
color: salmon
calendar:
begin: '2021-02-15'
end: '2021-02-20'
succ:
- 31
- id: 31
version: 2
departure_station: H1
arrival_station: T
travel_time: *s2-tt
Now create train object and show its train id.
t = make_train_from_yml(t_spec_file)
t.train_id()
Out:
'TR/8350/ID1/00/2021'
Route Sections¶
From which sections the train is composed?
section: RouteSection
for section in t.sections:
print(section.description(), "\n")
Out:
ID : 10.v2
Calender : 01/02 to 04/02 1111
Start at: 00:20 in S
Arrival at: 00:40 in H1
Successors: [11]
ID : 11.v2
Calender : 02/02 to 05/02 1111
Start at: 00:40 in H1
Arrival at: 08:10 in T
Successors: []
ID : 40.v1
Calender : 04/02 to 06/02 111
Start at: 23:30 in S
Arrival at: 23:50 in H1
Successors: [41]
ID : 41.v1
Calender : 05/02 to 07/02 111
Start at: 23:50 in H1
Arrival at: 07:20 in T
Successors: []
ID : 20.v2
Calender : 11/02 to 13/02 111
Start at: 23:55 in S
Arrival at: 00:15 in H1
Successors: [21]
ID : 21.v2
Calender : 13/02 to 15/02 111
Start at: 00:15 in H1
Arrival at: 07:45 in T
Successors: []
ID : 50.v1
Calender : 08/02 to 11/02 1111
Start at: 01:45 in D
Arrival at: 00:15 in H1
Successors: [51]
ID : 51.v1
Calender : 09/02 to 12/02 1111
Start at: 00:15 in H1
Arrival at: 07:45 in T
Successors: []
ID : 30.v2
Calender : 15/02 to 20/02 111111
Start at: 01:10 in D
Arrival at: 23:40 in H1
Successors: [31]
ID : 31.v2
Calender : 15/02 to 20/02 111111
Start at: 23:40 in H1
Arrival at: 07:10 in T
Successors: []
Section graph¶
The section graph is computed using the successor relation.
sg: DiGraph = t.section_graph()
plot_graph(sg)
Routes¶
Print all possible routes. Routes are calculated from all possible paths in the section graph.
route: Route
for route in t.routes():
print(route.description(), "\n")
Out:
Route : S-H1-T
Key : 10-11
Calendar : 01/02 to 04/02 1111
Start at: 00:20 in S
Arrival at: 00:40 in H1
Arrival at: 08:10 in T
Route : S-H1-T
Key : 40-41
Calendar : 04/02 to 06/02 111
Start at: 23:30 in S
Arrival at: 23:50 in H1
Arrival at: 07:20 in T
Route : S-H1-T
Key : 20-21
Calendar : 11/02 to 13/02 111
Start at: 23:55 in S
Arrival at: 00:15 in H1
Arrival at: 07:45 in T
Route : D-H1-T
Key : 50-51
Calendar : 08/02 to 11/02 1111
Start at: 01:45 in D
Arrival at: 00:15 in H1
Arrival at: 07:45 in T
Route : D-H1-T
Key : 30-31
Calendar : 15/02 to 20/02 111111
Start at: 01:10 in D
Arrival at: 23:40 in H1
Arrival at: 07:10 in T
Section runs¶
For each day of the calendar of a section a SectionRun is created. The section runs are the rows of RouteSection.to_dataframe:
for section in t.sections:
print(f"{section.section_id}: {section}")
print(section.to_dataframe(), "\n")
Out:
10: S-H1
ID S H1
2021-02-01 10 2021-02-01 00:20:00 2021-02-02 00:40:00
2021-02-02 10 2021-02-02 00:20:00 2021-02-03 00:40:00
2021-02-03 10 2021-02-03 00:20:00 2021-02-04 00:40:00
2021-02-04 10 2021-02-04 00:20:00 2021-02-05 00:40:00
11: H1-T
ID H1 T
2021-02-02 11 2021-02-02 00:40:00 2021-02-02 08:10:00
2021-02-03 11 2021-02-03 00:40:00 2021-02-03 08:10:00
2021-02-04 11 2021-02-04 00:40:00 2021-02-04 08:10:00
2021-02-05 11 2021-02-05 00:40:00 2021-02-05 08:10:00
40: S-H1
ID S H1
2021-02-04 40 2021-02-04 23:30:00 2021-02-05 23:50:00
2021-02-05 40 2021-02-05 23:30:00 2021-02-06 23:50:00
2021-02-06 40 2021-02-06 23:30:00 2021-02-07 23:50:00
41: H1-T
ID H1 T
2021-02-05 41 2021-02-05 23:50:00 2021-02-06 07:20:00
2021-02-06 41 2021-02-06 23:50:00 2021-02-07 07:20:00
2021-02-07 41 2021-02-07 23:50:00 2021-02-08 07:20:00
20: S-H1
ID S H1
2021-02-11 20 2021-02-11 23:55:00 2021-02-13 00:15:00
2021-02-12 20 2021-02-12 23:55:00 2021-02-14 00:15:00
2021-02-13 20 2021-02-13 23:55:00 2021-02-15 00:15:00
21: H1-T
ID H1 T
2021-02-13 21 2021-02-13 00:15:00 2021-02-13 07:45:00
2021-02-14 21 2021-02-14 00:15:00 2021-02-14 07:45:00
2021-02-15 21 2021-02-15 00:15:00 2021-02-15 07:45:00
50: D-H1
ID D H1
2021-02-08 50 2021-02-08 01:45:00 2021-02-09 00:15:00
2021-02-09 50 2021-02-09 01:45:00 2021-02-10 00:15:00
2021-02-10 50 2021-02-10 01:45:00 2021-02-11 00:15:00
2021-02-11 50 2021-02-11 01:45:00 2021-02-12 00:15:00
51: H1-T
ID H1 T
2021-02-09 51 2021-02-09 00:15:00 2021-02-09 07:45:00
2021-02-10 51 2021-02-10 00:15:00 2021-02-10 07:45:00
2021-02-11 51 2021-02-11 00:15:00 2021-02-11 07:45:00
2021-02-12 51 2021-02-12 00:15:00 2021-02-12 07:45:00
30: D-H1
ID D H1
2021-02-15 30 2021-02-15 01:10:00 2021-02-15 23:40:00
2021-02-16 30 2021-02-16 01:10:00 2021-02-16 23:40:00
2021-02-17 30 2021-02-17 01:10:00 2021-02-17 23:40:00
2021-02-18 30 2021-02-18 01:10:00 2021-02-18 23:40:00
2021-02-19 30 2021-02-19 01:10:00 2021-02-19 23:40:00
2021-02-20 30 2021-02-20 01:10:00 2021-02-20 23:40:00
31: H1-T
ID H1 T
2021-02-15 31 2021-02-15 23:40:00 2021-02-16 07:10:00
2021-02-16 31 2021-02-16 23:40:00 2021-02-17 07:10:00
2021-02-17 31 2021-02-17 23:40:00 2021-02-18 07:10:00
2021-02-18 31 2021-02-18 23:40:00 2021-02-19 07:10:00
2021-02-19 31 2021-02-19 23:40:00 2021-02-20 07:10:00
2021-02-20 31 2021-02-20 23:40:00 2021-02-21 07:10:00
TrainRuns¶
Each TrainRun defines a row in the timetable of the train above
tr: TrainRun
for tr in t.train_run_iterator():
print(tr)
for sr in tr.sections_runs:
print(sr)
print("\n")
Out:
TR/8350/ID1/10/2021/2021-02-01
10.v2:2021-02-01 00:20 OTR=0 S-H1 2021-02-02 00:40 OTR=1
11.v2:2021-02-02 00:40 OTR=1 H1-T 2021-02-02 08:10 OTR=1
TR/8350/ID1/10/2021/2021-02-02
10.v2:2021-02-02 00:20 OTR=0 S-H1 2021-02-03 00:40 OTR=1
11.v2:2021-02-03 00:40 OTR=1 H1-T 2021-02-03 08:10 OTR=1
TR/8350/ID1/10/2021/2021-02-03
10.v2:2021-02-03 00:20 OTR=0 S-H1 2021-02-04 00:40 OTR=1
11.v2:2021-02-04 00:40 OTR=1 H1-T 2021-02-04 08:10 OTR=1
TR/8350/ID1/10/2021/2021-02-04
10.v2:2021-02-04 00:20 OTR=0 S-H1 2021-02-05 00:40 OTR=1
11.v2:2021-02-05 00:40 OTR=1 H1-T 2021-02-05 08:10 OTR=1
TR/8350/ID1/40/2021/2021-02-04
40.v1:2021-02-04 23:30 OTR=0 S-H1 2021-02-05 23:50 OTR=1
41.v1:2021-02-05 23:50 OTR=1 H1-T 2021-02-06 07:20 OTR=2
TR/8350/ID1/40/2021/2021-02-05
40.v1:2021-02-05 23:30 OTR=0 S-H1 2021-02-06 23:50 OTR=1
41.v1:2021-02-06 23:50 OTR=1 H1-T 2021-02-07 07:20 OTR=2
TR/8350/ID1/40/2021/2021-02-06
40.v1:2021-02-06 23:30 OTR=0 S-H1 2021-02-07 23:50 OTR=1
41.v1:2021-02-07 23:50 OTR=1 H1-T 2021-02-08 07:20 OTR=2
TR/8350/ID1/20/2021/2021-02-11
20.v2:2021-02-11 23:55 OTR=0 S-H1 2021-02-13 00:15 OTR=2
21.v2:2021-02-13 00:15 OTR=2 H1-T 2021-02-13 07:45 OTR=2
TR/8350/ID1/20/2021/2021-02-12
20.v2:2021-02-12 23:55 OTR=0 S-H1 2021-02-14 00:15 OTR=2
21.v2:2021-02-14 00:15 OTR=2 H1-T 2021-02-14 07:45 OTR=2
TR/8350/ID1/20/2021/2021-02-13
20.v2:2021-02-13 23:55 OTR=0 S-H1 2021-02-15 00:15 OTR=2
21.v2:2021-02-15 00:15 OTR=2 H1-T 2021-02-15 07:45 OTR=2
TR/8350/ID1/50/2021/2021-02-08
50.v1:2021-02-08 01:45 OTR=0 D-H1 2021-02-09 00:15 OTR=1
51.v1:2021-02-09 00:15 OTR=1 H1-T 2021-02-09 07:45 OTR=1
TR/8350/ID1/50/2021/2021-02-09
50.v1:2021-02-09 01:45 OTR=0 D-H1 2021-02-10 00:15 OTR=1
51.v1:2021-02-10 00:15 OTR=1 H1-T 2021-02-10 07:45 OTR=1
TR/8350/ID1/50/2021/2021-02-10
50.v1:2021-02-10 01:45 OTR=0 D-H1 2021-02-11 00:15 OTR=1
51.v1:2021-02-11 00:15 OTR=1 H1-T 2021-02-11 07:45 OTR=1
TR/8350/ID1/50/2021/2021-02-11
50.v1:2021-02-11 01:45 OTR=0 D-H1 2021-02-12 00:15 OTR=1
51.v1:2021-02-12 00:15 OTR=1 H1-T 2021-02-12 07:45 OTR=1
TR/8350/ID1/30/2021/2021-02-15
30.v2:2021-02-15 01:10 OTR=0 D-H1 2021-02-15 23:40 OTR=0
31.v2:2021-02-15 23:40 OTR=0 H1-T 2021-02-16 07:10 OTR=1
TR/8350/ID1/30/2021/2021-02-16
30.v2:2021-02-16 01:10 OTR=0 D-H1 2021-02-16 23:40 OTR=0
31.v2:2021-02-16 23:40 OTR=0 H1-T 2021-02-17 07:10 OTR=1
TR/8350/ID1/30/2021/2021-02-17
30.v2:2021-02-17 01:10 OTR=0 D-H1 2021-02-17 23:40 OTR=0
31.v2:2021-02-17 23:40 OTR=0 H1-T 2021-02-18 07:10 OTR=1
TR/8350/ID1/30/2021/2021-02-18
30.v2:2021-02-18 01:10 OTR=0 D-H1 2021-02-18 23:40 OTR=0
31.v2:2021-02-18 23:40 OTR=0 H1-T 2021-02-19 07:10 OTR=1
TR/8350/ID1/30/2021/2021-02-19
30.v2:2021-02-19 01:10 OTR=0 D-H1 2021-02-19 23:40 OTR=0
31.v2:2021-02-19 23:40 OTR=0 H1-T 2021-02-20 07:10 OTR=1
TR/8350/ID1/30/2021/2021-02-20
30.v2:2021-02-20 01:10 OTR=0 D-H1 2021-02-20 23:40 OTR=0
31.v2:2021-02-20 23:40 OTR=0 H1-T 2021-02-21 07:10 OTR=1
RoutingInformation as TrainInformation¶
An XML Dump of the routing information of this example according a new version of the TSI XSD.
See Routing planning for more details.
print(dump_routing_info_as_xml(t))
Out:
<TrainInformation xmlns="http://taf-jsg.info/schemes" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://taf-jsg.info/schemes file:///../tests/data/xml/taf_cat_complete_sector.xsd" RouteInfoVersion="2">
<RouteSection SectionVersion="2" HasReferenceCalender="true">
<SectionID>
<ObjectType>RS</ObjectType>
<Company>8350</Company>
<Core>---------ID1</Core>
<Variant>10</Variant>
<TimetableYear>2021</TimetableYear>
</SectionID>
<PlannedJourneyLocation>
<CountryCodeISO>DE</CountryCodeISO>
<LocationPrimaryCode>10004</LocationPrimaryCode>
<PrimaryLocationName>S</PrimaryLocationName>
<TimingAtLocation>
<Timing>
<Time>00:20:00</Time>
<Offset>0</Offset>
</Timing>
</TimingAtLocation>
</PlannedJourneyLocation>
<PlannedJourneyLocation>
<CountryCodeISO>DE</CountryCodeISO>
<LocationPrimaryCode>10005</LocationPrimaryCode>
<PrimaryLocationName>H1</PrimaryLocationName>
<TimingAtLocation>
<Timing>
<Time>00:40:00</Time>
<Offset>1</Offset>
</Timing>
</TimingAtLocation>
</PlannedJourneyLocation>
<PlannedCalendar>
<BitmapDays>1111</BitmapDays>
<ValidityPeriod>
<StartDateTime>2021-02-01T00:00:00</StartDateTime>
<EndDateTime>2021-02-04T00:00:00</EndDateTime>
</ValidityPeriod>
</PlannedCalendar>
<Successors>
<SectionID>
<ObjectType>RS</ObjectType>
<Company>8350</Company>
<Core>---------ID1</Core>
<Variant>11</Variant>
<TimetableYear>2021</TimetableYear>
</SectionID>
</Successors>
</RouteSection>
<RouteSection SectionVersion="2">
<SectionID>
<ObjectType>RS</ObjectType>
<Company>8350</Company>
<Core>---------ID1</Core>
<Variant>11</Variant>
<TimetableYear>2021</TimetableYear>
</SectionID>
<PlannedJourneyLocation>
<CountryCodeISO>DE</CountryCodeISO>
<LocationPrimaryCode>10005</LocationPrimaryCode>
<PrimaryLocationName>H1</PrimaryLocationName>
<TimingAtLocation>
<Timing>
<Time>00:40:00</Time>
<Offset>0</Offset>
</Timing>
</TimingAtLocation>
</PlannedJourneyLocation>
<PlannedJourneyLocation>
<CountryCodeISO>DE</CountryCodeISO>
<LocationPrimaryCode>10006</LocationPrimaryCode>
<PrimaryLocationName>T</PrimaryLocationName>
<TimingAtLocation>
<Timing>
<Time>08:10:00</Time>
<Offset>0</Offset>
</Timing>
</TimingAtLocation>
</PlannedJourneyLocation>
<PlannedCalendar>
<BitmapDays>1111</BitmapDays>
<ValidityPeriod>
<StartDateTime>2021-02-02T00:00:00</StartDateTime>
<EndDateTime>2021-02-05T00:00:00</EndDateTime>
</ValidityPeriod>
</PlannedCalendar>
</RouteSection>
<RouteSection SectionVersion="1" HasReferenceCalender="true">
<SectionID>
<ObjectType>RS</ObjectType>
<Company>8350</Company>
<Core>---------ID1</Core>
<Variant>40</Variant>
<TimetableYear>2021</TimetableYear>
</SectionID>
<PlannedJourneyLocation>
<CountryCodeISO>DE</CountryCodeISO>
<LocationPrimaryCode>10004</LocationPrimaryCode>
<PrimaryLocationName>S</PrimaryLocationName>
<TimingAtLocation>
<Timing>
<Time>23:30:00</Time>
<Offset>0</Offset>
</Timing>
</TimingAtLocation>
</PlannedJourneyLocation>
<PlannedJourneyLocation>
<CountryCodeISO>DE</CountryCodeISO>
<LocationPrimaryCode>10005</LocationPrimaryCode>
<PrimaryLocationName>H1</PrimaryLocationName>
<TimingAtLocation>
<Timing>
<Time>23:50:00</Time>
<Offset>1</Offset>
</Timing>
</TimingAtLocation>
</PlannedJourneyLocation>
<PlannedCalendar>
<BitmapDays>111</BitmapDays>
<ValidityPeriod>
<StartDateTime>2021-02-04T00:00:00</StartDateTime>
<EndDateTime>2021-02-06T00:00:00</EndDateTime>
</ValidityPeriod>
</PlannedCalendar>
<Successors>
<SectionID>
<ObjectType>RS</ObjectType>
<Company>8350</Company>
<Core>---------ID1</Core>
<Variant>41</Variant>
<TimetableYear>2021</TimetableYear>
</SectionID>
</Successors>
</RouteSection>
<RouteSection SectionVersion="1">
<SectionID>
<ObjectType>RS</ObjectType>
<Company>8350</Company>
<Core>---------ID1</Core>
<Variant>41</Variant>
<TimetableYear>2021</TimetableYear>
</SectionID>
<PlannedJourneyLocation>
<CountryCodeISO>DE</CountryCodeISO>
<LocationPrimaryCode>10005</LocationPrimaryCode>
<PrimaryLocationName>H1</PrimaryLocationName>
<TimingAtLocation>
<Timing>
<Time>23:50:00</Time>
<Offset>0</Offset>
</Timing>
</TimingAtLocation>
</PlannedJourneyLocation>
<PlannedJourneyLocation>
<CountryCodeISO>DE</CountryCodeISO>
<LocationPrimaryCode>10006</LocationPrimaryCode>
<PrimaryLocationName>T</PrimaryLocationName>
<TimingAtLocation>
<Timing>
<Time>07:20:00</Time>
<Offset>1</Offset>
</Timing>
</TimingAtLocation>
</PlannedJourneyLocation>
<PlannedCalendar>
<BitmapDays>111</BitmapDays>
<ValidityPeriod>
<StartDateTime>2021-02-05T00:00:00</StartDateTime>
<EndDateTime>2021-02-07T00:00:00</EndDateTime>
</ValidityPeriod>
</PlannedCalendar>
</RouteSection>
<RouteSection SectionVersion="2" HasReferenceCalender="true">
<SectionID>
<ObjectType>RS</ObjectType>
<Company>8350</Company>
<Core>---------ID1</Core>
<Variant>20</Variant>
<TimetableYear>2021</TimetableYear>
</SectionID>
<PlannedJourneyLocation>
<CountryCodeISO>DE</CountryCodeISO>
<LocationPrimaryCode>10004</LocationPrimaryCode>
<PrimaryLocationName>S</PrimaryLocationName>
<TimingAtLocation>
<Timing>
<Time>23:55:00</Time>
<Offset>0</Offset>
</Timing>
</TimingAtLocation>
</PlannedJourneyLocation>
<PlannedJourneyLocation>
<CountryCodeISO>DE</CountryCodeISO>
<LocationPrimaryCode>10005</LocationPrimaryCode>
<PrimaryLocationName>H1</PrimaryLocationName>
<TimingAtLocation>
<Timing>
<Time>00:15:00</Time>
<Offset>2</Offset>
</Timing>
</TimingAtLocation>
</PlannedJourneyLocation>
<PlannedCalendar>
<BitmapDays>111</BitmapDays>
<ValidityPeriod>
<StartDateTime>2021-02-11T00:00:00</StartDateTime>
<EndDateTime>2021-02-13T00:00:00</EndDateTime>
</ValidityPeriod>
</PlannedCalendar>
<Successors>
<SectionID>
<ObjectType>RS</ObjectType>
<Company>8350</Company>
<Core>---------ID1</Core>
<Variant>21</Variant>
<TimetableYear>2021</TimetableYear>
</SectionID>
</Successors>
</RouteSection>
<RouteSection SectionVersion="2">
<SectionID>
<ObjectType>RS</ObjectType>
<Company>8350</Company>
<Core>---------ID1</Core>
<Variant>21</Variant>
<TimetableYear>2021</TimetableYear>
</SectionID>
<PlannedJourneyLocation>
<CountryCodeISO>DE</CountryCodeISO>
<LocationPrimaryCode>10005</LocationPrimaryCode>
<PrimaryLocationName>H1</PrimaryLocationName>
<TimingAtLocation>
<Timing>
<Time>00:15:00</Time>
<Offset>0</Offset>
</Timing>
</TimingAtLocation>
</PlannedJourneyLocation>
<PlannedJourneyLocation>
<CountryCodeISO>DE</CountryCodeISO>
<LocationPrimaryCode>10006</LocationPrimaryCode>
<PrimaryLocationName>T</PrimaryLocationName>
<TimingAtLocation>
<Timing>
<Time>07:45:00</Time>
<Offset>0</Offset>
</Timing>
</TimingAtLocation>
</PlannedJourneyLocation>
<PlannedCalendar>
<BitmapDays>111</BitmapDays>
<ValidityPeriod>
<StartDateTime>2021-02-13T00:00:00</StartDateTime>
<EndDateTime>2021-02-15T00:00:00</EndDateTime>
</ValidityPeriod>
</PlannedCalendar>
</RouteSection>
<RouteSection SectionVersion="1" HasReferenceCalender="true">
<SectionID>
<ObjectType>RS</ObjectType>
<Company>8350</Company>
<Core>---------ID1</Core>
<Variant>50</Variant>
<TimetableYear>2021</TimetableYear>
</SectionID>
<PlannedJourneyLocation>
<CountryCodeISO>DE</CountryCodeISO>
<LocationPrimaryCode>10003</LocationPrimaryCode>
<PrimaryLocationName>D</PrimaryLocationName>
<TimingAtLocation>
<Timing>
<Time>01:45:00</Time>
<Offset>0</Offset>
</Timing>
</TimingAtLocation>
</PlannedJourneyLocation>
<PlannedJourneyLocation>
<CountryCodeISO>DE</CountryCodeISO>
<LocationPrimaryCode>10005</LocationPrimaryCode>
<PrimaryLocationName>H1</PrimaryLocationName>
<TimingAtLocation>
<Timing>
<Time>00:15:00</Time>
<Offset>1</Offset>
</Timing>
</TimingAtLocation>
</PlannedJourneyLocation>
<PlannedCalendar>
<BitmapDays>1111</BitmapDays>
<ValidityPeriod>
<StartDateTime>2021-02-08T00:00:00</StartDateTime>
<EndDateTime>2021-02-11T00:00:00</EndDateTime>
</ValidityPeriod>
</PlannedCalendar>
<Successors>
<SectionID>
<ObjectType>RS</ObjectType>
<Company>8350</Company>
<Core>---------ID1</Core>
<Variant>51</Variant>
<TimetableYear>2021</TimetableYear>
</SectionID>
</Successors>
</RouteSection>
<RouteSection SectionVersion="1">
<SectionID>
<ObjectType>RS</ObjectType>
<Company>8350</Company>
<Core>---------ID1</Core>
<Variant>51</Variant>
<TimetableYear>2021</TimetableYear>
</SectionID>
<PlannedJourneyLocation>
<CountryCodeISO>DE</CountryCodeISO>
<LocationPrimaryCode>10005</LocationPrimaryCode>
<PrimaryLocationName>H1</PrimaryLocationName>
<TimingAtLocation>
<Timing>
<Time>00:15:00</Time>
<Offset>0</Offset>
</Timing>
</TimingAtLocation>
</PlannedJourneyLocation>
<PlannedJourneyLocation>
<CountryCodeISO>DE</CountryCodeISO>
<LocationPrimaryCode>10006</LocationPrimaryCode>
<PrimaryLocationName>T</PrimaryLocationName>
<TimingAtLocation>
<Timing>
<Time>07:45:00</Time>
<Offset>0</Offset>
</Timing>
</TimingAtLocation>
</PlannedJourneyLocation>
<PlannedCalendar>
<BitmapDays>1111</BitmapDays>
<ValidityPeriod>
<StartDateTime>2021-02-09T00:00:00</StartDateTime>
<EndDateTime>2021-02-12T00:00:00</EndDateTime>
</ValidityPeriod>
</PlannedCalendar>
</RouteSection>
<RouteSection SectionVersion="2" HasReferenceCalender="true">
<SectionID>
<ObjectType>RS</ObjectType>
<Company>8350</Company>
<Core>---------ID1</Core>
<Variant>30</Variant>
<TimetableYear>2021</TimetableYear>
</SectionID>
<PlannedJourneyLocation>
<CountryCodeISO>DE</CountryCodeISO>
<LocationPrimaryCode>10003</LocationPrimaryCode>
<PrimaryLocationName>D</PrimaryLocationName>
<TimingAtLocation>
<Timing>
<Time>01:10:00</Time>
<Offset>0</Offset>
</Timing>
</TimingAtLocation>
</PlannedJourneyLocation>
<PlannedJourneyLocation>
<CountryCodeISO>DE</CountryCodeISO>
<LocationPrimaryCode>10005</LocationPrimaryCode>
<PrimaryLocationName>H1</PrimaryLocationName>
<TimingAtLocation>
<Timing>
<Time>23:40:00</Time>
<Offset>0</Offset>
</Timing>
</TimingAtLocation>
</PlannedJourneyLocation>
<PlannedCalendar>
<BitmapDays>111111</BitmapDays>
<ValidityPeriod>
<StartDateTime>2021-02-15T00:00:00</StartDateTime>
<EndDateTime>2021-02-20T00:00:00</EndDateTime>
</ValidityPeriod>
</PlannedCalendar>
<Successors>
<SectionID>
<ObjectType>RS</ObjectType>
<Company>8350</Company>
<Core>---------ID1</Core>
<Variant>31</Variant>
<TimetableYear>2021</TimetableYear>
</SectionID>
</Successors>
</RouteSection>
<RouteSection SectionVersion="2">
<SectionID>
<ObjectType>RS</ObjectType>
<Company>8350</Company>
<Core>---------ID1</Core>
<Variant>31</Variant>
<TimetableYear>2021</TimetableYear>
</SectionID>
<PlannedJourneyLocation>
<CountryCodeISO>DE</CountryCodeISO>
<LocationPrimaryCode>10005</LocationPrimaryCode>
<PrimaryLocationName>H1</PrimaryLocationName>
<TimingAtLocation>
<Timing>
<Time>23:40:00</Time>
<Offset>0</Offset>
</Timing>
</TimingAtLocation>
</PlannedJourneyLocation>
<PlannedJourneyLocation>
<CountryCodeISO>DE</CountryCodeISO>
<LocationPrimaryCode>10006</LocationPrimaryCode>
<PrimaryLocationName>T</PrimaryLocationName>
<TimingAtLocation>
<Timing>
<Time>07:10:00</Time>
<Offset>1</Offset>
</Timing>
</TimingAtLocation>
</PlannedJourneyLocation>
<PlannedCalendar>
<BitmapDays>111111</BitmapDays>
<ValidityPeriod>
<StartDateTime>2021-02-15T00:00:00</StartDateTime>
<EndDateTime>2021-02-20T00:00:00</EndDateTime>
</ValidityPeriod>
</PlannedCalendar>
</RouteSection>
<Route key="10-11">
<PlannedCalendar>
<BitmapDays>1111</BitmapDays>
<ValidityPeriod>
<StartDateTime>2021-02-01T00:00:00</StartDateTime>
<EndDateTime>2021-02-04T00:00:00</EndDateTime>
</ValidityPeriod>
</PlannedCalendar>
<PlannedJourneyLocation JourneyLocationTypeCode="01">
<CountryCodeISO>DE</CountryCodeISO>
<LocationPrimaryCode>10004</LocationPrimaryCode>
<PrimaryLocationName>S</PrimaryLocationName>
<TimingAtLocation>
<Timing>
<Time>00:20:00</Time>
<Offset>0</Offset>
</Timing>
</TimingAtLocation>
</PlannedJourneyLocation>
<PlannedJourneyLocation JourneyLocationTypeCode="04">
<CountryCodeISO>DE</CountryCodeISO>
<LocationPrimaryCode>10005</LocationPrimaryCode>
<PrimaryLocationName>H1</PrimaryLocationName>
<TimingAtLocation>
<Timing>
<Time>00:40:00</Time>
<Offset>1</Offset>
</Timing>
</TimingAtLocation>
</PlannedJourneyLocation>
<PlannedJourneyLocation JourneyLocationTypeCode="03">
<CountryCodeISO>DE</CountryCodeISO>
<LocationPrimaryCode>10006</LocationPrimaryCode>
<PrimaryLocationName>T</PrimaryLocationName>
<TimingAtLocation>
<Timing>
<Time>08:10:00</Time>
<Offset>0</Offset>
</Timing>
</TimingAtLocation>
</PlannedJourneyLocation>
</Route>
<Route key="40-41">
<PlannedCalendar>
<BitmapDays>111</BitmapDays>
<ValidityPeriod>
<StartDateTime>2021-02-04T00:00:00</StartDateTime>
<EndDateTime>2021-02-06T00:00:00</EndDateTime>
</ValidityPeriod>
</PlannedCalendar>
<PlannedJourneyLocation JourneyLocationTypeCode="01">
<CountryCodeISO>DE</CountryCodeISO>
<LocationPrimaryCode>10004</LocationPrimaryCode>
<PrimaryLocationName>S</PrimaryLocationName>
<TimingAtLocation>
<Timing>
<Time>23:30:00</Time>
<Offset>0</Offset>
</Timing>
</TimingAtLocation>
</PlannedJourneyLocation>
<PlannedJourneyLocation JourneyLocationTypeCode="04">
<CountryCodeISO>DE</CountryCodeISO>
<LocationPrimaryCode>10005</LocationPrimaryCode>
<PrimaryLocationName>H1</PrimaryLocationName>
<TimingAtLocation>
<Timing>
<Time>23:50:00</Time>
<Offset>1</Offset>
</Timing>
</TimingAtLocation>
</PlannedJourneyLocation>
<PlannedJourneyLocation JourneyLocationTypeCode="03">
<CountryCodeISO>DE</CountryCodeISO>
<LocationPrimaryCode>10006</LocationPrimaryCode>
<PrimaryLocationName>T</PrimaryLocationName>
<TimingAtLocation>
<Timing>
<Time>07:20:00</Time>
<Offset>1</Offset>
</Timing>
</TimingAtLocation>
</PlannedJourneyLocation>
</Route>
<Route key="20-21">
<PlannedCalendar>
<BitmapDays>111</BitmapDays>
<ValidityPeriod>
<StartDateTime>2021-02-11T00:00:00</StartDateTime>
<EndDateTime>2021-02-13T00:00:00</EndDateTime>
</ValidityPeriod>
</PlannedCalendar>
<PlannedJourneyLocation JourneyLocationTypeCode="01">
<CountryCodeISO>DE</CountryCodeISO>
<LocationPrimaryCode>10004</LocationPrimaryCode>
<PrimaryLocationName>S</PrimaryLocationName>
<TimingAtLocation>
<Timing>
<Time>23:55:00</Time>
<Offset>0</Offset>
</Timing>
</TimingAtLocation>
</PlannedJourneyLocation>
<PlannedJourneyLocation JourneyLocationTypeCode="04">
<CountryCodeISO>DE</CountryCodeISO>
<LocationPrimaryCode>10005</LocationPrimaryCode>
<PrimaryLocationName>H1</PrimaryLocationName>
<TimingAtLocation>
<Timing>
<Time>00:15:00</Time>
<Offset>2</Offset>
</Timing>
</TimingAtLocation>
</PlannedJourneyLocation>
<PlannedJourneyLocation JourneyLocationTypeCode="03">
<CountryCodeISO>DE</CountryCodeISO>
<LocationPrimaryCode>10006</LocationPrimaryCode>
<PrimaryLocationName>T</PrimaryLocationName>
<TimingAtLocation>
<Timing>
<Time>07:45:00</Time>
<Offset>0</Offset>
</Timing>
</TimingAtLocation>
</PlannedJourneyLocation>
</Route>
<Route key="50-51">
<PlannedCalendar>
<BitmapDays>1111</BitmapDays>
<ValidityPeriod>
<StartDateTime>2021-02-08T00:00:00</StartDateTime>
<EndDateTime>2021-02-11T00:00:00</EndDateTime>
</ValidityPeriod>
</PlannedCalendar>
<PlannedJourneyLocation JourneyLocationTypeCode="01">
<CountryCodeISO>DE</CountryCodeISO>
<LocationPrimaryCode>10003</LocationPrimaryCode>
<PrimaryLocationName>D</PrimaryLocationName>
<TimingAtLocation>
<Timing>
<Time>01:45:00</Time>
<Offset>0</Offset>
</Timing>
</TimingAtLocation>
</PlannedJourneyLocation>
<PlannedJourneyLocation JourneyLocationTypeCode="04">
<CountryCodeISO>DE</CountryCodeISO>
<LocationPrimaryCode>10005</LocationPrimaryCode>
<PrimaryLocationName>H1</PrimaryLocationName>
<TimingAtLocation>
<Timing>
<Time>00:15:00</Time>
<Offset>1</Offset>
</Timing>
</TimingAtLocation>
</PlannedJourneyLocation>
<PlannedJourneyLocation JourneyLocationTypeCode="03">
<CountryCodeISO>DE</CountryCodeISO>
<LocationPrimaryCode>10006</LocationPrimaryCode>
<PrimaryLocationName>T</PrimaryLocationName>
<TimingAtLocation>
<Timing>
<Time>07:45:00</Time>
<Offset>0</Offset>
</Timing>
</TimingAtLocation>
</PlannedJourneyLocation>
</Route>
<Route key="30-31">
<PlannedCalendar>
<BitmapDays>111111</BitmapDays>
<ValidityPeriod>
<StartDateTime>2021-02-15T00:00:00</StartDateTime>
<EndDateTime>2021-02-20T00:00:00</EndDateTime>
</ValidityPeriod>
</PlannedCalendar>
<PlannedJourneyLocation JourneyLocationTypeCode="01">
<CountryCodeISO>DE</CountryCodeISO>
<LocationPrimaryCode>10003</LocationPrimaryCode>
<PrimaryLocationName>D</PrimaryLocationName>
<TimingAtLocation>
<Timing>
<Time>01:10:00</Time>
<Offset>0</Offset>
</Timing>
</TimingAtLocation>
</PlannedJourneyLocation>
<PlannedJourneyLocation JourneyLocationTypeCode="04">
<CountryCodeISO>DE</CountryCodeISO>
<LocationPrimaryCode>10005</LocationPrimaryCode>
<PrimaryLocationName>H1</PrimaryLocationName>
<TimingAtLocation>
<Timing>
<Time>23:40:00</Time>
<Offset>0</Offset>
</Timing>
</TimingAtLocation>
</PlannedJourneyLocation>
<PlannedJourneyLocation JourneyLocationTypeCode="03">
<CountryCodeISO>DE</CountryCodeISO>
<LocationPrimaryCode>10006</LocationPrimaryCode>
<PrimaryLocationName>T</PrimaryLocationName>
<TimingAtLocation>
<Timing>
<Time>07:10:00</Time>
<Offset>1</Offset>
</Timing>
</TimingAtLocation>
</PlannedJourneyLocation>
</Route>
</TrainInformation>
Total running time of the script: ( 0 minutes 0.974 seconds)