PT OPS

FIDO: GSM-R

Registers which TIOS user is using a given GSM-R radio number, in which role, and at which location.

Last updated: October 8, 2026

User references (tiosUser) are MongoDB user IDs (24-character hex strings), not usernames.

GET /fido/gsmr Authentication required

Returns all GSM-R registrations as an array ([] if none).

[
  {
    "_id": "665f...",
    "GSMRNumber": "1001",
    "tiosUser": "665f1a0c9b1e8a0012a4b7a1",
    "role": "dispatcher",
    "location": "SK",
    "__v": 0
  }
]

location is optional and may be missing.

POST /fido/gsmr Authentication required
{
  "GSMRNumber": "10012345",
  "tiosUser": "665f1a0c9b1e8a0012a4b7a1",
  "role": "driver"
}

Valid roles

conductor, driver_trainee, driver, dispatcher_trainee, dispatcher, signaller_trainee, signaller, train_information_trainee, train_information, coss, scheduling_office.

location is required for every role except driver and coss.

GET /fido/gsmr/:GSMRNumber Authentication required

Returns a single GSM-R registration object (same shape as one element of GET /fido/gsmr), or 404 with { "error": "GSMR number not found" }.

PUT /fido/gsmr/:GSMRNumber Authentication required

Updates tiosUser (a MongoDB user ID), role, and location for a GSM-R registration (same location rules as POST, except driver_trainee is not exempt here).

DELETE /fido/gsmr/:GSMRNumber Authentication required

Removes a GSM-R registration.