[2025-10-28 03:13:42] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-24618.xml
[2025-10-28 03:13:42] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-24618.xml for user: 68d56363ec1209189
[2025-10-28 03:13:42] [INFO] File size: 1804 bytes
[2025-10-28 03:13:43] [INFO] Created FTPFiles record with ID: 690034e6f2d380841
[2025-10-28 03:13:43] [INFO] WE ARE HERE {"mappings":{"IncidentNumber":"dispatchRunNumber","house_number":"incidentLocationStreetNumber","street":"streetName","apt":"incidentLocationApt","city":"incidentLocationCity","location_name":"businessName","STATE":"incidentLocationStateName","ZIPCODE":"nERISIncidentPostalCode","LATITUDE":"nERISIncidentLatitude","LONGITUDE":"nERISIncidentLongitude","incident_type":"incidentTypeValue1","commentlist.comment":["dispatchNotes","cADLog"],"time_first_unit_assigned":["alarm","dispatched"],"time_first_unit_arrived":"onScene","time_last_unit_cleared":["cleared","inService"],"Units.Unit[0].radio_name":["cADVehicleID","name"],"Units.Unit[0].time_enroute":"timeenroutetoscene","Units.Unit[0].time_arrivedatscene":"timeonscene","Units.Unit[0].time_depart_scene":"timeunitclear","Units.Unit[0].time_assigned":"timedispatch"},"selectedRecord":{"id":"68eeb2639352dd41d","name":null},"fieldExamples":{"IncidentNumber":{"name":"IncidentNumber","value":"25-23514","type":"text"},"house_number":{"name":"house_number","value":"515","type":"number"},"street":{"name":"street","value":"LINDENWOOD AVE","type":"address"},"apt":{"name":"apt","value":"Array","type":"text"},"city":{"name":"city","value":"Array","type":"address"},"location_name":{"name":"location_name","value":"Array","type":"text"},"STATE":{"name":"STATE","value":"Array","type":"address"},"ZIPCODE":{"name":"ZIPCODE","value":"Array","type":"address"},"LATITUDE":{"name":"LATITUDE","value":"0","type":"coordinate"},"LONGITUDE":{"name":"LONGITUDE","value":"0","type":"coordinate"},"incident_type":{"name":"incident_type","value":"FIRE-GAS LEAK","type":"text"},"commentlist.comment":{"name":"comment","value":"10-14-2025 15:05:06|B45 ADVISED HE WOULD NOTIFY GAS CO 10-14-2025 15:05:23|B46 NOTHING SHOWING 10-14-2025 15:08:22|B46 ADVISED NO SMELL OF GAS HOWEVER ALARMS GOING OFF 10-14-2025 15:13:38|B46 CLEARED ","type":"text"},"time_first_unit_assigned":{"name":"time_first_unit_assigned","value":"10-14-2025T15:04:42","type":"datetime"},"time_first_unit_arrived":{"name":"time_first_unit_arrived","value":"10-14-2025T15:07:19","type":"datetime"},"time_last_unit_cleared":{"name":"time_last_unit_cleared","value":"10-14-2025T15:27:23","type":"datetime"},"Units.Unit[0].radio_name":{"name":"radio_name","value":"ENG2","type":"text"},"Units.Unit[0].time_enroute":{"name":"time_enroute","value":"10-14-2025T15:04:46","type":"datetime"},"Units.Unit[0].time_arrivedatscene":{"name":"time_arrivedatscene","value":"10-14-2025T15:08:38","type":"datetime"},"Units.Unit[0].time_depart_scene":{"name":"time_depart_scene","value":"10-14-2025T15:27:23","type":"datetime"},"Units.Unit[0].time_assigned":{"name":"time_assigned","value":"10-14-2025T15:04:42","type":"datetime"}},"timestamp":"2025-10-16T18:16:37.381Z"}
[2025-10-28 03:13:43] [INFO] About to extract fields from XML. File size: 1804 bytes
[2025-10-28 03:13:43] [INFO] Number of mappings: 20
[2025-10-28 03:13:43] [INFO] Starting XML parsing. Content length: 1804
[2025-10-28 03:13:43] [INFO] XML parsed successfully. Root element: Incident
[2025-10-28 03:13:43] [INFO] Processing 20 field mappings
[2025-10-28 03:13:43] [INFO] Mapping #1: Extracting 'IncidentNumber' => 'dispatchRunNumber'
[2025-10-28 03:13:43] [INFO]   -> Found value: 25-24618
[2025-10-28 03:13:43] [INFO]   -> Set field 'dispatchRunNumber' = "25-24618"
[2025-10-28 03:13:43] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2025-10-28 03:13:43] [INFO]   -> No value found (null or empty)
[2025-10-28 03:13:43] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2025-10-28 03:13:43] [INFO]   -> Found value: E COUNTY HIGHWAY 450
[2025-10-28 03:13:43] [INFO]   -> Set field 'streetName' = "E COUNTY HIGHWAY 450"
[2025-10-28 03:13:43] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2025-10-28 03:13:43] [INFO]   -> No value found (null or empty)
[2025-10-28 03:13:43] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2025-10-28 03:13:43] [INFO]   -> Found value: SIKESTON
[2025-10-28 03:13:43] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2025-10-28 03:13:43] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2025-10-28 03:13:43] [INFO]   -> No value found (null or empty)
[2025-10-28 03:13:43] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2025-10-28 03:13:43] [INFO]   -> No value found (null or empty)
[2025-10-28 03:13:43] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2025-10-28 03:13:43] [INFO]   -> No value found (null or empty)
[2025-10-28 03:13:43] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2025-10-28 03:13:43] [INFO]   -> Found value: 0
[2025-10-28 03:13:43] [INFO]   -> Set field 'nERISIncidentLatitude' = null
[2025-10-28 03:13:43] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2025-10-28 03:13:43] [INFO]   -> Found value: 0
[2025-10-28 03:13:43] [INFO]   -> Set field 'nERISIncidentLongitude' = null
[2025-10-28 03:13:43] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2025-10-28 03:13:43] [INFO]   -> Found value: FIRE-OUT OF TOWN
[2025-10-28 03:13:43] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE-OUT OF TOWN"
[2025-10-28 03:13:43] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2025-10-28 03:13:43] [INFO]   -> Found value: 10-27-2025 21:34:02|Call Received on 10/27/2025 @ 21:34

CALLER STATED STACK OF PALLETS OR A MATTRES...
[2025-10-28 03:13:43] [INFO]   -> Set field 'dispatchNotes' = "10-27-2025 21:34:02|Call Received on 10\/27\/2025 @ 21:34\n\nCALLER STATED STACK OF PALLETS OR A MATTRESS IS ON FIRE IN THE TREE LINE\n 10-27-2025 21:38:47|SCOTT CO NOTIFIED 10-27-2025 21:56:14|CANCEL ALL UNITS UNABLE TO LOCATE"
[2025-10-28 03:13:43] [INFO]   -> Set field 'cADLog' = "10-27-2025 21:34:02|Call Received on 10\/27\/2025 @ 21:34\n\nCALLER STATED STACK OF PALLETS OR A MATTRESS IS ON FIRE IN THE TREE LINE\n 10-27-2025 21:38:47|SCOTT CO NOTIFIED 10-27-2025 21:56:14|CANCEL ALL UNITS UNABLE TO LOCATE"
[2025-10-28 03:13:43] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2025-10-28 03:13:43] [INFO]   -> Found value: 10-27-2025T21:41:45
[2025-10-28 03:13:43] [ERROR] Error formatting datetime '10-27-2025T21:41:45': Failed to parse time string (10-27-2025T21:41:45) at position 0 (1): Unexpected character
[2025-10-28 03:13:43] [INFO]   -> Set field 'alarm' = null
[2025-10-28 03:13:43] [ERROR] Error formatting datetime '10-27-2025T21:41:45': Failed to parse time string (10-27-2025T21:41:45) at position 0 (1): Unexpected character
[2025-10-28 03:13:43] [INFO]   -> Set field 'dispatched' = null
[2025-10-28 03:13:43] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2025-10-28 03:13:43] [INFO]   -> No value found (null or empty)
[2025-10-28 03:13:43] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2025-10-28 03:13:43] [INFO]   -> No value found (null or empty)
[2025-10-28 03:13:43] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2025-10-28 03:13:43] [INFO]   -> Found value: ENG3
[2025-10-28 03:13:43] [INFO]   -> Set field 'cADVehicleID' = "ENG3"
[2025-10-28 03:13:43] [INFO]   -> Set field 'name' = "ENG3"
[2025-10-28 03:13:43] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2025-10-28 03:13:43] [INFO]   -> Found value: 10-27-2025T21:42:38
[2025-10-28 03:13:43] [ERROR] Error formatting datetime '10-27-2025T21:42:38': Failed to parse time string (10-27-2025T21:42:38) at position 0 (1): Unexpected character
[2025-10-28 03:13:43] [INFO]   -> Set field 'timeenroutetoscene' = null
[2025-10-28 03:13:43] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2025-10-28 03:13:43] [INFO]   -> No value found (null or empty)
[2025-10-28 03:13:43] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2025-10-28 03:13:43] [INFO]   -> Found value: 10-27-2025T22:13:03
[2025-10-28 03:13:43] [ERROR] Error formatting datetime '10-27-2025T22:13:03': Failed to parse time string (10-27-2025T22:13:03) at position 0 (1): Unexpected character
[2025-10-28 03:13:43] [INFO]   -> Set field 'timeunitclear' = null
[2025-10-28 03:13:43] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2025-10-28 03:13:43] [INFO]   -> Found value: 10-27-2025T21:42:35
[2025-10-28 03:13:43] [ERROR] Error formatting datetime '10-27-2025T21:42:35': Failed to parse time string (10-27-2025T21:42:35) at position 0 (1): Unexpected character
[2025-10-28 03:13:43] [INFO]   -> Set field 'timedispatch' = null
[2025-10-28 03:13:43] [INFO] Finished extracting fields. Total fields extracted: 15
[2025-10-28 03:13:43] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"25-24618","streetName":"E COUNTY HIGHWAY 450","incidentLocationCity":"SIKESTON","nERISIncidentLatitude":null,"nERISIncidentLongitude":null,"incidentTypeValue1":"FIRE-OUT OF TOWN","dispatchNotes":"10-27-2025 21:34:02|Call Received on 10\/27\/2025 @ 21:34\n\nCALLER STATED STACK OF PALLETS OR A MATTRESS IS ON FIRE IN THE TREE LINE\n 10-27-2025 21:38:47|SCOTT CO NOTIFIED 10-27-2025 21:56:14|CANCEL ALL UNITS UNABLE TO LOCATE","cADLog":"10-27-2025 21:34:02|Call Received on 10\/27\/2025 @ 21:34\n\nCALLER STATED STACK OF PALLETS OR A MATTRESS IS ON FIRE IN THE TREE LINE\n 10-27-2025 21:38:47|SCOTT CO NOTIFIED 10-27-2025 21:56:14|CANCEL ALL UNITS UNABLE TO LOCATE","alarm":null,"dispatched":null,"cADVehicleID":"ENG3","name":"ENG3","timeenroutetoscene":null,"timeunitclear":null,"timedispatch":null}
[2025-10-28 03:13:43] [INFO] Number of extracted fields: 15
[2025-10-28 03:13:43] [INFO] Found existing IncidentTypeMapping with ID: 68e4158e878336f04
[2025-10-28 03:13:43] [INFO] Created Dispatches record with ID: 690034e718afd606d
[2025-10-28 03:13:43] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-24618.xml
[2025-10-28 03:13:43] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-24618.xml
[2025-10-28 04:09:17] [ERROR] No file path provided.
[2025-10-28 07:13:57] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-24636.xml
[2025-10-28 07:13:57] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-24636.xml for user: 68d56363ec1209189
[2025-10-28 07:13:57] [INFO] File size: 1429 bytes
[2025-10-28 07:13:57] [INFO] Created FTPFiles record with ID: 69006d351bb72f91e
[2025-10-28 07:13:57] [INFO] WE ARE HERE {"mappings":{"IncidentNumber":"dispatchRunNumber","house_number":"incidentLocationStreetNumber","street":"streetName","apt":"incidentLocationApt","city":"incidentLocationCity","location_name":"businessName","STATE":"incidentLocationStateName","ZIPCODE":"nERISIncidentPostalCode","LATITUDE":"nERISIncidentLatitude","LONGITUDE":"nERISIncidentLongitude","incident_type":"incidentTypeValue1","commentlist.comment":["dispatchNotes","cADLog"],"time_first_unit_assigned":["alarm","dispatched"],"time_first_unit_arrived":"onScene","time_last_unit_cleared":["cleared","inService"],"Units.Unit[0].radio_name":["cADVehicleID","name"],"Units.Unit[0].time_enroute":"timeenroutetoscene","Units.Unit[0].time_arrivedatscene":"timeonscene","Units.Unit[0].time_depart_scene":"timeunitclear","Units.Unit[0].time_assigned":"timedispatch"},"selectedRecord":{"id":"68eeb2639352dd41d","name":null},"fieldExamples":{"IncidentNumber":{"name":"IncidentNumber","value":"25-23514","type":"text"},"house_number":{"name":"house_number","value":"515","type":"number"},"street":{"name":"street","value":"LINDENWOOD AVE","type":"address"},"apt":{"name":"apt","value":"Array","type":"text"},"city":{"name":"city","value":"Array","type":"address"},"location_name":{"name":"location_name","value":"Array","type":"text"},"STATE":{"name":"STATE","value":"Array","type":"address"},"ZIPCODE":{"name":"ZIPCODE","value":"Array","type":"address"},"LATITUDE":{"name":"LATITUDE","value":"0","type":"coordinate"},"LONGITUDE":{"name":"LONGITUDE","value":"0","type":"coordinate"},"incident_type":{"name":"incident_type","value":"FIRE-GAS LEAK","type":"text"},"commentlist.comment":{"name":"comment","value":"10-14-2025 15:05:06|B45 ADVISED HE WOULD NOTIFY GAS CO 10-14-2025 15:05:23|B46 NOTHING SHOWING 10-14-2025 15:08:22|B46 ADVISED NO SMELL OF GAS HOWEVER ALARMS GOING OFF 10-14-2025 15:13:38|B46 CLEARED ","type":"text"},"time_first_unit_assigned":{"name":"time_first_unit_assigned","value":"10-14-2025T15:04:42","type":"datetime"},"time_first_unit_arrived":{"name":"time_first_unit_arrived","value":"10-14-2025T15:07:19","type":"datetime"},"time_last_unit_cleared":{"name":"time_last_unit_cleared","value":"10-14-2025T15:27:23","type":"datetime"},"Units.Unit[0].radio_name":{"name":"radio_name","value":"ENG2","type":"text"},"Units.Unit[0].time_enroute":{"name":"time_enroute","value":"10-14-2025T15:04:46","type":"datetime"},"Units.Unit[0].time_arrivedatscene":{"name":"time_arrivedatscene","value":"10-14-2025T15:08:38","type":"datetime"},"Units.Unit[0].time_depart_scene":{"name":"time_depart_scene","value":"10-14-2025T15:27:23","type":"datetime"},"Units.Unit[0].time_assigned":{"name":"time_assigned","value":"10-14-2025T15:04:42","type":"datetime"}},"timestamp":"2025-10-16T18:16:37.381Z"}
[2025-10-28 07:13:57] [INFO] About to extract fields from XML. File size: 1429 bytes
[2025-10-28 07:13:57] [INFO] Number of mappings: 20
[2025-10-28 07:13:57] [INFO] Starting XML parsing. Content length: 1429
[2025-10-28 07:13:57] [INFO] XML parsed successfully. Root element: Incident
[2025-10-28 07:13:57] [INFO] Processing 20 field mappings
[2025-10-28 07:13:57] [INFO] Mapping #1: Extracting 'IncidentNumber' => 'dispatchRunNumber'
[2025-10-28 07:13:57] [INFO]   -> Found value: 25-24636
[2025-10-28 07:13:57] [INFO]   -> Set field 'dispatchRunNumber' = "25-24636"
[2025-10-28 07:13:57] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2025-10-28 07:13:57] [INFO]   -> Found value: 1551
[2025-10-28 07:13:57] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1551
[2025-10-28 07:13:57] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2025-10-28 07:13:57] [INFO]   -> Found value: W WAKEFIELD AVE
[2025-10-28 07:13:57] [INFO]   -> Set field 'streetName' = "W WAKEFIELD AVE"
[2025-10-28 07:13:57] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2025-10-28 07:13:57] [INFO]   -> No value found (null or empty)
[2025-10-28 07:13:57] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2025-10-28 07:13:57] [INFO]   -> Found value: SIKESTON
[2025-10-28 07:13:57] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2025-10-28 07:13:57] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2025-10-28 07:13:57] [INFO]   -> Found value: SIKESTON POWER PLANT
[2025-10-28 07:13:57] [INFO]   -> Set field 'businessName' = "SIKESTON POWER PLANT"
[2025-10-28 07:13:57] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2025-10-28 07:13:57] [INFO]   -> Found value: MO
[2025-10-28 07:13:57] [INFO]   -> Set field 'incidentLocationStateName' = "MO"
[2025-10-28 07:13:57] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2025-10-28 07:13:57] [INFO]   -> Found value: 63801
[2025-10-28 07:13:57] [INFO]   -> Set field 'nERISIncidentPostalCode' = 63801
[2025-10-28 07:13:57] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2025-10-28 07:13:57] [INFO]   -> Found value: 0
[2025-10-28 07:13:57] [INFO]   -> Set field 'nERISIncidentLatitude' = null
[2025-10-28 07:13:57] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2025-10-28 07:13:57] [INFO]   -> Found value: 0
[2025-10-28 07:13:57] [INFO]   -> Set field 'nERISIncidentLongitude' = null
[2025-10-28 07:13:57] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2025-10-28 07:13:57] [INFO]   -> Found value: FIRE-COAL TRAIN STANDBY
[2025-10-28 07:13:57] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE-COAL TRAIN STANDBY"
[2025-10-28 07:13:57] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2025-10-28 07:13:57] [INFO]   -> Found value: 10-28-2025 01:49:10|DEPARTING TO THE NORTH 
 10-28-2025 01:50:02|PAGE
[2025-10-28 07:13:57] [INFO]   -> Set field 'dispatchNotes' = "10-28-2025 01:49:10|DEPARTING TO THE NORTH \n 10-28-2025 01:50:02|PAGE"
[2025-10-28 07:13:57] [INFO]   -> Set field 'cADLog' = "10-28-2025 01:49:10|DEPARTING TO THE NORTH \n 10-28-2025 01:50:02|PAGE"
[2025-10-28 07:13:57] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2025-10-28 07:13:57] [INFO]   -> Found value: 10-28-2025T01:53:08
[2025-10-28 07:13:57] [ERROR] Error formatting datetime '10-28-2025T01:53:08': Failed to parse time string (10-28-2025T01:53:08) at position 0 (1): Unexpected character
[2025-10-28 07:13:57] [INFO]   -> Set field 'alarm' = null
[2025-10-28 07:13:57] [ERROR] Error formatting datetime '10-28-2025T01:53:08': Failed to parse time string (10-28-2025T01:53:08) at position 0 (1): Unexpected character
[2025-10-28 07:13:57] [INFO]   -> Set field 'dispatched' = null
[2025-10-28 07:13:57] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2025-10-28 07:13:57] [INFO]   -> Found value: 10-28-2025T01:53:18
[2025-10-28 07:13:57] [ERROR] Error formatting datetime '10-28-2025T01:53:18': Failed to parse time string (10-28-2025T01:53:18) at position 0 (1): Unexpected character
[2025-10-28 07:13:57] [INFO]   -> Set field 'onScene' = null
[2025-10-28 07:13:57] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2025-10-28 07:13:57] [INFO]   -> Found value: 10-28-2025T02:13:28
[2025-10-28 07:13:57] [ERROR] Error formatting datetime '10-28-2025T02:13:28': Failed to parse time string (10-28-2025T02:13:28) at position 0 (1): Unexpected character
[2025-10-28 07:13:57] [INFO]   -> Set field 'cleared' = null
[2025-10-28 07:13:57] [ERROR] Error formatting datetime '10-28-2025T02:13:28': Failed to parse time string (10-28-2025T02:13:28) at position 0 (1): Unexpected character
[2025-10-28 07:13:57] [INFO]   -> Set field 'inService' = null
[2025-10-28 07:13:57] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2025-10-28 07:13:57] [INFO]   -> Found value: TWR1
[2025-10-28 07:13:57] [INFO]   -> Set field 'cADVehicleID' = "TWR1"
[2025-10-28 07:13:57] [INFO]   -> Set field 'name' = "TWR1"
[2025-10-28 07:13:57] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2025-10-28 07:13:57] [INFO]   -> No value found (null or empty)
[2025-10-28 07:13:57] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2025-10-28 07:13:57] [INFO]   -> Found value: 10-28-2025T01:53:18
[2025-10-28 07:13:57] [ERROR] Error formatting datetime '10-28-2025T01:53:18': Failed to parse time string (10-28-2025T01:53:18) at position 0 (1): Unexpected character
[2025-10-28 07:13:57] [INFO]   -> Set field 'timeonscene' = null
[2025-10-28 07:13:57] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2025-10-28 07:13:57] [INFO]   -> Found value: 10-28-2025T02:13:28
[2025-10-28 07:13:57] [ERROR] Error formatting datetime '10-28-2025T02:13:28': Failed to parse time string (10-28-2025T02:13:28) at position 0 (1): Unexpected character
[2025-10-28 07:13:57] [INFO]   -> Set field 'timeunitclear' = null
[2025-10-28 07:13:57] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2025-10-28 07:13:57] [INFO]   -> Found value: 10-28-2025T01:53:08
[2025-10-28 07:13:57] [ERROR] Error formatting datetime '10-28-2025T01:53:08': Failed to parse time string (10-28-2025T01:53:08) at position 0 (1): Unexpected character
[2025-10-28 07:13:57] [INFO]   -> Set field 'timedispatch' = null
[2025-10-28 07:13:57] [INFO] Finished extracting fields. Total fields extracted: 22
[2025-10-28 07:13:57] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"25-24636","incidentLocationStreetNumber":1551,"streetName":"W WAKEFIELD AVE","incidentLocationCity":"SIKESTON","businessName":"SIKESTON POWER PLANT","incidentLocationStateName":"MO","nERISIncidentPostalCode":63801,"nERISIncidentLatitude":null,"nERISIncidentLongitude":null,"incidentTypeValue1":"FIRE-COAL TRAIN STANDBY","dispatchNotes":"10-28-2025 01:49:10|DEPARTING TO THE NORTH \n 10-28-2025 01:50:02|PAGE","cADLog":"10-28-2025 01:49:10|DEPARTING TO THE NORTH \n 10-28-2025 01:50:02|PAGE","alarm":null,"dispatched":null,"onScene":null,"cleared":null,"inService":null,"cADVehicleID":"TWR1","name":"TWR1","timeonscene":null,"timeunitclear":null,"timedispatch":null}
[2025-10-28 07:13:57] [INFO] Number of extracted fields: 22
[2025-10-28 07:13:57] [INFO] Found existing IncidentTypeMapping with ID: 68e4158e8608a02f9
[2025-10-28 07:13:57] [INFO] Created Dispatches record with ID: 69006d35362610ee0
[2025-10-28 07:13:57] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-24636.xml
[2025-10-28 07:13:57] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-24636.xml
[2025-10-28 08:27:47] [ERROR] No file path provided.
[2025-10-28 10:23:57] [ERROR] No file path provided.
