$efa = Travel::Routing::DE::EFA->new(%opts)
Returns a new Travel::Routing::DE::EFA object and sets up its POST data via %opts.
Valid hash keys and their values are:
efa_url => efa_url
Mandatory. Sets the entry point to the EFA itinerary service. See "efa --list" for a list of
supported services.
If you found a URL not listed there, please send it to <derf@finalrewind.org>.
origin => [city,stop [ ,type ] ]
Mandatory. Sets the start of the journey. type is optional and may be one of stop (default),
address (street and house number) or poi ("point of interest").
destination => [city,stop [ ,type ] ]
Mandatory. Sets the end of the journey, see origin.
via => [city,stop [ ,type ] ]
Optional. Specifies an intermediate stop which the resulting itinerary must contain. See origin
for arguments.
arrival_time => HH:MM
Journey end time
departure_time => HH:MM
Journey start time. Default: now
date => DD.MM.[YYYY]
Journey date. Also accepts the string tomorrow. Default: today
exclude => \@exclude
Do not use certain transport types for itinerary. Accepted arguments: zug, s-bahn, u-bahn,
stadtbahn, tram, stadtbus, regionalbus, schnellbus, seilbahn, schiff, ast, sonstige
max_interchanges => num
Set maximum number of interchanges
num_results => num
Return up to num connections. If unset, the default of the respective EFA server is used
(usually 4 or 5).
select_interchange_by => speed|waittime|distance
Prefer either fast connections (default), connections with low wait time or connections with
little distance to walk
use_near_stops => $int
If $int is a true value: Take stops close to the stop/start into account and possibly use them
instead. Up to $int minutes of walking are considered acceptable.
Otherwise: Do not take stops close to stop/start into account.
train_type => local|ic|ice
Include only local trains into itinerary (default), all but ICEs, or all.
The latter two are usually way more expensive for short routes.
walk_speed => slow|fast|normal
Set walk speed. Default: normalwith_bike => 0|1
If true: Request connections allowing passengers with bikes. Note that the backed may return an
empty result if no such connection exists or bike-support simply isn't known.
with_low_platform => 0|1
If true: Request connections which only use low-platform ("Niederflur") vehicles. Note that the
backed will return an empty result if no such connection exists.
with_wheelchair => 0|1
If true: Request connections which are wheelchair-accessible. Again, note that the backend may
return an empty result if no such connection exists or wheelchair-support isn't known.
without_elevators => 0|1
If true: Request that transfers do not require usage of elevators.
without_escalators => 0|1
If true: Request that transfers do not require usage of escalators.
without_solid_stairs => 0|1
If true: Request that transfers do not require stairs to be taken (i.e. ramps, escalators,
elevators or similar must be available).
lwp_options => \%hashref
Options to pass to "LWP::UserAgent->new".
submit => 0|1
By default, new will create a POST request and submit it. If you do not want it to be submitted
yet, set this to 0.
$efa->submit(%opts)
Submit the query to efa_url. %opts is passed on to "LWP::UserAgent->new".
$efa->routes
Returns a list of Travel::Routing::DE::EFA::Route(3pm) elements. Each one contains one method of
getting from start to stop.
ACCESSORS
The following methods act like the arguments to new. See there.
$efa->departure_time($time)
$efa->arrival_time($time)
$efa->date($date)
$efa->exclude(@exclude)
$efa->max_interchanges($num)
$efa->select_interchange_by($selection)
$efa->train_type($type)
$efa->use_near_stops($duration)
$efa->walk_speed($speed)
$efa->with_bike($bool)
STATICMETHODSTravel::Routing::DE::EFA::get_efa_urls()
Returns a list of known EFA entry points. Each list element is a hashref with the following elements.
url: service URL as passed to efa_urlname: Name of the entity operating this service
shortname: Short name of the entity