Skip to content

Temporary Speed Restrictions

A Temporary Speed Restriction (TSR) records a part of the network where trains must run below their normal speed. It usually applies because a track inspection found a condition that needs trains to slow down until it is fixed. The model captures what the restriction is, which assets it covers, why it exists, and how long it is expected to last.

  • Represents: a temporary speed restriction in force across one or more assets
  • Body shape: a JSON array of TSR objects
  • Keyed by: id — your external identifier, and the upsert key
  • Referenced by: the restricted assets it carries, each pointing back at the restriction

A TSR pairs two speeds with a place: a normalSpeed (the usual maximum) and a lower restrictedSpeed that trains must observe, applied along a stretch of the network. The model also records when the restriction was imposed and by whom, when it was lifted, when it is planned to be lifted, and who owns it.

It describes why the restriction is in place:

  • A cause (and a broader cause group) explains the underlying condition.
  • Protection records the safeguards on the ground: the type of protection and the direction it faces.
  • Further classifiers narrow down where and to what the restriction applies: direction of travel, gauge, train type and loading status, and (for switch restrictions) the switch position.

Inspection and operations comments, plus references to a triggering notification (notificationId) or a remediation order (orderId), tie the restriction back to the surrounding work.

A TSR always names the assets it covers through its speedRestrictedAsset list. Each entry links a restriction to one asset and carries the shared geolocation describing the area impacted by the restriction, which is not necessarily the whole asset’s location. This tells the platform the precise stretch of track that is slowed, and effectiveLength records how much of it is affected.

  • A TSR needs an id and a non-empty list of restricted assets. Everything else adds detail as your source system knows it.
  • The assets a TSR references should already exist, or be imported alongside it, so the links resolve. See Common Errors.
  • Re-importing is safe: a TSR with an existing id is updated in place rather than duplicated.
  • Cause, protection, direction, and similar codes classify the restriction. An unrecognised code passes request validation but surfaces at job time.