NAME

Travel::Routing::DE::HAFAS::Connection::Section - A single trip between two stops

SYNOPSIS

	# $connection is a Travel::Routing::DE::HAFAS::Connection object
	for my $sec ( $connection->sections ) {
		if ($sec->type eq 'JNY') {
			printf("%s -> %s\n%s ab %s\n%s an %s\n\n",
				$sec->journey->name,
				$sec->journey->direction,
				$sec->dep->strftime('%H:%M'),
				$sec->dep_loc->name,
				$sec->arr->strftime('%H:%M'),
				$sec->arr_loc->name,
			);
		}
	}

VERSION

version 0.09

DESCRIPTION

Travel::Routing::DE::HAFAS::Connection::Section describes a single section between two stops, which is typically a public transit trip or a walk. It is part of a series of sections held by Travel::Routing::DE::HAFAS::Connection(3pm).

METHODS

Some accessors depend on the section type. Those are annotated with the types in which they are valid and return undef when called in other contexts.

ACCESSORS

$section->arr_cancelled

True if the arrival at the end of this section has been cancelled. False otherwise.

$section->arr

DateTime(3pm) object holding the arrival time and date. Based on real-time data if available, falls back to schedule data otherwise.

$section->arr_delay

Arrival delay in minutes. Undef if unknown.

$section->arr_loc

Travel::Status::DE::HAFAS::Location(3pm) object describing the arrival stop.

$section->arr_platform

Arrival platform as string, not necessarily numeric. Undef if unknown.

$section->dep_cancelled

True if the departure at the start of this section has been cancelled. False otherwise.

$section->dep

DateTime(3pm) object holding the departure time and date. Based on real-time data if available, falls back to schedule data otherwise.

$section->dep_delay

Departure dlay in minutes. Undef if unknown.

$section->dep_loc

Travel::Status::DE::HAFAS::Location(3pm) object describing the departure stop.

$section->dep_platform
$section->distance (TRSF, WALK)

Transfer or walking distance in meters. Does not take vertical elevation changes into account.

$section->duration (TRSF, WALK)

DateTime::Duration(3pm) oobject holding the estimated transfer or walk duration. Typically assumes a slow pace.

$section->journey (JNY)

Travel::Status::DE::HAFAS::Journey(3pm) instance describing the journey (mode of transport, intermediate stops, etc.).

$sec->load

Maximum expected occupancy along this section. Returns a hashref with keys FIRST and SECOND; each value ranges from 1 (low occupancy) to 4 (fully booked). Returns undef if occupancy data is not available.

$section->messages

List of Travel::Status::DE::HAFAS::Message(3pm) objects associated with this connection section. Typically contains messages related to the mode of transport, such as construction sites, Wi-Fi availability, and the like.

$section->rt_arr

DateTime(3pm) object holding real-time arrival if available. Undef otherwise.

$section->rt_dep

DateTime(3pm) object holding real-time departure if available. Undef otherwise.

$section->sched_arr

DateTime(3pm) object holding scheduled arrival if available. Undef otherwise.

$section->schep_dep

DateTime(3pm) object holding scheduled departure if available. Undef otherwise.

$section->transfer_duration (JNY)

DateTime::Duration(3pm) object holding the difference between the departure of this journey and the arrival of the previous journey in the connection -- i.e., the amount of time available for changing platforms. May be negative. Undef for the first journey in a connection.

$section->type

Type of this section as exposeed by the HAFAS backend. Known types: JNY (a public transit journey), TRSF (unspecified local transit), and WALK (walking).

DIAGNOSTICS

None.

DEPENDENCIES

DateTime::Duration(3pm), Travel::Routing::DE::HAFAS::Utils(3pm).

BUGS AND LIMITATIONS

None known.

SEE ALSO

Travel::Routing::DE::HAFAS(3pm), Travel::Routing::DE::HAFAS::Connection(3pm).

AUTHOR

Copyright (C) 2023 by Birte Kristina Friesel <derf@finalrewind.org>

LICENSE

This program is licensed under the same terms as Perl itself.