PT OPS

FIDO: Announcements

Station announcements that staff must acknowledge (sign), active between a start and end date.

Last updated: October 8, 2026
GET /fido/announcements Authentication required

Returns all announcements as an array ([] if none).

[
  {
    "_id": "665f...",
    "announcementNumber": "A-101",
    "announcementName": "Speed restriction",
    "stations": ["SK", "SIG"],
    "announcement": "Max 40 km/h between SK and SIG.",
    "startDate": "2026-10-08T04:00:00.000Z",
    "endDate": "2026-10-08T16:00:00.000Z",
    "signedBy": ["665f1a0c9b1e8a0012a4b7a1"],
    "__v": 0
  }
]
GET /fido/announcements/:announcementNumber Authentication required

Returns a single announcement object (same shape as one element of GET /fido/announcements), or 404 with { "error": "Announcement not found" }.

POST /fido/announcements Authentication required
{
  "announcementNumber": "A-2026-014",
  "announcementName": "Platform change reminder",
  "stations": ["SK"],
  "announcement": "Remember to announce platform changes clearly.",
  "startDate": "2026-09-07T06:00:00Z",
  "endDate": "2026-09-14T06:00:00Z"
}

announcementNumber must be unique.

PUT /fido/announcements/:announcementNumber Authentication required

Replaces an announcement's fields (same body shape as POST, minus the number).

PATCH /fido/announcements/:announcementNumber/sign Authentication required
{ "tiosUser": "665f1a0c9b1e8a0012a4b7a1" }

Adds tiosUser (a MongoDB user ID) to the announcement's signedBy list (no duplicates). signedBy contains user IDs, not names.

DELETE /fido/announcements/:announcementNumber Authentication required

Deletes an announcement.