<?xml version="1.0" encoding="utf-8"?>
<ArrayOfObjTrainPositions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://api.irishrail.ie/realtime/">
  <objTrainPositions>
    <TrainStatus>N</TrainStatus>
    <TrainLatitude>51.8491</TrainLatitude>
    <TrainLongitude>-8.29956</TrainLongitude>
    <TrainCode>P535</TrainCode>
    <TrainDate>20 Apr 2026</TrainDate>
    <PublicMessage>P535\nCobh to Cork\nExpected Departure 20:00</PublicMessage>
    <Direction>To Cork</Direction>
  </objTrainPositions>
  <objTrainPositions>
    <TrainStatus>N</TrainStatus>
    <TrainLatitude>51.9018</TrainLatitude>
    <TrainLongitude>-8.4582</TrainLongitude>
    <TrainCode>D578</TrainCode>
    <TrainDate>20 Apr 2026</TrainDate>
    <PublicMessage>D578\nCork to Midleton\nExpected Departure 20:15</PublicMessage>
    <Direction>To Midleton</Direction>
  </objTrainPositions>
  <objTrainPositions>
    <TrainStatus>N</TrainStatus>
    <TrainLatitude>53.3397</TrainLatitude>
    <TrainLongitude>-6.23773</TrainLongitude>
    <TrainCode>D833</TrainCode>
    <TrainDate>20 Apr 2026</TrainDate>
    <PublicMessage>D833\nGrand Canal Dock to Drogheda\nExpected Departure 20:09</PublicMessage>
    <Direction>To Drogheda</Direction>
  </objTrainPositions>
  <objTrainPositions>
    <TrainStatus>N</TrainStatus>
    <TrainLatitude>53.3531</TrainLatitude>
    <TrainLongitude>-6.24591</TrainLongitude>
    <TrainCode>D934</TrainCode>
    <TrainDate>20 Apr 2026</TrainDate>
    <PublicMessage>D934\nDublin Connolly to Maynooth\nExpected Departure 20:17</PublicMessage>
    <Direction>Northbound</Direction>
  </objTrainPositions>
  <objTrainPositions>
    <TrainStatus>N</TrainStatus>
    <TrainLatitude>53.378</TrainLatitude>
    <TrainLongitude>-6.58993</TrainLongitude>
    <TrainCode>P767</TrainCode>
    <TrainDate>20 Apr 2026</TrainDate>
    <PublicMessage>P767\nMaynooth to Dublin Connolly\nExpected Departure 20:15</PublicMessage>
    <Direction>Southbound</Direction>
  </objTrainPositions>
  <objTrainPositions>
    <TrainStatus>R</TrainStatus>
    <TrainLatitude>0</TrainLatitude>
    <TrainLongitude>0</TrainLongitude>
    <TrainCode>A227</TrainCode>
    <TrainDate>20 Apr 2026</TrainDate>
    <PublicMessage>A227\n18:25 - Cork to Dublin Heuston (-2 mins late)\nDeparted PL101 next stop Portlaoise</PublicMessage>
    <Direction>To Dublin Heuston</Direction>
  </objTrainPositions>
  <objTrainPositions>
    <TrainStatus>R</TrainStatus>
    <TrainLatitude>0</TrainLatitude>
    <TrainLongitude>0</TrainLongitude>
    <TrainCode>A229</TrainCode>
    <TrainDate>20 Apr 2026</TrainDate>
    <PublicMessage>A229\n19:25 - Cork to Dublin Heuston (-5 mins late)\nArrived LJ895 next stop Limerick Junction</PublicMessage>
    <Direction>To Dublin Heuston</Direction>
  </objTrainPositions>
  <objTrainPositions>
    <TrainStatus>R</TrainStatus>
    <TrainLatitude>0</TrainLatitude>
    <TrainLongitude>0</TrainLongitude>
    <TrainCode>A230</TrainCode>
    <TrainDate>20 Apr 2026</TrainDate>
    <PublicMessage>A230\n21:00 - Dublin Heuston to Cork (0 mins late)\nDeparted Killarney Junction next stop Cork</PublicMessage>
    <Direction>To Cork</Direction>
  </objTrainPositions>
  <objTrainPositions>
    <TrainStatus>R</TrainStatus>
    <TrainLatitude>0</TrainLatitude>
    <TrainLongitude>0</TrainLongitude>
    <TrainCode>A724</TrainCode>
    <TrainDate>20 Apr 2026</TrainDate>
    <PublicMessage>A724\n17:31 - Dublin Heuston to Galway (1 mins late)\nDeparted GL368 next stop Oranmore</PublicMessage>
    <Direction>To Galway</Direction>
  </objTrainPositions>
  <objTrainPositions>
    <TrainStatus>R</TrainStatus>
    <TrainLatitude>0</TrainLatitude>
    <TrainLongitude>0</TrainLongitude>
    <TrainCode>A726</TrainCode>
    <TrainDate>20 Apr 2026</TrainDate>
    <PublicMessage>A726\n18:30 - Dublin Heuston to Galway (-1 mins late)\nDeparted Athlone Midland Yard next stop Ballinasloe</PublicMessage>
    <Direction>To Galway</Direction>
  </objTrainPositions>
  <objTrainPositions>
    <TrainStatus>R</TrainStatus>
    <TrainLatitude>0</TrainLatitude>
    <TrainLongitude>0</TrainLongitude>
    <TrainCode>A808</TrainCode>
    <TrainDate>20 Apr 2026</TrainDate>
    <PublicMessage>A808\n18:15 - Dublin Heuston to Westport (0 mins late)\nDeparted Athlone Midland Yard next stop Roscommon</PublicMessage>
    <Direction>To Westport</Direction>
  </objTrainPositions>
  <objTrainPositions>
    <TrainStatus>R</TrainStatus>
    <TrainLatitude>0</TrainLatitude>
    <TrainLongitude>0</TrainLongitude>
    <TrainCode>D537</TrainCode>
    <TrainDate>20 Apr 2026</TrainDate>
    <PublicMessage>D537\n19:30 - Mallow to Cobh (0 mins late)\nDeparted Killarney Junction next stop Cork</PublicMessage>
    <Direction>To Cobh</Direction>
  </objTrainPositions>
  <objTrainPositions>
    <TrainStatus>R</TrainStatus>
    <TrainLatitude>52.1396</TrainLatitude>
    <TrainLongitude>-8.65521</TrainLongitude>
    <TrainCode>A224</TrainCode>
    <TrainDate>20 Apr 2026</TrainDate>
    <PublicMessage>A224\n18:00 - Dublin Heuston to Cork (-1 mins late)\nArrived Mallow next stop Cork</PublicMessage>
    <Direction>To Cork</Direction>
  </objTrainPositions>
  <objTrainPositions>
    <TrainStatus>R</TrainStatus>
    <TrainLatitude>52.1396</TrainLatitude>
    <TrainLongitude>-8.65521</TrainLongitude>
    <TrainCode>A312</TrainCode>
    <TrainDate>20 Apr 2026</TrainDate>
    <PublicMessage>A312\n17:05 - Dublin Heuston to Tralee (0 mins late)\nDeparted Mallow next stop Banteer</PublicMessage>
    <Direction>To Tralee</Direction>
  </objTrainPositions>
  <objTrainPositions>
    <TrainStatus>R</TrainStatus>
    <TrainLatitude>52.6404</TrainLatitude>
    <TrainLongitude>-8.52719</TrainLongitude>
    <TrainCode>A478</TrainCode>
    <TrainDate>20 Apr 2026</TrainDate>
    <PublicMessage>A478\n19:42 - Limerick Junction to Ennis (0 mins late)\nDeparted Killonan next stop Limerick</PublicMessage>
    <Direction>To Ennis</Direction>
  </objTrainPositions>
  <objTrainPositions>
    <TrainStatus>R</TrainStatus>
    <TrainLatitude>52.8999</TrainLatitude>
    <TrainLongitude>-7.60259</TrainLongitude>
    <TrainCode>A226</TrainCode>
    <TrainDate>20 Apr 2026</TrainDate>
    <PublicMessage>A226\n19:00 - Dublin Heuston to Cork (0 mins late)\nDeparted Ballybrophy next stop Templemore</PublicMessage>
    <Direction>To Cork</Direction>
  </objTrainPositions>
  <objTrainPositions>
    <TrainStatus>R</TrainStatus>
    <TrainLatitude>52.8999</TrainLatitude>
    <TrainLongitude>-7.60259</TrainLongitude>
    <TrainCode>A464</TrainCode>
    <TrainDate>20 Apr 2026</TrainDate>
    <PublicMessage>A464\n19:05 - Ballybrophy to Limerick (0 mins late)\nDeparted Ballybrophy next stop Roscrea</PublicMessage>
    <Direction>To Limerick</Direction>
  </objTrainPositions>
  <objTrainPositions>
    <TrainStatus>R</TrainStatus>
    <TrainLatitude>52.992</TrainLatitude>
    <TrainLongitude>-6.9762</TrainLongitude>
    <TrainCode>A526</TrainCode>
    <TrainDate>20 Apr 2026</TrainDate>
    <PublicMessage>A526\n18:35 - Dublin Heuston to Waterford (0 mins late)\nDeparted Athy next stop Carlow</PublicMessage>
    <Direction>To Waterford</Direction>
  </objTrainPositions>
  <objTrainPositions>
    <TrainStatus>R</TrainStatus>
    <TrainLatitude>53.1442</TrainLatitude>
    <TrainLongitude>-6.06085</TrainLongitude>
    <TrainCode>A612</TrainCode>
    <TrainDate>20 Apr 2026</TrainDate>
    <PublicMessage>A612\n17:28 - Dublin Connolly to Rosslare Europort (2 mins late)\nDeparted Greystones next stop Kilcoole</PublicMessage>
    <Direction>Southbound</Direction>
  </objTrainPositions>
  <objTrainPositions>
    <TrainStatus>R</TrainStatus>
    <TrainLatitude>53.1442</TrainLatitude>
    <TrainLongitude>-6.06085</TrainLongitude>
    <TrainCode>A614</TrainCode>
    <TrainDate>20 Apr 2026</TrainDate>
    <PublicMessage>A614\n18:28 - Dublin Connolly to Wexford (7 mins late)\nDeparted Greystones next stop Kilcoole</PublicMessage>
    <Direction>Southbound</Direction>
  </objTrainPositions>
  <objTrainPositions>
    <TrainStatus>R</TrainStatus>
    <TrainLatitude>53.1442</TrainLatitude>
    <TrainLongitude>-6.06085</TrainLongitude>
    <TrainCode>A617</TrainCode>
    <TrainDate>20 Apr 2026</TrainDate>
    <PublicMessage>A617\n17:55 - Rosslare Europort to Dublin Connolly (3 mins late)\nDeparted Greystones next stop Bray</PublicMessage>
    <Direction>Northbound</Direction>
  </objTrainPositions>
  <objTrainPositions>
    <TrainStatus>R</TrainStatus>
    <TrainLatitude>53.1454</TrainLatitude>
    <TrainLongitude>-7.06361</TrainLongitude>
    <TrainCode>A728</TrainCode>
    <TrainDate>20 Apr 2026</TrainDate>
    <PublicMessage>A728\n19:35 - Dublin Heuston to Galway (0 mins late)\nArrived Monasterevin next stop Portarlington</PublicMessage>
    <Direction>To Galway</Direction>
  </objTrainPositions>
  <objTrainPositions>
    <TrainStatus>R</TrainStatus>
    <TrainLatitude>53.1454</TrainLatitude>
    <TrainLongitude>-7.06361</TrainLongitude>
    <TrainCode>D221</TrainCode>
    <TrainDate>20 Apr 2026</TrainDate>
    <PublicMessage>D221\n19:08 - Dublin Heuston to Portlaoise (3 mins late)\nDeparted Monasterevin next stop Portarlington</PublicMessage>
    <Direction>To Portlaoise</Direction>
  </objTrainPositions>
  <objTrainPositions>
    <TrainStatus>R</TrainStatus>
    <TrainLatitude>53.22</TrainLatitude>
    <TrainLongitude>-6.1101</TrainLongitude>
    <TrainCode>E127</TrainCode>
    <TrainDate>20 Apr 2026</TrainDate>
    <PublicMessage>E127\n18:55 - Howth to Greystones (0 mins late)\nDeparted Woodbrook next stop Bray</PublicMessage>
    <Direction>Southbound</Direction>
  </objTrainPositions>
  <objTrainPositions>
    <TrainStatus>R</TrainStatus>
    <TrainLatitude>53.2469</TrainLatitude>
    <TrainLongitude>-6.66386</TrainLongitude>
    <TrainCode>P225</TrainCode>
    <TrainDate>20 Apr 2026</TrainDate>
    <PublicMessage>P225\n19:25 - Portlaoise to Dublin Heuston (0 mins late)\nDeparted Sallins next stop Hazelhatch</PublicMessage>
    <Direction>To Dublin Heuston</Direction>
  </objTrainPositions>
  <objTrainPositions>
    <TrainStatus>R</TrainStatus>
    <TrainLatitude>53.2756</TrainLatitude>
    <TrainLongitude>-6.10333</TrainLongitude>
    <TrainCode>E254</TrainCode>
    <TrainDate>20 Apr 2026</TrainDate>
    <PublicMessage>E254\n19:03 - Malahide to Bray (1 mins late)\nDeparted Dalkey next stop Killiney</PublicMessage>
    <Direction>Southbound</Direction>
  </objTrainPositions>
  <objTrainPositions>
    <TrainStatus>R</TrainStatus>
    <TrainLatitude>53.2756</TrainLatitude>
    <TrainLongitude>-6.10333</TrainLongitude>
    <TrainCode>E945</TrainCode>
    <TrainDate>20 Apr 2026</TrainDate>
    <PublicMessage>E945\n19:55 - Bray to Howth (0 mins late)\nDeparted Dalkey next stop Glenageary</PublicMessage>
    <Direction>Northbound</Direction>
  </objTrainPositions>
  <objTrainPositions>
    <TrainStatus>R</TrainStatus>
    <TrainLatitude>53.2951</TrainLatitude>
    <TrainLongitude>-6.13498</TrainLongitude>
    <TrainCode>E842</TrainCode>
    <TrainDate>20 Apr 2026</TrainDate>
    <PublicMessage>E842\n19:31 - Greystones to Malahide (5 mins late)\nDeparted Dun Laoghaire next stop Salthill and Monkstown</PublicMessage>
    <Direction>Northbound</Direction>
  </objTrainPositions>
  <objTrainPositions>
    <TrainStatus>R</TrainStatus>
    <TrainLatitude>53.2954</TrainLatitude>
    <TrainLongitude>-6.15206</TrainLongitude>
    <TrainCode>E255</TrainCode>
    <TrainDate>20 Apr 2026</TrainDate>
    <PublicMessage>E255\n19:19 - Howth to Bray (0 mins late)\nArrived Salthill and Monkstown next stop Dun Laoghaire</PublicMessage>
    <Direction>Southbound</Direction>
  </objTrainPositions>
  <objTrainPositions>
    <TrainStatus>R</TrainStatus>
    <TrainLatitude>53.3206</TrainLatitude>
    <TrainLongitude>-6.21112</TrainLongitude>
    <TrainCode>E944</TrainCode>
    <TrainDate>20 Apr 2026</TrainDate>
    <PublicMessage>E944\n19:35 - Bray to Howth (1 mins late)\nDeparted Sydney Parade next stop Sandymount</PublicMessage>
    <Direction>Northbound</Direction>
  </objTrainPositions>
  <objTrainPositions>
    <TrainStatus>R</TrainStatus>
    <TrainLatitude>53.3334</TrainLatitude>
    <TrainLongitude>-6.40628</TrainLongitude>
    <TrainCode>A231</TrainCode>
    <TrainDate>20 Apr 2026</TrainDate>
    <PublicMessage>A231\n20:25 - Cork to Dublin Heuston (1 mins late)\nDeparted Clondalkin next stop Dublin Heuston</PublicMessage>
    <Direction>To Dublin Heuston</Direction>
  </objTrainPositions>
  <objTrainPositions>
    <TrainStatus>R</TrainStatus>
    <TrainLatitude>53.334</TrainLatitude>
    <TrainLongitude>-6.37868</TrainLongitude>
    <TrainCode>P420</TrainCode>
    <TrainDate>20 Apr 2026</TrainDate>
    <PublicMessage>P420\n19:40 - Hazelhatch to Grand Canal Dock (1 mins late)\nDeparted Park West and Cherry Orchard next stop Drumcondra</PublicMessage>
    <Direction>Northbound</Direction>
  </objTrainPositions>
  <objTrainPositions>
    <TrainStatus>R</TrainStatus>
    <TrainLatitude>53.3353</TrainLatitude>
    <TrainLongitude>-6.45233</TrainLongitude>
    <TrainCode>A527</TrainCode>
    <TrainDate>20 Apr 2026</TrainDate>
    <PublicMessage>A527\n19:19 - Kilkenny to Dublin Heuston (0 mins late)\nDeparted Adamstown next stop Dublin Heuston</PublicMessage>
    <Direction>To Dublin Heuston</Direction>
  </objTrainPositions>
  <objTrainPositions>
    <TrainStatus>R</TrainStatus>
    <TrainLatitude>53.3353</TrainLatitude>
    <TrainLongitude>-6.45233</TrainLongitude>
    <TrainCode>D222</TrainCode>
    <TrainDate>20 Apr 2026</TrainDate>
    <PublicMessage>D222\n19:45 - Dublin Heuston to Portlaoise (3 mins late)\nDeparted Adamstown next stop Hazelhatch</PublicMessage>
    <Direction>To Portlaoise</Direction>
  </objTrainPositions>
  <objTrainPositions>
    <TrainStatus>R</TrainStatus>
    <TrainLatitude>53.3397</TrainLatitude>
    <TrainLongitude>-6.23773</TrainLongitude>
    <TrainCode>E128</TrainCode>
    <TrainDate>20 Apr 2026</TrainDate>
    <PublicMessage>E128\n19:34 - Malahide to Greystones (0 mins late)\nDeparted Grand Canal Dock next stop Lansdowne Road</PublicMessage>
    <Direction>Southbound</Direction>
  </objTrainPositions>
  <objTrainPositions>
    <TrainStatus>R</TrainStatus>
    <TrainLatitude>53.347</TrainLatitude>
    <TrainLongitude>-6.25425</TrainLongitude>
    <TrainCode>E700</TrainCode>
    <TrainDate>20 Apr 2026</TrainDate>
    <PublicMessage>E700\n19:25 - Bray to Dublin Connolly (0 mins late)\nArrived Tara Street next stop Dublin Connolly</PublicMessage>
    <Direction>Northbound</Direction>
  </objTrainPositions>
  <objTrainPositions>
    <TrainStatus>R</TrainStatus>
    <TrainLatitude>53.3531</TrainLatitude>
    <TrainLongitude>-6.24591</TrainLongitude>
    <TrainCode>A616</TrainCode>
    <TrainDate>20 Apr 2026</TrainDate>
    <PublicMessage>A616\n20:08 - Dublin Connolly to Gorey (0 mins late)\nDeparted Dublin Connolly next stop Tara Street</PublicMessage>
    <Direction>Southbound</Direction>
  </objTrainPositions>
  <objTrainPositions>
    <TrainStatus>R</TrainStatus>
    <TrainLatitude>53.3629</TrainLatitude>
    <TrainLongitude>-6.22753</TrainLongitude>
    <TrainCode>E256</TrainCode>
    <TrainDate>20 Apr 2026</TrainDate>
    <PublicMessage>E256\n19:46 - Howth to Bray (0 mins late)\nDeparted Clontarf Road next stop Dublin Connolly</PublicMessage>
    <Direction>Southbound</Direction>
  </objTrainPositions>
  <objTrainPositions>
    <TrainStatus>R</TrainStatus>
    <TrainLatitude>53.3632</TrainLatitude>
    <TrainLongitude>-6.25908</TrainLongitude>
    <TrainCode>D422</TrainCode>
    <TrainDate>20 Apr 2026</TrainDate>
    <PublicMessage>D422\n19:46 - Grand Canal Dock to Hazelhatch (0 mins late)\nDeparted Drumcondra next stop Park West and Cherry Orchard</PublicMessage>
    <Direction>Southbound</Direction>
  </objTrainPositions>
  <objTrainPositions>
    <TrainStatus>R</TrainStatus>
    <TrainLatitude>53.373</TrainLatitude>
    <TrainLongitude>-6.20442</TrainLongitude>
    <TrainCode>A125</TrainCode>
    <TrainDate>20 Apr 2026</TrainDate>
    <PublicMessage>A125\n18:00 - Belfast to Dublin Connolly (2 mins late)\nArrived Killester next stop Dublin Connolly</PublicMessage>
    <Direction>Southbound</Direction>
  </objTrainPositions>
  <objTrainPositions>
    <TrainStatus>R</TrainStatus>
    <TrainLatitude>53.373</TrainLatitude>
    <TrainLongitude>-6.20442</TrainLongitude>
    <TrainCode>E943</TrainCode>
    <TrainDate>20 Apr 2026</TrainDate>
    <PublicMessage>E943\n19:01 - Greystones to Howth (0 mins late)\nDeparted Killester next stop Harmonstown</PublicMessage>
    <Direction>Northbound</Direction>
  </objTrainPositions>
  <objTrainPositions>
    <TrainStatus>R</TrainStatus>
    <TrainLatitude>53.3755</TrainLatitude>
    <TrainLongitude>-6.33135</TrainLongitude>
    <TrainCode>P783</TrainCode>
    <TrainDate>20 Apr 2026</TrainDate>
    <PublicMessage>P783\n19:40 - M3 Parkway to Dublin Connolly (5 mins late)\nDeparted Ashtown next stop Pelletstown</PublicMessage>
    <Direction>Southbound</Direction>
  </objTrainPositions>
  <objTrainPositions>
    <TrainStatus>R</TrainStatus>
    <TrainLatitude>53.3777</TrainLatitude>
    <TrainLongitude>-6.34591</TrainLongitude>
    <TrainCode>P667</TrainCode>
    <TrainDate>20 Apr 2026</TrainDate>
    <PublicMessage>P667\n19:39 - Maynooth to Grand Canal Dock (3 mins late)\nArrived Navan Road Parkway next stop Ashtown</PublicMessage>
    <Direction>Southbound</Direction>
  </objTrainPositions>
  <objTrainPositions>
    <TrainStatus>R</TrainStatus>
    <TrainLatitude>53.378</TrainLatitude>
    <TrainLongitude>-6.58993</TrainLongitude>
    <TrainCode>A914</TrainCode>
    <TrainDate>20 Apr 2026</TrainDate>
    <PublicMessage>A914\n19:32 - Dublin Connolly to Sligo (2 mins late)\nArrived Maynooth next stop Kilcock</PublicMessage>
    <Direction>Northbound</Direction>
  </objTrainPositions>
  <objTrainPositions>
    <TrainStatus>R</TrainStatus>
    <TrainLatitude>53.3816</TrainLatitude>
    <TrainLongitude>-6.37149</TrainLongitude>
    <TrainCode>D933</TrainCode>
    <TrainDate>20 Apr 2026</TrainDate>
    <PublicMessage>D933\n19:47 - Dublin Connolly to Maynooth (2 mins late)\nArrived Castleknock next stop Coolmine</PublicMessage>
    <Direction>Northbound</Direction>
  </objTrainPositions>
  <objTrainPositions>
    <TrainStatus>R</TrainStatus>
    <TrainLatitude>53.3831</TrainLatitude>
    <TrainLongitude>-6.4242</TrainLongitude>
    <TrainCode>A913</TrainCode>
    <TrainDate>20 Apr 2026</TrainDate>
    <PublicMessage>A913\n17:05 - Sligo to Dublin Connolly (0 mins late)\nDeparted Clonsilla next stop Broombridge</PublicMessage>
    <Direction>Southbound</Direction>
  </objTrainPositions>
  <objTrainPositions>
    <TrainStatus>R</TrainStatus>
    <TrainLatitude>53.3909</TrainLatitude>
    <TrainLongitude>-6.15672</TrainLongitude>
    <TrainCode>E840</TrainCode>
    <TrainDate>20 Apr 2026</TrainDate>
    <PublicMessage>E840\n19:04 - Bray to Malahide (2 mins late)\nArrived Howth Junction next stop Clongriffin</PublicMessage>
    <Direction>Northbound</Direction>
  </objTrainPositions>
  <objTrainPositions>
    <TrainStatus>R</TrainStatus>
    <TrainLatitude>53.4273</TrainLatitude>
    <TrainLongitude>-7.93683</TrainLongitude>
    <TrainCode>A810</TrainCode>
    <TrainDate>20 Apr 2026</TrainDate>
    <PublicMessage>A810\n21:09 - Athlone to Westport (-134 mins late)\nDeparted Athlone next stop Roscommon</PublicMessage>
    <Direction>To Westport</Direction>
  </objTrainPositions>
  <objTrainPositions>
    <TrainStatus>R</TrainStatus>
    <TrainLatitude>53.4349</TrainLatitude>
    <TrainLongitude>-6.46898</TrainLongitude>
    <TrainCode>P329</TrainCode>
    <TrainDate>20 Apr 2026</TrainDate>
    <PublicMessage>P329\n20:07 - M3 Parkway to Clonsilla (1 mins late)\nDeparted M3 Parkway next stop Dunboyne</PublicMessage>
    <Direction>Southbound</Direction>
  </objTrainPositions>
  <objTrainPositions>
    <TrainStatus>R</TrainStatus>
    <TrainLatitude>53.4509</TrainLatitude>
    <TrainLongitude>-6.15649</TrainLongitude>
    <TrainCode>E257</TrainCode>
    <TrainDate>20 Apr 2026</TrainDate>
    <PublicMessage>E257\n20:03 - Malahide to Bray (2 mins late)\nDeparted Malahide next stop Portmarnock</PublicMessage>
    <Direction>Southbound</Direction>
  </objTrainPositions>
  <objTrainPositions>
    <TrainStatus>R</TrainStatus>
    <TrainLatitude>53.6118</TrainLatitude>
    <TrainLongitude>-6.18226</TrainLongitude>
    <TrainCode>D831</TrainCode>
    <TrainDate>20 Apr 2026</TrainDate>
    <PublicMessage>D831\n19:19 - Grand Canal Dock to Drogheda (0 mins late)\nArrived Balbriggan next stop Gormanston</PublicMessage>
    <Direction>To Drogheda</Direction>
  </objTrainPositions>
  <objTrainPositions>
    <TrainStatus>R</TrainStatus>
    <TrainLatitude>53.6118</TrainLatitude>
    <TrainLongitude>-6.18226</TrainLongitude>
    <TrainCode>P622</TrainCode>
    <TrainDate>20 Apr 2026</TrainDate>
    <PublicMessage>P622\n19:48 - Drogheda to Grand Canal Dock (1 mins late)\nDeparted Balbriggan next stop Skerries</PublicMessage>
    <Direction>To Grand Canal Dock</Direction>
  </objTrainPositions>
  <objTrainPositions>
    <TrainStatus>R</TrainStatus>
    <TrainLatitude>53.8591</TrainLatitude>
    <TrainLongitude>-7.9164</TrainLongitude>
    <TrainCode>A915</TrainCode>
    <TrainDate>20 Apr 2026</TrainDate>
    <PublicMessage>A915\n19:05 - Sligo to Dublin Connolly (1 mins late)\nDeparted Dromod next stop Longford</PublicMessage>
    <Direction>Southbound</Direction>
  </objTrainPositions>
  <objTrainPositions>
    <TrainStatus>R</TrainStatus>
    <TrainLatitude>54.0007</TrainLatitude>
    <TrainLongitude>-6.41291</TrainLongitude>
    <TrainCode>A124</TrainCode>
    <TrainDate>20 Apr 2026</TrainDate>
    <PublicMessage>A124\n17:50 - Dublin Connolly to Belfast (3 mins late)\nDeparted Dundalk next stop Newry</PublicMessage>
    <Direction>Northbound</Direction>
  </objTrainPositions>
  <objTrainPositions>
    <TrainStatus>R</TrainStatus>
    <TrainLatitude>54.0007</TrainLatitude>
    <TrainLongitude>-6.41291</TrainLongitude>
    <TrainCode>A126</TrainCode>
    <TrainDate>20 Apr 2026</TrainDate>
    <PublicMessage>A126\n18:50 - Dublin Connolly to Belfast (5 mins late)\nDeparted Dundalk next stop Newry</PublicMessage>
    <Direction>Northbound</Direction>
  </objTrainPositions>
  <objTrainPositions>
    <TrainStatus>R</TrainStatus>
    <TrainLatitude>54.0007</TrainLatitude>
    <TrainLongitude>-6.41291</TrainLongitude>
    <TrainCode>A127</TrainCode>
    <TrainDate>20 Apr 2026</TrainDate>
    <PublicMessage>A127\n19:00 - Belfast to Dublin Connolly (-4 mins late)\nArrived Dundalk next stop Drogheda</PublicMessage>
    <Direction>Southbound</Direction>
  </objTrainPositions>
  <objTrainPositions>
    <TrainStatus>R</TrainStatus>
    <TrainLatitude>54.0887</TrainLatitude>
    <TrainLongitude>-8.52088</TrainLongitude>
    <TrainCode>A912</TrainCode>
    <TrainDate>20 Apr 2026</TrainDate>
    <PublicMessage>A912\n17:05 - Dublin Connolly to Sligo (1 mins late)\nDeparted Ballymote next stop Collooney</PublicMessage>
    <Direction>Northbound</Direction>
  </objTrainPositions>
  <objTrainPositions>
    <TrainStatus>T</TrainStatus>
    <TrainLatitude>53.3223</TrainLatitude>
    <TrainLongitude>-6.52356</TrainLongitude>
    <TrainCode>D421</TrainCode>
    <TrainDate>20 Apr 2026</TrainDate>
    <PublicMessage>D421\n19:10 - Grand Canal Dock to Hazelhatch(0 mins late)\nTERMINATED Hazelhatch at 20:02</PublicMessage>
    <Direction>Southbound</Direction>
  </objTrainPositions>
  <objTrainPositions>
    <TrainStatus>T</TrainStatus>
    <TrainLatitude>53.334</TrainLatitude>
    <TrainLongitude>-6.37868</TrainLongitude>
    <TrainCode>A225</TrainCode>
    <TrainDate>20 Apr 2026</TrainDate>
    <PublicMessage>A225\n17:25 - Cork to Dublin Heuston(-2 mins late)\nTERMINATED Park West and Cherry Orchard at 20:00</PublicMessage>
    <Direction>To Dublin Heuston</Direction>
  </objTrainPositions>
  <objTrainPositions>
    <TrainStatus>T</TrainStatus>
    <TrainLatitude>53.3397</TrainLatitude>
    <TrainLongitude>-6.23773</TrainLongitude>
    <TrainCode>P621</TrainCode>
    <TrainDate>20 Apr 2026</TrainDate>
    <PublicMessage>P621\n18:52 - Drogheda to Grand Canal Dock(1 mins late)\nTERMINATED Grand Canal Dock at 20:03</PublicMessage>
    <Direction>To Grand Canal Dock</Direction>
  </objTrainPositions>
  <objTrainPositions>
    <TrainStatus>T</TrainStatus>
    <TrainLatitude>53.3531</TrainLatitude>
    <TrainLongitude>-6.24591</TrainLongitude>
    <TrainCode>P766</TrainCode>
    <TrainDate>20 Apr 2026</TrainDate>
    <PublicMessage>P766\n19:25 - Maynooth to Dublin Connolly(-2 mins late)\nTERMINATED Dublin Connolly at 20:06</PublicMessage>
    <Direction>Southbound</Direction>
  </objTrainPositions>
  <objTrainPositions>
    <TrainStatus>T</TrainStatus>
    <TrainLatitude>53.378</TrainLatitude>
    <TrainLongitude>-6.58993</TrainLongitude>
    <TrainCode>D932</TrainCode>
    <TrainDate>20 Apr 2026</TrainDate>
    <PublicMessage>D932\n19:17 - Dublin Connolly to Maynooth(0 mins late)\nTERMINATED Maynooth at 20:00</PublicMessage>
    <Direction>Northbound</Direction>
  </objTrainPositions>
  <objTrainPositions>
    <TrainStatus>T</TrainStatus>
    <TrainLatitude>53.3891</TrainLatitude>
    <TrainLongitude>-6.07401</TrainLongitude>
    <TrainCode>E942</TrainCode>
    <TrainDate>20 Apr 2026</TrainDate>
    <PublicMessage>E942\n18:55 - Bray to Howth(-3 mins late)\nTERMINATED Howth at 20:06</PublicMessage>
    <Direction>Northbound</Direction>
  </objTrainPositions>
  <objTrainPositions>
    <TrainStatus>T</TrainStatus>
    <TrainLatitude>53.4349</TrainLatitude>
    <TrainLongitude>-6.46898</TrainLongitude>
    <TrainCode>D325</TrainCode>
    <TrainDate>20 Apr 2026</TrainDate>
    <PublicMessage>D325\n19:25 - Docklands to M3 Parkway(2 mins late)\nTERMINATED M3 Parkway at 20:03</PublicMessage>
    <Direction>Northbound</Direction>
  </objTrainPositions>
  <objTrainPositions>
    <TrainStatus>T</TrainStatus>
    <TrainLatitude>53.4509</TrainLatitude>
    <TrainLongitude>-6.15649</TrainLongitude>
    <TrainCode>E839</TrainCode>
    <TrainDate>20 Apr 2026</TrainDate>
    <PublicMessage>E839\n18:31 - Greystones to Malahide(1 mins late)\nTERMINATED Malahide at 20:00</PublicMessage>
    <Direction>Northbound</Direction>
  </objTrainPositions>
  <objTrainPositions>
    <TrainStatus>T</TrainStatus>
    <TrainLatitude>53.712</TrainLatitude>
    <TrainLongitude>-6.33538</TrainLongitude>
    <TrainCode>D830</TrainCode>
    <TrainDate>20 Apr 2026</TrainDate>
    <PublicMessage>D830\n18:59 - Grand Canal Dock to Drogheda(-2 mins late)\nTERMINATED Drogheda at 20:01</PublicMessage>
    <Direction>To Drogheda</Direction>
  </objTrainPositions>
  <objTrainPositions>
    <TrainStatus>T</TrainStatus>
    <TrainLatitude>53.7243</TrainLatitude>
    <TrainLongitude>-7.79574</TrainLongitude>
    <TrainCode>D930</TrainCode>
    <TrainDate>20 Apr 2026</TrainDate>
    <PublicMessage>D930\n18:16 - Dublin Connolly to Longford(5 mins late)\nTERMINATED Longford at 20:04</PublicMessage>
    <Direction>Northbound</Direction>
  </objTrainPositions>
</ArrayOfObjTrainPositions>