NAME
Travel::Routing::DE::EFA::Route::Part - Describes one connection between two points, without interchanges
SYNOPSIS
for my $part ( $route->parts ) {
if ( $part->regular_notes ) {
say join( "\n", $part->regular_notes );
}
if ( $part->current_notes ) {
say join( "\n", map [ $_->{summary} ] $part->current_notes );
}
printf(
"%s at %s -> %s at %s, via %s to %s",
$part->departure_time, $part->departure_stop,
$part->arrival_time, $part->arrival_stop,
$part->train_line, $part->train_destination,
);
}
VERSION
version 2.14
DESCRIPTION
Travel::Routing::DE::EFA::Route::Part holds one specific connection (without interchanges) between two points. It specifies the start/stop point and time, the train line and its destination, and optional additional data.
It is usually obtained by a call to Travel::Routing::DE::EFA::Route(3pm)'s parts method.
METHODS
ACCESSORS
"Actual" in the description means that the delay (if available) is already included in the calculation, "Scheduled" means it isn't.
- $part->arrival_stop
-
arrival stop (city name plus station name)
- $part->arrival_platform
-
arrival platform (either "Gleis x" or "Bstg. x")
- $part->arrival_stop_and_platform
-
"stop: platform" concatenation
- $part->arrival_date
-
Actual arrival date in DD.MM.YYYY format
- $part->arrival_time
-
Actual arrival time in HH:MM format
- $part->arrival_sdate
-
Scheduled arrival date in DD.MM.YYYY format
- $part->arrival_stime
-
Scheduled arrival time in HH:MM format
- $part->arrival_routemaps
-
List of URLs, may be empty. Each URL poinst to a transfer map for the arrival station, usually outlining how to transfer from this train to the next one (if applicable).
- $part->arrival_stationmaps
-
List of URLs, may be empty. Each URL points to an HTML map of the arrival station.
- $part->current_notes
-
Remarks about unscheduled changes to the line serving this connaction part, such as cancelled stops. Most times, the EFA service does not include this information in its route calculations.
Returns a list of Travel::Routing::DE::EFA::Route::Message(3pm) objects.
- $part->delay
-
delay in minutes, 0 if unknown
- $part->departure_stop
-
departure stop (city name plus station name)
- $part->departure_platform
-
departure platform (either "Gleis x" or "Bstg. x")
- $part->departure_stop_and_platform
-
"stop: platform" concatenation
- $part->departure_date
-
Actual departure date in DD.MM.YYYY format
- $part->departure_time
-
Actual departure time in HH:MM format
- $part->departure_sdate
-
Scheduled departure date in DD.MM.YYYY format
- $part->departure_stime
-
Scheduled departure time in HH:MM format
- $part->departure_routemaps
-
List of URLs, may be empty. Each URL points to a PDF a transfer map for the departure station, usually outlining how to transfer from thep previous train (if applicable) to this one.
- $part->departure_stationmaps
-
List of URLs, may be empty. Each URL poinst to an HTML map of the departure station.
- $part->footpath_duration
-
Walking duration when transferring before / after / during this trip in minutes. The meaning depends on the value of footpath_type.
- $part->footpath_parts
-
Returns a list of [type, level] arrayrefs describing the footpath. For instance, ["ESCALATOR", "UP"], ["LEVEL", "LEVEL"], ["STAIRS", "UP"] means first taking an escalator up, then walking a while, and then taking a flight of stairs up again.
The content of type and level comes directly from the EFA backend. At the moment, the following values are known:
- $part->footpath_type
-
type of this footpath, passed through from the EFA backend. The value "AFTER" indicates a footpath (transfer) after this route part. The value "IDEST" indicates that this route part already is a footpath (aka a walking connection between two stops), so the footpath accessors contain redundant information. Other values such as "BEFORE" may also be returned, but this is unknown at this point.
- $part->regular_notes
-
Remarks about the line serving this connaction part. Returns a list of Travel::Routing::DE::EFA::Route::Message(3pm) objects.
- $part->train_destination
-
Destination of the line providing the connection. May be empty.
- $part->train_line
-
Name / number of the line. May be empty.
- $part->train_product
-
Usually the prefix of train_line, for instance
U-Bahn
orNiederflurstrab
. However, it may also contain special values such asFußweg
(for a direct connection without transit vehicles) ornicht umsteigen
(in case a vehicle changes its line number at a stop). In those cases, train_destination and train_line are usually empty. - $part->via
-
Returns a list of
[ "DD.MM.YYYY", "HH:MM", stop, platform ]
arrayrefs encoding the stops passed between departure_stop and arrival_stop, if supported by the backend. Returns nothing / an empty list otherwise.
DIAGNOSTICS
None.
DEPENDENCIES
Class::Accessor(3pm)
BUGS AND LIMITATIONS
$part->via does not work reliably.
SEE ALSO
Travel::Routing::DE::EFA::Route::Message(3pm), Travel::Routing::DE::EFA(3pm), Class::Accessor(3pm).
AUTHOR
Copyright (C) 2011-2015 by Daniel Friesel <derf@finalrewind.org>
LICENSE
0. You just DO WHAT THE FUCK YOU WANT TO.