summaryrefslogtreecommitdiff
path: root/lib/Travel
diff options
context:
space:
mode:
authorBirte Kristina Friesel <derf@finalrewind.org>2025-01-19 11:47:30 +0100
committerBirte Kristina Friesel <derf@finalrewind.org>2025-01-19 11:47:30 +0100
commit93174faab3ab4bee831642e78e437b6f82ae65a4 (patch)
tree00120b365ff6a89594bb29866a5676d3a2955790 /lib/Travel
parenta1add16883b775bf8a7032df14ed6450e4bd0811 (diff)
Provide delay data
Diffstat (limited to 'lib/Travel')
-rw-r--r--lib/Travel/Routing/DE/DBRIS/Connection/Segment.pm15
1 files changed, 15 insertions, 0 deletions
diff --git a/lib/Travel/Routing/DE/DBRIS/Connection/Segment.pm b/lib/Travel/Routing/DE/DBRIS/Connection/Segment.pm
index 840edba..8523f03 100644
--- a/lib/Travel/Routing/DE/DBRIS/Connection/Segment.pm
+++ b/lib/Travel/Routing/DE/DBRIS/Connection/Segment.pm
@@ -18,6 +18,7 @@ Travel::Routing::DE::DBRIS::Connection::Segment->mk_ro_accessors(
sched_dep rt_dep dep dep_platform
sched_arr rt_arr arr arr_platform
sched_duration rt_duration duration duration_percent
+ arr_delay dep_delay delay
journey_id
occupancy occupancy_first occupancy_second
is_transfer is_walk walk_name distance_m
@@ -59,6 +60,20 @@ sub new {
}
$ref->{arr} = $ref->{rt_arr} // $ref->{sched_arr};
+ if ( $ref->{sched_dep} and $ref->{rt_dep} ) {
+ $ref->{dep_delay}
+ = $ref->{rt_dep}->subtract_datetime( $ref->{sched_dep} )
+ ->in_units('minutes');
+ }
+
+ if ( $ref->{sched_arr} and $ref->{rt_arr} ) {
+ $ref->{arr_delay}
+ = $ref->{rt_arr}->subtract_datetime( $ref->{sched_arr} )
+ ->in_units('minutes');
+ }
+
+ $ref->{delay} = $ref->{arr_delay} // $ref->{dep_delay};
+
# PUBLICTRANSPORT uses abschnittsDauerInSeconds; WALK uses abschnittsDauer
if ( my $d = $json->{abschnittsDauerInSeconds} // $json->{abschnittsDauer} )
{