Socket
Book a DemoInstallSign in
Socket

gb-rail-fares

Package Overview
Dependencies
Maintainers
1
Versions
99
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

gb-rail-fares

Library, API and user interface for calculating British rail fares

5.1.0
latest
Source
npmnpm
Version published
Weekly downloads
25
-61.54%
Maintainers
1
Weekly downloads
 
Created
Source

British Rail Fares Engine

Travis npm npm David

The British Rail Fares Engine is a library, API and user interface that can be used to return Britsh rail fares.

It relies on data from Rail Delivery Group. The rules around journey/fare validity are very specific to British rail and are not useful for other data sets.

It does not test the validity of journeys as it has no concept of a journey but it does provide a number of filters that can be applied without a journey:

  • CalendarRestrictionFilter checks if the ticket code has any calendar restrictions
  • AdvancePurchaseFilter checks the Advance Purchase booking horizon has been met
  • RailcardBanFilter checks whether there is a blanket ban on the railcard for a given date
  • SuppressedFareFilter removes non-derivable fares that are used to suppress flow fares
  • TicketTypeDateFilter checks the ticket type start, end and quote dates

Some rules like the validity codes return dates are in-built to the FareService.

Testing

npm test

Setup

It is assumed that MySQL is installed locally and there is a database called fares set up. The database credentials can be overriden by setting environment variables DATABASE_USERNAME, DATABASE_PASSWORD, DATABASE_HOST DATABASE_NAME.

npm run data 

Run

Starting the service will load some data into memory (~30 seconds) and then start the service on port 8002. Browsing http://localhost:8002 will display the test user interface.

npm start

Contributing

Issues and PRs are very welcome.

License

This software is licensed under GNU GPLv3.

Copyright Linus Norton.

Keywords

gb

FAQs

Package last updated on 28 Jun 2018

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.