NAME

efa - unofficial efa.vrr.de command line client

SYNOPSIS

efa --from city stop --to city stop [ additional options ]
efa [ options ] from-city from-stop [ via-city via-stop ] to-city to-stop

VERSION

version 2.07

DESCRIPTION

efa is a command line client for the http://efa.vrr.de web interface. It sends the specified information to the online form and displays the results.

It also supports other EFA services than http://efa.vrr.de. efa has a builtin list of EFA entry points which can be used with the -A and -D options. You can also specify a custom URL using -u. However, the default EFA service is sufficient in most cases (even ICE connections all over germany).

OPTIONS

--from city stop

Departure place

--to city stop

Arrival place

--via city stop

Travel via this place

In case you want stop to be an address or "point of interest", you can set it to 'addr:something' or 'poi:something'.

-t|--time|--depart hh:mm

Journey start time

-a|--arrive hh:mm

Journey end time (overrides --time/--depart)

-d|--date dd.mm.[yyyy]

Journey date

-A|--auto-url|--discover-and-print

Probe all known EFA entry points for the specified connection. Print the first result which was not an error.

Note that this may take a while and will not neccessarily return the best result. Also, using this option by default is not recommended, as it puts EFA services under considerable additional load.

-b|--bike

Choose connections allowing to carry a bike

-D|--discover

Probe all known EFA entry points for the specified connection. No routes are returned in this case. Instead, efa will print the URLs and names of all entry points which did not return an error.

-e|--exclude transports

Exclude transports (comma separated list).

Possible transports: zug, s-bahn, u-bahn, stadtbahn, tram, stadtbus, regionalbus, schnellbus, seilbahn, schiff, ast, sonstige

-E|--extended-info

Display duration, ticket class and price for each route (if available)

-f|--full-route

Display intermediate stops (with time and platform) of each train. Note that these are not always available.

-m|--max-change number

Print connections with at most number interchanges

-M|--maps

Output links to maps of transfer paths and transfer stations where available.

-n|--num-connections number

Return up to number connections. If unset, the default of the respective EFA server is used (usually 4 or 5).

-P|--prefer type

Prefer connections of type:

  • speed (default)

    The faster, the better

  • nowait

    Prefer connections with less interchanges

  • nowalk

    Prefer connections with less walking (at interchanges)

-p|--proximity

Take stops close to the stop/start into account and possibly use them instead

-i|--include type

Include connections using trains of type type, where type may be:

  • local (default)

    only take local trains ("Verbund-/Nahverkehrslinien"). Slow, but the cheapest method if you're not travelling long distance

  • ic

    Local trains + IC

  • ice

    All trains (local + IC + ICE)

-w|--walk-speed speed

Set your walking speed to speed. Accepted values: normal (default), fast, slow

-I|--ignore-info [ regex ]

Ignore additional information matching regex (default: /Fahrradmitnahme/)

If regex is not supplied, removes the default regex (-> nothing will be ignored)

-u|--efa-url url

URL to the EFA entry point, defaults to http://efa.vrr.de/vrr/XSLT_TRIP_REQUEST2. Depending on your location, some urls may contain more specific data than others. See Travel::Routing::DE::EFA(3pm) for alternatives.

--timeout seconds

Set timeout for HTTP requests. Default: 60 seconds.

-v|--version

Print version information

EXIT STATUS

0    Everything went well
1    Invalid arguments, see error message
2    Network error, unable to send request
3    efa.vrr.de did not return any parsable data
4    efa.vrr.de error: ambiguous input
5    efa.vrr.de error: no connections found
10   Unknown Travel::Routing::DE::EFA error
255  Other internal error

CONFIGURATION

None.

DEPENDENCIES

This script requires perl 5.10 (or higher) with the following modules:

  • Class::Accessor

  • Exception::Class

  • LWP::UserAgent

  • XML::LibXML

BUGS AND LIMITATIONS

The EFA backend is not able to calculate "two-way" routes, i.e. from -> via -> to routes with from == to. If from and to are the same stop, it doesn't even try to calculate a route ("we recommend walking instead"), if they are close to each other it may or may not work. Workaround: Request from -> via using the normal four-argument efa invocation, read the time, use efa -t time via via to to to request via -> to.

None known.

AUTHOR

Copyright (C) 2009-2014 by Daniel Friesel <derf@finalrewind.org>

LICENSE

0. You just DO WHAT THE FUCK YOU WANT TO.