{
 "path": "/trains/bath-spa",
 "title": "Bath Spa trains: live departures and arrivals · Hey Bath",
 "description": "Live departures and arrivals at Bath Spa station: platforms, delays, cancellations, calling points, engineering works, step-free access and facilities.",
 "canonical": "https://heybath.uk/trains/bath-spa",
 "generated_at": "2026-10-12T16:25:03.319Z",
 "date_modified": "2026-10-12T16:25:03Z",
 "data": {
  "station": {
   "name": "Bath Spa",
   "crs": "BTH",
   "path": "/trains/bath-spa",
   "lat": 51.37768276,
   "lng": -2.357034178,
   "address": "Bath Spa station, Dorchester Street, BA1 1SU",
   "area": {
    "name": "Kingsmead",
    "path": "/areas/kingsmead"
   }
  },
  "board_checked_at": "2026-10-12T16:25:03.216Z",
  "departures": [
   {
    "operator": "Great Western Railway",
    "operator_code": "GW",
    "platform": "1",
    "bus": false,
    "coaches": 3,
    "origin": "Weymouth",
    "origin_crs": [
     "WEY"
    ],
    "destination": "Gloucester",
    "destination_crs": [
     "GCR"
    ],
    "time": "17:28",
    "at": "2026-10-12T16:28:00.000Z",
    "status": {
     "state": "late",
     "label": "6 min late",
     "late_min": 6,
     "expected_at": "2026-10-12T16:34:00.000Z",
     "reason": null
    },
    "calls": [
     {
      "name": "Oldfield Park",
      "crs": "OLF",
      "time": "17:31",
      "at": "2026-10-12T16:31:00.000Z",
      "est": "17:36",
      "cancelled": false
     },
     {
      "name": "Keynsham",
      "crs": "KYN",
      "time": "17:38",
      "at": "2026-10-12T16:38:00.000Z",
      "est": "17:43",
      "cancelled": false
     },
     {
      "name": "Bristol Temple Meads",
      "crs": "BRI",
      "time": "17:48",
      "at": "2026-10-12T16:48:00.000Z",
      "est": "17:50",
      "cancelled": false
     },
     {
      "name": "Filton Abbey Wood",
      "crs": "FIT",
      "time": "18:17",
      "at": "2026-10-12T17:17:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Bristol Parkway",
      "crs": "BPW",
      "time": "18:21",
      "at": "2026-10-12T17:21:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Yate",
      "crs": "YAE",
      "time": "18:31",
      "at": "2026-10-12T17:31:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Gloucester",
      "crs": "GCR",
      "time": "19:04",
      "at": "2026-10-12T18:04:00.000Z",
      "est": "On time",
      "cancelled": false
     }
    ]
   },
   {
    "operator": "Great Western Railway",
    "operator_code": "GW",
    "platform": "2",
    "bus": false,
    "coaches": 5,
    "origin": "Bristol Temple Meads",
    "origin_crs": [
     "BRI"
    ],
    "destination": "Oxford",
    "destination_crs": [
     "OXF"
    ],
    "time": "17:29",
    "at": "2026-10-12T16:29:00.000Z",
    "status": {
     "state": "on-time",
     "label": "On time",
     "late_min": 0,
     "expected_at": null,
     "reason": null
    },
    "calls": [
     {
      "name": "Chippenham",
      "crs": "CPM",
      "time": "17:40",
      "at": "2026-10-12T16:40:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Swindon",
      "crs": "SWI",
      "time": "17:55",
      "at": "2026-10-12T16:55:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Oxford",
      "crs": "OXF",
      "time": "18:29",
      "at": "2026-10-12T17:29:00.000Z",
      "est": "On time",
      "cancelled": false
     }
    ]
   },
   {
    "operator": "Great Western Railway",
    "operator_code": "GW",
    "platform": "2",
    "bus": false,
    "coaches": 2,
    "origin": "Cardiff Central",
    "origin_crs": [
     "CDF"
    ],
    "destination": "Portsmouth Harbour",
    "destination_crs": [
     "PMH"
    ],
    "time": "17:35",
    "at": "2026-10-12T16:35:00.000Z",
    "status": {
     "state": "on-time",
     "label": "On time",
     "late_min": 0,
     "expected_at": null,
     "reason": null
    },
    "calls": [
     {
      "name": "Bradford-on-Avon",
      "crs": "BOA",
      "time": "17:47",
      "at": "2026-10-12T16:47:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Trowbridge",
      "crs": "TRO",
      "time": "17:54",
      "at": "2026-10-12T16:54:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Westbury",
      "crs": "WSB",
      "time": "18:03",
      "at": "2026-10-12T17:03:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Warminster",
      "crs": "WMN",
      "time": "18:11",
      "at": "2026-10-12T17:11:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Salisbury",
      "crs": "SAL",
      "time": "18:32",
      "at": "2026-10-12T17:32:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Romsey",
      "crs": "ROM",
      "time": "18:51",
      "at": "2026-10-12T17:51:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Southampton Central",
      "crs": "SOU",
      "time": "19:03",
      "at": "2026-10-12T18:03:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Fareham",
      "crs": "FRM",
      "time": "19:27",
      "at": "2026-10-12T18:27:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Cosham",
      "crs": "CSA",
      "time": "19:35",
      "at": "2026-10-12T18:35:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Fratton",
      "crs": "FTN",
      "time": "19:44",
      "at": "2026-10-12T18:44:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Portsmouth & Southsea",
      "crs": "PMS",
      "time": "19:48",
      "at": "2026-10-12T18:48:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Portsmouth Harbour",
      "crs": "PMH",
      "time": "19:52",
      "at": "2026-10-12T18:52:00.000Z",
      "est": "On time",
      "cancelled": false
     }
    ]
   },
   {
    "operator": "Great Western Railway",
    "operator_code": "GW",
    "platform": "1",
    "bus": false,
    "coaches": 3,
    "origin": "Portsmouth Harbour",
    "origin_crs": [
     "PMH"
    ],
    "destination": "Cardiff Central",
    "destination_crs": [
     "CDF"
    ],
    "time": "17:40",
    "at": "2026-10-12T16:40:00.000Z",
    "status": {
     "state": "late",
     "label": "10 min late",
     "late_min": 10,
     "expected_at": "2026-10-12T16:50:00.000Z",
     "reason": "Delayed by a fault with the signalling system"
    },
    "calls": [
     {
      "name": "Bristol Temple Meads",
      "crs": "BRI",
      "time": "17:53",
      "at": "2026-10-12T16:53:00.000Z",
      "est": "18:01",
      "cancelled": false
     },
     {
      "name": "Filton Abbey Wood",
      "crs": "FIT",
      "time": "18:04",
      "at": "2026-10-12T17:04:00.000Z",
      "est": "18:08",
      "cancelled": false
     },
     {
      "name": "Severn Tunnel Junction",
      "crs": "STJ",
      "time": "18:23",
      "at": "2026-10-12T17:23:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Newport (South Wales)",
      "crs": "NWP",
      "time": "18:36",
      "at": "2026-10-12T17:36:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Cardiff Central",
      "crs": "CDF",
      "time": "18:50",
      "at": "2026-10-12T17:50:00.000Z",
      "est": "On time",
      "cancelled": false
     }
    ]
   },
   {
    "operator": "Great Western Railway",
    "operator_code": "GW",
    "platform": "2",
    "bus": false,
    "coaches": 9,
    "origin": "Plymouth",
    "origin_crs": [
     "PLY"
    ],
    "destination": "London Paddington",
    "destination_crs": [
     "PAD"
    ],
    "time": "17:45",
    "at": "2026-10-12T16:45:00.000Z",
    "status": {
     "state": "on-time",
     "label": "On time",
     "late_min": 0,
     "expected_at": null,
     "reason": null
    },
    "calls": [
     {
      "name": "Chippenham",
      "crs": "CPM",
      "time": "17:56",
      "at": "2026-10-12T16:56:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Swindon",
      "crs": "SWI",
      "time": "18:10",
      "at": "2026-10-12T17:10:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Didcot Parkway",
      "crs": "DID",
      "time": "18:27",
      "at": "2026-10-12T17:27:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Reading",
      "crs": "RDG",
      "time": "18:40",
      "at": "2026-10-12T17:40:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "London Paddington",
      "crs": "PAD",
      "time": "19:08",
      "at": "2026-10-12T18:08:00.000Z",
      "est": "On time",
      "cancelled": false
     }
    ]
   },
   {
    "operator": "Great Western Railway",
    "operator_code": "GW",
    "platform": "1",
    "bus": false,
    "coaches": 9,
    "origin": "London Paddington",
    "origin_crs": [
     "PAD"
    ],
    "destination": "Taunton",
    "destination_crs": [
     "TAU"
    ],
    "time": "17:48",
    "at": "2026-10-12T16:48:00.000Z",
    "status": {
     "state": "on-time",
     "label": "On time",
     "late_min": 0,
     "expected_at": null,
     "reason": null
    },
    "calls": [
     {
      "name": "Bristol Temple Meads",
      "crs": "BRI",
      "time": "17:59",
      "at": "2026-10-12T16:59:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Nailsea & Backwell",
      "crs": "NLS",
      "time": "18:24",
      "at": "2026-10-12T17:24:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Yatton",
      "crs": "YAT",
      "time": "18:30",
      "at": "2026-10-12T17:30:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Worle",
      "crs": "WOR",
      "time": "18:36",
      "at": "2026-10-12T17:36:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Weston-super-Mare",
      "crs": "WSM",
      "time": "18:42",
      "at": "2026-10-12T17:42:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Highbridge & Burnham",
      "crs": "HIG",
      "time": "18:54",
      "at": "2026-10-12T17:54:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Bridgwater",
      "crs": "BWT",
      "time": "19:01",
      "at": "2026-10-12T18:01:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Taunton",
      "crs": "TAU",
      "time": "19:14",
      "at": "2026-10-12T18:14:00.000Z",
      "est": "On time",
      "cancelled": false
     }
    ]
   },
   {
    "operator": "Great Western Railway",
    "operator_code": "GW",
    "platform": "1",
    "bus": false,
    "coaches": 5,
    "origin": "Oxford",
    "origin_crs": [
     "OXF"
    ],
    "destination": "Bristol Temple Meads",
    "destination_crs": [
     "BRI"
    ],
    "time": "18:05",
    "at": "2026-10-12T17:05:00.000Z",
    "status": {
     "state": "on-time",
     "label": "On time",
     "late_min": 0,
     "expected_at": null,
     "reason": null
    },
    "calls": [
     {
      "name": "Bristol Temple Meads",
      "crs": "BRI",
      "time": "18:18",
      "at": "2026-10-12T17:18:00.000Z",
      "est": "On time",
      "cancelled": false
     }
    ]
   },
   {
    "operator": "Great Western Railway",
    "operator_code": "GW",
    "platform": "2",
    "bus": false,
    "coaches": 3,
    "origin": "Severn Beach",
    "origin_crs": [
     "SVB"
    ],
    "destination": "Salisbury",
    "destination_crs": [
     "SAL"
    ],
    "time": "18:05",
    "at": "2026-10-12T17:05:00.000Z",
    "status": {
     "state": "on-time",
     "label": "On time",
     "late_min": 0,
     "expected_at": null,
     "reason": null
    },
    "calls": [
     {
      "name": "Freshford",
      "crs": "FFD",
      "time": "18:14",
      "at": "2026-10-12T17:14:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Avoncliff",
      "crs": "AVF",
      "time": "18:17",
      "at": "2026-10-12T17:17:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Bradford-on-Avon",
      "crs": "BOA",
      "time": "18:20",
      "at": "2026-10-12T17:20:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Trowbridge",
      "crs": "TRO",
      "time": "18:27",
      "at": "2026-10-12T17:27:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Westbury",
      "crs": "WSB",
      "time": "18:34",
      "at": "2026-10-12T17:34:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Dilton Marsh",
      "crs": "DMH",
      "time": "18:38",
      "at": "2026-10-12T17:38:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Warminster",
      "crs": "WMN",
      "time": "18:44",
      "at": "2026-10-12T17:44:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Salisbury",
      "crs": "SAL",
      "time": "19:06",
      "at": "2026-10-12T18:06:00.000Z",
      "est": "On time",
      "cancelled": false
     }
    ]
   },
   {
    "operator": "Great Western Railway",
    "operator_code": "GW",
    "platform": "1",
    "bus": false,
    "coaches": 3,
    "origin": "Warminster",
    "origin_crs": [
     "WMN"
    ],
    "destination": "Bristol Temple Meads",
    "destination_crs": [
     "BRI"
    ],
    "time": "18:11",
    "at": "2026-10-12T17:11:00.000Z",
    "status": {
     "state": "on-time",
     "label": "On time",
     "late_min": 0,
     "expected_at": null,
     "reason": null
    },
    "calls": [
     {
      "name": "Oldfield Park",
      "crs": "OLF",
      "time": "18:14",
      "at": "2026-10-12T17:14:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Keynsham",
      "crs": "KYN",
      "time": "18:21",
      "at": "2026-10-12T17:21:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Bristol Temple Meads",
      "crs": "BRI",
      "time": "18:29",
      "at": "2026-10-12T17:29:00.000Z",
      "est": "On time",
      "cancelled": false
     }
    ]
   },
   {
    "operator": "Great Western Railway",
    "operator_code": "GW",
    "platform": "2",
    "bus": false,
    "coaches": 9,
    "origin": "Weston-super-Mare",
    "origin_crs": [
     "WSM"
    ],
    "destination": "London Paddington",
    "destination_crs": [
     "PAD"
    ],
    "time": "18:13",
    "at": "2026-10-12T17:13:00.000Z",
    "status": {
     "state": "on-time",
     "label": "On time",
     "late_min": 0,
     "expected_at": null,
     "reason": null
    },
    "calls": [
     {
      "name": "Chippenham",
      "crs": "CPM",
      "time": "18:24",
      "at": "2026-10-12T17:24:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Swindon",
      "crs": "SWI",
      "time": "18:39",
      "at": "2026-10-12T17:39:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Didcot Parkway",
      "crs": "DID",
      "time": "18:56",
      "at": "2026-10-12T17:56:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Reading",
      "crs": "RDG",
      "time": "19:11",
      "at": "2026-10-12T18:11:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "London Paddington",
      "crs": "PAD",
      "time": "19:37",
      "at": "2026-10-12T18:37:00.000Z",
      "est": "On time",
      "cancelled": false
     }
    ]
   },
   {
    "operator": "Great Western Railway",
    "operator_code": "GW",
    "platform": "2",
    "bus": false,
    "coaches": 3,
    "origin": "Gloucester",
    "origin_crs": [
     "GCR"
    ],
    "destination": "Weymouth",
    "destination_crs": [
     "WEY"
    ],
    "time": "18:23",
    "at": "2026-10-12T17:23:00.000Z",
    "status": {
     "state": "on-time",
     "label": "On time",
     "late_min": 0,
     "expected_at": null,
     "reason": null
    },
    "calls": [
     {
      "name": "Freshford",
      "crs": "FFD",
      "time": "18:32",
      "at": "2026-10-12T17:32:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Bradford-on-Avon",
      "crs": "BOA",
      "time": "18:36",
      "at": "2026-10-12T17:36:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Trowbridge",
      "crs": "TRO",
      "time": "18:43",
      "at": "2026-10-12T17:43:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Westbury",
      "crs": "WSB",
      "time": "18:50",
      "at": "2026-10-12T17:50:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Frome",
      "crs": "FRO",
      "time": "19:05",
      "at": "2026-10-12T18:05:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Bruton",
      "crs": "BRU",
      "time": "19:18",
      "at": "2026-10-12T18:18:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Castle Cary",
      "crs": "CLC",
      "time": "19:24",
      "at": "2026-10-12T18:24:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Yeovil Pen Mill",
      "crs": "YVP",
      "time": "19:50",
      "at": "2026-10-12T18:50:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Thornford",
      "crs": "THO",
      "time": "19:56",
      "at": "2026-10-12T18:56:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Yetminster",
      "crs": "YET",
      "time": "19:59",
      "at": "2026-10-12T18:59:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Chetnole",
      "crs": "CNO",
      "time": "20:03",
      "at": "2026-10-12T19:03:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Maiden Newton",
      "crs": "MDN",
      "time": "20:13",
      "at": "2026-10-12T19:13:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Dorchester West",
      "crs": "DCW",
      "time": "20:25",
      "at": "2026-10-12T19:25:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Upwey",
      "crs": "UPW",
      "time": "20:35",
      "at": "2026-10-12T19:35:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Weymouth",
      "crs": "WEY",
      "time": "20:41",
      "at": "2026-10-12T19:41:00.000Z",
      "est": "On time",
      "cancelled": false
     }
    ]
   },
   {
    "operator": "Great Western Railway",
    "operator_code": "GW",
    "platform": "1",
    "bus": false,
    "coaches": 9,
    "origin": "London Paddington",
    "origin_crs": [
     "PAD"
    ],
    "destination": "Bristol Temple Meads",
    "destination_crs": [
     "BRI"
    ],
    "time": "18:24",
    "at": "2026-10-12T17:24:00.000Z",
    "status": {
     "state": "on-time",
     "label": "On time",
     "late_min": 0,
     "expected_at": null,
     "reason": null
    },
    "calls": [
     {
      "name": "Bristol Temple Meads",
      "crs": "BRI",
      "time": "18:36",
      "at": "2026-10-12T17:36:00.000Z",
      "est": "On time",
      "cancelled": false
     }
    ]
   }
  ],
  "arrivals": [
   {
    "operator": "Great Western Railway",
    "operator_code": "GW",
    "platform": "1",
    "bus": false,
    "coaches": 3,
    "origin": "Weymouth",
    "origin_crs": [
     "WEY"
    ],
    "destination": "Gloucester",
    "destination_crs": [
     "GCR"
    ],
    "time": "17:27",
    "at": "2026-10-12T16:27:00.000Z",
    "status": {
     "state": "late",
     "label": "6 min late",
     "late_min": 6,
     "expected_at": "2026-10-12T16:33:00.000Z",
     "reason": null
    },
    "calls": [
     {
      "name": "Weymouth",
      "crs": "WEY",
      "time": "15:28",
      "at": "2026-10-12T14:28:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Upwey",
      "crs": "UPW",
      "time": "15:33",
      "at": "2026-10-12T14:33:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Dorchester West",
      "crs": "DCW",
      "time": "15:44",
      "at": "2026-10-12T14:44:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Maiden Newton",
      "crs": "MDN",
      "time": "15:57",
      "at": "2026-10-12T14:57:00.000Z",
      "est": "16:03",
      "cancelled": false
     },
     {
      "name": "Chetnole",
      "crs": "CNO",
      "time": "16:05",
      "at": "2026-10-12T15:05:00.000Z",
      "est": "16:11",
      "cancelled": false
     },
     {
      "name": "Yetminster",
      "crs": "YET",
      "time": "16:09",
      "at": "2026-10-12T15:09:00.000Z",
      "est": "16:15",
      "cancelled": false
     },
     {
      "name": "Thornford",
      "crs": "THO",
      "time": "16:12",
      "at": "2026-10-12T15:12:00.000Z",
      "est": "16:18",
      "cancelled": false
     },
     {
      "name": "Yeovil Pen Mill",
      "crs": "YVP",
      "time": "16:21",
      "at": "2026-10-12T15:21:00.000Z",
      "est": "16:25",
      "cancelled": false
     },
     {
      "name": "Castle Cary",
      "crs": "CLC",
      "time": "16:35",
      "at": "2026-10-12T15:35:00.000Z",
      "est": "16:40",
      "cancelled": false
     },
     {
      "name": "Bruton",
      "crs": "BRU",
      "time": "16:40",
      "at": "2026-10-12T15:40:00.000Z",
      "est": "16:46",
      "cancelled": false
     },
     {
      "name": "Frome",
      "crs": "FRO",
      "time": "16:52",
      "at": "2026-10-12T15:52:00.000Z",
      "est": "17:00",
      "cancelled": false
     },
     {
      "name": "Westbury",
      "crs": "WSB",
      "time": "17:02",
      "at": "2026-10-12T16:02:00.000Z",
      "est": "17:09",
      "cancelled": false
     },
     {
      "name": "Trowbridge",
      "crs": "TRO",
      "time": "17:09",
      "at": "2026-10-12T16:09:00.000Z",
      "est": "17:15",
      "cancelled": false
     },
     {
      "name": "Bradford-on-Avon",
      "crs": "BOA",
      "time": "17:15",
      "at": "2026-10-12T16:15:00.000Z",
      "est": "17:20",
      "cancelled": false
     }
    ]
   },
   {
    "operator": "Great Western Railway",
    "operator_code": "GW",
    "platform": "2",
    "bus": false,
    "coaches": 5,
    "origin": "Bristol Temple Meads",
    "origin_crs": [
     "BRI"
    ],
    "destination": "Oxford",
    "destination_crs": [
     "OXF"
    ],
    "time": "17:27",
    "at": "2026-10-12T16:27:00.000Z",
    "status": {
     "state": "on-time",
     "label": "On time",
     "late_min": 0,
     "expected_at": null,
     "reason": null
    },
    "calls": [
     {
      "name": "Bristol Temple Meads",
      "crs": "BRI",
      "time": "17:12",
      "at": "2026-10-12T16:12:00.000Z",
      "est": "On time",
      "cancelled": false
     }
    ]
   },
   {
    "operator": "Great Western Railway",
    "operator_code": "GW",
    "platform": "2",
    "bus": false,
    "coaches": 2,
    "origin": "Cardiff Central",
    "origin_crs": [
     "CDF"
    ],
    "destination": "Portsmouth Harbour",
    "destination_crs": [
     "PMH"
    ],
    "time": "17:34",
    "at": "2026-10-12T16:34:00.000Z",
    "status": {
     "state": "on-time",
     "label": "On time",
     "late_min": 0,
     "expected_at": null,
     "reason": null
    },
    "calls": [
     {
      "name": "Cardiff Central",
      "crs": "CDF",
      "time": "16:27",
      "at": "2026-10-12T15:27:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Newport (South Wales)",
      "crs": "NWP",
      "time": "16:41",
      "at": "2026-10-12T15:41:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Severn Tunnel Junction",
      "crs": "STJ",
      "time": "16:51",
      "at": "2026-10-12T15:51:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Filton Abbey Wood",
      "crs": "FIT",
      "time": "17:08",
      "at": "2026-10-12T16:08:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Bristol Temple Meads",
      "crs": "BRI",
      "time": "17:22",
      "at": "2026-10-12T16:22:00.000Z",
      "est": "On time",
      "cancelled": false
     }
    ]
   },
   {
    "operator": "Great Western Railway",
    "operator_code": "GW",
    "platform": "1",
    "bus": false,
    "coaches": 3,
    "origin": "Portsmouth Harbour",
    "origin_crs": [
     "PMH"
    ],
    "destination": "Cardiff Central",
    "destination_crs": [
     "CDF"
    ],
    "time": "17:39",
    "at": "2026-10-12T16:39:00.000Z",
    "status": {
     "state": "late",
     "label": "10 min late",
     "late_min": 10,
     "expected_at": "2026-10-12T16:49:00.000Z",
     "reason": "Delayed by a fault with the signalling system"
    },
    "calls": [
     {
      "name": "Portsmouth Harbour",
      "crs": "PMH",
      "time": "15:23",
      "at": "2026-10-12T14:23:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Portsmouth & Southsea",
      "crs": "PMS",
      "time": "15:27",
      "at": "2026-10-12T14:27:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Fratton",
      "crs": "FTN",
      "time": "15:31",
      "at": "2026-10-12T14:31:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Cosham",
      "crs": "CSA",
      "time": "15:39",
      "at": "2026-10-12T14:39:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Fareham",
      "crs": "FRM",
      "time": "15:47",
      "at": "2026-10-12T14:47:00.000Z",
      "est": "15:49",
      "cancelled": false
     },
     {
      "name": "Southampton Central",
      "crs": "SOU",
      "time": "16:11",
      "at": "2026-10-12T15:11:00.000Z",
      "est": "16:15",
      "cancelled": false
     },
     {
      "name": "Romsey",
      "crs": "ROM",
      "time": "16:22",
      "at": "2026-10-12T15:22:00.000Z",
      "est": "16:32",
      "cancelled": false
     },
     {
      "name": "Salisbury",
      "crs": "SAL",
      "time": "16:42",
      "at": "2026-10-12T15:42:00.000Z",
      "est": "16:59",
      "cancelled": false
     },
     {
      "name": "Warminster",
      "crs": "WMN",
      "time": "17:03",
      "at": "2026-10-12T16:03:00.000Z",
      "est": "17:20",
      "cancelled": false
     },
     {
      "name": "Westbury",
      "crs": "WSB",
      "time": "17:13",
      "at": "2026-10-12T16:13:00.000Z",
      "est": "17:26",
      "cancelled": false
     },
     {
      "name": "Trowbridge",
      "crs": "TRO",
      "time": "17:19",
      "at": "2026-10-12T16:19:00.000Z",
      "est": "17:32",
      "cancelled": false
     },
     {
      "name": "Bradford-on-Avon",
      "crs": "BOA",
      "time": "17:27",
      "at": "2026-10-12T16:27:00.000Z",
      "est": "17:38",
      "cancelled": false
     }
    ]
   },
   {
    "operator": "Great Western Railway",
    "operator_code": "GW",
    "platform": "2",
    "bus": false,
    "coaches": 9,
    "origin": "Plymouth",
    "origin_crs": [
     "PLY"
    ],
    "destination": "London Paddington",
    "destination_crs": [
     "PAD"
    ],
    "time": "17:43",
    "at": "2026-10-12T16:43:00.000Z",
    "status": {
     "state": "on-time",
     "label": "On time",
     "late_min": 0,
     "expected_at": null,
     "reason": null
    },
    "calls": [
     {
      "name": "Plymouth",
      "crs": "PLY",
      "time": "15:15",
      "at": "2026-10-12T14:15:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Totnes",
      "crs": "TOT",
      "time": "15:42",
      "at": "2026-10-12T14:42:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Newton Abbot",
      "crs": "NTA",
      "time": "15:54",
      "at": "2026-10-12T14:54:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Exeter St Davids",
      "crs": "EXD",
      "time": "16:15",
      "at": "2026-10-12T15:15:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Tiverton Parkway",
      "crs": "TVP",
      "time": "16:29",
      "at": "2026-10-12T15:29:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Taunton",
      "crs": "TAU",
      "time": "16:42",
      "at": "2026-10-12T15:42:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Bristol Temple Meads",
      "crs": "BRI",
      "time": "17:29",
      "at": "2026-10-12T16:29:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Keynsham",
      "crs": "KYN",
      "time": "17:36",
      "at": "2026-10-12T16:36:00.000Z",
      "est": "On time",
      "cancelled": false
     }
    ]
   },
   {
    "operator": "Great Western Railway",
    "operator_code": "GW",
    "platform": "1",
    "bus": false,
    "coaches": 9,
    "origin": "London Paddington",
    "origin_crs": [
     "PAD"
    ],
    "destination": "Taunton",
    "destination_crs": [
     "TAU"
    ],
    "time": "17:45",
    "at": "2026-10-12T16:45:00.000Z",
    "status": {
     "state": "on-time",
     "label": "On time",
     "late_min": 0,
     "expected_at": null,
     "reason": null
    },
    "calls": [
     {
      "name": "London Paddington",
      "crs": "PAD",
      "time": "16:30",
      "at": "2026-10-12T15:30:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Reading",
      "crs": "RDG",
      "time": "16:55",
      "at": "2026-10-12T15:55:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Swindon",
      "crs": "SWI",
      "time": "17:23",
      "at": "2026-10-12T16:23:00.000Z",
      "est": "17:25",
      "cancelled": false
     },
     {
      "name": "Chippenham",
      "crs": "CPM",
      "time": "17:35",
      "at": "2026-10-12T16:35:00.000Z",
      "est": "On time",
      "cancelled": false
     }
    ]
   },
   {
    "operator": "Great Western Railway",
    "operator_code": "GW",
    "platform": "1",
    "bus": false,
    "coaches": 5,
    "origin": "Oxford",
    "origin_crs": [
     "OXF"
    ],
    "destination": "Bristol Temple Meads",
    "destination_crs": [
     "BRI"
    ],
    "time": "18:01",
    "at": "2026-10-12T17:01:00.000Z",
    "status": {
     "state": "on-time",
     "label": "On time",
     "late_min": 0,
     "expected_at": null,
     "reason": null
    },
    "calls": [
     {
      "name": "Oxford",
      "crs": "OXF",
      "time": "17:00",
      "at": "2026-10-12T16:00:00.000Z",
      "est": "17:07",
      "cancelled": false
     },
     {
      "name": "Swindon",
      "crs": "SWI",
      "time": "17:38",
      "at": "2026-10-12T16:38:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Chippenham",
      "crs": "CPM",
      "time": "17:49",
      "at": "2026-10-12T16:49:00.000Z",
      "est": "On time",
      "cancelled": false
     }
    ]
   },
   {
    "operator": "Great Western Railway",
    "operator_code": "GW",
    "platform": "2",
    "bus": false,
    "coaches": 3,
    "origin": "Severn Beach",
    "origin_crs": [
     "SVB"
    ],
    "destination": "Salisbury",
    "destination_crs": [
     "SAL"
    ],
    "time": "18:04",
    "at": "2026-10-12T17:04:00.000Z",
    "status": {
     "state": "on-time",
     "label": "On time",
     "late_min": 0,
     "expected_at": null,
     "reason": null
    },
    "calls": [
     {
      "name": "Severn Beach",
      "crs": "SVB",
      "time": "17:01",
      "at": "2026-10-12T16:01:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "St Andrews Road",
      "crs": "SAR",
      "time": "17:07",
      "at": "2026-10-12T16:07:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Avonmouth",
      "crs": "AVN",
      "time": "17:13",
      "at": "2026-10-12T16:13:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Portway Park and Ride",
      "crs": "PRI",
      "time": "17:16",
      "at": "2026-10-12T16:16:00.000Z",
      "est": "No report",
      "cancelled": false
     },
     {
      "name": "Shirehampton",
      "crs": "SHH",
      "time": "17:18",
      "at": "2026-10-12T16:18:00.000Z",
      "est": "No report",
      "cancelled": false
     },
     {
      "name": "Sea Mills",
      "crs": "SML",
      "time": "17:22",
      "at": "2026-10-12T16:22:00.000Z",
      "est": "17:25",
      "cancelled": false
     },
     {
      "name": "Clifton Down",
      "crs": "CFN",
      "time": "17:27",
      "at": "2026-10-12T16:27:00.000Z",
      "est": "17:30",
      "cancelled": false
     },
     {
      "name": "Redland",
      "crs": "RDA",
      "time": "17:30",
      "at": "2026-10-12T16:30:00.000Z",
      "est": "17:33",
      "cancelled": false
     },
     {
      "name": "Montpelier",
      "crs": "MTP",
      "time": "17:32",
      "at": "2026-10-12T16:32:00.000Z",
      "est": "17:35",
      "cancelled": false
     },
     {
      "name": "Stapleton Road",
      "crs": "SRD",
      "time": "17:37",
      "at": "2026-10-12T16:37:00.000Z",
      "est": "17:39",
      "cancelled": false
     },
     {
      "name": "Lawrence Hill",
      "crs": "LWH",
      "time": "17:41",
      "at": "2026-10-12T16:41:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Bristol Temple Meads",
      "crs": "BRI",
      "time": "17:48",
      "at": "2026-10-12T16:48:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Keynsham",
      "crs": "KYN",
      "time": "17:55",
      "at": "2026-10-12T16:55:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Oldfield Park",
      "crs": "OLF",
      "time": "18:01",
      "at": "2026-10-12T17:01:00.000Z",
      "est": "On time",
      "cancelled": false
     }
    ]
   },
   {
    "operator": "Great Western Railway",
    "operator_code": "GW",
    "platform": "1",
    "bus": false,
    "coaches": 3,
    "origin": "Warminster",
    "origin_crs": [
     "WMN"
    ],
    "destination": "Bristol Temple Meads",
    "destination_crs": [
     "BRI"
    ],
    "time": "18:10",
    "at": "2026-10-12T17:10:00.000Z",
    "status": {
     "state": "on-time",
     "label": "On time",
     "late_min": 0,
     "expected_at": null,
     "reason": null
    },
    "calls": [
     {
      "name": "Warminster",
      "crs": "WMN",
      "time": "17:30",
      "at": "2026-10-12T16:30:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Dilton Marsh",
      "crs": "DMH",
      "time": "17:34",
      "at": "2026-10-12T16:34:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Westbury",
      "crs": "WSB",
      "time": "17:41",
      "at": "2026-10-12T16:41:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Trowbridge",
      "crs": "TRO",
      "time": "17:47",
      "at": "2026-10-12T16:47:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Bradford-on-Avon",
      "crs": "BOA",
      "time": "17:53",
      "at": "2026-10-12T16:53:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Avoncliff",
      "crs": "AVF",
      "time": "17:56",
      "at": "2026-10-12T16:56:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Freshford",
      "crs": "FFD",
      "time": "17:59",
      "at": "2026-10-12T16:59:00.000Z",
      "est": "On time",
      "cancelled": false
     }
    ]
   },
   {
    "operator": "Great Western Railway",
    "operator_code": "GW",
    "platform": "2",
    "bus": false,
    "coaches": 9,
    "origin": "Weston-super-Mare",
    "origin_crs": [
     "WSM"
    ],
    "destination": "London Paddington",
    "destination_crs": [
     "PAD"
    ],
    "time": "18:11",
    "at": "2026-10-12T17:11:00.000Z",
    "status": {
     "state": "on-time",
     "label": "On time",
     "late_min": 0,
     "expected_at": null,
     "reason": null
    },
    "calls": [
     {
      "name": "Weston-super-Mare",
      "crs": "WSM",
      "time": "17:29",
      "at": "2026-10-12T16:29:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Worle",
      "crs": "WOR",
      "time": "17:35",
      "at": "2026-10-12T16:35:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Yatton",
      "crs": "YAT",
      "time": "17:41",
      "at": "2026-10-12T16:41:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Nailsea & Backwell",
      "crs": "NLS",
      "time": "17:47",
      "at": "2026-10-12T16:47:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Bristol Temple Meads",
      "crs": "BRI",
      "time": "18:00",
      "at": "2026-10-12T17:00:00.000Z",
      "est": "On time",
      "cancelled": false
     }
    ]
   },
   {
    "operator": "Great Western Railway",
    "operator_code": "GW",
    "platform": "2",
    "bus": false,
    "coaches": 3,
    "origin": "Gloucester",
    "origin_crs": [
     "GCR"
    ],
    "destination": "Weymouth",
    "destination_crs": [
     "WEY"
    ],
    "time": "18:22",
    "at": "2026-10-12T17:22:00.000Z",
    "status": {
     "state": "on-time",
     "label": "On time",
     "late_min": 0,
     "expected_at": null,
     "reason": null
    },
    "calls": [
     {
      "name": "Gloucester",
      "crs": "GCR",
      "time": "17:09",
      "at": "2026-10-12T16:09:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Yate",
      "crs": "YAE",
      "time": "17:36",
      "at": "2026-10-12T16:36:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Bristol Parkway",
      "crs": "BPW",
      "time": "17:45",
      "at": "2026-10-12T16:45:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Filton Abbey Wood",
      "crs": "FIT",
      "time": "17:49",
      "at": "2026-10-12T16:49:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Bristol Temple Meads",
      "crs": "BRI",
      "time": "18:06",
      "at": "2026-10-12T17:06:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Keynsham",
      "crs": "KYN",
      "time": "18:13",
      "at": "2026-10-12T17:13:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Oldfield Park",
      "crs": "OLF",
      "time": "18:20",
      "at": "2026-10-12T17:20:00.000Z",
      "est": "On time",
      "cancelled": false
     }
    ]
   },
   {
    "operator": "Great Western Railway",
    "operator_code": "GW",
    "platform": "1",
    "bus": false,
    "coaches": 9,
    "origin": "London Paddington",
    "origin_crs": [
     "PAD"
    ],
    "destination": "Bristol Temple Meads",
    "destination_crs": [
     "BRI"
    ],
    "time": "18:22",
    "at": "2026-10-12T17:22:00.000Z",
    "status": {
     "state": "on-time",
     "label": "On time",
     "late_min": 0,
     "expected_at": null,
     "reason": null
    },
    "calls": [
     {
      "name": "London Paddington",
      "crs": "PAD",
      "time": "17:00",
      "at": "2026-10-12T16:00:00.000Z",
      "est": "17:02",
      "cancelled": false
     },
     {
      "name": "Reading",
      "crs": "RDG",
      "time": "17:26",
      "at": "2026-10-12T16:26:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Didcot Parkway",
      "crs": "DID",
      "time": "17:40",
      "at": "2026-10-12T16:40:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Swindon",
      "crs": "SWI",
      "time": "18:00",
      "at": "2026-10-12T17:00:00.000Z",
      "est": "On time",
      "cancelled": false
     },
     {
      "name": "Chippenham",
      "crs": "CPM",
      "time": "18:11",
      "at": "2026-10-12T17:11:00.000Z",
      "est": "On time",
      "cancelled": false
     }
    ]
   }
  ],
  "messages": [],
  "next_trains": [
   {
    "towards": "London Paddington",
    "to": "London Paddington",
    "at": "2026-10-12T16:45:00.000Z",
    "platform": "2",
    "status": {
     "state": "on-time",
     "label": "On time",
     "late_min": 0,
     "expected_at": null,
     "reason": null
    },
    "arrives_at": "2026-10-12T18:08:00.000Z",
    "then": {
     "at": "2026-10-12T17:13:00.000Z",
     "status": {
      "state": "on-time",
      "label": "On time",
      "late_min": 0,
      "expected_at": null,
      "reason": null
     }
    }
   },
   {
    "towards": "Bristol Temple Meads",
    "to": "Bristol Temple Meads",
    "at": "2026-10-12T16:28:00.000Z",
    "platform": "1",
    "status": {
     "state": "late",
     "label": "6 min late",
     "late_min": 6,
     "expected_at": "2026-10-12T16:34:00.000Z",
     "reason": null
    },
    "arrives_at": "2026-10-12T16:48:00.000Z",
    "then": {
     "at": "2026-10-12T16:40:00.000Z",
     "status": {
      "state": "late",
      "label": "10 min late",
      "late_min": 10,
      "expected_at": "2026-10-12T16:50:00.000Z",
      "reason": "Delayed by a fault with the signalling system"
     }
    }
   }
  ],
  "disruptions": [],
  "operators": [
   {
    "code": "GW",
    "name": "Great Western Railway",
    "status": "Custom",
    "description": "Reduced service between Falmouth Docks and Truro"
   }
  ],
  "facilities": {
   "crs": "BTH",
   "name": "Bath Spa",
   "kb_slug": "bath-spa",
   "address": "Bath Spa station, Dorchester Street",
   "postcode": "BA1 1SU",
   "lat": 51.37768276,
   "lng": -2.357034178,
   "operator": {
    "name": "Great Western Railway",
    "code": "GW"
   },
   "staffing": "Full Time",
   "step_free": "A, Compliant step-free access to all platform(s)",
   "step_free_notes": "Step free Category A station - step free access available to both platforms via lifts from the main station entrance.",
   "lifts": true,
   "ramp": true,
   "wheelchairs": true,
   "staff_help": true,
   "staff_hours": [
    {
     "day": "Monday",
     "hours": "5am to 1.10am"
    },
    {
     "day": "Tuesday",
     "hours": "5am to 1.10am"
    },
    {
     "day": "Wednesday",
     "hours": "5am to 1.10am"
    },
    {
     "day": "Thursday",
     "hours": "5am to 1.10am"
    },
    {
     "day": "Friday",
     "hours": "5am to 1.10am"
    },
    {
     "day": "Saturday",
     "hours": "5.30am to 1.10am"
    },
    {
     "day": "Sunday",
     "hours": "7am to 1.10am"
    }
   ],
   "meeting_point": "Meeting point: Ticket Office.",
   "helpline": "08001 971 329 or 18001 0800 197 1329 (Textphone)",
   "ticket_office": true,
   "ticket_office_hours": [
    {
     "day": "Monday",
     "hours": "6am to 8pm"
    },
    {
     "day": "Tuesday",
     "hours": "6am to 8pm"
    },
    {
     "day": "Wednesday",
     "hours": "6am to 8pm"
    },
    {
     "day": "Thursday",
     "hours": "6am to 8pm"
    },
    {
     "day": "Friday",
     "hours": "6am to 8pm"
    },
    {
     "day": "Saturday",
     "hours": "6am to 8pm"
    },
    {
     "day": "Sunday",
     "hours": "7.45am to 8pm"
    }
   ],
   "ticket_office_notes": "Please note: Reservations and tickets requiring reservations are sold at the following times only: Mon - Fri 08:00 - 19:00, Sat 09:00 - 18:00 and Sun 09:30 - 18:00",
   "ticket_machines": true,
   "toilets": true,
   "accessible_toilets": true,
   "baby_changing": true,
   "changing_places": false,
   "waiting_room": true,
   "sheltered": true,
   "wifi": true,
   "refreshments": "Coffee shops",
   "platforms": 2,
   "cycle_spaces": 103,
   "cycle_storage": true,
   "car_spaces": 78,
   "accessible_car_spaces": 4,
   "taxi": true,
   "replacement_bus": "Dorchester Street - Bus Stop BH (Brunel Place), or as directed by signs.",
   "alerts": null,
   "changed_at": "2026-09-23T20:00:19.000Z",
   "link": "https://www.nationalrail.co.uk/stations/bath-spa/"
  },
  "credits": [
   "Train times: National Rail",
   "Disruptions: National Rail and Rail Delivery Group",
   "Service status: National Rail",
   "Station facilities: NationalRail (Train Information Services Ltd)",
   "Train times can change at short notice; check nationalrail.co.uk before you travel.",
   "Rail information from National Rail and Rail Delivery Group. Not affiliated with or endorsed by either."
  ],
  "photo": null,
  "inside": [],
  "near": {
   "same": [],
   "other": [
    {
     "name": "Dorchester Street (Bq)",
     "kind": "bus-stop",
     "path": "/buses/stops/dorchester-street-bq-0180bac01279",
     "distance": 44,
     "lat": 51.37799,
     "lng": -2.35744
    },
    {
     "name": "Dorchester Street (Bh)",
     "kind": "bus-stop",
     "path": "/buses/stops/dorchester-street-bh-0180bac30587",
     "distance": 57,
     "lat": 51.37786,
     "lng": -2.3578
    },
    {
     "name": "Revive BANES",
     "kind": "charger",
     "path": "/charging/revive-banes-ocm-251076",
     "distance": 70,
     "lat": 51.378059,
     "lng": -2.356231
    },
    {
     "name": "Manvers Street (Be)",
     "kind": "bus-stop",
     "path": "/buses/stops/manvers-street-be-0180bac30601",
     "distance": 75,
     "lat": 51.37836,
     "lng": -2.35698
    },
    {
     "name": "Manvers Street (Bg)",
     "kind": "bus-stop",
     "path": "/buses/stops/manvers-street-bg-0180baa01347",
     "distance": 78,
     "lat": 51.37838,
     "lng": -2.35714
    }
   ]
  },
  "indexable": true,
  "date_modified": "2026-10-12T16:25:03Z",
  "sources": [
   {
    "id": "rail-disruptions",
    "name": "Rail disruptions (National Rail)",
    "url": "https://www.nationalrail.co.uk/status-and-disruptions/",
    "licence": "Rail Data Marketplace open data licence (free, credit required)",
    "attribution": "National Rail and Rail Delivery Group",
    "cadence_minutes": 15,
    "last_ok": "2026-10-12T16:15:14.931Z",
    "state": "ok",
    "label": "Up to date",
    "at": "2026-10-12T16:15:14.931Z"
   },
   {
    "id": "rail-status",
    "name": "Train operator status (National Rail)",
    "url": "https://www.nationalrail.co.uk/status-and-disruptions/",
    "licence": "Rail Data Marketplace open data licence (free, credit required)",
    "attribution": "National Rail",
    "cadence_minutes": 15,
    "last_ok": "2026-10-12T16:15:14.325Z",
    "state": "ok",
    "label": "Up to date",
    "at": "2026-10-12T16:15:14.325Z"
   },
   {
    "id": "rail-stations",
    "name": "Station facilities (National Rail)",
    "url": "https://www.nationalrail.co.uk/stations/",
    "licence": "Rail Data Marketplace open data licence (free, credit required); not for commercial gain",
    "attribution": "NationalRail (Train Information Services Ltd)",
    "cadence_minutes": 10080,
    "last_ok": "2026-10-12T13:23:15.672Z",
    "state": "ok",
    "label": "Up to date",
    "at": "2026-10-12T13:23:15.672Z"
   }
  ]
 }
}