summaryrefslogtreecommitdiff
path: root/lib/Travel/Status/DE/EFA/Result.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Travel/Status/DE/EFA/Result.pm')
-rw-r--r--lib/Travel/Status/DE/EFA/Result.pm64
1 files changed, 41 insertions, 23 deletions
diff --git a/lib/Travel/Status/DE/EFA/Result.pm b/lib/Travel/Status/DE/EFA/Result.pm
index b8553d7..ee1eafd 100644
--- a/lib/Travel/Status/DE/EFA/Result.pm
+++ b/lib/Travel/Status/DE/EFA/Result.pm
@@ -4,15 +4,14 @@ use strict;
use warnings;
use 5.010;
-no if $] >= 5.018, warnings => 'experimental::smartmatch';
-
use parent 'Class::Accessor';
-our $VERSION = '1.17';
+our $VERSION = '2.00';
Travel::Status::DE::EFA::Result->mk_ro_accessors(
- qw(countdown date delay destination is_cancelled info key line lineref
- mot platform platform_db platform_name sched_date sched_time time type)
+ qw(countdown datetime delay destination is_cancelled info key line lineref
+ mot occupancy operator platform platform_db platform_name rt_datetime
+ sched_datetime train_type train_name train_no type)
);
my @mot_mapping = qw{
@@ -33,6 +32,8 @@ sub new {
$ref->{is_cancelled} = 0;
}
+ $ref->{datetime} = $ref->{rt_datetime} // $ref->{sched_datetime};
+
return bless( $ref, $obj );
}
@@ -128,14 +129,14 @@ departure received by Travel::Status::DE::EFA
for my $departure ($status->results) {
printf(
"At %s: %s to %s from platform %d\n",
- $departure->time, $departure->line, $departure->destination,
- $departure->platform
+ $departure->datetime->strftime('%H:%M'), $departure->line,
+ $departure->destination, $departure->platform
);
}
=head1 VERSION
-version 1.17
+version 2.00
=head1 DESCRIPTION
@@ -147,20 +148,19 @@ line number and destination.
=head2 ACCESSORS
-"Actual" in the description means that the delay (if available) is already
-included in the calculation, "Scheduled" means it isn't.
-
=over
=item $departure->countdown
-Actual time in minutes from now until the tram/bus/train will depart.
+Time in minutes from now until the tram/bus/train will depart, including
+realtime data if available.
If delay information is available, it is already included.
-=item $departure->date
+=item $departure->datetime
-Actual departure date (DD.MM.YYYY).
+DateTime(3pm) object for departure date and time. Realtime data if available,
+schedule data otherwise.
=item $departure->delay
@@ -208,6 +208,14 @@ and 11.
Returns the "mode of transport", for instance "zug", "s-bahn", "tram" or
"sonstige".
+=item $departure->occupancy
+
+Returns expected occupancy, if available, undef otherwise.
+
+Occupancy values are passed from the backend as-is. Known values are
+"MANY_SEATS" (low occupation), "FEW_SEATS" (high occupation), and
+"STANDING_ONLY" (very high occupation).
+
=item $departure->platform
Departure platform number (may not be a number).
@@ -228,25 +236,35 @@ object.
=item $departure->route_pre
-List of stations the train passed (or will have passed) befoe this stop.
+List of stations the vehicle passed (or will have passed) before this stop.
Each station is a Travel::Status::DE::EFA::Stop(3pm) object.
=item $departure->route_post
-List of stations the train will pass after this stop.
+List of stations the vehicle will pass after this stop.
Each station is a Travel::Status::DE::EFA::Stop(3pm) object.
-=item $departure->sched_date
+=item $departure->rt_datetime
+
+DateTime(3pm) object holding the departure date and time according to
+realtime data. Undef if unknown / unavailable.
+
+=item $departure->sched_datetime
+
+DateTime(3pm) object holding the scheduled departure date and time.
+
+=item $departure->train_type
-Scheduled departure date (DD.MM.YYYY).
+Train type, e.g. "ICE". Typically only defined for long-distance trains.
-=item $departure->sched_time
+=item $departure->train_name
-Scheduled departure time (HH:MM).
+Train name, e.g. "ICE International" or "InterCityExpresS" or "Deichgraf".
+Typically only defined for long-distance trains.
-=item $departure->time
+=item $departure->train_no
-Actual departure time (HH:MM).
+Train number. Only defined if departure is a train.
=item $departure->type
@@ -323,7 +341,7 @@ Travel::Status::DE::EFA(3pm).
=head1 AUTHOR
-Copyright (C) 2011-2015 by Daniel Friesel E<lt>derf@finalrewind.orgE<gt>
+Copyright (C) 2011-2023 by Birte Kristina Friesel E<lt>derf@finalrewind.orgE<gt>
=head1 LICENSE