TRUST vs Darwin

From Open Rail Data Wiki
Jump to navigation Jump to search

A number of difference between Network Rail's TRUST and Rail Delivery Group's Darwin system exist and are not obvious to the casual observer.

In most cases, you will need to choose one platform over the other for powering your application, and a good general rule is this:

  • If you are looking at what has already happened, use TRUST
  • If you want to see what's going to happen, use Darwin

There will always be exceptions to the rule, and a detailed explanation of both systems is included below.


Although this is an older mainframe-based system written by British Rail, it remains in active development and support. TRUST contains all passenger, non-passenger and freight/engineering trains. In most cases, if a train does not appear on TRUST, signallers may not be able to make routing decisions for the train. Additionally, freight and engineering trains must have schedules in TRUST in order for a consist to be entered via TOPS.

TRUST's primary purpose is to act as a historical record of train movements, allowing comparison between scheduled and actual times, as well as to record cancellations. When a delay - a change in lateness between two TRUST reporting points - of over a certain threshold occurs, a separate system called TRUST DA (Delay Attribution) requires that delay be explained and attributed. This data is not available in real-time at present, nor is it updated in real-time, and a delay may be reattributed many times until is it agreed.

TRUST has few prediction capabilities - it merely reports what has just happened. This leads to problems when using it for passenger information purposes, as some or all the following situations may arise:

  • If a train is to 'run fast' between two points, skipping booked stops, then this data will not appear in TRUST messages before the fact. In some cases, it is possible to determine the train did not call at one or more of its planned locations - but only after the event
  • If a train is to be cancelled en-route, although the cancellation can be entered in to TRUST in advance, no cancellation message will be generated until the train has arrived at the point from which it is cancelled
  • If it is known in advance a train will be held at a station for a period of time, TRUST will not record this delay until after the delay has occurred
  • If a train stops between two stations for any period of time, TRUST will not report the delay or the lateness of the train until it has passed its next reporting points


National Rail Enquiries (NRE) built their Darwin system in the early to mid 2000s to improve the level of accuracy of information displayed to passengers. Darwin should be considered the single source of truth for passenger information, and it feeds information to nearly all customer information systems at stations.

Darwin uses its own internal algorithms to forecast arrival and departure times along a train's route. It can also record additional and skipped stops before they happen, as well as report known delays, for example, if a train will leave its origin late due to awaiting train crew.

Darwin takes data from a variety of sources, including TRUST and TD for real-time data, but also the following additional sources:

  • Darwin Workstation
  • Customer Information systems
  • Messaging systems such as Tyrell

These inputs result in updated schedule and forecast data being output from Darwin, and are not available separately.