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,
);
}
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.
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" or
"Niederflurstrab". However, it may also
contain special values such as "Fussweg"
(for a direct connection without transit vehicles) or
"nicht 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.
$part->via does not work reliably.
Copyright (C) 2011-2015 by Daniel Friesel
<derf@finalrewind.org>
0. You just DO WHAT THE FUCK YOU WANT TO.