NAME

motis-m - Interface to MOTIS public transit services

SYNOPSIS

motis-m [-s service] [-d DD.MM.] [-t HH:MM] [-i] [opt] station

motis-m [-s service] [opt] station

motis-m [-s service] trip_id

motis-m [-s service] ?query|lat:lon

VERSION

version 0.01

DESCRIPTION

motis-m is an interface to MOTIS routing services. It can serve as an arrival/departure board, request details about a specific trip, and look up public transport stops by name or geolocation. The operating mode depends on the contents of its non-option argument.

Departure Board (stop)

Show departures at stop. stop may be given as a stop name or stop id. For each departure, motis-m shows

  • estimated departure time,

  • delay, if known,

  • trip route name,

  • headsign / destination if known, and

  • track, if known.

Trip details (trip_id)

List intermediate stops of trip_id (as given by the departure board when invoked with -i / --show-trip-ids) with arrival/departure time, delay (if available), track (if available), and stop name. Also includes some generic trip information.

Stop Search (?query|lat:lon)

List stop that match query or that are located in the vicinity of lat:lon geocoordinates with stop id and name.

OPTIONS

Values in brackets indicate options that only apply to the corresponding operating mode(s).

-d, --date DD.MM.[YYYY] (departure board)

Request departures on the specified date. Default: today.

-t, --time HH:MM (departure board)

Request departures on the specified time. Default: now.

-i, --show-trip-ids (departure board)

Show trip id for each listed arrival/departure. These can be used to obtain details on individual trips with subsequent motis-m invocations.

-m, --modes-of-transit mot1[,mot2,...] (departure board)

Only return results for the specified modes of transit. Use <-m help> to get a list of supported modes of transit.

--json

Print result(s) as JSON and exit. This is a dump of internal data structures and not guaranteed to remain stable between minor versions. Please use the Travel::Status::MOTIS(3pm) module if you need a proper API.

--no-cache

By default, if the Cache::File module is available, server replies are cached for 90 seconds in ~/.cache/Travel-Status-MOTIS (or a path relative to $XDG_CACHE_HOME, if set). Use this option to disable caching. You can use --cache to re-enable it.

--raw-json

Print unprocessed API response as JSON and exit. Useful for debugging and development purposes.

-t, --date HH:MM (departure board)

Request departures on or after the specified time. Default: now.

-V, --version

Show version information and exit.

EXIT STATUS

0 upon success, 1 upon internal error, 2 upon backend error.

CONFIGURATION

None.

DEPENDENCIES

  • Class::Accessor(3pm)

  • DateTime(3pm)

  • LWP::UserAgent(3pm)

BUGS AND LIMITATIONS

    Currently, this script is mainly intended as a debugging aid for the Travel::Status::MOTIS(3pm) module, which is in turn designed for use in travelynx (https://finalrewind.org/projects/travelynx/). It may not provide functionality needed for use as a proper CLI public transit client.

AUTHOR

Copyright (C) 2025 networkException <git@nwex.de>

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

Based on Travel::Status::DE::DBRIS, which is (C) 2024-2025 Birte Kristina Friesel <derf@finalrewind.org>

LICENSE

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