Warning
This documentation was copied from the child apps and needs more editing.
The TripPlan application provides trip plans for users of the site looking to explore potential routes from one place to another.
This application relies on an API to a source of trip plan data. The API is defined as an abstract behavior so that we can can have different implementations. Currently we have MockPlanner
which is used for tests, and OpenTripPlanner
which calls out to an external resource that provides live data.
We run our own instance of the OpenTripPlanner (OTP) open source project. OTP returns structured resources encoded as JSON.
A TripPlan (OTP data type) consists of a list of Itineraries (OTP data type) (Elixir module), or possible routes you might take.
An Itinerary contains a sequenced list of Legs (OTP data type) (Elixir module). Each leg is a portion of the journey on one mode. This could be "Take the Green Line to North Station," or, "Walk to the bus stop at the corner of Porter St. and Garfield Rd."
In addition to the data we get from the API, we also add fare data to each transit leg (base, recommended and reduced). This allows us to display the cost of each leg and an estimation of the total price of the itinerary.
The Feedback app supports customer support submissions. We receive a user's feedback through our customer support form and submit it as a structured XML email to the Customer Experience team's Iris Heat software.
In development, the application is configured to print the contents of the email to the log instead of sending an actual email. This is logged at the info
log level, but the default log level is set to warn
. Add LOGGER_LEVEL=info
to your .env
file to see the feedback emails in your logs.