summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/Travel/Routing/DE/DBRIS/Connection.pm15
-rw-r--r--lib/Travel/Routing/DE/DBRIS/Connection/Segment.pm6
2 files changed, 14 insertions, 7 deletions
diff --git a/lib/Travel/Routing/DE/DBRIS/Connection.pm b/lib/Travel/Routing/DE/DBRIS/Connection.pm
index d7c74f0..6ff4507 100644
--- a/lib/Travel/Routing/DE/DBRIS/Connection.pm
+++ b/lib/Travel/Routing/DE/DBRIS/Connection.pm
@@ -13,7 +13,7 @@ use Travel::Routing::DE::DBRIS::Connection::Segment;
our $VERSION = '0.02';
Travel::Routing::DE::DBRIS::Connection->mk_ro_accessors(
- qw(changes
+ qw(changes feasibility is_cancelled is_unscheduled is_unlikely
duration sched_duration rt_duration
sched_dep rt_dep dep
sched_arr rt_arr arr
@@ -30,11 +30,14 @@ sub new {
my $strptime = $opt{strptime_obj};
my $ref = {
- changes => $json->{umstiegsAnzahl},
- id => $json->{tripId},
- price => $json->{angebotsPreis}{betrag},
- price_unit => $json->{angebotsPreis}{waehrung},
- strptime_obj => $strptime,
+ changes => $json->{umstiegsAnzahl},
+ feasibility => $json->{ereignisZusammenfassung}{anschlussBewertungCode}
+ // -1,
+ is_unscheduled => $json->{isAlternativeVerbindung},
+ id => $json->{tripId},
+ price => $json->{angebotsPreis}{betrag},
+ price_unit => $json->{angebotsPreis}{waehrung},
+ strptime_obj => $strptime,
};
if ( $ref->{price_unit} and $ref->{price_unit} eq 'EUR' ) {
diff --git a/lib/Travel/Routing/DE/DBRIS/Connection/Segment.pm b/lib/Travel/Routing/DE/DBRIS/Connection/Segment.pm
index f2278ef..1b01d77 100644
--- a/lib/Travel/Routing/DE/DBRIS/Connection/Segment.pm
+++ b/lib/Travel/Routing/DE/DBRIS/Connection/Segment.pm
@@ -18,7 +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
+ arr_delay dep_delay delay feasibility is_unlikely
journey_id
occupancy occupancy_first occupancy_second
is_transfer is_walk walk_name distance_m
@@ -42,6 +42,7 @@ sub new {
train_long => $json->{verkehrsmittel}{langText},
direction => $json->{verkehrsmittel}{richtung},
distance_m => $json->{distanz},
+ feasibility => $json->{anschlussBewertungCode},
};
if ( my $ts = $json->{abfahrtsZeitpunkt} ) {
@@ -134,6 +135,9 @@ sub new {
for my $message ( @{ $json->{risNotizen} // [] } ) {
push( @{ $ref->{messages_ris} }, $message );
+ if ( $message->{key} eq 'text.realtime.journey.missed.connection' ) {
+ $ref->{is_unlikely} = 1;
+ }
}
for my $message ( @{ $json->{priorisierteMeldungen} // [] } ) {