[2025-10-14 00:59:19] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-23456.xml
[2025-10-14 00:59:19] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-23456.xml for user: 68d56363ec1209189
[2025-10-14 00:59:19] [INFO] File size: 2367 bytes
[2025-10-14 00:59:19] [INFO] Created FTPFiles record with ID: 68eda06763d1cbf16
[2025-10-14 00:59:19] [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","time_first_unit_assigned":["alarm","dispatched"],"time_first_unit_enroute":"enroute","time_first_unit_arrived":"onScene","time_last_unit_cleared":["cleared","inService"],"Units.Unit.radio_name":["cADVehicleID","name"],"Units.Unit.time_enroute":"timeenroutetoscene","Units.Unit.time_arrivedatscene":"timeonscene","Units.Unit.time_depart_scene":"timeunitclear"},"selectedRecord":{"id":"68e3d5db09560f860","name":null},"fieldExamples":{"IncidentNumber":{"name":"IncidentNumber","value":"25-23254","type":"text"},"house_number":{"name":"house_number","value":"630","type":"number"},"street":{"name":"street","value":"N MAIN ST","type":"address"},"apt":{"name":"apt","value":"Array","type":"text"},"city":{"name":"city","value":"SIKESTON","type":"address"},"location_name":{"name":"location_name","value":"FIRST MIDWEST BANK-N MAIN","type":"text"},"STATE":{"name":"STATE","value":"MO","type":"address"},"ZIPCODE":{"name":"ZIPCODE","value":"63801","type":"address"},"LATITUDE":{"name":"LATITUDE","value":"0","type":"coordinate"},"LONGITUDE":{"name":"LONGITUDE","value":"0","type":"coordinate"},"incident_type":{"name":"incident_type","value":"ACCIDENT-J2","type":"text"},"commentlist.comment":{"name":"comment","value":"10-10-2025 13:54:51|Call Received on 10/10/2025 @ 13:54\n\n3 CAR \nBLOCKING TRAFFIC\nAIRBAGS DEPLOYED INJURIES 10-10-2025 14:02:13|1501 ON SCENE 10-10-2025 14:02:46|NO ENTRAPMENT 10-10-2025 14:03:20|ON CALL 10-51 X2 FOR 2 SUV HEAVY FRONT END DAMAGE 10-10-2025 14:04:41|JSH EN ROUTE X2 10-10-2025 14:15:44|ADDITONAL PERSONNEL REQUESTED VIA 1501 ","type":"text"},"time_first_unit_assigned":{"name":"time_first_unit_assigned","value":"10-10-2025T14:00:09","type":"datetime"},"time_first_unit_enroute":{"name":"time_first_unit_enroute","value":"10-10-2025T14:00:09","type":"datetime"},"time_first_unit_arrived":{"name":"time_first_unit_arrived","value":"10-10-2025T14:01:01","type":"datetime"},"time_last_unit_cleared":{"name":"time_last_unit_cleared","value":"Array","type":"datetime"},"Units.Unit.radio_name":{"name":"radio_name","value":"ENG2","type":"text"},"Units.Unit.time_enroute":{"name":"time_enroute","value":"10-10-2025T14:00:09","type":"datetime"},"Units.Unit.time_arrivedatscene":{"name":"time_arrivedatscene","value":"10-10-2025T14:01:39","type":"datetime"},"Units.Unit.time_depart_scene":{"name":"time_depart_scene","value":"10-10-2025T14:23:48","type":"datetime"}},"timestamp":"2025-10-10T21:43:52.037Z"}
[2025-10-14 00:59:19] [INFO] About to extract fields from XML. File size: 2367 bytes
[2025-10-14 00:59:19] [INFO] Number of mappings: 20
[2025-10-14 00:59:19] [INFO] Starting XML parsing. Content length: 2367
[2025-10-14 00:59:19] [INFO] XML parsed successfully. Root element: Incident
[2025-10-14 00:59:19] [INFO] Processing 20 field mappings
[2025-10-14 00:59:19] [INFO] Mapping #1: Extracting 'IncidentNumber' => 'dispatchRunNumber'
[2025-10-14 00:59:19] [INFO]   -> Found value: 25-23456
[2025-10-14 00:59:19] [INFO]   -> Set field 'dispatchRunNumber' = "25-23456"
[2025-10-14 00:59:19] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2025-10-14 00:59:19] [INFO]   -> Found value: 1001
[2025-10-14 00:59:19] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1001
[2025-10-14 00:59:19] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2025-10-14 00:59:19] [INFO]   -> Found value: EUCLID AVE
[2025-10-14 00:59:19] [INFO]   -> Set field 'streetName' = "EUCLID AVE"
[2025-10-14 00:59:19] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2025-10-14 00:59:19] [INFO]   -> No value found (null or empty)
[2025-10-14 00:59:19] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2025-10-14 00:59:19] [INFO]   -> Found value: SIKESTON
[2025-10-14 00:59:19] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2025-10-14 00:59:19] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2025-10-14 00:59:19] [INFO]   -> No value found (null or empty)
[2025-10-14 00:59:19] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2025-10-14 00:59:19] [INFO]   -> No value found (null or empty)
[2025-10-14 00:59:19] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2025-10-14 00:59:19] [INFO]   -> No value found (null or empty)
[2025-10-14 00:59:19] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2025-10-14 00:59:19] [INFO]   -> Found value: 0
[2025-10-14 00:59:19] [INFO]   -> Set field 'nERISIncidentLatitude' = null
[2025-10-14 00:59:19] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2025-10-14 00:59:19] [INFO]   -> Found value: 0
[2025-10-14 00:59:19] [INFO]   -> Set field 'nERISIncidentLongitude' = null
[2025-10-14 00:59:19] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2025-10-14 00:59:19] [INFO]   -> Found value: FIRE-SMOKE INVESTIGATION
[2025-10-14 00:59:19] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE-SMOKE INVESTIGATION"
[2025-10-14 00:59:19] [INFO] Mapping #12: Extracting 'commentlist.comment' => 'dispatchNotes'
[2025-10-14 00:59:19] [INFO]   -> Found value: 10-13-2025 19:16:12|Call Received on 10/13/2025 @ 19:16

FIRE IN KITCHEN
 10-13-2025 19:22:45|C88 WI...
[2025-10-14 00:59:19] [INFO]   -> Set field 'dispatchNotes' = "10-13-2025 19:16:12|Call Received on 10\/13\/2025 @ 19:16\n\nFIRE IN KITCHEN\n 10-13-2025 19:22:45|C88 WILL HAVE COMMAND 10-13-2025 19:23:09|HYDRANT AT LINDA AND EUCLID AT SE CORNER 10-13-2025 19:23:48|SINGLE STORY BRICK STRUCTURE LIGHT SMOKE SHOWING FROM GARAGE 10-13-2025 19:23:56|ENG 2 INVESTIGATING 10-13-2025 19:24:04|ALL OCCUPANTS OUT 10-13-2025 19:24:06|FIRE OUT 10-13-2025 19:24:48|CANCEL ALL PERSONEL NOT ON SCENE 10-13-2025 19:25:02|FAN TO THE GARAGE DOOR 10-13-2025 19:26:52|Disposition - SDPS PD:  NRN 10-13-2025 19:26:59|COMMAND WAS PASSED TO C84 10-13-2025 19:27:04|PATROL UNITS IN SERVICE 10-13-2025 19:58:35|COMMAND TERMINATED 10-13-2025 19:58:46|ALL APPARATUS AND PERSONNEL CLEAR IN SERVICE"
[2025-10-14 00:59:19] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2025-10-14 00:59:19] [INFO]   -> Found value: 10-13-2025T19:19:51
[2025-10-14 00:59:19] [ERROR] Error formatting datetime '10-13-2025T19:19:51': Failed to parse time string (10-13-2025T19:19:51) at position 0 (1): Unexpected character
[2025-10-14 00:59:19] [INFO]   -> Set field 'alarm' = null
[2025-10-14 00:59:19] [ERROR] Error formatting datetime '10-13-2025T19:19:51': Failed to parse time string (10-13-2025T19:19:51) at position 0 (1): Unexpected character
[2025-10-14 00:59:19] [INFO]   -> Set field 'dispatched' = null
[2025-10-14 00:59:19] [INFO] Mapping #14: Extracting 'time_first_unit_enroute' => 'enroute'
[2025-10-14 00:59:19] [INFO]   -> Found value: 10-13-2025T19:20:13
[2025-10-14 00:59:19] [ERROR] Error formatting datetime '10-13-2025T19:20:13': Failed to parse time string (10-13-2025T19:20:13) at position 0 (1): Unexpected character
[2025-10-14 00:59:19] [INFO]   -> Set field 'enroute' = null
[2025-10-14 00:59:19] [INFO] Mapping #15: Extracting 'time_first_unit_arrived' => 'onScene'
[2025-10-14 00:59:19] [INFO]   -> Found value: 10-13-2025T19:21:45
[2025-10-14 00:59:19] [ERROR] Error formatting datetime '10-13-2025T19:21:45': Failed to parse time string (10-13-2025T19:21:45) at position 0 (1): Unexpected character
[2025-10-14 00:59:19] [INFO]   -> Set field 'onScene' = null
[2025-10-14 00:59:19] [INFO] Mapping #16: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2025-10-14 00:59:19] [INFO]   -> Found value: 10-13-2025T19:58:50
[2025-10-14 00:59:19] [ERROR] Error formatting datetime '10-13-2025T19:58:50': Failed to parse time string (10-13-2025T19:58:50) at position 0 (1): Unexpected character
[2025-10-14 00:59:19] [INFO]   -> Set field 'cleared' = null
[2025-10-14 00:59:19] [ERROR] Error formatting datetime '10-13-2025T19:58:50': Failed to parse time string (10-13-2025T19:58:50) at position 0 (1): Unexpected character
[2025-10-14 00:59:19] [INFO]   -> Set field 'inService' = null
[2025-10-14 00:59:19] [INFO] Mapping #17: Extracting 'Units.Unit.radio_name' => ["cADVehicleID","name"]
[2025-10-14 00:59:19] [INFO]   -> Found value: ENG2
[2025-10-14 00:59:19] [INFO]   -> Set field 'cADVehicleID' = "ENG2"
[2025-10-14 00:59:19] [INFO]   -> Set field 'name' = "ENG2"
[2025-10-14 00:59:19] [INFO] Mapping #18: Extracting 'Units.Unit.time_enroute' => 'timeenroutetoscene'
[2025-10-14 00:59:19] [INFO]   -> Found value: 10-13-2025T19:20:14
[2025-10-14 00:59:19] [ERROR] Error formatting datetime '10-13-2025T19:20:14': Failed to parse time string (10-13-2025T19:20:14) at position 0 (1): Unexpected character
[2025-10-14 00:59:19] [INFO]   -> Set field 'timeenroutetoscene' = null
[2025-10-14 00:59:19] [INFO] Mapping #19: Extracting 'Units.Unit.time_arrivedatscene' => 'timeonscene'
[2025-10-14 00:59:19] [INFO]   -> Found value: 10-13-2025T19:21:47
[2025-10-14 00:59:19] [ERROR] Error formatting datetime '10-13-2025T19:21:47': Failed to parse time string (10-13-2025T19:21:47) at position 0 (1): Unexpected character
[2025-10-14 00:59:19] [INFO]   -> Set field 'timeonscene' = null
[2025-10-14 00:59:19] [INFO] Mapping #20: Extracting 'Units.Unit.time_depart_scene' => 'timeunitclear'
[2025-10-14 00:59:19] [INFO]   -> Found value: 10-13-2025T19:58:50
[2025-10-14 00:59:19] [ERROR] Error formatting datetime '10-13-2025T19:58:50': Failed to parse time string (10-13-2025T19:58:50) at position 0 (1): Unexpected character
[2025-10-14 00:59:19] [INFO]   -> Set field 'timeunitclear' = null
[2025-10-14 00:59:19] [INFO] Finished extracting fields. Total fields extracted: 19
[2025-10-14 00:59:19] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"25-23456","incidentLocationStreetNumber":1001,"streetName":"EUCLID AVE","incidentLocationCity":"SIKESTON","nERISIncidentLatitude":null,"nERISIncidentLongitude":null,"incidentTypeValue1":"FIRE-SMOKE INVESTIGATION","dispatchNotes":"10-13-2025 19:16:12|Call Received on 10\/13\/2025 @ 19:16\n\nFIRE IN KITCHEN\n 10-13-2025 19:22:45|C88 WILL HAVE COMMAND 10-13-2025 19:23:09|HYDRANT AT LINDA AND EUCLID AT SE CORNER 10-13-2025 19:23:48|SINGLE STORY BRICK STRUCTURE LIGHT SMOKE SHOWING FROM GARAGE 10-13-2025 19:23:56|ENG 2 INVESTIGATING 10-13-2025 19:24:04|ALL OCCUPANTS OUT 10-13-2025 19:24:06|FIRE OUT 10-13-2025 19:24:48|CANCEL ALL PERSONEL NOT ON SCENE 10-13-2025 19:25:02|FAN TO THE GARAGE DOOR 10-13-2025 19:26:52|Disposition - SDPS PD:  NRN 10-13-2025 19:26:59|COMMAND WAS PASSED TO C84 10-13-2025 19:27:04|PATROL UNITS IN SERVICE 10-13-2025 19:58:35|COMMAND TERMINATED 10-13-2025 19:58:46|ALL APPARATUS AND PERSONNEL CLEAR IN SERVICE","alarm":null,"dispatched":null,"enroute":null,"onScene":null,"cleared":null,"inService":null,"cADVehicleID":"ENG2","name":"ENG2","timeenroutetoscene":null,"timeonscene":null,"timeunitclear":null}
[2025-10-14 00:59:19] [INFO] Number of extracted fields: 19
[2025-10-14 00:59:19] [INFO] Found existing IncidentTypeMapping with ID: 68e4158e8812ca0da
[2025-10-14 00:59:20] [INFO] Created Dispatches record with ID: 68eda06789769be22
[2025-10-14 00:59:20] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-23456.xml
[2025-10-14 00:59:20] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-23456.xml
[2025-10-14 03:18:04] [ERROR] No file path provided.
[2025-10-14 05:24:18] [ERROR] No file path provided.
[2025-10-14 17:58:03] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/testfile_20251014.xml
[2025-10-14 17:58:03] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/testfile_20251014.xml for user: 68d56363ec1209189
[2025-10-14 17:58:03] [INFO] File size: 2367 bytes
[2025-10-14 17:58:03] [INFO] Created FTPFiles record with ID: 68ee8f2b84960b86f
[2025-10-14 17:58:03] [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","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":"68eda06763d1cbf16","name":null},"fieldExamples":{"IncidentNumber":{"name":"IncidentNumber","value":"25-23456","type":"text"},"house_number":{"name":"house_number","value":"1001","type":"number"},"street":{"name":"street","value":"EUCLID AVE","type":"address"},"apt":{"name":"apt","value":"Array","type":"text"},"city":{"name":"city","value":"SIKESTON","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-SMOKE INVESTIGATION","type":"text"},"commentlist.comment":{"name":"comment","value":"10-13-2025 19:16:12|Call Received on 10/13/2025 @ 19:16\n\nFIRE IN KITCHEN\n 10-13-2025 19:22:45|C88 WILL HAVE COMMAND 10-13-2025 19:23:09|HYDRANT AT LINDA AND EUCLID AT SE CORNER 10-13-2025 19:23:48|SINGLE STORY BRICK STRUCTURE LIGHT SMOKE SHOWING FROM GARAGE 10-13-2025 19:23:56|ENG 2 INVESTIGATING 10-13-2025 19:24:04|ALL OCCUPANTS OUT 10-13-2025 19:24:06|FIRE OUT 10-13-2025 19:24:48|CANCEL ALL PERSONEL NOT ON SCENE 10-13-2025 19:25:02|FAN TO THE GARAGE DOOR 10-13-2025 19:26:52|Disposition - SDPS PD:  NRN 10-13-2025 19:26:59|COMMAND WAS PASSED TO C84 10-13-2025 19:27:04|PATROL UNITS IN SERVICE 10-13-2025 19:58:35|COMMAND TERMINATED 10-13-2025 19:58:46|ALL APPARATUS AND PERSONNEL CLEAR IN SERVICE ","type":"text"},"time_first_unit_assigned":{"name":"time_first_unit_assigned","value":"10-13-2025T19:19:51","type":"datetime"},"time_first_unit_arrived":{"name":"time_first_unit_arrived","value":"10-13-2025T19:21:45","type":"datetime"},"time_last_unit_cleared":{"name":"time_last_unit_cleared","value":"10-13-2025T19:58:50","type":"datetime"},"Units.Unit[0].radio_name":{"name":"radio_name","value":"ENG2","type":"text"},"Units.Unit[0].time_enroute":{"name":"time_enroute","value":"10-13-2025T19:20:14","type":"datetime"},"Units.Unit[0].time_arrivedatscene":{"name":"time_arrivedatscene","value":"10-13-2025T19:21:47","type":"datetime"},"Units.Unit[0].time_depart_scene":{"name":"time_depart_scene","value":"10-13-2025T19:58:50","type":"datetime"},"Units.Unit[0].time_assigned":{"name":"time_assigned","value":"10-13-2025T19:20:07","type":"datetime"}},"timestamp":"2025-10-14T15:28:50.624Z"}
[2025-10-14 17:58:03] [INFO] About to extract fields from XML. File size: 2367 bytes
[2025-10-14 17:58:03] [INFO] Number of mappings: 20
[2025-10-14 17:58:03] [INFO] Starting XML parsing. Content length: 2367
[2025-10-14 17:58:03] [INFO] XML parsed successfully. Root element: Incident
[2025-10-14 17:58:03] [INFO] Processing 20 field mappings
[2025-10-14 17:58:03] [INFO] Mapping #1: Extracting 'IncidentNumber' => 'dispatchRunNumber'
[2025-10-14 17:58:03] [INFO]   -> Found value: 25-23456
[2025-10-14 17:58:03] [INFO]   -> Set field 'dispatchRunNumber' = "25-23456"
[2025-10-14 17:58:03] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2025-10-14 17:58:03] [INFO]   -> Found value: 1001
[2025-10-14 17:58:03] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1001
[2025-10-14 17:58:03] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2025-10-14 17:58:03] [INFO]   -> Found value: EUCLID AVE
[2025-10-14 17:58:03] [INFO]   -> Set field 'streetName' = "EUCLID AVE"
[2025-10-14 17:58:03] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2025-10-14 17:58:03] [INFO]   -> No value found (null or empty)
[2025-10-14 17:58:03] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2025-10-14 17:58:03] [INFO]   -> Found value: SIKESTON
[2025-10-14 17:58:03] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2025-10-14 17:58:03] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2025-10-14 17:58:03] [INFO]   -> No value found (null or empty)
[2025-10-14 17:58:03] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2025-10-14 17:58:03] [INFO]   -> No value found (null or empty)
[2025-10-14 17:58:03] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2025-10-14 17:58:03] [INFO]   -> No value found (null or empty)
[2025-10-14 17:58:03] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2025-10-14 17:58:03] [INFO]   -> Found value: 0
[2025-10-14 17:58:03] [INFO]   -> Set field 'nERISIncidentLatitude' = null
[2025-10-14 17:58:03] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2025-10-14 17:58:03] [INFO]   -> Found value: 0
[2025-10-14 17:58:03] [INFO]   -> Set field 'nERISIncidentLongitude' = null
[2025-10-14 17:58:03] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2025-10-14 17:58:03] [INFO]   -> Found value: FIRE-SMOKE INVESTIGATION
[2025-10-14 17:58:03] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE-SMOKE INVESTIGATION"
[2025-10-14 17:58:03] [INFO] Mapping #12: Extracting 'commentlist.comment' => 'dispatchNotes'
[2025-10-14 17:58:03] [INFO]   -> Found value: 10-13-2025 19:16:12|Call Received on 10/13/2025 @ 19:16

FIRE IN KITCHEN
 10-13-2025 19:22:45|C88 WI...
[2025-10-14 17:58:03] [INFO]   -> Set field 'dispatchNotes' = "10-13-2025 19:16:12|Call Received on 10\/13\/2025 @ 19:16\n\nFIRE IN KITCHEN\n 10-13-2025 19:22:45|C88 WILL HAVE COMMAND 10-13-2025 19:23:09|HYDRANT AT LINDA AND EUCLID AT SE CORNER 10-13-2025 19:23:48|SINGLE STORY BRICK STRUCTURE LIGHT SMOKE SHOWING FROM GARAGE 10-13-2025 19:23:56|ENG 2 INVESTIGATING 10-13-2025 19:24:04|ALL OCCUPANTS OUT 10-13-2025 19:24:06|FIRE OUT 10-13-2025 19:24:48|CANCEL ALL PERSONEL NOT ON SCENE 10-13-2025 19:25:02|FAN TO THE GARAGE DOOR 10-13-2025 19:26:52|Disposition - SDPS PD:  NRN 10-13-2025 19:26:59|COMMAND WAS PASSED TO C84 10-13-2025 19:27:04|PATROL UNITS IN SERVICE 10-13-2025 19:58:35|COMMAND TERMINATED 10-13-2025 19:58:46|ALL APPARATUS AND PERSONNEL CLEAR IN SERVICE"
[2025-10-14 17:58:03] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2025-10-14 17:58:03] [INFO]   -> Found value: 10-13-2025T19:19:51
[2025-10-14 17:58:03] [ERROR] Error formatting datetime '10-13-2025T19:19:51': Failed to parse time string (10-13-2025T19:19:51) at position 0 (1): Unexpected character
[2025-10-14 17:58:03] [INFO]   -> Set field 'alarm' = null
[2025-10-14 17:58:03] [ERROR] Error formatting datetime '10-13-2025T19:19:51': Failed to parse time string (10-13-2025T19:19:51) at position 0 (1): Unexpected character
[2025-10-14 17:58:03] [INFO]   -> Set field 'dispatched' = null
[2025-10-14 17:58:03] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2025-10-14 17:58:03] [INFO]   -> Found value: 10-13-2025T19:21:45
[2025-10-14 17:58:03] [ERROR] Error formatting datetime '10-13-2025T19:21:45': Failed to parse time string (10-13-2025T19:21:45) at position 0 (1): Unexpected character
[2025-10-14 17:58:03] [INFO]   -> Set field 'onScene' = null
[2025-10-14 17:58:03] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2025-10-14 17:58:03] [INFO]   -> Found value: 10-13-2025T19:58:50
[2025-10-14 17:58:03] [ERROR] Error formatting datetime '10-13-2025T19:58:50': Failed to parse time string (10-13-2025T19:58:50) at position 0 (1): Unexpected character
[2025-10-14 17:58:03] [INFO]   -> Set field 'cleared' = null
[2025-10-14 17:58:03] [ERROR] Error formatting datetime '10-13-2025T19:58:50': Failed to parse time string (10-13-2025T19:58:50) at position 0 (1): Unexpected character
[2025-10-14 17:58:03] [INFO]   -> Set field 'inService' = null
[2025-10-14 17:58:03] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2025-10-14 17:58:03] [INFO]   -> Found value: ENG2
[2025-10-14 17:58:03] [INFO]   -> Set field 'cADVehicleID' = "ENG2"
[2025-10-14 17:58:03] [INFO]   -> Set field 'name' = "ENG2"
[2025-10-14 17:58:03] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2025-10-14 17:58:03] [INFO]   -> Found value: 10-13-2025T19:20:14
[2025-10-14 17:58:03] [ERROR] Error formatting datetime '10-13-2025T19:20:14': Failed to parse time string (10-13-2025T19:20:14) at position 0 (1): Unexpected character
[2025-10-14 17:58:03] [INFO]   -> Set field 'timeenroutetoscene' = null
[2025-10-14 17:58:03] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2025-10-14 17:58:03] [INFO]   -> Found value: 10-13-2025T19:21:47
[2025-10-14 17:58:03] [ERROR] Error formatting datetime '10-13-2025T19:21:47': Failed to parse time string (10-13-2025T19:21:47) at position 0 (1): Unexpected character
[2025-10-14 17:58:03] [INFO]   -> Set field 'timeonscene' = null
[2025-10-14 17:58:03] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2025-10-14 17:58:03] [INFO]   -> Found value: 10-13-2025T19:58:50
[2025-10-14 17:58:03] [ERROR] Error formatting datetime '10-13-2025T19:58:50': Failed to parse time string (10-13-2025T19:58:50) at position 0 (1): Unexpected character
[2025-10-14 17:58:03] [INFO]   -> Set field 'timeunitclear' = null
[2025-10-14 17:58:03] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2025-10-14 17:58:03] [INFO]   -> Found value: 10-13-2025T19:20:07
[2025-10-14 17:58:03] [ERROR] Error formatting datetime '10-13-2025T19:20:07': Failed to parse time string (10-13-2025T19:20:07) at position 0 (1): Unexpected character
[2025-10-14 17:58:03] [INFO]   -> Set field 'timedispatch' = null
[2025-10-14 17:58:03] [INFO] Finished extracting fields. Total fields extracted: 19
[2025-10-14 17:58:03] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"25-23456","incidentLocationStreetNumber":1001,"streetName":"EUCLID AVE","incidentLocationCity":"SIKESTON","nERISIncidentLatitude":null,"nERISIncidentLongitude":null,"incidentTypeValue1":"FIRE-SMOKE INVESTIGATION","dispatchNotes":"10-13-2025 19:16:12|Call Received on 10\/13\/2025 @ 19:16\n\nFIRE IN KITCHEN\n 10-13-2025 19:22:45|C88 WILL HAVE COMMAND 10-13-2025 19:23:09|HYDRANT AT LINDA AND EUCLID AT SE CORNER 10-13-2025 19:23:48|SINGLE STORY BRICK STRUCTURE LIGHT SMOKE SHOWING FROM GARAGE 10-13-2025 19:23:56|ENG 2 INVESTIGATING 10-13-2025 19:24:04|ALL OCCUPANTS OUT 10-13-2025 19:24:06|FIRE OUT 10-13-2025 19:24:48|CANCEL ALL PERSONEL NOT ON SCENE 10-13-2025 19:25:02|FAN TO THE GARAGE DOOR 10-13-2025 19:26:52|Disposition - SDPS PD:  NRN 10-13-2025 19:26:59|COMMAND WAS PASSED TO C84 10-13-2025 19:27:04|PATROL UNITS IN SERVICE 10-13-2025 19:58:35|COMMAND TERMINATED 10-13-2025 19:58:46|ALL APPARATUS AND PERSONNEL CLEAR IN SERVICE","alarm":null,"dispatched":null,"onScene":null,"cleared":null,"inService":null,"cADVehicleID":"ENG2","name":"ENG2","timeenroutetoscene":null,"timeonscene":null,"timeunitclear":null,"timedispatch":null}
[2025-10-14 17:58:03] [INFO] Number of extracted fields: 19
[2025-10-14 17:58:03] [INFO] Found existing IncidentTypeMapping with ID: 68e4158e8812ca0da
[2025-10-14 17:58:04] [INFO] Created Dispatches record with ID: 68ee8f2bd1a459d13
[2025-10-14 17:58:04] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/testfile_20251014.xml
[2025-10-14 17:58:04] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/testfile_20251014.xml
[2025-10-14 19:29:31] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-23503.xml
[2025-10-14 19:29:31] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-23503.xml for user: 68d56363ec1209189
[2025-10-14 19:29:31] [INFO] File size: 1304 bytes
[2025-10-14 19:29:32] [INFO] Created FTPFiles record with ID: 68eea49c04bff2011
[2025-10-14 19:29:32] [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","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":"68eda06763d1cbf16","name":null},"fieldExamples":{"IncidentNumber":{"name":"IncidentNumber","value":"25-23456","type":"text"},"house_number":{"name":"house_number","value":"1001","type":"number"},"street":{"name":"street","value":"EUCLID AVE","type":"address"},"apt":{"name":"apt","value":"Array","type":"text"},"city":{"name":"city","value":"SIKESTON","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-SMOKE INVESTIGATION","type":"text"},"commentlist.comment":{"name":"comment","value":"10-13-2025 19:16:12|Call Received on 10/13/2025 @ 19:16\n\nFIRE IN KITCHEN\n 10-13-2025 19:22:45|C88 WILL HAVE COMMAND 10-13-2025 19:23:09|HYDRANT AT LINDA AND EUCLID AT SE CORNER 10-13-2025 19:23:48|SINGLE STORY BRICK STRUCTURE LIGHT SMOKE SHOWING FROM GARAGE 10-13-2025 19:23:56|ENG 2 INVESTIGATING 10-13-2025 19:24:04|ALL OCCUPANTS OUT 10-13-2025 19:24:06|FIRE OUT 10-13-2025 19:24:48|CANCEL ALL PERSONEL NOT ON SCENE 10-13-2025 19:25:02|FAN TO THE GARAGE DOOR 10-13-2025 19:26:52|Disposition - SDPS PD:  NRN 10-13-2025 19:26:59|COMMAND WAS PASSED TO C84 10-13-2025 19:27:04|PATROL UNITS IN SERVICE 10-13-2025 19:58:35|COMMAND TERMINATED 10-13-2025 19:58:46|ALL APPARATUS AND PERSONNEL CLEAR IN SERVICE ","type":"text"},"time_first_unit_assigned":{"name":"time_first_unit_assigned","value":"10-13-2025T19:19:51","type":"datetime"},"time_first_unit_arrived":{"name":"time_first_unit_arrived","value":"10-13-2025T19:21:45","type":"datetime"},"time_last_unit_cleared":{"name":"time_last_unit_cleared","value":"10-13-2025T19:58:50","type":"datetime"},"Units.Unit[0].radio_name":{"name":"radio_name","value":"ENG2","type":"text"},"Units.Unit[0].time_enroute":{"name":"time_enroute","value":"10-13-2025T19:20:14","type":"datetime"},"Units.Unit[0].time_arrivedatscene":{"name":"time_arrivedatscene","value":"10-13-2025T19:21:47","type":"datetime"},"Units.Unit[0].time_depart_scene":{"name":"time_depart_scene","value":"10-13-2025T19:58:50","type":"datetime"},"Units.Unit[0].time_assigned":{"name":"time_assigned","value":"10-13-2025T19:20:07","type":"datetime"}},"timestamp":"2025-10-14T15:28:50.624Z"}
[2025-10-14 19:29:32] [INFO] About to extract fields from XML. File size: 1304 bytes
[2025-10-14 19:29:32] [INFO] Number of mappings: 20
[2025-10-14 19:29:32] [INFO] Starting XML parsing. Content length: 1304
[2025-10-14 19:29:32] [INFO] XML parsed successfully. Root element: Incident
[2025-10-14 19:29:32] [INFO] Processing 20 field mappings
[2025-10-14 19:29:32] [INFO] Mapping #1: Extracting 'IncidentNumber' => 'dispatchRunNumber'
[2025-10-14 19:29:32] [INFO]   -> Found value: 25-23503
[2025-10-14 19:29:32] [INFO]   -> Set field 'dispatchRunNumber' = "25-23503"
[2025-10-14 19:29:32] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2025-10-14 19:29:32] [INFO]   -> Found value: 504
[2025-10-14 19:29:32] [INFO]   -> Set field 'incidentLocationStreetNumber' = 504
[2025-10-14 19:29:32] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2025-10-14 19:29:32] [INFO]   -> Found value: KENDALL ST
[2025-10-14 19:29:32] [INFO]   -> Set field 'streetName' = "KENDALL ST"
[2025-10-14 19:29:32] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2025-10-14 19:29:32] [INFO]   -> No value found (null or empty)
[2025-10-14 19:29:32] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2025-10-14 19:29:32] [INFO]   -> Found value: SIKESTON
[2025-10-14 19:29:32] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2025-10-14 19:29:32] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2025-10-14 19:29:32] [INFO]   -> No value found (null or empty)
[2025-10-14 19:29:32] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2025-10-14 19:29:32] [INFO]   -> No value found (null or empty)
[2025-10-14 19:29:32] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2025-10-14 19:29:32] [INFO]   -> No value found (null or empty)
[2025-10-14 19:29:32] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2025-10-14 19:29:32] [INFO]   -> Found value: 0
[2025-10-14 19:29:32] [INFO]   -> Set field 'nERISIncidentLatitude' = null
[2025-10-14 19:29:32] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2025-10-14 19:29:32] [INFO]   -> Found value: 0
[2025-10-14 19:29:32] [INFO]   -> Set field 'nERISIncidentLongitude' = null
[2025-10-14 19:29:32] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2025-10-14 19:29:32] [INFO]   -> Found value: PR EVENT
[2025-10-14 19:29:32] [INFO]   -> Set field 'incidentTypeValue1' = "PR EVENT"
[2025-10-14 19:29:32] [INFO] Mapping #12: Extracting 'commentlist.comment' => 'dispatchNotes'
[2025-10-14 19:29:32] [INFO]   -> No value found (null or empty)
[2025-10-14 19:29:32] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2025-10-14 19:29:32] [INFO]   -> Found value: 10-14-2025T10:59:46
[2025-10-14 19:29:32] [ERROR] Error formatting datetime '10-14-2025T10:59:46': Failed to parse time string (10-14-2025T10:59:46) at position 0 (1): Unexpected character
[2025-10-14 19:29:32] [INFO]   -> Set field 'alarm' = null
[2025-10-14 19:29:32] [ERROR] Error formatting datetime '10-14-2025T10:59:46': Failed to parse time string (10-14-2025T10:59:46) at position 0 (1): Unexpected character
[2025-10-14 19:29:32] [INFO]   -> Set field 'dispatched' = null
[2025-10-14 19:29:32] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2025-10-14 19:29:32] [INFO]   -> Found value: 10-14-2025T10:59:50
[2025-10-14 19:29:32] [ERROR] Error formatting datetime '10-14-2025T10:59:50': Failed to parse time string (10-14-2025T10:59:50) at position 0 (1): Unexpected character
[2025-10-14 19:29:32] [INFO]   -> Set field 'onScene' = null
[2025-10-14 19:29:32] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2025-10-14 19:29:32] [INFO]   -> Found value: 10-14-2025T14:29:03
[2025-10-14 19:29:32] [ERROR] Error formatting datetime '10-14-2025T14:29:03': Failed to parse time string (10-14-2025T14:29:03) at position 0 (1): Unexpected character
[2025-10-14 19:29:32] [INFO]   -> Set field 'cleared' = null
[2025-10-14 19:29:32] [ERROR] Error formatting datetime '10-14-2025T14:29:03': Failed to parse time string (10-14-2025T14:29:03) at position 0 (1): Unexpected character
[2025-10-14 19:29:32] [INFO]   -> Set field 'inService' = null
[2025-10-14 19:29:32] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2025-10-14 19:29:32] [INFO]   -> Found value: ENG2
[2025-10-14 19:29:32] [INFO]   -> Set field 'cADVehicleID' = "ENG2"
[2025-10-14 19:29:32] [INFO]   -> Set field 'name' = "ENG2"
[2025-10-14 19:29:32] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2025-10-14 19:29:32] [INFO]   -> No value found (null or empty)
[2025-10-14 19:29:32] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2025-10-14 19:29:32] [INFO]   -> Found value: 10-14-2025T10:59:50
[2025-10-14 19:29:32] [ERROR] Error formatting datetime '10-14-2025T10:59:50': Failed to parse time string (10-14-2025T10:59:50) at position 0 (1): Unexpected character
[2025-10-14 19:29:32] [INFO]   -> Set field 'timeonscene' = null
[2025-10-14 19:29:32] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2025-10-14 19:29:32] [INFO]   -> Found value: 10-14-2025T14:29:03
[2025-10-14 19:29:32] [ERROR] Error formatting datetime '10-14-2025T14:29:03': Failed to parse time string (10-14-2025T14:29:03) at position 0 (1): Unexpected character
[2025-10-14 19:29:32] [INFO]   -> Set field 'timeunitclear' = null
[2025-10-14 19:29:32] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2025-10-14 19:29:32] [INFO]   -> Found value: 10-14-2025T10:59:46
[2025-10-14 19:29:32] [ERROR] Error formatting datetime '10-14-2025T10:59:46': Failed to parse time string (10-14-2025T10:59:46) at position 0 (1): Unexpected character
[2025-10-14 19:29:32] [INFO]   -> Set field 'timedispatch' = null
[2025-10-14 19:29:32] [INFO] Finished extracting fields. Total fields extracted: 17
[2025-10-14 19:29:32] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"25-23503","incidentLocationStreetNumber":504,"streetName":"KENDALL ST","incidentLocationCity":"SIKESTON","nERISIncidentLatitude":null,"nERISIncidentLongitude":null,"incidentTypeValue1":"PR EVENT","alarm":null,"dispatched":null,"onScene":null,"cleared":null,"inService":null,"cADVehicleID":"ENG2","name":"ENG2","timeonscene":null,"timeunitclear":null,"timedispatch":null}
[2025-10-14 19:29:32] [INFO] Number of extracted fields: 17
[2025-10-14 19:29:32] [INFO] Created new IncidentTypeMapping Data: {"cADIncidentType":"PR EVENT","saasclientId":"6772cab7157b2ebde","name":"PR EVENT"}
[2025-10-14 19:29:32] [INFO] Created new IncidentTypeMapping with ID: 68eea49c2e55f1cc1
[2025-10-14 19:29:32] [INFO] Created Dispatches record with ID: 68eea49c3deb95717
[2025-10-14 19:29:32] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-23503.xml
[2025-10-14 19:29:32] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-23503.xml
[2025-10-14 20:05:00] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-23513.xml
[2025-10-14 20:05:00] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-23513.xml for user: 68d56363ec1209189
[2025-10-14 20:05:00] [INFO] File size: 2104 bytes
[2025-10-14 20:05:00] [INFO] Created FTPFiles record with ID: 68eeacec9f5cf959f
[2025-10-14 20:05:00] [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","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":"68eda06763d1cbf16","name":null},"fieldExamples":{"IncidentNumber":{"name":"IncidentNumber","value":"25-23456","type":"text"},"house_number":{"name":"house_number","value":"1001","type":"number"},"street":{"name":"street","value":"EUCLID AVE","type":"address"},"apt":{"name":"apt","value":"Array","type":"text"},"city":{"name":"city","value":"SIKESTON","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-SMOKE INVESTIGATION","type":"text"},"commentlist.comment":{"name":"comment","value":"10-13-2025 19:16:12|Call Received on 10/13/2025 @ 19:16\n\nFIRE IN KITCHEN\n 10-13-2025 19:22:45|C88 WILL HAVE COMMAND 10-13-2025 19:23:09|HYDRANT AT LINDA AND EUCLID AT SE CORNER 10-13-2025 19:23:48|SINGLE STORY BRICK STRUCTURE LIGHT SMOKE SHOWING FROM GARAGE 10-13-2025 19:23:56|ENG 2 INVESTIGATING 10-13-2025 19:24:04|ALL OCCUPANTS OUT 10-13-2025 19:24:06|FIRE OUT 10-13-2025 19:24:48|CANCEL ALL PERSONEL NOT ON SCENE 10-13-2025 19:25:02|FAN TO THE GARAGE DOOR 10-13-2025 19:26:52|Disposition - SDPS PD:  NRN 10-13-2025 19:26:59|COMMAND WAS PASSED TO C84 10-13-2025 19:27:04|PATROL UNITS IN SERVICE 10-13-2025 19:58:35|COMMAND TERMINATED 10-13-2025 19:58:46|ALL APPARATUS AND PERSONNEL CLEAR IN SERVICE ","type":"text"},"time_first_unit_assigned":{"name":"time_first_unit_assigned","value":"10-13-2025T19:19:51","type":"datetime"},"time_first_unit_arrived":{"name":"time_first_unit_arrived","value":"10-13-2025T19:21:45","type":"datetime"},"time_last_unit_cleared":{"name":"time_last_unit_cleared","value":"10-13-2025T19:58:50","type":"datetime"},"Units.Unit[0].radio_name":{"name":"radio_name","value":"ENG2","type":"text"},"Units.Unit[0].time_enroute":{"name":"time_enroute","value":"10-13-2025T19:20:14","type":"datetime"},"Units.Unit[0].time_arrivedatscene":{"name":"time_arrivedatscene","value":"10-13-2025T19:21:47","type":"datetime"},"Units.Unit[0].time_depart_scene":{"name":"time_depart_scene","value":"10-13-2025T19:58:50","type":"datetime"},"Units.Unit[0].time_assigned":{"name":"time_assigned","value":"10-13-2025T19:20:07","type":"datetime"}},"timestamp":"2025-10-14T15:28:50.624Z"}
[2025-10-14 20:05:00] [INFO] About to extract fields from XML. File size: 2104 bytes
[2025-10-14 20:05:00] [INFO] Number of mappings: 20
[2025-10-14 20:05:00] [INFO] Starting XML parsing. Content length: 2104
[2025-10-14 20:05:00] [INFO] XML parsed successfully. Root element: Incident
[2025-10-14 20:05:00] [INFO] Processing 20 field mappings
[2025-10-14 20:05:00] [INFO] Mapping #1: Extracting 'IncidentNumber' => 'dispatchRunNumber'
[2025-10-14 20:05:00] [INFO]   -> Found value: 25-23513
[2025-10-14 20:05:00] [INFO]   -> Set field 'dispatchRunNumber' = "25-23513"
[2025-10-14 20:05:00] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2025-10-14 20:05:00] [INFO]   -> Found value: 304
[2025-10-14 20:05:00] [INFO]   -> Set field 'incidentLocationStreetNumber' = 304
[2025-10-14 20:05:00] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2025-10-14 20:05:00] [INFO]   -> Found value: BYNUM ST
[2025-10-14 20:05:00] [INFO]   -> Set field 'streetName' = "BYNUM ST"
[2025-10-14 20:05:00] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2025-10-14 20:05:00] [INFO]   -> No value found (null or empty)
[2025-10-14 20:05:00] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2025-10-14 20:05:00] [INFO]   -> Found value: SIKESTON
[2025-10-14 20:05:00] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2025-10-14 20:05:00] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2025-10-14 20:05:00] [INFO]   -> No value found (null or empty)
[2025-10-14 20:05:00] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2025-10-14 20:05:00] [INFO]   -> No value found (null or empty)
[2025-10-14 20:05:00] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2025-10-14 20:05:00] [INFO]   -> No value found (null or empty)
[2025-10-14 20:05:00] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2025-10-14 20:05:00] [INFO]   -> Found value: 0
[2025-10-14 20:05:00] [INFO]   -> Set field 'nERISIncidentLatitude' = null
[2025-10-14 20:05:00] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2025-10-14 20:05:00] [INFO]   -> Found value: 0
[2025-10-14 20:05:00] [INFO]   -> Set field 'nERISIncidentLongitude' = null
[2025-10-14 20:05:00] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2025-10-14 20:05:00] [INFO]   -> Found value: FIRE-GAS LEAK
[2025-10-14 20:05:00] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE-GAS LEAK"
[2025-10-14 20:05:00] [INFO] Mapping #12: Extracting 'commentlist.comment' => 'dispatchNotes'
[2025-10-14 20:05:00] [INFO]   -> Found value: 10-14-2025 14:24:07|Call Received on 10/14/2025 @ 14:24

 10-14-2025 14:31:37|B45 ONE STORY NOTHING ...
[2025-10-14 20:05:00] [INFO]   -> Set field 'dispatchNotes' = "10-14-2025 14:24:07|Call Received on 10\/14\/2025 @ 14:24\n\n 10-14-2025 14:31:37|B45 ONE STORY NOTHING SHOWING 10-14-2025 14:33:17|B45 CLEARED TWR1 10-14-2025 14:38:50|GAS CO CONTACTED 10-14-2025 14:53:15|GAS ON SCENE"
[2025-10-14 20:05:00] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2025-10-14 20:05:00] [INFO]   -> Found value: 10-14-2025T14:27:12
[2025-10-14 20:05:00] [ERROR] Error formatting datetime '10-14-2025T14:27:12': Failed to parse time string (10-14-2025T14:27:12) at position 0 (1): Unexpected character
[2025-10-14 20:05:00] [INFO]   -> Set field 'alarm' = null
[2025-10-14 20:05:00] [ERROR] Error formatting datetime '10-14-2025T14:27:12': Failed to parse time string (10-14-2025T14:27:12) at position 0 (1): Unexpected character
[2025-10-14 20:05:00] [INFO]   -> Set field 'dispatched' = null
[2025-10-14 20:05:00] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2025-10-14 20:05:00] [INFO]   -> Found value: 10-14-2025T14:32:56
[2025-10-14 20:05:00] [ERROR] Error formatting datetime '10-14-2025T14:32:56': Failed to parse time string (10-14-2025T14:32:56) at position 0 (1): Unexpected character
[2025-10-14 20:05:00] [INFO]   -> Set field 'onScene' = null
[2025-10-14 20:05:00] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2025-10-14 20:05:00] [INFO]   -> Found value: 10-14-2025T15:04:27
[2025-10-14 20:05:00] [ERROR] Error formatting datetime '10-14-2025T15:04:27': Failed to parse time string (10-14-2025T15:04:27) at position 0 (1): Unexpected character
[2025-10-14 20:05:00] [INFO]   -> Set field 'cleared' = null
[2025-10-14 20:05:00] [ERROR] Error formatting datetime '10-14-2025T15:04:27': Failed to parse time string (10-14-2025T15:04:27) at position 0 (1): Unexpected character
[2025-10-14 20:05:00] [INFO]   -> Set field 'inService' = null
[2025-10-14 20:05:00] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2025-10-14 20:05:00] [INFO]   -> Found value: ENG1
[2025-10-14 20:05:00] [INFO]   -> Set field 'cADVehicleID' = "ENG1"
[2025-10-14 20:05:00] [INFO]   -> Set field 'name' = "ENG1"
[2025-10-14 20:05:00] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2025-10-14 20:05:00] [INFO]   -> No value found (null or empty)
[2025-10-14 20:05:00] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2025-10-14 20:05:00] [INFO]   -> No value found (null or empty)
[2025-10-14 20:05:00] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2025-10-14 20:05:00] [INFO]   -> Found value: 10-14-2025T15:04:27
[2025-10-14 20:05:00] [ERROR] Error formatting datetime '10-14-2025T15:04:27': Failed to parse time string (10-14-2025T15:04:27) at position 0 (1): Unexpected character
[2025-10-14 20:05:00] [INFO]   -> Set field 'timeunitclear' = null
[2025-10-14 20:05:00] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2025-10-14 20:05:00] [INFO]   -> Found value: 10-14-2025T14:27:12
[2025-10-14 20:05:00] [ERROR] Error formatting datetime '10-14-2025T14:27:12': Failed to parse time string (10-14-2025T14:27:12) at position 0 (1): Unexpected character
[2025-10-14 20:05:00] [INFO]   -> Set field 'timedispatch' = null
[2025-10-14 20:05:00] [INFO] Finished extracting fields. Total fields extracted: 17
[2025-10-14 20:05:00] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"25-23513","incidentLocationStreetNumber":304,"streetName":"BYNUM ST","incidentLocationCity":"SIKESTON","nERISIncidentLatitude":null,"nERISIncidentLongitude":null,"incidentTypeValue1":"FIRE-GAS LEAK","dispatchNotes":"10-14-2025 14:24:07|Call Received on 10\/14\/2025 @ 14:24\n\n 10-14-2025 14:31:37|B45 ONE STORY NOTHING SHOWING 10-14-2025 14:33:17|B45 CLEARED TWR1 10-14-2025 14:38:50|GAS CO CONTACTED 10-14-2025 14:53:15|GAS ON SCENE","alarm":null,"dispatched":null,"onScene":null,"cleared":null,"inService":null,"cADVehicleID":"ENG1","name":"ENG1","timeunitclear":null,"timedispatch":null}
[2025-10-14 20:05:00] [INFO] Number of extracted fields: 17
[2025-10-14 20:05:00] [INFO] Found existing IncidentTypeMapping with ID: 68e4025e2ad978594
[2025-10-14 20:05:01] [INFO] Created Dispatches record with ID: 68eeacecd0ed4a1a6
[2025-10-14 20:05:01] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-23513.xml
[2025-10-14 20:05:01] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-23513.xml
[2025-10-14 20:28:19] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-23514.xml
[2025-10-14 20:28:19] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-23514.xml for user: 68d56363ec1209189
[2025-10-14 20:28:19] [INFO] File size: 1845 bytes
[2025-10-14 20:28:19] [INFO] Created FTPFiles record with ID: 68eeb2639352dd41d
[2025-10-14 20:28:19] [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","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":"68eda06763d1cbf16","name":null},"fieldExamples":{"IncidentNumber":{"name":"IncidentNumber","value":"25-23456","type":"text"},"house_number":{"name":"house_number","value":"1001","type":"number"},"street":{"name":"street","value":"EUCLID AVE","type":"address"},"apt":{"name":"apt","value":"Array","type":"text"},"city":{"name":"city","value":"SIKESTON","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-SMOKE INVESTIGATION","type":"text"},"commentlist.comment":{"name":"comment","value":"10-13-2025 19:16:12|Call Received on 10/13/2025 @ 19:16\n\nFIRE IN KITCHEN\n 10-13-2025 19:22:45|C88 WILL HAVE COMMAND 10-13-2025 19:23:09|HYDRANT AT LINDA AND EUCLID AT SE CORNER 10-13-2025 19:23:48|SINGLE STORY BRICK STRUCTURE LIGHT SMOKE SHOWING FROM GARAGE 10-13-2025 19:23:56|ENG 2 INVESTIGATING 10-13-2025 19:24:04|ALL OCCUPANTS OUT 10-13-2025 19:24:06|FIRE OUT 10-13-2025 19:24:48|CANCEL ALL PERSONEL NOT ON SCENE 10-13-2025 19:25:02|FAN TO THE GARAGE DOOR 10-13-2025 19:26:52|Disposition - SDPS PD:  NRN 10-13-2025 19:26:59|COMMAND WAS PASSED TO C84 10-13-2025 19:27:04|PATROL UNITS IN SERVICE 10-13-2025 19:58:35|COMMAND TERMINATED 10-13-2025 19:58:46|ALL APPARATUS AND PERSONNEL CLEAR IN SERVICE ","type":"text"},"time_first_unit_assigned":{"name":"time_first_unit_assigned","value":"10-13-2025T19:19:51","type":"datetime"},"time_first_unit_arrived":{"name":"time_first_unit_arrived","value":"10-13-2025T19:21:45","type":"datetime"},"time_last_unit_cleared":{"name":"time_last_unit_cleared","value":"10-13-2025T19:58:50","type":"datetime"},"Units.Unit[0].radio_name":{"name":"radio_name","value":"ENG2","type":"text"},"Units.Unit[0].time_enroute":{"name":"time_enroute","value":"10-13-2025T19:20:14","type":"datetime"},"Units.Unit[0].time_arrivedatscene":{"name":"time_arrivedatscene","value":"10-13-2025T19:21:47","type":"datetime"},"Units.Unit[0].time_depart_scene":{"name":"time_depart_scene","value":"10-13-2025T19:58:50","type":"datetime"},"Units.Unit[0].time_assigned":{"name":"time_assigned","value":"10-13-2025T19:20:07","type":"datetime"}},"timestamp":"2025-10-14T15:28:50.624Z"}
[2025-10-14 20:28:19] [INFO] About to extract fields from XML. File size: 1845 bytes
[2025-10-14 20:28:19] [INFO] Number of mappings: 20
[2025-10-14 20:28:19] [INFO] Starting XML parsing. Content length: 1845
[2025-10-14 20:28:19] [INFO] XML parsed successfully. Root element: Incident
[2025-10-14 20:28:19] [INFO] Processing 20 field mappings
[2025-10-14 20:28:19] [INFO] Mapping #1: Extracting 'IncidentNumber' => 'dispatchRunNumber'
[2025-10-14 20:28:19] [INFO]   -> Found value: 25-23514
[2025-10-14 20:28:19] [INFO]   -> Set field 'dispatchRunNumber' = "25-23514"
[2025-10-14 20:28:19] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2025-10-14 20:28:19] [INFO]   -> Found value: 515
[2025-10-14 20:28:19] [INFO]   -> Set field 'incidentLocationStreetNumber' = 515
[2025-10-14 20:28:19] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2025-10-14 20:28:19] [INFO]   -> Found value: LINDENWOOD AVE
[2025-10-14 20:28:19] [INFO]   -> Set field 'streetName' = "LINDENWOOD AVE"
[2025-10-14 20:28:19] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2025-10-14 20:28:19] [INFO]   -> No value found (null or empty)
[2025-10-14 20:28:19] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2025-10-14 20:28:19] [INFO]   -> No value found (null or empty)
[2025-10-14 20:28:19] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2025-10-14 20:28:19] [INFO]   -> No value found (null or empty)
[2025-10-14 20:28:19] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2025-10-14 20:28:19] [INFO]   -> No value found (null or empty)
[2025-10-14 20:28:19] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2025-10-14 20:28:19] [INFO]   -> No value found (null or empty)
[2025-10-14 20:28:19] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2025-10-14 20:28:19] [INFO]   -> Found value: 0
[2025-10-14 20:28:19] [INFO]   -> Set field 'nERISIncidentLatitude' = null
[2025-10-14 20:28:19] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2025-10-14 20:28:19] [INFO]   -> Found value: 0
[2025-10-14 20:28:19] [INFO]   -> Set field 'nERISIncidentLongitude' = null
[2025-10-14 20:28:19] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2025-10-14 20:28:19] [INFO]   -> Found value: FIRE-GAS LEAK
[2025-10-14 20:28:19] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE-GAS LEAK"
[2025-10-14 20:28:19] [INFO] Mapping #12: Extracting 'commentlist.comment' => 'dispatchNotes'
[2025-10-14 20:28:19] [INFO]   -> Found 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-10-14 20:28:19] [INFO]   -> Set field 'dispatchNotes' = "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"
[2025-10-14 20:28:19] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2025-10-14 20:28:19] [INFO]   -> Found value: 10-14-2025T15:04:42
[2025-10-14 20:28:19] [ERROR] Error formatting datetime '10-14-2025T15:04:42': Failed to parse time string (10-14-2025T15:04:42) at position 0 (1): Unexpected character
[2025-10-14 20:28:19] [INFO]   -> Set field 'alarm' = null
[2025-10-14 20:28:19] [ERROR] Error formatting datetime '10-14-2025T15:04:42': Failed to parse time string (10-14-2025T15:04:42) at position 0 (1): Unexpected character
[2025-10-14 20:28:19] [INFO]   -> Set field 'dispatched' = null
[2025-10-14 20:28:19] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2025-10-14 20:28:19] [INFO]   -> Found value: 10-14-2025T15:07:19
[2025-10-14 20:28:19] [ERROR] Error formatting datetime '10-14-2025T15:07:19': Failed to parse time string (10-14-2025T15:07:19) at position 0 (1): Unexpected character
[2025-10-14 20:28:19] [INFO]   -> Set field 'onScene' = null
[2025-10-14 20:28:19] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2025-10-14 20:28:19] [INFO]   -> Found value: 10-14-2025T15:27:23
[2025-10-14 20:28:19] [ERROR] Error formatting datetime '10-14-2025T15:27:23': Failed to parse time string (10-14-2025T15:27:23) at position 0 (1): Unexpected character
[2025-10-14 20:28:19] [INFO]   -> Set field 'cleared' = null
[2025-10-14 20:28:19] [ERROR] Error formatting datetime '10-14-2025T15:27:23': Failed to parse time string (10-14-2025T15:27:23) at position 0 (1): Unexpected character
[2025-10-14 20:28:19] [INFO]   -> Set field 'inService' = null
[2025-10-14 20:28:19] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2025-10-14 20:28:19] [INFO]   -> Found value: ENG2
[2025-10-14 20:28:19] [INFO]   -> Set field 'cADVehicleID' = "ENG2"
[2025-10-14 20:28:19] [INFO]   -> Set field 'name' = "ENG2"
[2025-10-14 20:28:19] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2025-10-14 20:28:19] [INFO]   -> Found value: 10-14-2025T15:04:46
[2025-10-14 20:28:19] [ERROR] Error formatting datetime '10-14-2025T15:04:46': Failed to parse time string (10-14-2025T15:04:46) at position 0 (1): Unexpected character
[2025-10-14 20:28:19] [INFO]   -> Set field 'timeenroutetoscene' = null
[2025-10-14 20:28:19] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2025-10-14 20:28:19] [INFO]   -> Found value: 10-14-2025T15:08:38
[2025-10-14 20:28:19] [ERROR] Error formatting datetime '10-14-2025T15:08:38': Failed to parse time string (10-14-2025T15:08:38) at position 0 (1): Unexpected character
[2025-10-14 20:28:19] [INFO]   -> Set field 'timeonscene' = null
[2025-10-14 20:28:19] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2025-10-14 20:28:19] [INFO]   -> Found value: 10-14-2025T15:27:23
[2025-10-14 20:28:19] [ERROR] Error formatting datetime '10-14-2025T15:27:23': Failed to parse time string (10-14-2025T15:27:23) at position 0 (1): Unexpected character
[2025-10-14 20:28:19] [INFO]   -> Set field 'timeunitclear' = null
[2025-10-14 20:28:19] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2025-10-14 20:28:19] [INFO]   -> Found value: 10-14-2025T15:04:42
[2025-10-14 20:28:19] [ERROR] Error formatting datetime '10-14-2025T15:04:42': Failed to parse time string (10-14-2025T15:04:42) at position 0 (1): Unexpected character
[2025-10-14 20:28:19] [INFO]   -> Set field 'timedispatch' = null
[2025-10-14 20:28:19] [INFO] Finished extracting fields. Total fields extracted: 18
[2025-10-14 20:28:19] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"25-23514","incidentLocationStreetNumber":515,"streetName":"LINDENWOOD AVE","nERISIncidentLatitude":null,"nERISIncidentLongitude":null,"incidentTypeValue1":"FIRE-GAS LEAK","dispatchNotes":"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","alarm":null,"dispatched":null,"onScene":null,"cleared":null,"inService":null,"cADVehicleID":"ENG2","name":"ENG2","timeenroutetoscene":null,"timeonscene":null,"timeunitclear":null,"timedispatch":null}
[2025-10-14 20:28:19] [INFO] Number of extracted fields: 18
[2025-10-14 20:28:19] [INFO] Found existing IncidentTypeMapping with ID: 68e4025e2ad978594
[2025-10-14 20:28:20] [INFO] Created Dispatches record with ID: 68eeb263c1af775ae
[2025-10-14 20:28:20] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-23514.xml
[2025-10-14 20:28:20] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-23514.xml
