[2025-12-27 00:37:10] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-31027.xml
[2025-12-27 00:37:10] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-31027.xml for user: 68d56363ec1209189
[2025-12-27 00:37:10] [INFO] File size: 1769 bytes
[2025-12-27 00:37:10] [INFO] Created FTPFiles record with ID: 694f2a36c2ca4e3e6
[2025-12-27 00:37:10] [INFO] About to extract fields from XML. File size: 1769 bytes
[2025-12-27 00:37:10] [INFO] Number of mappings: 21
[2025-12-27 00:37:10] [INFO] Starting XML parsing. Content length: 1769
[2025-12-27 00:37:10] [INFO] XML parsed successfully. Root element: Incident
[2025-12-27 00:37:10] [INFO] Processing 21 field mappings
[2025-12-27 00:37:10] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2025-12-27 00:37:10] [INFO]   -> Found value: 25-31027
[2025-12-27 00:37:10] [INFO]   -> Set field 'dispatchRunNumber' = "25-31027"
[2025-12-27 00:37:10] [INFO]   -> Set field 'cADNumber' = "25-31027"
[2025-12-27 00:37:10] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2025-12-27 00:37:10] [INFO]   -> Found value: 124
[2025-12-27 00:37:10] [INFO]   -> Set field 'incidentLocationStreetNumber' = 124
[2025-12-27 00:37:10] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2025-12-27 00:37:10] [INFO]   -> Found value: REUBEN AVE
[2025-12-27 00:37:10] [INFO]   -> Set field 'streetName' = "REUBEN AVE"
[2025-12-27 00:37:10] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2025-12-27 00:37:10] [INFO]   -> No value found (null or empty)
[2025-12-27 00:37:10] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2025-12-27 00:37:10] [INFO]   -> Found value: SIKESTON
[2025-12-27 00:37:10] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2025-12-27 00:37:10] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2025-12-27 00:37:10] [INFO]   -> No value found (null or empty)
[2025-12-27 00:37:10] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2025-12-27 00:37:10] [INFO]   -> Found value: MO
[2025-12-27 00:37:10] [INFO]   -> Set field 'incidentLocationStateName' = "MO"
[2025-12-27 00:37:10] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2025-12-27 00:37:10] [INFO]   -> Found value: 63801
[2025-12-27 00:37:10] [INFO]   -> Set field 'nERISIncidentPostalCode' = 63801
[2025-12-27 00:37:10] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2025-12-27 00:37:10] [INFO]   -> Found value: 0
[2025-12-27 00:37:10] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2025-12-27 00:37:10] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2025-12-27 00:37:10] [INFO]   -> Found value: 0
[2025-12-27 00:37:10] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2025-12-27 00:37:10] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2025-12-27 00:37:10] [INFO]   -> Found value: FIRE-TRASH/REFUSE
[2025-12-27 00:37:10] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE-TRASH\/REFUSE"
[2025-12-27 00:37:10] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2025-12-27 00:37:10] [INFO]   -> Found value: 12-26-2025 18:09:35|PER B48 STATION 3 CAN GET IT 12-26-2025 18:09:45|TRASH FIRE 12-26-2025 18:10:04|...
[2025-12-27 00:37:10] [INFO]   -> Set field 'dispatchNotes' = "12-26-2025 18:09:35|PER B48 STATION 3 CAN GET IT 12-26-2025 18:09:45|TRASH FIRE 12-26-2025 18:10:04|NO ONE ANSWERING DOOR 12-26-2025 18:36:34|FIRE PUT OUT"
[2025-12-27 00:37:10] [INFO]   -> Set field 'cADLog' = "12-26-2025 18:09:35|PER B48 STATION 3 CAN GET IT 12-26-2025 18:09:45|TRASH FIRE 12-26-2025 18:10:04|NO ONE ANSWERING DOOR 12-26-2025 18:36:34|FIRE PUT OUT"
[2025-12-27 00:37:10] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2025-12-27 00:37:10] [INFO]   -> Found value: 12-26-2025T18:05:43
[2025-12-27 00:37:10] [INFO] Reformatted DD-MM-YYYY date '12-26-2025' (day=12, month=26) to ISO: 2025-26-12T18:05:43
[2025-12-27 00:37:10] [ERROR] Error formatting datetime '2025-26-12T18:05:43': Failed to parse time string (2025-26-12T18:05:43) at position 6 (6): Unexpected character
[2025-12-27 00:37:10] [INFO]   -> Set field 'alarm' = null
[2025-12-27 00:37:10] [INFO] Reformatted DD-MM-YYYY date '12-26-2025' (day=12, month=26) to ISO: 2025-26-12T18:05:43
[2025-12-27 00:37:10] [ERROR] Error formatting datetime '2025-26-12T18:05:43': Failed to parse time string (2025-26-12T18:05:43) at position 6 (6): Unexpected character
[2025-12-27 00:37:10] [INFO]   -> Set field 'dispatched' = null
[2025-12-27 00:37:10] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2025-12-27 00:37:10] [INFO]   -> Found value: 12-26-2025T18:05:43
[2025-12-27 00:37:10] [INFO] Reformatted DD-MM-YYYY date '12-26-2025' (day=12, month=26) to ISO: 2025-26-12T18:05:43
[2025-12-27 00:37:10] [ERROR] Error formatting datetime '2025-26-12T18:05:43': Failed to parse time string (2025-26-12T18:05:43) at position 6 (6): Unexpected character
[2025-12-27 00:37:10] [INFO]   -> Set field 'onScene' = null
[2025-12-27 00:37:10] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2025-12-27 00:37:10] [INFO]   -> Found value: 12-26-2025T18:36:38
[2025-12-27 00:37:10] [INFO] Reformatted DD-MM-YYYY date '12-26-2025' (day=12, month=26) to ISO: 2025-26-12T18:36:38
[2025-12-27 00:37:10] [ERROR] Error formatting datetime '2025-26-12T18:36:38': Failed to parse time string (2025-26-12T18:36:38) at position 6 (6): Unexpected character
[2025-12-27 00:37:10] [INFO]   -> Set field 'cleared' = null
[2025-12-27 00:37:10] [INFO] Reformatted DD-MM-YYYY date '12-26-2025' (day=12, month=26) to ISO: 2025-26-12T18:36:38
[2025-12-27 00:37:10] [ERROR] Error formatting datetime '2025-26-12T18:36:38': Failed to parse time string (2025-26-12T18:36:38) at position 6 (6): Unexpected character
[2025-12-27 00:37:10] [INFO]   -> Set field 'inService' = null
[2025-12-27 00:37:10] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2025-12-27 00:37:10] [INFO]   -> Found value: L3
[2025-12-27 00:37:10] [INFO]   -> Set field 'cADVehicleID' = "L3"
[2025-12-27 00:37:10] [INFO]   -> Set field 'name' = "L3"
[2025-12-27 00:37:10] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2025-12-27 00:37:10] [INFO]   -> Found value: 12-26-2025T18:12:49
[2025-12-27 00:37:10] [INFO] Reformatted DD-MM-YYYY date '12-26-2025' (day=12, month=26) to ISO: 2025-26-12T18:12:49
[2025-12-27 00:37:10] [ERROR] Error formatting datetime '2025-26-12T18:12:49': Failed to parse time string (2025-26-12T18:12:49) at position 6 (6): Unexpected character
[2025-12-27 00:37:10] [INFO]   -> Set field 'timeenroutetoscene' = null
[2025-12-27 00:37:10] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2025-12-27 00:37:10] [INFO]   -> Found value: 12-26-2025T18:17:27
[2025-12-27 00:37:10] [INFO] Reformatted DD-MM-YYYY date '12-26-2025' (day=12, month=26) to ISO: 2025-26-12T18:17:27
[2025-12-27 00:37:10] [ERROR] Error formatting datetime '2025-26-12T18:17:27': Failed to parse time string (2025-26-12T18:17:27) at position 6 (6): Unexpected character
[2025-12-27 00:37:10] [INFO]   -> Set field 'timeonscene' = null
[2025-12-27 00:37:10] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2025-12-27 00:37:10] [INFO]   -> Found value: 12-26-2025T18:36:38
[2025-12-27 00:37:10] [INFO] Reformatted DD-MM-YYYY date '12-26-2025' (day=12, month=26) to ISO: 2025-26-12T18:36:38
[2025-12-27 00:37:10] [ERROR] Error formatting datetime '2025-26-12T18:36:38': Failed to parse time string (2025-26-12T18:36:38) at position 6 (6): Unexpected character
[2025-12-27 00:37:10] [INFO]   -> Set field 'timeunitclear' = null
[2025-12-27 00:37:10] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2025-12-27 00:37:10] [INFO]   -> Found value: 12-26-2025T18:12:46
[2025-12-27 00:37:10] [INFO] Reformatted DD-MM-YYYY date '12-26-2025' (day=12, month=26) to ISO: 2025-26-12T18:12:46
[2025-12-27 00:37:10] [ERROR] Error formatting datetime '2025-26-12T18:12:46': Failed to parse time string (2025-26-12T18:12:46) at position 6 (6): Unexpected character
[2025-12-27 00:37:10] [INFO]   -> Set field 'timedispatch' = null
[2025-12-27 00:37:10] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2025-12-27 00:37:10] [INFO]   -> Found value: SDPSFD
[2025-12-27 00:37:10] [INFO]   -> Set field 'cADAgencyIdentifier' = "SDPSFD"
[2025-12-27 00:37:10] [INFO] Finished extracting fields. Total fields extracted: 24
[2025-12-27 00:37:10] [INFO] Built locationCoordinates from lat/lng: 0,0
[2025-12-27 00:37:10] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"25-31027","cADNumber":"25-31027","incidentLocationStreetNumber":124,"streetName":"REUBEN AVE","incidentLocationCity":"SIKESTON","incidentLocationStateName":"MO","nERISIncidentPostalCode":63801,"nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"FIRE-TRASH\/REFUSE","dispatchNotes":"12-26-2025 18:09:35|PER B48 STATION 3 CAN GET IT 12-26-2025 18:09:45|TRASH FIRE 12-26-2025 18:10:04|NO ONE ANSWERING DOOR 12-26-2025 18:36:34|FIRE PUT OUT","cADLog":"12-26-2025 18:09:35|PER B48 STATION 3 CAN GET IT 12-26-2025 18:09:45|TRASH FIRE 12-26-2025 18:10:04|NO ONE ANSWERING DOOR 12-26-2025 18:36:34|FIRE PUT OUT","alarm":null,"dispatched":null,"onScene":null,"cleared":null,"inService":null,"cADVehicleID":"L3","name":"L3","timeenroutetoscene":null,"timeonscene":null,"timeunitclear":null,"timedispatch":null,"cADAgencyIdentifier":"SDPSFD","locationCoordinates":"0,0"}
[2025-12-27 00:37:10] [INFO] Number of extracted fields: 25
[2025-12-27 00:37:10] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SDPSFD'
[2025-12-27 00:37:10] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SDPSFD', Parsed IDs = ["SDPSFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 2
[2025-12-27 00:37:10] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SDPSFD"]
[2025-12-27 00:37:10] [INFO] Attempting SAASClient lookup for AgencyCode 'SDPSFD' (index 0) within mailbox's assigned agencies
[2025-12-27 00:37:10] [INFO] SUCCESS: Routed to agency 'Sikeston DPS' (ID: 6772cab7157b2ebde) at INDEX 0 based on AgencyCode 'SDPSFD'
[2025-12-27 00:37:11] [INFO] Fetched 4 stations from Stations module for agency 'Sikeston DPS': ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"]
[2025-12-27 00:37:11] [INFO] Final routing: saasclientId = 6772cab7157b2ebde, dispatchStationsIds = ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"], matchedAgencyIndex = 0
[2025-12-27 00:37:11] [INFO] Multi-agency routing matched mailbox default agency: 6772cab7157b2ebde (no update needed)
[2025-12-27 00:37:11] [INFO] Found existing IncidentTypeMapping with ID: 68e4158e88b09595a
[2025-12-27 00:37:12] [INFO] Created new Dispatches record with ID: 694f2a378863fd0b4
[2025-12-27 00:37:12] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-31027.xml
[2025-12-27 00:37:12] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-31027.xml
[2025-12-27 02:01:32] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250141579_20251227_020132.XML
[2025-12-27 02:01:32] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250141579_20251227_020132.XML for user: 68f1466aed072ad4a
[2025-12-27 02:01:32] [INFO] File size: 5503 bytes
[2025-12-27 02:01:33] [INFO] Created FTPFiles record with ID: 694f3dfd28da9f570
[2025-12-27 02:01:33] [INFO] About to extract fields from XML. File size: 5503 bytes
[2025-12-27 02:01:33] [INFO] Number of mappings: 28
[2025-12-27 02:01:33] [INFO] Starting XML parsing. Content length: 5503
[2025-12-27 02:01:33] [INFO] XML parsed successfully. Root element: CADExport
[2025-12-27 02:01:33] [INFO] Processing 28 field mappings
[2025-12-27 02:01:33] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2025-12-27 02:01:33] [INFO] Found 3 elements for 'AgencyCode', using FIRST value only
[2025-12-27 02:01:33] [INFO]   -> Found value: PCFD
[2025-12-27 02:01:33] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2025-12-27 02:01:33] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2025-12-27 02:01:33] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2025-12-27 02:01:33] [INFO]   -> Found value: 2025003177
[2025-12-27 02:01:33] [INFO]   -> Set field 'incidentInternalId' = "2025003177"
[2025-12-27 02:01:33] [INFO]   -> Set field 'dispatchRunNumber' = "2025003177"
[2025-12-27 02:01:33] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2025-12-27 02:01:33] [INFO]   -> Found value: BREATHING PROBLEMS
[2025-12-27 02:01:33] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2025-12-27 02:01:33] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2025-12-27 02:01:33] [INFO]   -> Found value: 3340
[2025-12-27 02:01:33] [INFO]   -> Set field 'incidentLocationStreetNumber' = 3340
[2025-12-27 02:01:33] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2025-12-27 02:01:33] [INFO]   -> Found value: TN
[2025-12-27 02:01:33] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2025-12-27 02:01:33] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2025-12-27 02:01:33] [INFO]   -> Found value: 38544
[2025-12-27 02:01:33] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2025-12-27 02:01:33] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2025-12-27 02:01:33] [INFO]   -> Found value: LARRY HASKINS
[2025-12-27 02:01:33] [INFO]   -> Set field 'businessName' = "LARRY HASKINS"
[2025-12-27 02:01:33] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2025-12-27 02:01:33] [INFO]   -> No value found (null or empty)
[2025-12-27 02:01:33] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2025-12-27 02:01:33] [INFO]   -> Found value: 36.12370
[2025-12-27 02:01:33] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1236999999999994770405464805662631988525390625
[2025-12-27 02:01:33] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2025-12-27 02:01:33] [INFO]   -> Found value: -85.61814
[2025-12-27 02:01:33] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6181399999999968031261232681572437286376953125
[2025-12-27 02:01:33] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2025-12-27 02:01:33] [INFO]   -> Found value: 2025-12-26 20:00:51
[2025-12-27 02:01:33] [INFO]   -> Set field 'alarm' = "2025-12-26 20:00:51"
[2025-12-27 02:01:33] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2025-12-27 02:01:33] [INFO]   -> Found value: 2025-12-26 20:01:22
[2025-12-27 02:01:33] [INFO]   -> Set field 'dispatched' = "2025-12-26 20:01:22"
[2025-12-27 02:01:33] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2025-12-27 02:01:33] [INFO]   -> No value found (null or empty)
[2025-12-27 02:01:33] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2025-12-27 02:01:33] [INFO]   -> No value found (null or empty)
[2025-12-27 02:01:33] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2025-12-27 02:01:33] [INFO]   -> No value found (null or empty)
[2025-12-27 02:01:33] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2025-12-27 02:01:33] [INFO]   -> Found value: ACADEMY RD/MELODY LN
[2025-12-27 02:01:33] [INFO]   -> Set field 'incidentLocationCross' = "ACADEMY RD\/MELODY LN"
[2025-12-27 02:01:33] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2025-12-27 02:01:33] [INFO]   -> Found value: PCFR
[2025-12-27 02:01:33] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2025-12-27 02:01:33] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2025-12-27 02:01:33] [INFO]   -> Found value: 2025-12-26 20:01:22
[2025-12-27 02:01:33] [INFO]   -> Set field 'timedispatch' = "2025-12-26 20:01:22"
[2025-12-27 02:01:33] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2025-12-27 02:01:33] [INFO]   -> No value found (null or empty)
[2025-12-27 02:01:33] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2025-12-27 02:01:33] [INFO]   -> No value found (null or empty)
[2025-12-27 02:01:33] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2025-12-27 02:01:33] [INFO]   -> No value found (null or empty)
[2025-12-27 02:01:33] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2025-12-27 02:01:33] [INFO]   -> No value found (null or empty)
[2025-12-27 02:01:33] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2025-12-27 02:01:33] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2025-12-27 02:01:33] [INFO]   -> Found value: 20250141579
[2025-12-27 02:01:33] [INFO]   -> Set field 'policeReportNumber' = "20250141579"
[2025-12-27 02:01:33] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2025-12-27 02:01:33] [INFO]   -> Found value: [APCO INTELLICOMM] Case ID: l6rDqviRU_ Caller Phone: 9318584531 Caller Name: HASKINS LARRY &amp; SUE...
[2025-12-27 02:01:33] [INFO]   -> Set field 'dispatchNotes' = "[APCO INTELLICOMM] Case ID: l6rDqviRU_ Caller Phone: 9318584531 Caller Name: HASKINS LARRY &amp; SUE Incident Location: 3340 GENTRY DR Incident Location Detail: ACADEMY RD\/MELODY LN Nature: BREATHING PROBLEMS Incident #: 20250141578 CAD Call Taker: BMEZIME Chief Complaint: (empty)  [12\/26\/25 20:00:53 PSUTIL01] Event spawned from BREATHING PROBLEMS.  [12\/26\/2025 20:00:51 BMEZIME]"
[2025-12-27 02:01:33] [INFO]   -> Set field 'cADLog' = "[APCO INTELLICOMM] Case ID: l6rDqviRU_ Caller Phone: 9318584531 Caller Name: HASKINS LARRY &amp; SUE Incident Location: 3340 GENTRY DR Incident Location Detail: ACADEMY RD\/MELODY LN Nature: BREATHING PROBLEMS Incident #: 20250141578 CAD Call Taker: BMEZIME Chief Complaint: (empty)  [12\/26\/25 20:00:53 PSUTIL01] Event spawned from BREATHING PROBLEMS.  [12\/26\/2025 20:00:51 BMEZIME]"
[2025-12-27 02:01:33] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2025-12-27 02:01:33] [INFO]   -> Found value: BAXTER
[2025-12-27 02:01:33] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2025-12-27 02:01:33] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2025-12-27 02:01:33] [INFO]   -> Found value: GENTRY
[2025-12-27 02:01:33] [INFO]   -> Set field 'streetName' = "GENTRY"
[2025-12-27 02:01:33] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2025-12-27 02:01:33] [INFO]   -> Found value: DR
[2025-12-27 02:01:33] [INFO]   -> Set field 'streetType' = "DR"
[2025-12-27 02:01:33] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2025-12-27 02:01:33] [INFO]   -> Found value: 3340 GENTRY DR
[2025-12-27 02:01:33] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "3340 GENTRY DR"
[2025-12-27 02:01:33] [INFO] Finished extracting fields. Total fields extracted: 22
[2025-12-27 02:01:33] [INFO] Concatenating street name and type
[2025-12-27 02:01:33] [INFO]   -> Combined street name: GENTRY DR
[2025-12-27 02:01:33] [INFO] Built locationCoordinates from lat/lng: 36.1237,-85.61814
[2025-12-27 02:01:33] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2025003177","dispatchRunNumber":"2025003177","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":3340,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"businessName":"LARRY HASKINS","nERISIncidentLatitude":36.1236999999999994770405464805662631988525390625,"nERISIncidentLongitude":-85.6181399999999968031261232681572437286376953125,"alarm":"2025-12-26 20:00:51","dispatched":"2025-12-26 20:01:22","incidentLocationCross":"ACADEMY RD\/MELODY LN","cADVehicleID":"PCFR","timedispatch":"2025-12-26 20:01:22","policeReportNumber":"20250141579","dispatchNotes":"[APCO INTELLICOMM] Case ID: l6rDqviRU_ Caller Phone: 9318584531 Caller Name: HASKINS LARRY &amp; SUE Incident Location: 3340 GENTRY DR Incident Location Detail: ACADEMY RD\/MELODY LN Nature: BREATHING PROBLEMS Incident #: 20250141578 CAD Call Taker: BMEZIME Chief Complaint: (empty)  [12\/26\/25 20:00:53 PSUTIL01] Event spawned from BREATHING PROBLEMS.  [12\/26\/2025 20:00:51 BMEZIME]","cADLog":"[APCO INTELLICOMM] Case ID: l6rDqviRU_ Caller Phone: 9318584531 Caller Name: HASKINS LARRY &amp; SUE Incident Location: 3340 GENTRY DR Incident Location Detail: ACADEMY RD\/MELODY LN Nature: BREATHING PROBLEMS Incident #: 20250141578 CAD Call Taker: BMEZIME Chief Complaint: (empty)  [12\/26\/25 20:00:53 PSUTIL01] Event spawned from BREATHING PROBLEMS.  [12\/26\/2025 20:00:51 BMEZIME]","incidentLocationCity":"BAXTER","streetName":"GENTRY DR","incidentAddressTextVersionStreet":"3340 GENTRY DR","locationCoordinates":"36.1237,-85.61814"}
[2025-12-27 02:01:33] [INFO] Number of extracted fields: 22
[2025-12-27 02:01:33] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2025-12-27 02:01:33] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD', Parsed IDs = ["PCFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2025-12-27 02:01:33] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2025-12-27 02:01:33] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2025-12-27 02:01:33] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2025-12-27 02:01:33] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2025-12-27 02:01:33] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2025-12-27 02:01:33] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2025-12-27 02:01:33] [INFO] Found existing IncidentTypeMapping with ID: 693e326c3c0e41cb3
[2025-12-27 02:01:36] [INFO] Created new Dispatches record with ID: 694f3dfddcd836999
[2025-12-27 02:01:36] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250141579_20251227_020132.XML
[2025-12-27 02:01:36] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250141579_20251227_020132.XML
[2025-12-27 02:06:32] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250141586_20251227_020632.XML
[2025-12-27 02:06:32] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250141586_20251227_020632.XML for user: 68f1466aed072ad4a
[2025-12-27 02:06:32] [INFO] File size: 5837 bytes
[2025-12-27 02:06:33] [INFO] Created FTPFiles record with ID: 694f3f291fa9c9544
[2025-12-27 02:06:33] [INFO] About to extract fields from XML. File size: 5837 bytes
[2025-12-27 02:06:33] [INFO] Number of mappings: 28
[2025-12-27 02:06:33] [INFO] Starting XML parsing. Content length: 5837
[2025-12-27 02:06:33] [INFO] XML parsed successfully. Root element: CADExport
[2025-12-27 02:06:33] [INFO] Processing 28 field mappings
[2025-12-27 02:06:33] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2025-12-27 02:06:33] [INFO] Found 4 elements for 'AgencyCode', using FIRST value only
[2025-12-27 02:06:33] [INFO]   -> Found value: PCFD
[2025-12-27 02:06:33] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2025-12-27 02:06:33] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2025-12-27 02:06:33] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2025-12-27 02:06:33] [INFO]   -> Found value: 2025003178
[2025-12-27 02:06:33] [INFO]   -> Set field 'incidentInternalId' = "2025003178"
[2025-12-27 02:06:33] [INFO]   -> Set field 'dispatchRunNumber' = "2025003178"
[2025-12-27 02:06:33] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2025-12-27 02:06:33] [INFO]   -> Found value: ALLERGIC REACTION/ANAPHYLAXIS
[2025-12-27 02:06:33] [INFO]   -> Set field 'incidentTypeValue1' = "ALLERGIC REACTION\/ANAPHYLAXIS"
[2025-12-27 02:06:33] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2025-12-27 02:06:33] [INFO]   -> Found value: 6650
[2025-12-27 02:06:33] [INFO]   -> Set field 'incidentLocationStreetNumber' = 6650
[2025-12-27 02:06:33] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2025-12-27 02:06:33] [INFO]   -> Found value: TN
[2025-12-27 02:06:33] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2025-12-27 02:06:33] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2025-12-27 02:06:33] [INFO]   -> Found value: 38506
[2025-12-27 02:06:33] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2025-12-27 02:06:33] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2025-12-27 02:06:33] [INFO]   -> Found value: BROTHERTON UNITED METHODIST CHURCH
[2025-12-27 02:06:33] [INFO]   -> Set field 'businessName' = "BROTHERTON UNITED METHODIST CHURCH"
[2025-12-27 02:06:33] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2025-12-27 02:06:33] [INFO]   -> No value found (null or empty)
[2025-12-27 02:06:33] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2025-12-27 02:06:33] [INFO]   -> Found value: 36.18872
[2025-12-27 02:06:33] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1887200000000035515768104232847690582275390625
[2025-12-27 02:06:33] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2025-12-27 02:06:33] [INFO]   -> Found value: -85.38573
[2025-12-27 02:06:33] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.385729999999995243342709727585315704345703125
[2025-12-27 02:06:33] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2025-12-27 02:06:33] [INFO]   -> Found value: 2025-12-26 20:05:43
[2025-12-27 02:06:33] [INFO]   -> Set field 'alarm' = "2025-12-26 20:05:43"
[2025-12-27 02:06:33] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2025-12-27 02:06:33] [INFO]   -> Found value: 2025-12-26 20:06:23
[2025-12-27 02:06:33] [INFO]   -> Set field 'dispatched' = "2025-12-26 20:06:23"
[2025-12-27 02:06:33] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2025-12-27 02:06:33] [INFO]   -> No value found (null or empty)
[2025-12-27 02:06:33] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2025-12-27 02:06:33] [INFO]   -> No value found (null or empty)
[2025-12-27 02:06:33] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2025-12-27 02:06:33] [INFO]   -> No value found (null or empty)
[2025-12-27 02:06:33] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2025-12-27 02:06:33] [INFO]   -> Found value: FALLING WATER RD/BROTHERTON MOUNTAIN RD
[2025-12-27 02:06:33] [INFO]   -> Set field 'incidentLocationCross' = "FALLING WATER RD\/BROTHERTON MOUNTAIN RD"
[2025-12-27 02:06:33] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2025-12-27 02:06:33] [INFO]   -> Found value: PCFR
[2025-12-27 02:06:33] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2025-12-27 02:06:33] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2025-12-27 02:06:33] [INFO]   -> Found value: 2025-12-26 20:06:23
[2025-12-27 02:06:33] [INFO]   -> Set field 'timedispatch' = "2025-12-26 20:06:23"
[2025-12-27 02:06:33] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2025-12-27 02:06:33] [INFO]   -> No value found (null or empty)
[2025-12-27 02:06:33] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2025-12-27 02:06:33] [INFO]   -> No value found (null or empty)
[2025-12-27 02:06:33] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2025-12-27 02:06:33] [INFO]   -> No value found (null or empty)
[2025-12-27 02:06:33] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2025-12-27 02:06:33] [INFO]   -> No value found (null or empty)
[2025-12-27 02:06:33] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2025-12-27 02:06:33] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2025-12-27 02:06:33] [INFO]   -> Found value: 20250141586
[2025-12-27 02:06:33] [INFO]   -> Set field 'policeReportNumber' = "20250141586"
[2025-12-27 02:06:33] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2025-12-27 02:06:33] [INFO]   -> Found value: [EMS] RED NISSAN ALTIMA  CALLER IS LOCATED 1 MILE FROM CHURCH  [12/26/25 20:06:20 BPICHE] [APCO INTE...
[2025-12-27 02:06:33] [INFO]   -> Set field 'dispatchNotes' = "[EMS] RED NISSAN ALTIMA  CALLER IS LOCATED 1 MILE FROM CHURCH  [12\/26\/25 20:06:20 BPICHE] [APCO INTELLICOMM] Case ID: K8kSuz7Kwy Caller Phone: 7046778781 Caller Name: null Incident Location: 6650 BUCK MOUNTAIN RD Incident Location Detail: FALLING WATER RD\/BROTHERTON MOUNTAIN RD Nature: ALLERGIC REACTION\/ANAPHYLAXIS Incident #: 20250141583 CAD Call Taker: BPICHE Chief Complaint: (empty)  [12\/26\/25 20:05:46 PSUTIL01] Event spawned from ALLERGIC REACTION\/ANAPHYLAXIS.  [12\/26\/2025 20:05:43 BPICHE]"
[2025-12-27 02:06:33] [INFO]   -> Set field 'cADLog' = "[EMS] RED NISSAN ALTIMA  CALLER IS LOCATED 1 MILE FROM CHURCH  [12\/26\/25 20:06:20 BPICHE] [APCO INTELLICOMM] Case ID: K8kSuz7Kwy Caller Phone: 7046778781 Caller Name: null Incident Location: 6650 BUCK MOUNTAIN RD Incident Location Detail: FALLING WATER RD\/BROTHERTON MOUNTAIN RD Nature: ALLERGIC REACTION\/ANAPHYLAXIS Incident #: 20250141583 CAD Call Taker: BPICHE Chief Complaint: (empty)  [12\/26\/25 20:05:46 PSUTIL01] Event spawned from ALLERGIC REACTION\/ANAPHYLAXIS.  [12\/26\/2025 20:05:43 BPICHE]"
[2025-12-27 02:06:33] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2025-12-27 02:06:33] [INFO]   -> Found value: COOKEVILLE
[2025-12-27 02:06:33] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2025-12-27 02:06:33] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2025-12-27 02:06:33] [INFO]   -> Found value: BUCK MOUNTAIN
[2025-12-27 02:06:33] [INFO]   -> Set field 'streetName' = "BUCK MOUNTAIN"
[2025-12-27 02:06:33] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2025-12-27 02:06:33] [INFO]   -> Found value: RD
[2025-12-27 02:06:33] [INFO]   -> Set field 'streetType' = "RD"
[2025-12-27 02:06:33] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2025-12-27 02:06:33] [INFO]   -> Found value: 6650 BUCK MOUNTAIN RD
[2025-12-27 02:06:33] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "6650 BUCK MOUNTAIN RD"
[2025-12-27 02:06:33] [INFO] Finished extracting fields. Total fields extracted: 22
[2025-12-27 02:06:33] [INFO] Concatenating street name and type
[2025-12-27 02:06:33] [INFO]   -> Combined street name: BUCK MOUNTAIN RD
[2025-12-27 02:06:33] [INFO] Built locationCoordinates from lat/lng: 36.18872,-85.38573
[2025-12-27 02:06:33] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2025003178","dispatchRunNumber":"2025003178","incidentTypeValue1":"ALLERGIC REACTION\/ANAPHYLAXIS","incidentLocationStreetNumber":6650,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"businessName":"BROTHERTON UNITED METHODIST CHURCH","nERISIncidentLatitude":36.1887200000000035515768104232847690582275390625,"nERISIncidentLongitude":-85.385729999999995243342709727585315704345703125,"alarm":"2025-12-26 20:05:43","dispatched":"2025-12-26 20:06:23","incidentLocationCross":"FALLING WATER RD\/BROTHERTON MOUNTAIN RD","cADVehicleID":"PCFR","timedispatch":"2025-12-26 20:06:23","policeReportNumber":"20250141586","dispatchNotes":"[EMS] RED NISSAN ALTIMA  CALLER IS LOCATED 1 MILE FROM CHURCH  [12\/26\/25 20:06:20 BPICHE] [APCO INTELLICOMM] Case ID: K8kSuz7Kwy Caller Phone: 7046778781 Caller Name: null Incident Location: 6650 BUCK MOUNTAIN RD Incident Location Detail: FALLING WATER RD\/BROTHERTON MOUNTAIN RD Nature: ALLERGIC REACTION\/ANAPHYLAXIS Incident #: 20250141583 CAD Call Taker: BPICHE Chief Complaint: (empty)  [12\/26\/25 20:05:46 PSUTIL01] Event spawned from ALLERGIC REACTION\/ANAPHYLAXIS.  [12\/26\/2025 20:05:43 BPICHE]","cADLog":"[EMS] RED NISSAN ALTIMA  CALLER IS LOCATED 1 MILE FROM CHURCH  [12\/26\/25 20:06:20 BPICHE] [APCO INTELLICOMM] Case ID: K8kSuz7Kwy Caller Phone: 7046778781 Caller Name: null Incident Location: 6650 BUCK MOUNTAIN RD Incident Location Detail: FALLING WATER RD\/BROTHERTON MOUNTAIN RD Nature: ALLERGIC REACTION\/ANAPHYLAXIS Incident #: 20250141583 CAD Call Taker: BPICHE Chief Complaint: (empty)  [12\/26\/25 20:05:46 PSUTIL01] Event spawned from ALLERGIC REACTION\/ANAPHYLAXIS.  [12\/26\/2025 20:05:43 BPICHE]","incidentLocationCity":"COOKEVILLE","streetName":"BUCK MOUNTAIN RD","incidentAddressTextVersionStreet":"6650 BUCK MOUNTAIN RD","locationCoordinates":"36.18872,-85.38573"}
[2025-12-27 02:06:33] [INFO] Number of extracted fields: 22
[2025-12-27 02:06:33] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2025-12-27 02:06:33] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD', Parsed IDs = ["PCFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2025-12-27 02:06:33] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2025-12-27 02:06:33] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2025-12-27 02:06:33] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2025-12-27 02:06:33] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2025-12-27 02:06:33] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2025-12-27 02:06:33] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2025-12-27 02:06:33] [INFO] Found existing IncidentTypeMapping with ID: 693deda26218f0479
[2025-12-27 02:06:36] [INFO] Created new Dispatches record with ID: 694f3f29dac94a633
[2025-12-27 02:06:36] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250141586_20251227_020632.XML
[2025-12-27 02:06:36] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250141586_20251227_020632.XML
[2025-12-27 02:22:36] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_25-31035.xml
[2025-12-27 02:22:36] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_25-31035.xml for user: 68d56363ec1209189
[2025-12-27 02:22:36] [INFO] File size: 2359 bytes
[2025-12-27 02:22:36] [INFO] Created FTPFiles record with ID: 694f42ecc34abfe21
[2025-12-27 02:22:36] [INFO] About to extract fields from XML. File size: 2359 bytes
[2025-12-27 02:22:36] [INFO] Number of mappings: 21
[2025-12-27 02:22:36] [INFO] Starting XML parsing. Content length: 2359
[2025-12-27 02:22:36] [INFO] XML parsed successfully. Root element: Incident
[2025-12-27 02:22:36] [INFO] Processing 21 field mappings
[2025-12-27 02:22:36] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2025-12-27 02:22:36] [INFO]   -> Found value: 25-31035
[2025-12-27 02:22:36] [INFO]   -> Set field 'dispatchRunNumber' = "25-31035"
[2025-12-27 02:22:36] [INFO]   -> Set field 'cADNumber' = "25-31035"
[2025-12-27 02:22:36] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2025-12-27 02:22:36] [INFO]   -> Found value: 6693
[2025-12-27 02:22:36] [INFO]   -> Set field 'incidentLocationStreetNumber' = 6693
[2025-12-27 02:22:36] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2025-12-27 02:22:36] [INFO]   -> Found value: STATE HIGHWAY Z
[2025-12-27 02:22:36] [INFO]   -> Set field 'streetName' = "STATE HIGHWAY Z"
[2025-12-27 02:22:36] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2025-12-27 02:22:36] [INFO]   -> No value found (null or empty)
[2025-12-27 02:22:36] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2025-12-27 02:22:36] [INFO]   -> Found value: SIKESTON
[2025-12-27 02:22:36] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2025-12-27 02:22:36] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2025-12-27 02:22:36] [INFO]   -> No value found (null or empty)
[2025-12-27 02:22:36] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2025-12-27 02:22:36] [INFO]   -> No value found (null or empty)
[2025-12-27 02:22:36] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2025-12-27 02:22:36] [INFO]   -> No value found (null or empty)
[2025-12-27 02:22:36] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2025-12-27 02:22:36] [INFO]   -> Found value: 0
[2025-12-27 02:22:36] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2025-12-27 02:22:36] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2025-12-27 02:22:36] [INFO]   -> Found value: 0
[2025-12-27 02:22:36] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2025-12-27 02:22:36] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2025-12-27 02:22:36] [INFO]   -> Found value: FIRE-ALARM MECH
[2025-12-27 02:22:36] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE-ALARM MECH"
[2025-12-27 02:22:36] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2025-12-27 02:22:36] [INFO]   -> Found value: 12-26-2025 20:10:13|FIRE ALARM
HALLWAY SMOKE DECECTOR 
MADE CONTACT WITH KEYHOLDER MICHEAL HARTRVE  ...
[2025-12-27 02:22:36] [INFO]   -> Set field 'dispatchNotes' = "12-26-2025 20:10:13|FIRE ALARM\nHALLWAY SMOKE DECECTOR \nMADE CONTACT WITH KEYHOLDER MICHEAL HARTRVE  RESPONSING ETA 5 MINS WILL BE IN A WHI DODGE PICKUP\nHAS A DOG AND CAT INSIDE THE HOUSE 12-26-2025 20:18:48|1701 RESPONDING 12-26-2025 20:20:39|KEYHOLDER IS THERE NO SMOKE OR FIRE LOCATED"
[2025-12-27 02:22:36] [INFO]   -> Set field 'cADLog' = "12-26-2025 20:10:13|FIRE ALARM\nHALLWAY SMOKE DECECTOR \nMADE CONTACT WITH KEYHOLDER MICHEAL HARTRVE  RESPONSING ETA 5 MINS WILL BE IN A WHI DODGE PICKUP\nHAS A DOG AND CAT INSIDE THE HOUSE 12-26-2025 20:18:48|1701 RESPONDING 12-26-2025 20:20:39|KEYHOLDER IS THERE NO SMOKE OR FIRE LOCATED"
[2025-12-27 02:22:36] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2025-12-27 02:22:36] [INFO]   -> Found value: 12-26-2025T20:17:13
[2025-12-27 02:22:36] [INFO] Reformatted DD-MM-YYYY date '12-26-2025' (day=12, month=26) to ISO: 2025-26-12T20:17:13
[2025-12-27 02:22:36] [ERROR] Error formatting datetime '2025-26-12T20:17:13': Failed to parse time string (2025-26-12T20:17:13) at position 6 (6): Unexpected character
[2025-12-27 02:22:36] [INFO]   -> Set field 'alarm' = null
[2025-12-27 02:22:36] [INFO] Reformatted DD-MM-YYYY date '12-26-2025' (day=12, month=26) to ISO: 2025-26-12T20:17:13
[2025-12-27 02:22:36] [ERROR] Error formatting datetime '2025-26-12T20:17:13': Failed to parse time string (2025-26-12T20:17:13) at position 6 (6): Unexpected character
[2025-12-27 02:22:36] [INFO]   -> Set field 'dispatched' = null
[2025-12-27 02:22:36] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2025-12-27 02:22:36] [INFO]   -> No value found (null or empty)
[2025-12-27 02:22:36] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2025-12-27 02:22:36] [INFO]   -> No value found (null or empty)
[2025-12-27 02:22:36] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2025-12-27 02:22:36] [INFO]   -> Found value: 1701
[2025-12-27 02:22:36] [INFO]   -> Set field 'cADVehicleID' = 1701
[2025-12-27 02:22:36] [INFO]   -> Set field 'name' = "1701"
[2025-12-27 02:22:36] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2025-12-27 02:22:36] [INFO]   -> Found value: 12-26-2025T20:18:52
[2025-12-27 02:22:36] [INFO] Reformatted DD-MM-YYYY date '12-26-2025' (day=12, month=26) to ISO: 2025-26-12T20:18:52
[2025-12-27 02:22:36] [ERROR] Error formatting datetime '2025-26-12T20:18:52': Failed to parse time string (2025-26-12T20:18:52) at position 6 (6): Unexpected character
[2025-12-27 02:22:36] [INFO]   -> Set field 'timeenroutetoscene' = null
[2025-12-27 02:22:36] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2025-12-27 02:22:36] [INFO]   -> No value found (null or empty)
[2025-12-27 02:22:36] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2025-12-27 02:22:36] [INFO]   -> Found value: 12-26-2025T20:22:19
[2025-12-27 02:22:36] [INFO] Reformatted DD-MM-YYYY date '12-26-2025' (day=12, month=26) to ISO: 2025-26-12T20:22:19
[2025-12-27 02:22:36] [ERROR] Error formatting datetime '2025-26-12T20:22:19': Failed to parse time string (2025-26-12T20:22:19) at position 6 (6): Unexpected character
[2025-12-27 02:22:36] [INFO]   -> Set field 'timeunitclear' = null
[2025-12-27 02:22:36] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2025-12-27 02:22:36] [INFO]   -> Found value: 12-26-2025T20:18:50
[2025-12-27 02:22:36] [INFO] Reformatted DD-MM-YYYY date '12-26-2025' (day=12, month=26) to ISO: 2025-26-12T20:18:50
[2025-12-27 02:22:36] [ERROR] Error formatting datetime '2025-26-12T20:18:50': Failed to parse time string (2025-26-12T20:18:50) at position 6 (6): Unexpected character
[2025-12-27 02:22:36] [INFO]   -> Set field 'timedispatch' = null
[2025-12-27 02:22:36] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2025-12-27 02:22:36] [INFO]   -> Found value: SCRFD
[2025-12-27 02:22:36] [INFO]   -> Set field 'cADAgencyIdentifier' = "SCRFD"
[2025-12-27 02:22:36] [INFO] Finished extracting fields. Total fields extracted: 18
[2025-12-27 02:22:36] [INFO] Built locationCoordinates from lat/lng: 0,0
[2025-12-27 02:22:36] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"25-31035","cADNumber":"25-31035","incidentLocationStreetNumber":6693,"streetName":"STATE HIGHWAY Z","incidentLocationCity":"SIKESTON","nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"FIRE-ALARM MECH","dispatchNotes":"12-26-2025 20:10:13|FIRE ALARM\nHALLWAY SMOKE DECECTOR \nMADE CONTACT WITH KEYHOLDER MICHEAL HARTRVE  RESPONSING ETA 5 MINS WILL BE IN A WHI DODGE PICKUP\nHAS A DOG AND CAT INSIDE THE HOUSE 12-26-2025 20:18:48|1701 RESPONDING 12-26-2025 20:20:39|KEYHOLDER IS THERE NO SMOKE OR FIRE LOCATED","cADLog":"12-26-2025 20:10:13|FIRE ALARM\nHALLWAY SMOKE DECECTOR \nMADE CONTACT WITH KEYHOLDER MICHEAL HARTRVE  RESPONSING ETA 5 MINS WILL BE IN A WHI DODGE PICKUP\nHAS A DOG AND CAT INSIDE THE HOUSE 12-26-2025 20:18:48|1701 RESPONDING 12-26-2025 20:20:39|KEYHOLDER IS THERE NO SMOKE OR FIRE LOCATED","alarm":null,"dispatched":null,"cADVehicleID":1701,"name":"1701","timeenroutetoscene":null,"timeunitclear":null,"timedispatch":null,"cADAgencyIdentifier":"SCRFD","locationCoordinates":"0,0"}
[2025-12-27 02:22:36] [INFO] Number of extracted fields: 19
[2025-12-27 02:22:36] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SCRFD'
[2025-12-27 02:22:36] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SCRFD', Parsed IDs = ["SCRFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 2
[2025-12-27 02:22:36] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SCRFD"]
[2025-12-27 02:22:36] [INFO] Attempting SAASClient lookup for AgencyCode 'SCRFD' (index 0) within mailbox's assigned agencies
[2025-12-27 02:22:36] [INFO] SUCCESS: Routed to agency 'Scott County Rural Fire Protection District' (ID: 6643bdb30659f00d8) at INDEX 0 based on AgencyCode 'SCRFD'
[2025-12-27 02:22:37] [INFO] Fetched 6 stations from Stations module for agency 'Scott County Rural Fire Protection District': ["690279491710f7b8e","6644dbe7e17f1c3de","6644dbb3886c9768f","6644d0c9be0e4ec53","6644e2fe1572c01ae","69027d47e7c4fc65b"]
[2025-12-27 02:22:37] [INFO] Final routing: saasclientId = 6643bdb30659f00d8, dispatchStationsIds = ["690279491710f7b8e","6644dbe7e17f1c3de","6644dbb3886c9768f","6644d0c9be0e4ec53","6644e2fe1572c01ae","69027d47e7c4fc65b"], matchedAgencyIndex = 0
[2025-12-27 02:22:37] [INFO] Updated FTPFiles record saasclientId to routed agency: 6643bdb30659f00d8
[2025-12-27 02:22:37] [INFO] Created new IncidentTypeMapping Data: {"cADIncidentType":"FIRE-ALARM MECH","saasclientId":"6643bdb30659f00d8","name":"FIRE-ALARM MECH"}
[2025-12-27 02:22:37] [INFO] Created new IncidentTypeMapping with ID: 694f42ed86e55e637
[2025-12-27 02:22:37] [INFO] Found existing Dispatch with cADNumber '25-31035', ID: 694f41d5336195f8d - will update instead of create
[2025-12-27 02:22:37] [INFO] Updated existing Dispatches record with ID: 694f41d5336195f8d
[2025-12-27 02:22:37] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_25-31035.xml
[2025-12-27 02:22:37] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_25-31035.xml
[2025-12-27 02:34:45] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_25-31035.xml
[2025-12-27 02:34:45] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_25-31035.xml for user: 68d56363ec1209189
[2025-12-27 02:34:45] [INFO] File size: 2667 bytes
[2025-12-27 02:34:46] [INFO] Created FTPFiles record with ID: 694f45c63f9dea1f4
[2025-12-27 02:34:46] [INFO] About to extract fields from XML. File size: 2667 bytes
[2025-12-27 02:34:46] [INFO] Number of mappings: 21
[2025-12-27 02:34:46] [INFO] Starting XML parsing. Content length: 2667
[2025-12-27 02:34:46] [INFO] XML parsed successfully. Root element: Incident
[2025-12-27 02:34:46] [INFO] Processing 21 field mappings
[2025-12-27 02:34:46] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2025-12-27 02:34:46] [INFO]   -> Found value: 25-31035
[2025-12-27 02:34:46] [INFO]   -> Set field 'dispatchRunNumber' = "25-31035"
[2025-12-27 02:34:46] [INFO]   -> Set field 'cADNumber' = "25-31035"
[2025-12-27 02:34:46] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2025-12-27 02:34:46] [INFO]   -> Found value: 6693
[2025-12-27 02:34:46] [INFO]   -> Set field 'incidentLocationStreetNumber' = 6693
[2025-12-27 02:34:46] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2025-12-27 02:34:46] [INFO]   -> Found value: STATE HIGHWAY Z
[2025-12-27 02:34:46] [INFO]   -> Set field 'streetName' = "STATE HIGHWAY Z"
[2025-12-27 02:34:46] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2025-12-27 02:34:46] [INFO]   -> No value found (null or empty)
[2025-12-27 02:34:46] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2025-12-27 02:34:46] [INFO]   -> Found value: SIKESTON
[2025-12-27 02:34:46] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2025-12-27 02:34:46] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2025-12-27 02:34:46] [INFO]   -> No value found (null or empty)
[2025-12-27 02:34:46] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2025-12-27 02:34:46] [INFO]   -> No value found (null or empty)
[2025-12-27 02:34:46] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2025-12-27 02:34:46] [INFO]   -> No value found (null or empty)
[2025-12-27 02:34:46] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2025-12-27 02:34:46] [INFO]   -> Found value: 0
[2025-12-27 02:34:46] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2025-12-27 02:34:46] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2025-12-27 02:34:46] [INFO]   -> Found value: 0
[2025-12-27 02:34:46] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2025-12-27 02:34:46] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2025-12-27 02:34:46] [INFO]   -> Found value: FIRE-ALARM MECH
[2025-12-27 02:34:46] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE-ALARM MECH"
[2025-12-27 02:34:46] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2025-12-27 02:34:46] [INFO]   -> Found value: 12-26-2025 20:10:13|FIRE ALARM
HALLWAY SMOKE DECECTOR 
MADE CONTACT WITH KEYHOLDER MICHEAL HARTRVE  ...
[2025-12-27 02:34:46] [INFO]   -> Set field 'dispatchNotes' = "12-26-2025 20:10:13|FIRE ALARM\nHALLWAY SMOKE DECECTOR \nMADE CONTACT WITH KEYHOLDER MICHEAL HARTRVE  RESPONSING ETA 5 MINS WILL BE IN A WHI DODGE PICKUP\nHAS A DOG AND CAT INSIDE THE HOUSE 12-26-2025 20:18:48|1701 RESPONDING 12-26-2025 20:20:39|KEYHOLDER IS THERE NO SMOKE OR FIRE LOCATED 12-26-2025 20:22:24|Disposition - Scott County Rural:  RPT 12-26-2025 20:23:12|1701 ADVISED WAS ON THE PHONE WITH HOMEOWNER 12-26-2025 20:23:20|HAVING TROUBLE GETTING ALARM RESET 12-26-2025 20:23:57|1701 STILL EN ROUTE TO ASSIST IN RESETING THE PANEL"
[2025-12-27 02:34:46] [INFO]   -> Set field 'cADLog' = "12-26-2025 20:10:13|FIRE ALARM\nHALLWAY SMOKE DECECTOR \nMADE CONTACT WITH KEYHOLDER MICHEAL HARTRVE  RESPONSING ETA 5 MINS WILL BE IN A WHI DODGE PICKUP\nHAS A DOG AND CAT INSIDE THE HOUSE 12-26-2025 20:18:48|1701 RESPONDING 12-26-2025 20:20:39|KEYHOLDER IS THERE NO SMOKE OR FIRE LOCATED 12-26-2025 20:22:24|Disposition - Scott County Rural:  RPT 12-26-2025 20:23:12|1701 ADVISED WAS ON THE PHONE WITH HOMEOWNER 12-26-2025 20:23:20|HAVING TROUBLE GETTING ALARM RESET 12-26-2025 20:23:57|1701 STILL EN ROUTE TO ASSIST IN RESETING THE PANEL"
[2025-12-27 02:34:46] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2025-12-27 02:34:46] [INFO]   -> Found value: 12-26-2025T20:17:13
[2025-12-27 02:34:46] [INFO] Reformatted DD-MM-YYYY date '12-26-2025' (day=12, month=26) to ISO: 2025-26-12T20:17:13
[2025-12-27 02:34:46] [ERROR] Error formatting datetime '2025-26-12T20:17:13': Failed to parse time string (2025-26-12T20:17:13) at position 6 (6): Unexpected character
[2025-12-27 02:34:46] [INFO]   -> Set field 'alarm' = null
[2025-12-27 02:34:46] [INFO] Reformatted DD-MM-YYYY date '12-26-2025' (day=12, month=26) to ISO: 2025-26-12T20:17:13
[2025-12-27 02:34:46] [ERROR] Error formatting datetime '2025-26-12T20:17:13': Failed to parse time string (2025-26-12T20:17:13) at position 6 (6): Unexpected character
[2025-12-27 02:34:46] [INFO]   -> Set field 'dispatched' = null
[2025-12-27 02:34:46] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2025-12-27 02:34:46] [INFO]   -> Found value: 12-26-2025T20:23:29
[2025-12-27 02:34:46] [INFO] Reformatted DD-MM-YYYY date '12-26-2025' (day=12, month=26) to ISO: 2025-26-12T20:23:29
[2025-12-27 02:34:46] [ERROR] Error formatting datetime '2025-26-12T20:23:29': Failed to parse time string (2025-26-12T20:23:29) at position 6 (6): Unexpected character
[2025-12-27 02:34:46] [INFO]   -> Set field 'onScene' = null
[2025-12-27 02:34:46] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2025-12-27 02:34:46] [INFO]   -> Found value: 12-26-2025T20:33:59
[2025-12-27 02:34:46] [INFO] Reformatted DD-MM-YYYY date '12-26-2025' (day=12, month=26) to ISO: 2025-26-12T20:33:59
[2025-12-27 02:34:46] [ERROR] Error formatting datetime '2025-26-12T20:33:59': Failed to parse time string (2025-26-12T20:33:59) at position 6 (6): Unexpected character
[2025-12-27 02:34:46] [INFO]   -> Set field 'cleared' = null
[2025-12-27 02:34:46] [INFO] Reformatted DD-MM-YYYY date '12-26-2025' (day=12, month=26) to ISO: 2025-26-12T20:33:59
[2025-12-27 02:34:46] [ERROR] Error formatting datetime '2025-26-12T20:33:59': Failed to parse time string (2025-26-12T20:33:59) at position 6 (6): Unexpected character
[2025-12-27 02:34:46] [INFO]   -> Set field 'inService' = null
[2025-12-27 02:34:46] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2025-12-27 02:34:46] [INFO]   -> Found value: 1701
[2025-12-27 02:34:46] [INFO]   -> Set field 'cADVehicleID' = 1701
[2025-12-27 02:34:46] [INFO]   -> Set field 'name' = "1701"
[2025-12-27 02:34:46] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2025-12-27 02:34:46] [INFO]   -> Found value: 12-26-2025T20:18:52
[2025-12-27 02:34:46] [INFO] Reformatted DD-MM-YYYY date '12-26-2025' (day=12, month=26) to ISO: 2025-26-12T20:18:52
[2025-12-27 02:34:46] [ERROR] Error formatting datetime '2025-26-12T20:18:52': Failed to parse time string (2025-26-12T20:18:52) at position 6 (6): Unexpected character
[2025-12-27 02:34:46] [INFO]   -> Set field 'timeenroutetoscene' = null
[2025-12-27 02:34:46] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2025-12-27 02:34:46] [INFO]   -> Found value: 12-26-2025T20:23:29
[2025-12-27 02:34:46] [INFO] Reformatted DD-MM-YYYY date '12-26-2025' (day=12, month=26) to ISO: 2025-26-12T20:23:29
[2025-12-27 02:34:46] [ERROR] Error formatting datetime '2025-26-12T20:23:29': Failed to parse time string (2025-26-12T20:23:29) at position 6 (6): Unexpected character
[2025-12-27 02:34:46] [INFO]   -> Set field 'timeonscene' = null
[2025-12-27 02:34:46] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2025-12-27 02:34:46] [INFO]   -> Found value: 12-26-2025T20:33:59
[2025-12-27 02:34:46] [INFO] Reformatted DD-MM-YYYY date '12-26-2025' (day=12, month=26) to ISO: 2025-26-12T20:33:59
[2025-12-27 02:34:46] [ERROR] Error formatting datetime '2025-26-12T20:33:59': Failed to parse time string (2025-26-12T20:33:59) at position 6 (6): Unexpected character
[2025-12-27 02:34:46] [INFO]   -> Set field 'timeunitclear' = null
[2025-12-27 02:34:46] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2025-12-27 02:34:46] [INFO]   -> Found value: 12-26-2025T20:18:50
[2025-12-27 02:34:46] [INFO] Reformatted DD-MM-YYYY date '12-26-2025' (day=12, month=26) to ISO: 2025-26-12T20:18:50
[2025-12-27 02:34:46] [ERROR] Error formatting datetime '2025-26-12T20:18:50': Failed to parse time string (2025-26-12T20:18:50) at position 6 (6): Unexpected character
[2025-12-27 02:34:46] [INFO]   -> Set field 'timedispatch' = null
[2025-12-27 02:34:46] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2025-12-27 02:34:46] [INFO]   -> Found value: SCRFD
[2025-12-27 02:34:46] [INFO]   -> Set field 'cADAgencyIdentifier' = "SCRFD"
[2025-12-27 02:34:46] [INFO] Finished extracting fields. Total fields extracted: 22
[2025-12-27 02:34:46] [INFO] Built locationCoordinates from lat/lng: 0,0
[2025-12-27 02:34:46] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"25-31035","cADNumber":"25-31035","incidentLocationStreetNumber":6693,"streetName":"STATE HIGHWAY Z","incidentLocationCity":"SIKESTON","nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"FIRE-ALARM MECH","dispatchNotes":"12-26-2025 20:10:13|FIRE ALARM\nHALLWAY SMOKE DECECTOR \nMADE CONTACT WITH KEYHOLDER MICHEAL HARTRVE  RESPONSING ETA 5 MINS WILL BE IN A WHI DODGE PICKUP\nHAS A DOG AND CAT INSIDE THE HOUSE 12-26-2025 20:18:48|1701 RESPONDING 12-26-2025 20:20:39|KEYHOLDER IS THERE NO SMOKE OR FIRE LOCATED 12-26-2025 20:22:24|Disposition - Scott County Rural:  RPT 12-26-2025 20:23:12|1701 ADVISED WAS ON THE PHONE WITH HOMEOWNER 12-26-2025 20:23:20|HAVING TROUBLE GETTING ALARM RESET 12-26-2025 20:23:57|1701 STILL EN ROUTE TO ASSIST IN RESETING THE PANEL","cADLog":"12-26-2025 20:10:13|FIRE ALARM\nHALLWAY SMOKE DECECTOR \nMADE CONTACT WITH KEYHOLDER MICHEAL HARTRVE  RESPONSING ETA 5 MINS WILL BE IN A WHI DODGE PICKUP\nHAS A DOG AND CAT INSIDE THE HOUSE 12-26-2025 20:18:48|1701 RESPONDING 12-26-2025 20:20:39|KEYHOLDER IS THERE NO SMOKE OR FIRE LOCATED 12-26-2025 20:22:24|Disposition - Scott County Rural:  RPT 12-26-2025 20:23:12|1701 ADVISED WAS ON THE PHONE WITH HOMEOWNER 12-26-2025 20:23:20|HAVING TROUBLE GETTING ALARM RESET 12-26-2025 20:23:57|1701 STILL EN ROUTE TO ASSIST IN RESETING THE PANEL","alarm":null,"dispatched":null,"onScene":null,"cleared":null,"inService":null,"cADVehicleID":1701,"name":"1701","timeenroutetoscene":null,"timeonscene":null,"timeunitclear":null,"timedispatch":null,"cADAgencyIdentifier":"SCRFD","locationCoordinates":"0,0"}
[2025-12-27 02:34:46] [INFO] Number of extracted fields: 23
[2025-12-27 02:34:46] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SCRFD'
[2025-12-27 02:34:46] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SCRFD', Parsed IDs = ["SCRFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 2
[2025-12-27 02:34:46] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SCRFD"]
[2025-12-27 02:34:46] [INFO] Attempting SAASClient lookup for AgencyCode 'SCRFD' (index 0) within mailbox's assigned agencies
[2025-12-27 02:34:46] [INFO] SUCCESS: Routed to agency 'Scott County Rural Fire Protection District' (ID: 6643bdb30659f00d8) at INDEX 0 based on AgencyCode 'SCRFD'
[2025-12-27 02:34:46] [INFO] Fetched 6 stations from Stations module for agency 'Scott County Rural Fire Protection District': ["690279491710f7b8e","6644dbe7e17f1c3de","6644dbb3886c9768f","6644d0c9be0e4ec53","6644e2fe1572c01ae","69027d47e7c4fc65b"]
[2025-12-27 02:34:46] [INFO] Final routing: saasclientId = 6643bdb30659f00d8, dispatchStationsIds = ["690279491710f7b8e","6644dbe7e17f1c3de","6644dbb3886c9768f","6644d0c9be0e4ec53","6644e2fe1572c01ae","69027d47e7c4fc65b"], matchedAgencyIndex = 0
[2025-12-27 02:34:46] [INFO] Updated FTPFiles record saasclientId to routed agency: 6643bdb30659f00d8
[2025-12-27 02:34:46] [INFO] Found existing IncidentTypeMapping with ID: 694f42ed86e55e637
[2025-12-27 02:34:47] [INFO] Found existing Dispatch with cADNumber '25-31035', ID: 694f430d951a6183e - will update instead of create
[2025-12-27 02:34:47] [INFO] Updated existing Dispatches record with ID: 694f430d951a6183e
[2025-12-27 02:34:47] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_25-31035.xml
[2025-12-27 02:34:47] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_25-31035.xml
[2025-12-27 05:23:59] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-31076.xml
[2025-12-27 05:23:59] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-31076.xml for user: 68d56363ec1209189
[2025-12-27 05:23:59] [INFO] File size: 1800 bytes
[2025-12-27 05:23:59] [INFO] Created FTPFiles record with ID: 694f6d6fc07a08aef
[2025-12-27 05:23:59] [INFO] About to extract fields from XML. File size: 1800 bytes
[2025-12-27 05:23:59] [INFO] Number of mappings: 21
[2025-12-27 05:23:59] [INFO] Starting XML parsing. Content length: 1800
[2025-12-27 05:23:59] [INFO] XML parsed successfully. Root element: Incident
[2025-12-27 05:23:59] [INFO] Processing 21 field mappings
[2025-12-27 05:23:59] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2025-12-27 05:23:59] [INFO]   -> Found value: 25-31076
[2025-12-27 05:23:59] [INFO]   -> Set field 'dispatchRunNumber' = "25-31076"
[2025-12-27 05:23:59] [INFO]   -> Set field 'cADNumber' = "25-31076"
[2025-12-27 05:23:59] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2025-12-27 05:23:59] [INFO]   -> Found value: 640
[2025-12-27 05:23:59] [INFO]   -> Set field 'incidentLocationStreetNumber' = 640
[2025-12-27 05:23:59] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2025-12-27 05:23:59] [INFO]   -> Found value: GEN GEORGE E. DAY PKWY
[2025-12-27 05:23:59] [INFO]   -> Set field 'streetName' = "GEN GEORGE E. DAY PKWY"
[2025-12-27 05:23:59] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2025-12-27 05:23:59] [INFO]   -> No value found (null or empty)
[2025-12-27 05:23:59] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2025-12-27 05:23:59] [INFO]   -> Found value: SIKESTON
[2025-12-27 05:23:59] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2025-12-27 05:23:59] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2025-12-27 05:23:59] [INFO]   -> Found value: DELTA SOUTH NURSING HOME
[2025-12-27 05:23:59] [INFO]   -> Set field 'businessName' = "DELTA SOUTH NURSING HOME"
[2025-12-27 05:23:59] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2025-12-27 05:23:59] [INFO]   -> Found value: MO
[2025-12-27 05:23:59] [INFO]   -> Set field 'incidentLocationStateName' = "MO"
[2025-12-27 05:23:59] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2025-12-27 05:23:59] [INFO]   -> Found value: 63801
[2025-12-27 05:23:59] [INFO]   -> Set field 'nERISIncidentPostalCode' = 63801
[2025-12-27 05:23:59] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2025-12-27 05:23:59] [INFO]   -> Found value: 0
[2025-12-27 05:23:59] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2025-12-27 05:23:59] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2025-12-27 05:23:59] [INFO]   -> Found value: 0
[2025-12-27 05:23:59] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2025-12-27 05:23:59] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2025-12-27 05:23:59] [INFO]   -> Found value: FIRE-ALARM MECH
[2025-12-27 05:23:59] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE-ALARM MECH"
[2025-12-27 05:23:59] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2025-12-27 05:23:59] [INFO]   -> Found value: 12-26-2025 23:18:30|ROOM 418 
NO KEYHOLDER 
 12-26-2025 23:21:03|AMANDA FROM DELTA SOUTH CONTACTED A...
[2025-12-27 05:23:59] [INFO]   -> Set field 'dispatchNotes' = "12-26-2025 23:18:30|ROOM 418 \nNO KEYHOLDER \n 12-26-2025 23:21:03|AMANDA FROM DELTA SOUTH CONTACTED AND ADVISED THEY CANNOT CANCEL WITH PASS CODE 12-26-2025 23:21:07|THERE IS NO FIRE 12-26-2025 23:22:01|UNITS CAN CANCEL"
[2025-12-27 05:23:59] [INFO]   -> Set field 'cADLog' = "12-26-2025 23:18:30|ROOM 418 \nNO KEYHOLDER \n 12-26-2025 23:21:03|AMANDA FROM DELTA SOUTH CONTACTED AND ADVISED THEY CANNOT CANCEL WITH PASS CODE 12-26-2025 23:21:07|THERE IS NO FIRE 12-26-2025 23:22:01|UNITS CAN CANCEL"
[2025-12-27 05:23:59] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2025-12-27 05:23:59] [INFO]   -> Found value: 12-26-2025T23:19:44
[2025-12-27 05:23:59] [INFO] Reformatted DD-MM-YYYY date '12-26-2025' (day=12, month=26) to ISO: 2025-26-12T23:19:44
[2025-12-27 05:23:59] [ERROR] Error formatting datetime '2025-26-12T23:19:44': Failed to parse time string (2025-26-12T23:19:44) at position 6 (6): Unexpected character
[2025-12-27 05:23:59] [INFO]   -> Set field 'alarm' = null
[2025-12-27 05:23:59] [INFO] Reformatted DD-MM-YYYY date '12-26-2025' (day=12, month=26) to ISO: 2025-26-12T23:19:44
[2025-12-27 05:23:59] [ERROR] Error formatting datetime '2025-26-12T23:19:44': Failed to parse time string (2025-26-12T23:19:44) at position 6 (6): Unexpected character
[2025-12-27 05:23:59] [INFO]   -> Set field 'dispatched' = null
[2025-12-27 05:23:59] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2025-12-27 05:23:59] [INFO]   -> No value found (null or empty)
[2025-12-27 05:23:59] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2025-12-27 05:23:59] [INFO]   -> No value found (null or empty)
[2025-12-27 05:23:59] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2025-12-27 05:23:59] [INFO]   -> Found value: SIK STILL
[2025-12-27 05:23:59] [INFO]   -> Set field 'cADVehicleID' = "SIK STILL"
[2025-12-27 05:23:59] [INFO]   -> Set field 'name' = "SIK STILL"
[2025-12-27 05:23:59] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2025-12-27 05:23:59] [INFO]   -> No value found (null or empty)
[2025-12-27 05:23:59] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2025-12-27 05:23:59] [INFO]   -> No value found (null or empty)
[2025-12-27 05:23:59] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2025-12-27 05:23:59] [INFO]   -> Found value: 12-26-2025T23:22:10
[2025-12-27 05:23:59] [INFO] Reformatted DD-MM-YYYY date '12-26-2025' (day=12, month=26) to ISO: 2025-26-12T23:22:10
[2025-12-27 05:23:59] [ERROR] Error formatting datetime '2025-26-12T23:22:10': Failed to parse time string (2025-26-12T23:22:10) at position 6 (6): Unexpected character
[2025-12-27 05:23:59] [INFO]   -> Set field 'timeunitclear' = null
[2025-12-27 05:23:59] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2025-12-27 05:23:59] [INFO]   -> Found value: 12-26-2025T23:19:52
[2025-12-27 05:23:59] [INFO] Reformatted DD-MM-YYYY date '12-26-2025' (day=12, month=26) to ISO: 2025-26-12T23:19:52
[2025-12-27 05:23:59] [ERROR] Error formatting datetime '2025-26-12T23:19:52': Failed to parse time string (2025-26-12T23:19:52) at position 6 (6): Unexpected character
[2025-12-27 05:23:59] [INFO]   -> Set field 'timedispatch' = null
[2025-12-27 05:23:59] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2025-12-27 05:23:59] [INFO]   -> Found value: SDPSFD
[2025-12-27 05:23:59] [INFO]   -> Set field 'cADAgencyIdentifier' = "SDPSFD"
[2025-12-27 05:23:59] [INFO] Finished extracting fields. Total fields extracted: 20
[2025-12-27 05:23:59] [INFO] Built locationCoordinates from lat/lng: 0,0
[2025-12-27 05:23:59] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"25-31076","cADNumber":"25-31076","incidentLocationStreetNumber":640,"streetName":"GEN GEORGE E. DAY PKWY","incidentLocationCity":"SIKESTON","businessName":"DELTA SOUTH NURSING HOME","incidentLocationStateName":"MO","nERISIncidentPostalCode":63801,"nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"FIRE-ALARM MECH","dispatchNotes":"12-26-2025 23:18:30|ROOM 418 \nNO KEYHOLDER \n 12-26-2025 23:21:03|AMANDA FROM DELTA SOUTH CONTACTED AND ADVISED THEY CANNOT CANCEL WITH PASS CODE 12-26-2025 23:21:07|THERE IS NO FIRE 12-26-2025 23:22:01|UNITS CAN CANCEL","cADLog":"12-26-2025 23:18:30|ROOM 418 \nNO KEYHOLDER \n 12-26-2025 23:21:03|AMANDA FROM DELTA SOUTH CONTACTED AND ADVISED THEY CANNOT CANCEL WITH PASS CODE 12-26-2025 23:21:07|THERE IS NO FIRE 12-26-2025 23:22:01|UNITS CAN CANCEL","alarm":null,"dispatched":null,"cADVehicleID":"SIK STILL","name":"SIK STILL","timeunitclear":null,"timedispatch":null,"cADAgencyIdentifier":"SDPSFD","locationCoordinates":"0,0"}
[2025-12-27 05:23:59] [INFO] Number of extracted fields: 21
[2025-12-27 05:23:59] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SDPSFD'
[2025-12-27 05:23:59] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SDPSFD', Parsed IDs = ["SDPSFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 2
[2025-12-27 05:23:59] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SDPSFD"]
[2025-12-27 05:23:59] [INFO] Attempting SAASClient lookup for AgencyCode 'SDPSFD' (index 0) within mailbox's assigned agencies
[2025-12-27 05:23:59] [INFO] SUCCESS: Routed to agency 'Sikeston DPS' (ID: 6772cab7157b2ebde) at INDEX 0 based on AgencyCode 'SDPSFD'
[2025-12-27 05:24:00] [INFO] Fetched 4 stations from Stations module for agency 'Sikeston DPS': ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"]
[2025-12-27 05:24:00] [INFO] Final routing: saasclientId = 6772cab7157b2ebde, dispatchStationsIds = ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"], matchedAgencyIndex = 0
[2025-12-27 05:24:00] [INFO] Multi-agency routing matched mailbox default agency: 6772cab7157b2ebde (no update needed)
[2025-12-27 05:24:00] [INFO] Found existing IncidentTypeMapping with ID: 68e4158e872e5ae13
[2025-12-27 05:24:01] [INFO] Created new Dispatches record with ID: 694f6d7085caa545e
[2025-12-27 05:24:01] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-31076.xml
[2025-12-27 05:24:01] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-31076.xml
[2025-12-27 09:59:42] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250141674_20251227_095942.XML
[2025-12-27 09:59:42] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250141674_20251227_095942.XML for user: 68f1466aed072ad4a
[2025-12-27 09:59:42] [INFO] File size: 5231 bytes
[2025-12-27 09:59:42] [INFO] Created FTPFiles record with ID: 694fae0ed9be44a86
[2025-12-27 09:59:42] [INFO] About to extract fields from XML. File size: 5231 bytes
[2025-12-27 09:59:42] [INFO] Number of mappings: 28
[2025-12-27 09:59:42] [INFO] Starting XML parsing. Content length: 5231
[2025-12-27 09:59:42] [INFO] XML parsed successfully. Root element: CADExport
[2025-12-27 09:59:42] [INFO] Processing 28 field mappings
[2025-12-27 09:59:42] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2025-12-27 09:59:42] [INFO] Found 2 elements for 'AgencyCode', using FIRST value only
[2025-12-27 09:59:42] [INFO]   -> Found value: PCFD
[2025-12-27 09:59:42] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2025-12-27 09:59:42] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2025-12-27 09:59:42] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2025-12-27 09:59:42] [INFO]   -> Found value: 2025003179
[2025-12-27 09:59:42] [INFO]   -> Set field 'incidentInternalId' = "2025003179"
[2025-12-27 09:59:42] [INFO]   -> Set field 'dispatchRunNumber' = "2025003179"
[2025-12-27 09:59:42] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2025-12-27 09:59:42] [INFO]   -> Found value: MANPOWER - EMS ASSIST
[2025-12-27 09:59:42] [INFO]   -> Set field 'incidentTypeValue1' = "MANPOWER - EMS ASSIST"
[2025-12-27 09:59:42] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2025-12-27 09:59:42] [INFO]   -> Found value: 3467
[2025-12-27 09:59:42] [INFO]   -> Set field 'incidentLocationStreetNumber' = 3467
[2025-12-27 09:59:42] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2025-12-27 09:59:42] [INFO]   -> Found value: TN
[2025-12-27 09:59:42] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2025-12-27 09:59:42] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2025-12-27 09:59:42] [INFO]   -> Found value: 38506
[2025-12-27 09:59:42] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2025-12-27 09:59:42] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2025-12-27 09:59:42] [INFO]   -> Found value: 3467 POPLAR GROVE RD
[2025-12-27 09:59:42] [INFO]   -> Set field 'businessName' = "3467 POPLAR GROVE RD"
[2025-12-27 09:59:42] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2025-12-27 09:59:42] [INFO]   -> No value found (null or empty)
[2025-12-27 09:59:42] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2025-12-27 09:59:42] [INFO]   -> Found value: 36.13495
[2025-12-27 09:59:42] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1349500000000034560798667371273040771484375
[2025-12-27 09:59:42] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2025-12-27 09:59:42] [INFO]   -> Found value: -85.43587
[2025-12-27 09:59:42] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.435869999999994206518749706447124481201171875
[2025-12-27 09:59:42] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2025-12-27 09:59:42] [INFO]   -> Found value: 2025-12-27 03:58:23
[2025-12-27 09:59:42] [INFO]   -> Set field 'alarm' = "2025-12-27 03:58:23"
[2025-12-27 09:59:42] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2025-12-27 09:59:42] [INFO]   -> Found value: 2025-12-27 03:59:34
[2025-12-27 09:59:42] [INFO]   -> Set field 'dispatched' = "2025-12-27 03:59:34"
[2025-12-27 09:59:42] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2025-12-27 09:59:42] [INFO]   -> No value found (null or empty)
[2025-12-27 09:59:42] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2025-12-27 09:59:42] [INFO]   -> No value found (null or empty)
[2025-12-27 09:59:42] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2025-12-27 09:59:42] [INFO]   -> No value found (null or empty)
[2025-12-27 09:59:42] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2025-12-27 09:59:42] [INFO]   -> Found value: N POINTE COVE CIR/RODGERS RD
[2025-12-27 09:59:42] [INFO]   -> Set field 'incidentLocationCross' = "N POINTE COVE CIR\/RODGERS RD"
[2025-12-27 09:59:42] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2025-12-27 09:59:42] [INFO]   -> Found value: EN15
[2025-12-27 09:59:42] [INFO]   -> Set field 'cADVehicleID' = "EN15"
[2025-12-27 09:59:42] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2025-12-27 09:59:42] [INFO]   -> Found value: 2025-12-27 03:59:34
[2025-12-27 09:59:42] [INFO]   -> Set field 'timedispatch' = "2025-12-27 03:59:34"
[2025-12-27 09:59:42] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2025-12-27 09:59:42] [INFO]   -> No value found (null or empty)
[2025-12-27 09:59:42] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2025-12-27 09:59:42] [INFO]   -> No value found (null or empty)
[2025-12-27 09:59:42] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2025-12-27 09:59:42] [INFO]   -> No value found (null or empty)
[2025-12-27 09:59:42] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2025-12-27 09:59:42] [INFO]   -> No value found (null or empty)
[2025-12-27 09:59:42] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2025-12-27 09:59:42] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2025-12-27 09:59:42] [INFO]   -> Found value: 20250141674
[2025-12-27 09:59:42] [INFO]   -> Set field 'policeReportNumber' = "20250141674"
[2025-12-27 09:59:42] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2025-12-27 09:59:42] [INFO]   -> Found value: Event spawned from EMS NON-EMERGENCY.  [12/27/2025 03:58:23 SVOKOUN2] PAGE MANPOWER TO THE RESDENCE ...
[2025-12-27 09:59:42] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from EMS NON-EMERGENCY.  [12\/27\/2025 03:58:23 SVOKOUN2] PAGE MANPOWER TO THE RESDENCE WITH EMS PER 759  [12\/27\/25 03:58:21 SVOKOUN2] NON EMERGENCY LIFT ASSIST 180LBS  [12\/27\/25 03:57:35 BMEZIME]"
[2025-12-27 09:59:42] [INFO]   -> Set field 'cADLog' = "Event spawned from EMS NON-EMERGENCY.  [12\/27\/2025 03:58:23 SVOKOUN2] PAGE MANPOWER TO THE RESDENCE WITH EMS PER 759  [12\/27\/25 03:58:21 SVOKOUN2] NON EMERGENCY LIFT ASSIST 180LBS  [12\/27\/25 03:57:35 BMEZIME]"
[2025-12-27 09:59:42] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2025-12-27 09:59:42] [INFO]   -> Found value: COOKEVILLE
[2025-12-27 09:59:42] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2025-12-27 09:59:42] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2025-12-27 09:59:42] [INFO]   -> Found value: POPLAR GROVE
[2025-12-27 09:59:42] [INFO]   -> Set field 'streetName' = "POPLAR GROVE"
[2025-12-27 09:59:42] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2025-12-27 09:59:42] [INFO]   -> Found value: RD
[2025-12-27 09:59:42] [INFO]   -> Set field 'streetType' = "RD"
[2025-12-27 09:59:42] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2025-12-27 09:59:42] [INFO]   -> Found value: 3467 POPLAR GROVE RD
[2025-12-27 09:59:42] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "3467 POPLAR GROVE RD"
[2025-12-27 09:59:42] [INFO] Finished extracting fields. Total fields extracted: 22
[2025-12-27 09:59:42] [INFO] Concatenating street name and type
[2025-12-27 09:59:42] [INFO]   -> Combined street name: POPLAR GROVE RD
[2025-12-27 09:59:42] [INFO] Built locationCoordinates from lat/lng: 36.13495,-85.43587
[2025-12-27 09:59:42] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2025003179","dispatchRunNumber":"2025003179","incidentTypeValue1":"MANPOWER - EMS ASSIST","incidentLocationStreetNumber":3467,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"businessName":"3467 POPLAR GROVE RD","nERISIncidentLatitude":36.1349500000000034560798667371273040771484375,"nERISIncidentLongitude":-85.435869999999994206518749706447124481201171875,"alarm":"2025-12-27 03:58:23","dispatched":"2025-12-27 03:59:34","incidentLocationCross":"N POINTE COVE CIR\/RODGERS RD","cADVehicleID":"EN15","timedispatch":"2025-12-27 03:59:34","policeReportNumber":"20250141674","dispatchNotes":"Event spawned from EMS NON-EMERGENCY.  [12\/27\/2025 03:58:23 SVOKOUN2] PAGE MANPOWER TO THE RESDENCE WITH EMS PER 759  [12\/27\/25 03:58:21 SVOKOUN2] NON EMERGENCY LIFT ASSIST 180LBS  [12\/27\/25 03:57:35 BMEZIME]","cADLog":"Event spawned from EMS NON-EMERGENCY.  [12\/27\/2025 03:58:23 SVOKOUN2] PAGE MANPOWER TO THE RESDENCE WITH EMS PER 759  [12\/27\/25 03:58:21 SVOKOUN2] NON EMERGENCY LIFT ASSIST 180LBS  [12\/27\/25 03:57:35 BMEZIME]","incidentLocationCity":"COOKEVILLE","streetName":"POPLAR GROVE RD","incidentAddressTextVersionStreet":"3467 POPLAR GROVE RD","locationCoordinates":"36.13495,-85.43587"}
[2025-12-27 09:59:42] [INFO] Number of extracted fields: 22
[2025-12-27 09:59:42] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2025-12-27 09:59:42] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD', Parsed IDs = ["PCFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2025-12-27 09:59:42] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2025-12-27 09:59:42] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2025-12-27 09:59:43] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2025-12-27 09:59:43] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2025-12-27 09:59:43] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2025-12-27 09:59:43] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2025-12-27 09:59:43] [INFO] Found existing IncidentTypeMapping with ID: 6938bcc5e565c9852
[2025-12-27 09:59:46] [INFO] Created new Dispatches record with ID: 694fae0f9677ecb4c
[2025-12-27 09:59:46] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250141674_20251227_095942.XML
[2025-12-27 09:59:46] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250141674_20251227_095942.XML
[2025-12-27 10:13:45] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-31097.xml
[2025-12-27 10:13:45] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-31097.xml for user: 68d56363ec1209189
[2025-12-27 10:13:45] [INFO] File size: 1630 bytes
[2025-12-27 10:13:45] [INFO] Created FTPFiles record with ID: 694fb159c8c3a461e
[2025-12-27 10:13:45] [INFO] About to extract fields from XML. File size: 1630 bytes
[2025-12-27 10:13:45] [INFO] Number of mappings: 21
[2025-12-27 10:13:45] [INFO] Starting XML parsing. Content length: 1630
[2025-12-27 10:13:45] [INFO] XML parsed successfully. Root element: Incident
[2025-12-27 10:13:45] [INFO] Processing 21 field mappings
[2025-12-27 10:13:45] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2025-12-27 10:13:45] [INFO]   -> Found value: 25-31097
[2025-12-27 10:13:45] [INFO]   -> Set field 'dispatchRunNumber' = "25-31097"
[2025-12-27 10:13:45] [INFO]   -> Set field 'cADNumber' = "25-31097"
[2025-12-27 10:13:45] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2025-12-27 10:13:45] [INFO]   -> Found value: 301
[2025-12-27 10:13:45] [INFO]   -> Set field 'incidentLocationStreetNumber' = 301
[2025-12-27 10:13:45] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2025-12-27 10:13:45] [INFO]   -> Found value: N WEST ST
[2025-12-27 10:13:45] [INFO]   -> Set field 'streetName' = "N WEST ST"
[2025-12-27 10:13:45] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2025-12-27 10:13:45] [INFO]   -> No value found (null or empty)
[2025-12-27 10:13:45] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2025-12-27 10:13:45] [INFO]   -> Found value: SIKESTON
[2025-12-27 10:13:45] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2025-12-27 10:13:45] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2025-12-27 10:13:45] [INFO]   -> Found value: FIRE STATION 1
[2025-12-27 10:13:45] [INFO]   -> Set field 'businessName' = "FIRE STATION 1"
[2025-12-27 10:13:45] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2025-12-27 10:13:45] [INFO]   -> Found value: MO
[2025-12-27 10:13:45] [INFO]   -> Set field 'incidentLocationStateName' = "MO"
[2025-12-27 10:13:45] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2025-12-27 10:13:45] [INFO]   -> Found value: 63801
[2025-12-27 10:13:45] [INFO]   -> Set field 'nERISIncidentPostalCode' = 63801
[2025-12-27 10:13:45] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2025-12-27 10:13:45] [INFO]   -> Found value: 0
[2025-12-27 10:13:45] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2025-12-27 10:13:45] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2025-12-27 10:13:45] [INFO]   -> Found value: 0
[2025-12-27 10:13:45] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2025-12-27 10:13:45] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2025-12-27 10:13:45] [INFO]   -> Found value: HSRT DEPLOYMENT
[2025-12-27 10:13:45] [INFO]   -> Set field 'incidentTypeValue1' = "HSRT DEPLOYMENT"
[2025-12-27 10:13:45] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2025-12-27 10:13:45] [INFO]   -> Found value: 12-27-2025 03:03:43|STATE HIGHWAY 25
SOUTH OF COUNTY ROAD 503 A
MVA WITH VEHICLE SUBMERGED IN THE CA...
[2025-12-27 10:13:45] [INFO]   -> Set field 'dispatchNotes' = "12-27-2025 03:03:43|STATE HIGHWAY 25\nSOUTH OF COUNTY ROAD 503 A\nMVA WITH VEHICLE SUBMERGED IN THE CASTOR RIVER \nCONTACTED CAPT. HASKINS @ 02:56  12-27-2025 03:38:32|PAGE 12-27-2025 04:00:34|ZERO CURRENT 12-27-2025 04:01:32|20-25 FT FROM THE BANK 12-27-2025 04:08:55|MSHP CONTACTED AND ADVISED TO CANCEL DIVE TEAM 12-27-2025 04:12:33|C84 NOTIFIED AT STATION 1"
[2025-12-27 10:13:45] [INFO]   -> Set field 'cADLog' = "12-27-2025 03:03:43|STATE HIGHWAY 25\nSOUTH OF COUNTY ROAD 503 A\nMVA WITH VEHICLE SUBMERGED IN THE CASTOR RIVER \nCONTACTED CAPT. HASKINS @ 02:56  12-27-2025 03:38:32|PAGE 12-27-2025 04:00:34|ZERO CURRENT 12-27-2025 04:01:32|20-25 FT FROM THE BANK 12-27-2025 04:08:55|MSHP CONTACTED AND ADVISED TO CANCEL DIVE TEAM 12-27-2025 04:12:33|C84 NOTIFIED AT STATION 1"
[2025-12-27 10:13:45] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2025-12-27 10:13:45] [INFO]   -> Found value: 12-27-2025T03:38:27
[2025-12-27 10:13:45] [INFO] Reformatted DD-MM-YYYY date '12-27-2025' (day=12, month=27) to ISO: 2025-27-12T03:38:27
[2025-12-27 10:13:45] [ERROR] Error formatting datetime '2025-27-12T03:38:27': Failed to parse time string (2025-27-12T03:38:27) at position 6 (7): Unexpected character
[2025-12-27 10:13:45] [INFO]   -> Set field 'alarm' = null
[2025-12-27 10:13:45] [INFO] Reformatted DD-MM-YYYY date '12-27-2025' (day=12, month=27) to ISO: 2025-27-12T03:38:27
[2025-12-27 10:13:45] [ERROR] Error formatting datetime '2025-27-12T03:38:27': Failed to parse time string (2025-27-12T03:38:27) at position 6 (7): Unexpected character
[2025-12-27 10:13:45] [INFO]   -> Set field 'dispatched' = null
[2025-12-27 10:13:45] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2025-12-27 10:13:45] [INFO]   -> No value found (null or empty)
[2025-12-27 10:13:45] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2025-12-27 10:13:45] [INFO]   -> No value found (null or empty)
[2025-12-27 10:13:45] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2025-12-27 10:13:45] [INFO]   -> Found value: HSRT
[2025-12-27 10:13:45] [INFO]   -> Set field 'cADVehicleID' = "HSRT"
[2025-12-27 10:13:45] [INFO]   -> Set field 'name' = "HSRT"
[2025-12-27 10:13:45] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2025-12-27 10:13:45] [INFO]   -> No value found (null or empty)
[2025-12-27 10:13:45] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2025-12-27 10:13:45] [INFO]   -> No value found (null or empty)
[2025-12-27 10:13:45] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2025-12-27 10:13:45] [INFO]   -> Found value: 12-27-2025T04:12:37
[2025-12-27 10:13:45] [INFO] Reformatted DD-MM-YYYY date '12-27-2025' (day=12, month=27) to ISO: 2025-27-12T04:12:37
[2025-12-27 10:13:45] [ERROR] Error formatting datetime '2025-27-12T04:12:37': Failed to parse time string (2025-27-12T04:12:37) at position 6 (7): Unexpected character
[2025-12-27 10:13:45] [INFO]   -> Set field 'timeunitclear' = null
[2025-12-27 10:13:45] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2025-12-27 10:13:45] [INFO]   -> Found value: 12-27-2025T03:38:27
[2025-12-27 10:13:45] [INFO] Reformatted DD-MM-YYYY date '12-27-2025' (day=12, month=27) to ISO: 2025-27-12T03:38:27
[2025-12-27 10:13:45] [ERROR] Error formatting datetime '2025-27-12T03:38:27': Failed to parse time string (2025-27-12T03:38:27) at position 6 (7): Unexpected character
[2025-12-27 10:13:45] [INFO]   -> Set field 'timedispatch' = null
[2025-12-27 10:13:45] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2025-12-27 10:13:45] [INFO]   -> Found value: SDPSFD
[2025-12-27 10:13:45] [INFO]   -> Set field 'cADAgencyIdentifier' = "SDPSFD"
[2025-12-27 10:13:45] [INFO] Finished extracting fields. Total fields extracted: 20
[2025-12-27 10:13:45] [INFO] Built locationCoordinates from lat/lng: 0,0
[2025-12-27 10:13:45] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"25-31097","cADNumber":"25-31097","incidentLocationStreetNumber":301,"streetName":"N WEST ST","incidentLocationCity":"SIKESTON","businessName":"FIRE STATION 1","incidentLocationStateName":"MO","nERISIncidentPostalCode":63801,"nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"HSRT DEPLOYMENT","dispatchNotes":"12-27-2025 03:03:43|STATE HIGHWAY 25\nSOUTH OF COUNTY ROAD 503 A\nMVA WITH VEHICLE SUBMERGED IN THE CASTOR RIVER \nCONTACTED CAPT. HASKINS @ 02:56  12-27-2025 03:38:32|PAGE 12-27-2025 04:00:34|ZERO CURRENT 12-27-2025 04:01:32|20-25 FT FROM THE BANK 12-27-2025 04:08:55|MSHP CONTACTED AND ADVISED TO CANCEL DIVE TEAM 12-27-2025 04:12:33|C84 NOTIFIED AT STATION 1","cADLog":"12-27-2025 03:03:43|STATE HIGHWAY 25\nSOUTH OF COUNTY ROAD 503 A\nMVA WITH VEHICLE SUBMERGED IN THE CASTOR RIVER \nCONTACTED CAPT. HASKINS @ 02:56  12-27-2025 03:38:32|PAGE 12-27-2025 04:00:34|ZERO CURRENT 12-27-2025 04:01:32|20-25 FT FROM THE BANK 12-27-2025 04:08:55|MSHP CONTACTED AND ADVISED TO CANCEL DIVE TEAM 12-27-2025 04:12:33|C84 NOTIFIED AT STATION 1","alarm":null,"dispatched":null,"cADVehicleID":"HSRT","name":"HSRT","timeunitclear":null,"timedispatch":null,"cADAgencyIdentifier":"SDPSFD","locationCoordinates":"0,0"}
[2025-12-27 10:13:45] [INFO] Number of extracted fields: 21
[2025-12-27 10:13:45] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SDPSFD'
[2025-12-27 10:13:45] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SDPSFD', Parsed IDs = ["SDPSFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 2
[2025-12-27 10:13:45] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SDPSFD"]
[2025-12-27 10:13:45] [INFO] Attempting SAASClient lookup for AgencyCode 'SDPSFD' (index 0) within mailbox's assigned agencies
[2025-12-27 10:13:45] [INFO] SUCCESS: Routed to agency 'Sikeston DPS' (ID: 6772cab7157b2ebde) at INDEX 0 based on AgencyCode 'SDPSFD'
[2025-12-27 10:13:46] [INFO] Fetched 4 stations from Stations module for agency 'Sikeston DPS': ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"]
[2025-12-27 10:13:46] [INFO] Final routing: saasclientId = 6772cab7157b2ebde, dispatchStationsIds = ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"], matchedAgencyIndex = 0
[2025-12-27 10:13:46] [INFO] Multi-agency routing matched mailbox default agency: 6772cab7157b2ebde (no update needed)
[2025-12-27 10:13:46] [INFO] Found existing IncidentTypeMapping with ID: 68f8f9275843af7ab
[2025-12-27 10:13:47] [INFO] Created new Dispatches record with ID: 694fb15a8b2694dc2
[2025-12-27 10:13:47] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-31097.xml
[2025-12-27 10:13:47] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-31097.xml
[2025-12-27 11:00:18] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-31098.xml
[2025-12-27 11:00:18] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-31098.xml for user: 68d56363ec1209189
[2025-12-27 11:00:18] [INFO] File size: 2558 bytes
[2025-12-27 11:00:19] [INFO] Created FTPFiles record with ID: 694fbc434e7249221
[2025-12-27 11:00:19] [INFO] About to extract fields from XML. File size: 2558 bytes
[2025-12-27 11:00:19] [INFO] Number of mappings: 21
[2025-12-27 11:00:19] [INFO] Starting XML parsing. Content length: 2558
[2025-12-27 11:00:19] [INFO] XML parsed successfully. Root element: Incident
[2025-12-27 11:00:19] [INFO] Processing 21 field mappings
[2025-12-27 11:00:19] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2025-12-27 11:00:19] [INFO]   -> Found value: 25-31098
[2025-12-27 11:00:19] [INFO]   -> Set field 'dispatchRunNumber' = "25-31098"
[2025-12-27 11:00:19] [INFO]   -> Set field 'cADNumber' = "25-31098"
[2025-12-27 11:00:19] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2025-12-27 11:00:19] [INFO]   -> Found value: 640
[2025-12-27 11:00:19] [INFO]   -> Set field 'incidentLocationStreetNumber' = 640
[2025-12-27 11:00:19] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2025-12-27 11:00:19] [INFO]   -> Found value: GEN GEORGE E. DAY PKWY
[2025-12-27 11:00:19] [INFO]   -> Set field 'streetName' = "GEN GEORGE E. DAY PKWY"
[2025-12-27 11:00:19] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2025-12-27 11:00:19] [INFO]   -> No value found (null or empty)
[2025-12-27 11:00:19] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2025-12-27 11:00:19] [INFO]   -> Found value: SIKESTON
[2025-12-27 11:00:19] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2025-12-27 11:00:19] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2025-12-27 11:00:19] [INFO]   -> Found value: DELTA SOUTH NURSING HOME
[2025-12-27 11:00:19] [INFO]   -> Set field 'businessName' = "DELTA SOUTH NURSING HOME"
[2025-12-27 11:00:19] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2025-12-27 11:00:19] [INFO]   -> Found value: MO
[2025-12-27 11:00:19] [INFO]   -> Set field 'incidentLocationStateName' = "MO"
[2025-12-27 11:00:19] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2025-12-27 11:00:19] [INFO]   -> Found value: 63801
[2025-12-27 11:00:19] [INFO]   -> Set field 'nERISIncidentPostalCode' = 63801
[2025-12-27 11:00:19] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2025-12-27 11:00:19] [INFO]   -> Found value: 0
[2025-12-27 11:00:19] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2025-12-27 11:00:19] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2025-12-27 11:00:19] [INFO]   -> Found value: 0
[2025-12-27 11:00:19] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2025-12-27 11:00:19] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2025-12-27 11:00:19] [INFO]   -> Found value: FIRE-ALARM MECH
[2025-12-27 11:00:19] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE-ALARM MECH"
[2025-12-27 11:00:19] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2025-12-27 11:00:19] [INFO]   -> Found value: 12-27-2025 04:51:02|ZONE 36 ROOM 416 
NO KEYHOLDER  12-27-2025 04:57:19|MULTI RESIDENTAL SINGLE STOR...
[2025-12-27 11:00:19] [INFO]   -> Set field 'dispatchNotes' = "12-27-2025 04:51:02|ZONE 36 ROOM 416 \nNO KEYHOLDER  12-27-2025 04:57:19|MULTI RESIDENTAL SINGLE STORY STRUCTURE NOTHING SHOWING 12-27-2025 04:57:22|C78 HAS COMMAND 12-27-2025 04:57:32|541 STAGED AT HYDRANT 12-27-2025 04:58:59|ALARM COMPANY CALLED BACK TO CANCEL ADVISED FALSE ALARM 12-27-2025 04:59:08|COMMAND ADVISED FALSE ALARM 12-27-2025 04:59:12|UNITS CAN CANCEL"
[2025-12-27 11:00:19] [INFO]   -> Set field 'cADLog' = "12-27-2025 04:51:02|ZONE 36 ROOM 416 \nNO KEYHOLDER  12-27-2025 04:57:19|MULTI RESIDENTAL SINGLE STORY STRUCTURE NOTHING SHOWING 12-27-2025 04:57:22|C78 HAS COMMAND 12-27-2025 04:57:32|541 STAGED AT HYDRANT 12-27-2025 04:58:59|ALARM COMPANY CALLED BACK TO CANCEL ADVISED FALSE ALARM 12-27-2025 04:59:08|COMMAND ADVISED FALSE ALARM 12-27-2025 04:59:12|UNITS CAN CANCEL"
[2025-12-27 11:00:19] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2025-12-27 11:00:19] [INFO]   -> Found value: 12-27-2025T04:53:28
[2025-12-27 11:00:19] [INFO] Reformatted DD-MM-YYYY date '12-27-2025' (day=12, month=27) to ISO: 2025-27-12T04:53:28
[2025-12-27 11:00:19] [ERROR] Error formatting datetime '2025-27-12T04:53:28': Failed to parse time string (2025-27-12T04:53:28) at position 6 (7): Unexpected character
[2025-12-27 11:00:19] [INFO]   -> Set field 'alarm' = null
[2025-12-27 11:00:19] [INFO] Reformatted DD-MM-YYYY date '12-27-2025' (day=12, month=27) to ISO: 2025-27-12T04:53:28
[2025-12-27 11:00:19] [ERROR] Error formatting datetime '2025-27-12T04:53:28': Failed to parse time string (2025-27-12T04:53:28) at position 6 (7): Unexpected character
[2025-12-27 11:00:19] [INFO]   -> Set field 'dispatched' = null
[2025-12-27 11:00:19] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2025-12-27 11:00:19] [INFO]   -> Found value: 12-27-2025T04:57:03
[2025-12-27 11:00:19] [INFO] Reformatted DD-MM-YYYY date '12-27-2025' (day=12, month=27) to ISO: 2025-27-12T04:57:03
[2025-12-27 11:00:19] [ERROR] Error formatting datetime '2025-27-12T04:57:03': Failed to parse time string (2025-27-12T04:57:03) at position 6 (7): Unexpected character
[2025-12-27 11:00:19] [INFO]   -> Set field 'onScene' = null
[2025-12-27 11:00:19] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2025-12-27 11:00:19] [INFO]   -> Found value: 12-27-2025T04:59:19
[2025-12-27 11:00:19] [INFO] Reformatted DD-MM-YYYY date '12-27-2025' (day=12, month=27) to ISO: 2025-27-12T04:59:19
[2025-12-27 11:00:19] [ERROR] Error formatting datetime '2025-27-12T04:59:19': Failed to parse time string (2025-27-12T04:59:19) at position 6 (7): Unexpected character
[2025-12-27 11:00:19] [INFO]   -> Set field 'cleared' = null
[2025-12-27 11:00:19] [INFO] Reformatted DD-MM-YYYY date '12-27-2025' (day=12, month=27) to ISO: 2025-27-12T04:59:19
[2025-12-27 11:00:19] [ERROR] Error formatting datetime '2025-27-12T04:59:19': Failed to parse time string (2025-27-12T04:59:19) at position 6 (7): Unexpected character
[2025-12-27 11:00:19] [INFO]   -> Set field 'inService' = null
[2025-12-27 11:00:19] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2025-12-27 11:00:19] [INFO]   -> Found value: ENG2
[2025-12-27 11:00:19] [INFO]   -> Set field 'cADVehicleID' = "ENG2"
[2025-12-27 11:00:19] [INFO]   -> Set field 'name' = "ENG2"
[2025-12-27 11:00:19] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2025-12-27 11:00:19] [INFO]   -> Found value: 12-27-2025T04:55:10
[2025-12-27 11:00:19] [INFO] Reformatted DD-MM-YYYY date '12-27-2025' (day=12, month=27) to ISO: 2025-27-12T04:55:10
[2025-12-27 11:00:19] [ERROR] Error formatting datetime '2025-27-12T04:55:10': Failed to parse time string (2025-27-12T04:55:10) at position 6 (7): Unexpected character
[2025-12-27 11:00:19] [INFO]   -> Set field 'timeenroutetoscene' = null
[2025-12-27 11:00:19] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2025-12-27 11:00:19] [INFO]   -> No value found (null or empty)
[2025-12-27 11:00:19] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2025-12-27 11:00:19] [INFO]   -> Found value: 12-27-2025T04:59:19
[2025-12-27 11:00:19] [INFO] Reformatted DD-MM-YYYY date '12-27-2025' (day=12, month=27) to ISO: 2025-27-12T04:59:19
[2025-12-27 11:00:19] [ERROR] Error formatting datetime '2025-27-12T04:59:19': Failed to parse time string (2025-27-12T04:59:19) at position 6 (7): Unexpected character
[2025-12-27 11:00:19] [INFO]   -> Set field 'timeunitclear' = null
[2025-12-27 11:00:19] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2025-12-27 11:00:19] [INFO]   -> Found value: 12-27-2025T04:55:08
[2025-12-27 11:00:19] [INFO] Reformatted DD-MM-YYYY date '12-27-2025' (day=12, month=27) to ISO: 2025-27-12T04:55:08
[2025-12-27 11:00:19] [ERROR] Error formatting datetime '2025-27-12T04:55:08': Failed to parse time string (2025-27-12T04:55:08) at position 6 (7): Unexpected character
[2025-12-27 11:00:19] [INFO]   -> Set field 'timedispatch' = null
[2025-12-27 11:00:19] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2025-12-27 11:00:19] [INFO]   -> Found value: SDPSFD
[2025-12-27 11:00:19] [INFO]   -> Set field 'cADAgencyIdentifier' = "SDPSFD"
[2025-12-27 11:00:19] [INFO] Finished extracting fields. Total fields extracted: 24
[2025-12-27 11:00:19] [INFO] Built locationCoordinates from lat/lng: 0,0
[2025-12-27 11:00:19] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"25-31098","cADNumber":"25-31098","incidentLocationStreetNumber":640,"streetName":"GEN GEORGE E. DAY PKWY","incidentLocationCity":"SIKESTON","businessName":"DELTA SOUTH NURSING HOME","incidentLocationStateName":"MO","nERISIncidentPostalCode":63801,"nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"FIRE-ALARM MECH","dispatchNotes":"12-27-2025 04:51:02|ZONE 36 ROOM 416 \nNO KEYHOLDER  12-27-2025 04:57:19|MULTI RESIDENTAL SINGLE STORY STRUCTURE NOTHING SHOWING 12-27-2025 04:57:22|C78 HAS COMMAND 12-27-2025 04:57:32|541 STAGED AT HYDRANT 12-27-2025 04:58:59|ALARM COMPANY CALLED BACK TO CANCEL ADVISED FALSE ALARM 12-27-2025 04:59:08|COMMAND ADVISED FALSE ALARM 12-27-2025 04:59:12|UNITS CAN CANCEL","cADLog":"12-27-2025 04:51:02|ZONE 36 ROOM 416 \nNO KEYHOLDER  12-27-2025 04:57:19|MULTI RESIDENTAL SINGLE STORY STRUCTURE NOTHING SHOWING 12-27-2025 04:57:22|C78 HAS COMMAND 12-27-2025 04:57:32|541 STAGED AT HYDRANT 12-27-2025 04:58:59|ALARM COMPANY CALLED BACK TO CANCEL ADVISED FALSE ALARM 12-27-2025 04:59:08|COMMAND ADVISED FALSE ALARM 12-27-2025 04:59:12|UNITS CAN CANCEL","alarm":null,"dispatched":null,"onScene":null,"cleared":null,"inService":null,"cADVehicleID":"ENG2","name":"ENG2","timeenroutetoscene":null,"timeunitclear":null,"timedispatch":null,"cADAgencyIdentifier":"SDPSFD","locationCoordinates":"0,0"}
[2025-12-27 11:00:19] [INFO] Number of extracted fields: 25
[2025-12-27 11:00:19] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SDPSFD'
[2025-12-27 11:00:19] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SDPSFD', Parsed IDs = ["SDPSFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 2
[2025-12-27 11:00:19] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SDPSFD"]
[2025-12-27 11:00:19] [INFO] Attempting SAASClient lookup for AgencyCode 'SDPSFD' (index 0) within mailbox's assigned agencies
[2025-12-27 11:00:19] [INFO] SUCCESS: Routed to agency 'Sikeston DPS' (ID: 6772cab7157b2ebde) at INDEX 0 based on AgencyCode 'SDPSFD'
[2025-12-27 11:00:19] [INFO] Fetched 4 stations from Stations module for agency 'Sikeston DPS': ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"]
[2025-12-27 11:00:19] [INFO] Final routing: saasclientId = 6772cab7157b2ebde, dispatchStationsIds = ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"], matchedAgencyIndex = 0
[2025-12-27 11:00:19] [INFO] Multi-agency routing matched mailbox default agency: 6772cab7157b2ebde (no update needed)
[2025-12-27 11:00:19] [INFO] Found existing IncidentTypeMapping with ID: 68e4158e872e5ae13
[2025-12-27 11:00:21] [INFO] Created new Dispatches record with ID: 694fbc440ac07fae8
[2025-12-27 11:00:21] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-31098.xml
[2025-12-27 11:00:21] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-31098.xml
[2025-12-27 12:16:22] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250141690_20251227_121622.XML
[2025-12-27 12:16:22] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250141690_20251227_121622.XML for user: 68f1466aed072ad4a
[2025-12-27 12:16:22] [INFO] File size: 5986 bytes
[2025-12-27 12:16:22] [INFO] Created FTPFiles record with ID: 694fce16b0bbb2106
[2025-12-27 12:16:22] [INFO] About to extract fields from XML. File size: 5986 bytes
[2025-12-27 12:16:22] [INFO] Number of mappings: 28
[2025-12-27 12:16:22] [INFO] Starting XML parsing. Content length: 5986
[2025-12-27 12:16:22] [INFO] XML parsed successfully. Root element: CADExport
[2025-12-27 12:16:22] [INFO] Processing 28 field mappings
[2025-12-27 12:16:22] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2025-12-27 12:16:22] [INFO] Found 4 elements for 'AgencyCode', using FIRST value only
[2025-12-27 12:16:22] [INFO]   -> Found value: PCFD
[2025-12-27 12:16:22] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2025-12-27 12:16:22] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2025-12-27 12:16:22] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2025-12-27 12:16:22] [INFO]   -> Found value: 2025003180
[2025-12-27 12:16:22] [INFO]   -> Set field 'incidentInternalId' = "2025003180"
[2025-12-27 12:16:22] [INFO]   -> Set field 'dispatchRunNumber' = "2025003180"
[2025-12-27 12:16:22] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2025-12-27 12:16:22] [INFO]   -> Found value: DIABETIC PROBLEM
[2025-12-27 12:16:22] [INFO]   -> Set field 'incidentTypeValue1' = "DIABETIC PROBLEM"
[2025-12-27 12:16:22] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2025-12-27 12:16:22] [INFO]   -> Found value: 1133
[2025-12-27 12:16:22] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1133
[2025-12-27 12:16:22] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2025-12-27 12:16:22] [INFO]   -> Found value: TN
[2025-12-27 12:16:22] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2025-12-27 12:16:22] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2025-12-27 12:16:22] [INFO]   -> Found value: 38544
[2025-12-27 12:16:22] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2025-12-27 12:16:22] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2025-12-27 12:16:22] [INFO]   -> No value found (null or empty)
[2025-12-27 12:16:22] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2025-12-27 12:16:22] [INFO]   -> No value found (null or empty)
[2025-12-27 12:16:22] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2025-12-27 12:16:22] [INFO]   -> Found value: 36.18843
[2025-12-27 12:16:22] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1884299999999967667463351972401142120361328125
[2025-12-27 12:16:22] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2025-12-27 12:16:22] [INFO]   -> Found value: -85.62617
[2025-12-27 12:16:22] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.62617000000000189174897968769073486328125
[2025-12-27 12:16:22] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2025-12-27 12:16:22] [INFO]   -> Found value: 2025-12-27 06:15:19
[2025-12-27 12:16:22] [INFO]   -> Set field 'alarm' = "2025-12-27 06:15:19"
[2025-12-27 12:16:22] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2025-12-27 12:16:22] [INFO]   -> Found value: 2025-12-27 06:16:17
[2025-12-27 12:16:22] [INFO]   -> Set field 'dispatched' = "2025-12-27 06:16:17"
[2025-12-27 12:16:22] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2025-12-27 12:16:22] [INFO]   -> No value found (null or empty)
[2025-12-27 12:16:22] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2025-12-27 12:16:22] [INFO]   -> No value found (null or empty)
[2025-12-27 12:16:22] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2025-12-27 12:16:22] [INFO]   -> No value found (null or empty)
[2025-12-27 12:16:22] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2025-12-27 12:16:22] [INFO]   -> Found value: BROWN RIDGE RD/SULFUR RIDGE RD
[2025-12-27 12:16:22] [INFO]   -> Set field 'incidentLocationCross' = "BROWN RIDGE RD\/SULFUR RIDGE RD"
[2025-12-27 12:16:22] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2025-12-27 12:16:22] [INFO]   -> Found value: PCFR
[2025-12-27 12:16:22] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2025-12-27 12:16:22] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2025-12-27 12:16:22] [INFO]   -> Found value: 2025-12-27 06:16:17
[2025-12-27 12:16:22] [INFO]   -> Set field 'timedispatch' = "2025-12-27 06:16:17"
[2025-12-27 12:16:22] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2025-12-27 12:16:22] [INFO]   -> No value found (null or empty)
[2025-12-27 12:16:22] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2025-12-27 12:16:22] [INFO]   -> No value found (null or empty)
[2025-12-27 12:16:22] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2025-12-27 12:16:22] [INFO]   -> No value found (null or empty)
[2025-12-27 12:16:22] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2025-12-27 12:16:22] [INFO]   -> No value found (null or empty)
[2025-12-27 12:16:22] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2025-12-27 12:16:22] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2025-12-27 12:16:22] [INFO]   -> Found value: 20250141690
[2025-12-27 12:16:22] [INFO]   -> Set field 'policeReportNumber' = "20250141690"
[2025-12-27 12:16:22] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2025-12-27 12:16:22] [INFO]   -> Found value: [APCO INTELLICOMM] Caller Name: KEITH  [12/27/25 06:16:06 PSUTIL01] [EMS] 30 YOF  [12/27/25 06:16:02...
[2025-12-27 12:16:22] [INFO]   -> Set field 'dispatchNotes' = "[APCO INTELLICOMM] Caller Name: KEITH  [12\/27\/25 06:16:06 PSUTIL01] [EMS] 30 YOF  [12\/27\/25 06:16:02 KMORGAN2] [EMS] ALSO HAS SEIZURES  [12\/27\/25 06:15:39 KMORGAN2] [EMS] PASSED OUT  [12\/27\/25 06:15:31 KMORGAN2] [APCO INTELLICOMM] Case ID: 0gqEjfHuUq Caller Phone: 9312655400 Caller Name: VERIZON Incident Location: 1133 HULON FERRELL RD Incident Location Detail: BROWN RIDGE RD\/SULFUR RIDGE RD Nature: DIABETIC PROBLEM Incident #: 20250141688 CAD Call Taker: KMORGAN2 Chief Complaint: (empty)  [12\/27\/25 06:15:22 PSUTIL01] Event spawned from DIABETIC PROBLEM.  [12\/27\/2025 06:15:19 KMORGAN2] 210\/87 HR 110 VOMITING  LEFT CRMC THIS MORNING\/\/DIABETIC  [12\/27\/25 06:15:06 KMORGAN2]]"
[2025-12-27 12:16:22] [INFO]   -> Set field 'cADLog' = "[APCO INTELLICOMM] Caller Name: KEITH  [12\/27\/25 06:16:06 PSUTIL01] [EMS] 30 YOF  [12\/27\/25 06:16:02 KMORGAN2] [EMS] ALSO HAS SEIZURES  [12\/27\/25 06:15:39 KMORGAN2] [EMS] PASSED OUT  [12\/27\/25 06:15:31 KMORGAN2] [APCO INTELLICOMM] Case ID: 0gqEjfHuUq Caller Phone: 9312655400 Caller Name: VERIZON Incident Location: 1133 HULON FERRELL RD Incident Location Detail: BROWN RIDGE RD\/SULFUR RIDGE RD Nature: DIABETIC PROBLEM Incident #: 20250141688 CAD Call Taker: KMORGAN2 Chief Complaint: (empty)  [12\/27\/25 06:15:22 PSUTIL01] Event spawned from DIABETIC PROBLEM.  [12\/27\/2025 06:15:19 KMORGAN2] 210\/87 HR 110 VOMITING  LEFT CRMC THIS MORNING\/\/DIABETIC  [12\/27\/25 06:15:06 KMORGAN2]]"
[2025-12-27 12:16:22] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2025-12-27 12:16:22] [INFO]   -> Found value: BAXTER
[2025-12-27 12:16:22] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2025-12-27 12:16:22] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2025-12-27 12:16:22] [INFO]   -> Found value: HULON FERRELL
[2025-12-27 12:16:22] [INFO]   -> Set field 'streetName' = "HULON FERRELL"
[2025-12-27 12:16:22] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2025-12-27 12:16:22] [INFO]   -> Found value: RD
[2025-12-27 12:16:22] [INFO]   -> Set field 'streetType' = "RD"
[2025-12-27 12:16:22] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2025-12-27 12:16:22] [INFO]   -> Found value: 1133 HULON FERRELL RD
[2025-12-27 12:16:22] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1133 HULON FERRELL RD"
[2025-12-27 12:16:22] [INFO] Finished extracting fields. Total fields extracted: 21
[2025-12-27 12:16:22] [INFO] Concatenating street name and type
[2025-12-27 12:16:22] [INFO]   -> Combined street name: HULON FERRELL RD
[2025-12-27 12:16:22] [INFO] Built locationCoordinates from lat/lng: 36.18843,-85.62617
[2025-12-27 12:16:22] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2025003180","dispatchRunNumber":"2025003180","incidentTypeValue1":"DIABETIC PROBLEM","incidentLocationStreetNumber":1133,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.1884299999999967667463351972401142120361328125,"nERISIncidentLongitude":-85.62617000000000189174897968769073486328125,"alarm":"2025-12-27 06:15:19","dispatched":"2025-12-27 06:16:17","incidentLocationCross":"BROWN RIDGE RD\/SULFUR RIDGE RD","cADVehicleID":"PCFR","timedispatch":"2025-12-27 06:16:17","policeReportNumber":"20250141690","dispatchNotes":"[APCO INTELLICOMM] Caller Name: KEITH  [12\/27\/25 06:16:06 PSUTIL01] [EMS] 30 YOF  [12\/27\/25 06:16:02 KMORGAN2] [EMS] ALSO HAS SEIZURES  [12\/27\/25 06:15:39 KMORGAN2] [EMS] PASSED OUT  [12\/27\/25 06:15:31 KMORGAN2] [APCO INTELLICOMM] Case ID: 0gqEjfHuUq Caller Phone: 9312655400 Caller Name: VERIZON Incident Location: 1133 HULON FERRELL RD Incident Location Detail: BROWN RIDGE RD\/SULFUR RIDGE RD Nature: DIABETIC PROBLEM Incident #: 20250141688 CAD Call Taker: KMORGAN2 Chief Complaint: (empty)  [12\/27\/25 06:15:22 PSUTIL01] Event spawned from DIABETIC PROBLEM.  [12\/27\/2025 06:15:19 KMORGAN2] 210\/87 HR 110 VOMITING  LEFT CRMC THIS MORNING\/\/DIABETIC  [12\/27\/25 06:15:06 KMORGAN2]]","cADLog":"[APCO INTELLICOMM] Caller Name: KEITH  [12\/27\/25 06:16:06 PSUTIL01] [EMS] 30 YOF  [12\/27\/25 06:16:02 KMORGAN2] [EMS] ALSO HAS SEIZURES  [12\/27\/25 06:15:39 KMORGAN2] [EMS] PASSED OUT  [12\/27\/25 06:15:31 KMORGAN2] [APCO INTELLICOMM] Case ID: 0gqEjfHuUq Caller Phone: 9312655400 Caller Name: VERIZON Incident Location: 1133 HULON FERRELL RD Incident Location Detail: BROWN RIDGE RD\/SULFUR RIDGE RD Nature: DIABETIC PROBLEM Incident #: 20250141688 CAD Call Taker: KMORGAN2 Chief Complaint: (empty)  [12\/27\/25 06:15:22 PSUTIL01] Event spawned from DIABETIC PROBLEM.  [12\/27\/2025 06:15:19 KMORGAN2] 210\/87 HR 110 VOMITING  LEFT CRMC THIS MORNING\/\/DIABETIC  [12\/27\/25 06:15:06 KMORGAN2]]","incidentLocationCity":"BAXTER","streetName":"HULON FERRELL RD","incidentAddressTextVersionStreet":"1133 HULON FERRELL RD","locationCoordinates":"36.18843,-85.62617"}
[2025-12-27 12:16:22] [INFO] Number of extracted fields: 21
[2025-12-27 12:16:22] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2025-12-27 12:16:22] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD', Parsed IDs = ["PCFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2025-12-27 12:16:22] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2025-12-27 12:16:22] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2025-12-27 12:16:22] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2025-12-27 12:16:23] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2025-12-27 12:16:23] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2025-12-27 12:16:23] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2025-12-27 12:16:23] [INFO] Found existing IncidentTypeMapping with ID: 6937a13f0053c6dd7
[2025-12-27 12:16:26] [INFO] Created new Dispatches record with ID: 694fce176b0805fe1
[2025-12-27 12:16:26] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250141690_20251227_121622.XML
[2025-12-27 12:16:26] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250141690_20251227_121622.XML
[2025-12-27 12:56:31] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_25-31103.xml
[2025-12-27 12:56:31] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_25-31103.xml for user: 68d56363ec1209189
[2025-12-27 12:56:31] [INFO] File size: 3490 bytes
[2025-12-27 12:56:31] [INFO] Created FTPFiles record with ID: 694fd77f7c21d3451
[2025-12-27 12:56:31] [INFO] About to extract fields from XML. File size: 3490 bytes
[2025-12-27 12:56:31] [INFO] Number of mappings: 21
[2025-12-27 12:56:31] [INFO] Starting XML parsing. Content length: 3490
[2025-12-27 12:56:31] [INFO] XML parsed successfully. Root element: Incident
[2025-12-27 12:56:31] [INFO] Processing 21 field mappings
[2025-12-27 12:56:31] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2025-12-27 12:56:31] [INFO]   -> Found value: 25-31103
[2025-12-27 12:56:31] [INFO]   -> Set field 'dispatchRunNumber' = "25-31103"
[2025-12-27 12:56:31] [INFO]   -> Set field 'cADNumber' = "25-31103"
[2025-12-27 12:56:31] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2025-12-27 12:56:31] [INFO]   -> Found value: 839
[2025-12-27 12:56:31] [INFO]   -> Set field 'incidentLocationStreetNumber' = 839
[2025-12-27 12:56:31] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2025-12-27 12:56:31] [INFO]   -> Found value: MARY ST
[2025-12-27 12:56:31] [INFO]   -> Set field 'streetName' = "MARY ST"
[2025-12-27 12:56:31] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2025-12-27 12:56:31] [INFO]   -> No value found (null or empty)
[2025-12-27 12:56:31] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2025-12-27 12:56:31] [INFO]   -> Found value: SIKESTON
[2025-12-27 12:56:31] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2025-12-27 12:56:31] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2025-12-27 12:56:31] [INFO]   -> No value found (null or empty)
[2025-12-27 12:56:31] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2025-12-27 12:56:31] [INFO]   -> Found value: MO
[2025-12-27 12:56:31] [INFO]   -> Set field 'incidentLocationStateName' = "MO"
[2025-12-27 12:56:31] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2025-12-27 12:56:31] [INFO]   -> Found value: 63801
[2025-12-27 12:56:31] [INFO]   -> Set field 'nERISIncidentPostalCode' = 63801
[2025-12-27 12:56:31] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2025-12-27 12:56:31] [INFO]   -> Found value: 0
[2025-12-27 12:56:31] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2025-12-27 12:56:31] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2025-12-27 12:56:31] [INFO]   -> Found value: 0
[2025-12-27 12:56:31] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2025-12-27 12:56:31] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2025-12-27 12:56:31] [INFO]   -> Found value: FIRE-STRUCTURE
[2025-12-27 12:56:31] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE-STRUCTURE"
[2025-12-27 12:56:31] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2025-12-27 12:56:31] [INFO]   -> Found value: 12-27-2025 05:04:11|HYDRANT AT MURRAY 12-27-2025 05:04:50|C78 HAS COMMAND 12-27-2025 05:07:49|FIRE S...
[2025-12-27 12:56:31] [INFO]   -> Set field 'dispatchNotes' = "12-27-2025 05:04:11|HYDRANT AT MURRAY 12-27-2025 05:04:50|C78 HAS COMMAND 12-27-2025 05:07:49|FIRE STARTED TO SPREAD TO THE FENCE TO THE EAST TO THE ADJACENT PROPERTY 12-27-2025 05:08:00|CONTACTING BMU 12-27-2025 05:10:40|NEIGHBORING VEHICLE HAS CAUGHT FIRE 12-27-2025 05:13:49|2ND ALARM 12-27-2025 05:14:18|CONTACTING LIBERTY UTILITY 12-27-2025 05:17:01|LIVE ELECTRICAL ON THE GROUND COVERING DELTA 12-27-2025 05:22:25|RURAL SECOND PAGE 12-27-2025 05:24:21|BOTH LANES OF W MURRAY SHUT DOWN 12-27-2025 05:24:55|FIRE UNITS RESPONDING USE MURRAY 12-27-2025 05:26:18|1791 REPONDING WITH 2 12-27-2025 05:27:50|BMU ON SCENE 12-27-2025 05:32:11|1791 DOWNGRADING AND RESPONDING TO STATION 1 12-27-2025 05:33:15|1765 RESPONDING TO STATION 1 12-27-2025 05:37:27|GAS HAS BEEN SHUT DOWN BY PERSONNEL 12-27-2025 05:37:30|LIBERTY ON SCENE 12-27-2025 05:38:52|BOTH TRANSFORMERS HAS BEEN DISCONNECTED DUE TO DOWN LINE 12-27-2025 05:45:41|1765 AT STATION 1 12-27-2025 05:52:44|COMMAND REQUESTED CONTACT ON CALL PUBLIC WORKS FOR BACKHOE TO BE BROUGHT TO LOCATION 12-27-2025 06:00:13|COMMAND REQUESTED TO CANCEL PUBLIC WORKS 12-27-2025 06:09:26|3422 ENDING MILEAGE ON INGRAM 182690 12-27-2025 06:10:03|DISREGARD 3422 NOTE 12-27-2025 06:21:37|LAD3 RELEASED FROM SCENE ENROUTE TO STATION ONE FOR REFURB 12-27-2025 06:31:31|BOTH LANES OF MURRAY ARE REOPENED"
[2025-12-27 12:56:31] [INFO]   -> Set field 'cADLog' = "12-27-2025 05:04:11|HYDRANT AT MURRAY 12-27-2025 05:04:50|C78 HAS COMMAND 12-27-2025 05:07:49|FIRE STARTED TO SPREAD TO THE FENCE TO THE EAST TO THE ADJACENT PROPERTY 12-27-2025 05:08:00|CONTACTING BMU 12-27-2025 05:10:40|NEIGHBORING VEHICLE HAS CAUGHT FIRE 12-27-2025 05:13:49|2ND ALARM 12-27-2025 05:14:18|CONTACTING LIBERTY UTILITY 12-27-2025 05:17:01|LIVE ELECTRICAL ON THE GROUND COVERING DELTA 12-27-2025 05:22:25|RURAL SECOND PAGE 12-27-2025 05:24:21|BOTH LANES OF W MURRAY SHUT DOWN 12-27-2025 05:24:55|FIRE UNITS RESPONDING USE MURRAY 12-27-2025 05:26:18|1791 REPONDING WITH 2 12-27-2025 05:27:50|BMU ON SCENE 12-27-2025 05:32:11|1791 DOWNGRADING AND RESPONDING TO STATION 1 12-27-2025 05:33:15|1765 RESPONDING TO STATION 1 12-27-2025 05:37:27|GAS HAS BEEN SHUT DOWN BY PERSONNEL 12-27-2025 05:37:30|LIBERTY ON SCENE 12-27-2025 05:38:52|BOTH TRANSFORMERS HAS BEEN DISCONNECTED DUE TO DOWN LINE 12-27-2025 05:45:41|1765 AT STATION 1 12-27-2025 05:52:44|COMMAND REQUESTED CONTACT ON CALL PUBLIC WORKS FOR BACKHOE TO BE BROUGHT TO LOCATION 12-27-2025 06:00:13|COMMAND REQUESTED TO CANCEL PUBLIC WORKS 12-27-2025 06:09:26|3422 ENDING MILEAGE ON INGRAM 182690 12-27-2025 06:10:03|DISREGARD 3422 NOTE 12-27-2025 06:21:37|LAD3 RELEASED FROM SCENE ENROUTE TO STATION ONE FOR REFURB 12-27-2025 06:31:31|BOTH LANES OF MURRAY ARE REOPENED"
[2025-12-27 12:56:31] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2025-12-27 12:56:31] [INFO]   -> Found value: 12-27-2025T05:03:47
[2025-12-27 12:56:31] [INFO] Reformatted DD-MM-YYYY date '12-27-2025' (day=12, month=27) to ISO: 2025-27-12T05:03:47
[2025-12-27 12:56:31] [ERROR] Error formatting datetime '2025-27-12T05:03:47': Failed to parse time string (2025-27-12T05:03:47) at position 6 (7): Unexpected character
[2025-12-27 12:56:31] [INFO]   -> Set field 'alarm' = null
[2025-12-27 12:56:31] [INFO] Reformatted DD-MM-YYYY date '12-27-2025' (day=12, month=27) to ISO: 2025-27-12T05:03:47
[2025-12-27 12:56:31] [ERROR] Error formatting datetime '2025-27-12T05:03:47': Failed to parse time string (2025-27-12T05:03:47) at position 6 (7): Unexpected character
[2025-12-27 12:56:31] [INFO]   -> Set field 'dispatched' = null
[2025-12-27 12:56:31] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2025-12-27 12:56:31] [INFO]   -> Found value: 12-27-2025T05:03:47
[2025-12-27 12:56:31] [INFO] Reformatted DD-MM-YYYY date '12-27-2025' (day=12, month=27) to ISO: 2025-27-12T05:03:47
[2025-12-27 12:56:31] [ERROR] Error formatting datetime '2025-27-12T05:03:47': Failed to parse time string (2025-27-12T05:03:47) at position 6 (7): Unexpected character
[2025-12-27 12:56:31] [INFO]   -> Set field 'onScene' = null
[2025-12-27 12:56:31] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2025-12-27 12:56:31] [INFO]   -> Found value: 12-27-2025T06:55:56
[2025-12-27 12:56:31] [INFO] Reformatted DD-MM-YYYY date '12-27-2025' (day=12, month=27) to ISO: 2025-27-12T06:55:56
[2025-12-27 12:56:31] [ERROR] Error formatting datetime '2025-27-12T06:55:56': Failed to parse time string (2025-27-12T06:55:56) at position 6 (7): Unexpected character
[2025-12-27 12:56:31] [INFO]   -> Set field 'cleared' = null
[2025-12-27 12:56:31] [INFO] Reformatted DD-MM-YYYY date '12-27-2025' (day=12, month=27) to ISO: 2025-27-12T06:55:56
[2025-12-27 12:56:31] [ERROR] Error formatting datetime '2025-27-12T06:55:56': Failed to parse time string (2025-27-12T06:55:56) at position 6 (7): Unexpected character
[2025-12-27 12:56:31] [INFO]   -> Set field 'inService' = null
[2025-12-27 12:56:31] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2025-12-27 12:56:31] [INFO]   -> Found value: 1701
[2025-12-27 12:56:31] [INFO]   -> Set field 'cADVehicleID' = 1701
[2025-12-27 12:56:31] [INFO]   -> Set field 'name' = "1701"
[2025-12-27 12:56:31] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2025-12-27 12:56:31] [INFO]   -> Found value: 12-27-2025T05:13:04
[2025-12-27 12:56:31] [INFO] Reformatted DD-MM-YYYY date '12-27-2025' (day=12, month=27) to ISO: 2025-27-12T05:13:04
[2025-12-27 12:56:31] [ERROR] Error formatting datetime '2025-27-12T05:13:04': Failed to parse time string (2025-27-12T05:13:04) at position 6 (7): Unexpected character
[2025-12-27 12:56:31] [INFO]   -> Set field 'timeenroutetoscene' = null
[2025-12-27 12:56:31] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2025-12-27 12:56:31] [INFO]   -> No value found (null or empty)
[2025-12-27 12:56:31] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2025-12-27 12:56:31] [INFO]   -> Found value: 12-27-2025T06:55:56
[2025-12-27 12:56:31] [INFO] Reformatted DD-MM-YYYY date '12-27-2025' (day=12, month=27) to ISO: 2025-27-12T06:55:56
[2025-12-27 12:56:31] [ERROR] Error formatting datetime '2025-27-12T06:55:56': Failed to parse time string (2025-27-12T06:55:56) at position 6 (7): Unexpected character
[2025-12-27 12:56:31] [INFO]   -> Set field 'timeunitclear' = null
[2025-12-27 12:56:31] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2025-12-27 12:56:31] [INFO]   -> Found value: 12-27-2025T05:13:02
[2025-12-27 12:56:31] [INFO] Reformatted DD-MM-YYYY date '12-27-2025' (day=12, month=27) to ISO: 2025-27-12T05:13:02
[2025-12-27 12:56:31] [ERROR] Error formatting datetime '2025-27-12T05:13:02': Failed to parse time string (2025-27-12T05:13:02) at position 6 (7): Unexpected character
[2025-12-27 12:56:31] [INFO]   -> Set field 'timedispatch' = null
[2025-12-27 12:56:31] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2025-12-27 12:56:31] [INFO]   -> Found value: SCRFD
[2025-12-27 12:56:31] [INFO]   -> Set field 'cADAgencyIdentifier' = "SCRFD"
[2025-12-27 12:56:31] [INFO] Finished extracting fields. Total fields extracted: 23
[2025-12-27 12:56:31] [INFO] Built locationCoordinates from lat/lng: 0,0
[2025-12-27 12:56:31] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"25-31103","cADNumber":"25-31103","incidentLocationStreetNumber":839,"streetName":"MARY ST","incidentLocationCity":"SIKESTON","incidentLocationStateName":"MO","nERISIncidentPostalCode":63801,"nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"FIRE-STRUCTURE","dispatchNotes":"12-27-2025 05:04:11|HYDRANT AT MURRAY 12-27-2025 05:04:50|C78 HAS COMMAND 12-27-2025 05:07:49|FIRE STARTED TO SPREAD TO THE FENCE TO THE EAST TO THE ADJACENT PROPERTY 12-27-2025 05:08:00|CONTACTING BMU 12-27-2025 05:10:40|NEIGHBORING VEHICLE HAS CAUGHT FIRE 12-27-2025 05:13:49|2ND ALARM 12-27-2025 05:14:18|CONTACTING LIBERTY UTILITY 12-27-2025 05:17:01|LIVE ELECTRICAL ON THE GROUND COVERING DELTA 12-27-2025 05:22:25|RURAL SECOND PAGE 12-27-2025 05:24:21|BOTH LANES OF W MURRAY SHUT DOWN 12-27-2025 05:24:55|FIRE UNITS RESPONDING USE MURRAY 12-27-2025 05:26:18|1791 REPONDING WITH 2 12-27-2025 05:27:50|BMU ON SCENE 12-27-2025 05:32:11|1791 DOWNGRADING AND RESPONDING TO STATION 1 12-27-2025 05:33:15|1765 RESPONDING TO STATION 1 12-27-2025 05:37:27|GAS HAS BEEN SHUT DOWN BY PERSONNEL 12-27-2025 05:37:30|LIBERTY ON SCENE 12-27-2025 05:38:52|BOTH TRANSFORMERS HAS BEEN DISCONNECTED DUE TO DOWN LINE 12-27-2025 05:45:41|1765 AT STATION 1 12-27-2025 05:52:44|COMMAND REQUESTED CONTACT ON CALL PUBLIC WORKS FOR BACKHOE TO BE BROUGHT TO LOCATION 12-27-2025 06:00:13|COMMAND REQUESTED TO CANCEL PUBLIC WORKS 12-27-2025 06:09:26|3422 ENDING MILEAGE ON INGRAM 182690 12-27-2025 06:10:03|DISREGARD 3422 NOTE 12-27-2025 06:21:37|LAD3 RELEASED FROM SCENE ENROUTE TO STATION ONE FOR REFURB 12-27-2025 06:31:31|BOTH LANES OF MURRAY ARE REOPENED","cADLog":"12-27-2025 05:04:11|HYDRANT AT MURRAY 12-27-2025 05:04:50|C78 HAS COMMAND 12-27-2025 05:07:49|FIRE STARTED TO SPREAD TO THE FENCE TO THE EAST TO THE ADJACENT PROPERTY 12-27-2025 05:08:00|CONTACTING BMU 12-27-2025 05:10:40|NEIGHBORING VEHICLE HAS CAUGHT FIRE 12-27-2025 05:13:49|2ND ALARM 12-27-2025 05:14:18|CONTACTING LIBERTY UTILITY 12-27-2025 05:17:01|LIVE ELECTRICAL ON THE GROUND COVERING DELTA 12-27-2025 05:22:25|RURAL SECOND PAGE 12-27-2025 05:24:21|BOTH LANES OF W MURRAY SHUT DOWN 12-27-2025 05:24:55|FIRE UNITS RESPONDING USE MURRAY 12-27-2025 05:26:18|1791 REPONDING WITH 2 12-27-2025 05:27:50|BMU ON SCENE 12-27-2025 05:32:11|1791 DOWNGRADING AND RESPONDING TO STATION 1 12-27-2025 05:33:15|1765 RESPONDING TO STATION 1 12-27-2025 05:37:27|GAS HAS BEEN SHUT DOWN BY PERSONNEL 12-27-2025 05:37:30|LIBERTY ON SCENE 12-27-2025 05:38:52|BOTH TRANSFORMERS HAS BEEN DISCONNECTED DUE TO DOWN LINE 12-27-2025 05:45:41|1765 AT STATION 1 12-27-2025 05:52:44|COMMAND REQUESTED CONTACT ON CALL PUBLIC WORKS FOR BACKHOE TO BE BROUGHT TO LOCATION 12-27-2025 06:00:13|COMMAND REQUESTED TO CANCEL PUBLIC WORKS 12-27-2025 06:09:26|3422 ENDING MILEAGE ON INGRAM 182690 12-27-2025 06:10:03|DISREGARD 3422 NOTE 12-27-2025 06:21:37|LAD3 RELEASED FROM SCENE ENROUTE TO STATION ONE FOR REFURB 12-27-2025 06:31:31|BOTH LANES OF MURRAY ARE REOPENED","alarm":null,"dispatched":null,"onScene":null,"cleared":null,"inService":null,"cADVehicleID":1701,"name":"1701","timeenroutetoscene":null,"timeunitclear":null,"timedispatch":null,"cADAgencyIdentifier":"SCRFD","locationCoordinates":"0,0"}
[2025-12-27 12:56:31] [INFO] Number of extracted fields: 24
[2025-12-27 12:56:31] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SCRFD'
[2025-12-27 12:56:31] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SCRFD', Parsed IDs = ["SCRFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 2
[2025-12-27 12:56:31] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SCRFD"]
[2025-12-27 12:56:31] [INFO] Attempting SAASClient lookup for AgencyCode 'SCRFD' (index 0) within mailbox's assigned agencies
[2025-12-27 12:56:31] [INFO] SUCCESS: Routed to agency 'Scott County Rural Fire Protection District' (ID: 6643bdb30659f00d8) at INDEX 0 based on AgencyCode 'SCRFD'
[2025-12-27 12:56:31] [INFO] Fetched 6 stations from Stations module for agency 'Scott County Rural Fire Protection District': ["690279491710f7b8e","6644dbe7e17f1c3de","6644dbb3886c9768f","6644d0c9be0e4ec53","6644e2fe1572c01ae","69027d47e7c4fc65b"]
[2025-12-27 12:56:31] [INFO] Final routing: saasclientId = 6643bdb30659f00d8, dispatchStationsIds = ["690279491710f7b8e","6644dbe7e17f1c3de","6644dbb3886c9768f","6644d0c9be0e4ec53","6644e2fe1572c01ae","69027d47e7c4fc65b"], matchedAgencyIndex = 0
[2025-12-27 12:56:31] [INFO] Updated FTPFiles record saasclientId to routed agency: 6643bdb30659f00d8
[2025-12-27 12:56:32] [INFO] Found existing IncidentTypeMapping with ID: 6949a536db3ccf5b5
[2025-12-27 12:56:44] [INFO] Created new Dispatches record with ID: 694fd7807eb04095f
[2025-12-27 12:56:44] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_25-31103.xml
[2025-12-27 12:56:44] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_25-31103.xml
[2025-12-27 12:56:44] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-31103.xml
[2025-12-27 12:56:44] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-31103.xml for user: 68d56363ec1209189
[2025-12-27 12:56:44] [INFO] File size: 3432 bytes
[2025-12-27 12:56:45] [INFO] Created FTPFiles record with ID: 694fd78d179bbd840
[2025-12-27 12:56:45] [INFO] About to extract fields from XML. File size: 3432 bytes
[2025-12-27 12:56:45] [INFO] Number of mappings: 21
[2025-12-27 12:56:45] [INFO] Starting XML parsing. Content length: 3432
[2025-12-27 12:56:45] [INFO] XML parsed successfully. Root element: Incident
[2025-12-27 12:56:45] [INFO] Processing 21 field mappings
[2025-12-27 12:56:45] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2025-12-27 12:56:45] [INFO]   -> Found value: 25-31103
[2025-12-27 12:56:45] [INFO]   -> Set field 'dispatchRunNumber' = "25-31103"
[2025-12-27 12:56:45] [INFO]   -> Set field 'cADNumber' = "25-31103"
[2025-12-27 12:56:45] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2025-12-27 12:56:45] [INFO]   -> Found value: 839
[2025-12-27 12:56:45] [INFO]   -> Set field 'incidentLocationStreetNumber' = 839
[2025-12-27 12:56:45] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2025-12-27 12:56:45] [INFO]   -> Found value: MARY ST
[2025-12-27 12:56:45] [INFO]   -> Set field 'streetName' = "MARY ST"
[2025-12-27 12:56:45] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2025-12-27 12:56:45] [INFO]   -> No value found (null or empty)
[2025-12-27 12:56:45] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2025-12-27 12:56:45] [INFO]   -> Found value: SIKESTON
[2025-12-27 12:56:45] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2025-12-27 12:56:45] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2025-12-27 12:56:45] [INFO]   -> No value found (null or empty)
[2025-12-27 12:56:45] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2025-12-27 12:56:45] [INFO]   -> Found value: MO
[2025-12-27 12:56:45] [INFO]   -> Set field 'incidentLocationStateName' = "MO"
[2025-12-27 12:56:45] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2025-12-27 12:56:45] [INFO]   -> Found value: 63801
[2025-12-27 12:56:45] [INFO]   -> Set field 'nERISIncidentPostalCode' = 63801
[2025-12-27 12:56:45] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2025-12-27 12:56:45] [INFO]   -> Found value: 0
[2025-12-27 12:56:45] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2025-12-27 12:56:45] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2025-12-27 12:56:45] [INFO]   -> Found value: 0
[2025-12-27 12:56:45] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2025-12-27 12:56:45] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2025-12-27 12:56:45] [INFO]   -> Found value: FIRE-STRUCTURE
[2025-12-27 12:56:45] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE-STRUCTURE"
[2025-12-27 12:56:45] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2025-12-27 12:56:45] [INFO]   -> Found value: 12-27-2025 05:04:11|HYDRANT AT MURRAY 12-27-2025 05:04:50|C78 HAS COMMAND 12-27-2025 05:07:49|FIRE S...
[2025-12-27 12:56:45] [INFO]   -> Set field 'dispatchNotes' = "12-27-2025 05:04:11|HYDRANT AT MURRAY 12-27-2025 05:04:50|C78 HAS COMMAND 12-27-2025 05:07:49|FIRE STARTED TO SPREAD TO THE FENCE TO THE EAST TO THE ADJACENT PROPERTY 12-27-2025 05:08:00|CONTACTING BMU 12-27-2025 05:10:40|NEIGHBORING VEHICLE HAS CAUGHT FIRE 12-27-2025 05:13:49|2ND ALARM 12-27-2025 05:14:18|CONTACTING LIBERTY UTILITY 12-27-2025 05:17:01|LIVE ELECTRICAL ON THE GROUND COVERING DELTA 12-27-2025 05:22:25|RURAL SECOND PAGE 12-27-2025 05:24:21|BOTH LANES OF W MURRAY SHUT DOWN 12-27-2025 05:24:55|FIRE UNITS RESPONDING USE MURRAY 12-27-2025 05:26:18|1791 REPONDING WITH 2 12-27-2025 05:27:50|BMU ON SCENE 12-27-2025 05:32:11|1791 DOWNGRADING AND RESPONDING TO STATION 1 12-27-2025 05:33:15|1765 RESPONDING TO STATION 1 12-27-2025 05:37:27|GAS HAS BEEN SHUT DOWN BY PERSONNEL 12-27-2025 05:37:30|LIBERTY ON SCENE 12-27-2025 05:38:52|BOTH TRANSFORMERS HAS BEEN DISCONNECTED DUE TO DOWN LINE 12-27-2025 05:45:41|1765 AT STATION 1 12-27-2025 05:52:44|COMMAND REQUESTED CONTACT ON CALL PUBLIC WORKS FOR BACKHOE TO BE BROUGHT TO LOCATION 12-27-2025 06:00:13|COMMAND REQUESTED TO CANCEL PUBLIC WORKS 12-27-2025 06:09:26|3422 ENDING MILEAGE ON INGRAM 182690 12-27-2025 06:10:03|DISREGARD 3422 NOTE 12-27-2025 06:21:37|LAD3 RELEASED FROM SCENE ENROUTE TO STATION ONE FOR REFURB 12-27-2025 06:31:31|BOTH LANES OF MURRAY ARE REOPENED"
[2025-12-27 12:56:45] [INFO]   -> Set field 'cADLog' = "12-27-2025 05:04:11|HYDRANT AT MURRAY 12-27-2025 05:04:50|C78 HAS COMMAND 12-27-2025 05:07:49|FIRE STARTED TO SPREAD TO THE FENCE TO THE EAST TO THE ADJACENT PROPERTY 12-27-2025 05:08:00|CONTACTING BMU 12-27-2025 05:10:40|NEIGHBORING VEHICLE HAS CAUGHT FIRE 12-27-2025 05:13:49|2ND ALARM 12-27-2025 05:14:18|CONTACTING LIBERTY UTILITY 12-27-2025 05:17:01|LIVE ELECTRICAL ON THE GROUND COVERING DELTA 12-27-2025 05:22:25|RURAL SECOND PAGE 12-27-2025 05:24:21|BOTH LANES OF W MURRAY SHUT DOWN 12-27-2025 05:24:55|FIRE UNITS RESPONDING USE MURRAY 12-27-2025 05:26:18|1791 REPONDING WITH 2 12-27-2025 05:27:50|BMU ON SCENE 12-27-2025 05:32:11|1791 DOWNGRADING AND RESPONDING TO STATION 1 12-27-2025 05:33:15|1765 RESPONDING TO STATION 1 12-27-2025 05:37:27|GAS HAS BEEN SHUT DOWN BY PERSONNEL 12-27-2025 05:37:30|LIBERTY ON SCENE 12-27-2025 05:38:52|BOTH TRANSFORMERS HAS BEEN DISCONNECTED DUE TO DOWN LINE 12-27-2025 05:45:41|1765 AT STATION 1 12-27-2025 05:52:44|COMMAND REQUESTED CONTACT ON CALL PUBLIC WORKS FOR BACKHOE TO BE BROUGHT TO LOCATION 12-27-2025 06:00:13|COMMAND REQUESTED TO CANCEL PUBLIC WORKS 12-27-2025 06:09:26|3422 ENDING MILEAGE ON INGRAM 182690 12-27-2025 06:10:03|DISREGARD 3422 NOTE 12-27-2025 06:21:37|LAD3 RELEASED FROM SCENE ENROUTE TO STATION ONE FOR REFURB 12-27-2025 06:31:31|BOTH LANES OF MURRAY ARE REOPENED"
[2025-12-27 12:56:45] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2025-12-27 12:56:45] [INFO]   -> Found value: 12-27-2025T05:03:47
[2025-12-27 12:56:45] [INFO] Reformatted DD-MM-YYYY date '12-27-2025' (day=12, month=27) to ISO: 2025-27-12T05:03:47
[2025-12-27 12:56:45] [ERROR] Error formatting datetime '2025-27-12T05:03:47': Failed to parse time string (2025-27-12T05:03:47) at position 6 (7): Unexpected character
[2025-12-27 12:56:45] [INFO]   -> Set field 'alarm' = null
[2025-12-27 12:56:45] [INFO] Reformatted DD-MM-YYYY date '12-27-2025' (day=12, month=27) to ISO: 2025-27-12T05:03:47
[2025-12-27 12:56:45] [ERROR] Error formatting datetime '2025-27-12T05:03:47': Failed to parse time string (2025-27-12T05:03:47) at position 6 (7): Unexpected character
[2025-12-27 12:56:45] [INFO]   -> Set field 'dispatched' = null
[2025-12-27 12:56:45] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2025-12-27 12:56:45] [INFO]   -> Found value: 12-27-2025T05:03:47
[2025-12-27 12:56:45] [INFO] Reformatted DD-MM-YYYY date '12-27-2025' (day=12, month=27) to ISO: 2025-27-12T05:03:47
[2025-12-27 12:56:45] [ERROR] Error formatting datetime '2025-27-12T05:03:47': Failed to parse time string (2025-27-12T05:03:47) at position 6 (7): Unexpected character
[2025-12-27 12:56:45] [INFO]   -> Set field 'onScene' = null
[2025-12-27 12:56:45] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2025-12-27 12:56:45] [INFO]   -> Found value: 12-27-2025T06:55:56
[2025-12-27 12:56:45] [INFO] Reformatted DD-MM-YYYY date '12-27-2025' (day=12, month=27) to ISO: 2025-27-12T06:55:56
[2025-12-27 12:56:45] [ERROR] Error formatting datetime '2025-27-12T06:55:56': Failed to parse time string (2025-27-12T06:55:56) at position 6 (7): Unexpected character
[2025-12-27 12:56:45] [INFO]   -> Set field 'cleared' = null
[2025-12-27 12:56:45] [INFO] Reformatted DD-MM-YYYY date '12-27-2025' (day=12, month=27) to ISO: 2025-27-12T06:55:56
[2025-12-27 12:56:45] [ERROR] Error formatting datetime '2025-27-12T06:55:56': Failed to parse time string (2025-27-12T06:55:56) at position 6 (7): Unexpected character
[2025-12-27 12:56:45] [INFO]   -> Set field 'inService' = null
[2025-12-27 12:56:45] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2025-12-27 12:56:45] [INFO]   -> Found value: L3
[2025-12-27 12:56:45] [INFO]   -> Set field 'cADVehicleID' = "L3"
[2025-12-27 12:56:45] [INFO]   -> Set field 'name' = "L3"
[2025-12-27 12:56:45] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2025-12-27 12:56:45] [INFO]   -> No value found (null or empty)
[2025-12-27 12:56:45] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2025-12-27 12:56:45] [INFO]   -> Found value: 12-27-2025T05:11:00
[2025-12-27 12:56:45] [INFO] Reformatted DD-MM-YYYY date '12-27-2025' (day=12, month=27) to ISO: 2025-27-12T05:11:00
[2025-12-27 12:56:45] [ERROR] Error formatting datetime '2025-27-12T05:11:00': Failed to parse time string (2025-27-12T05:11:00) at position 6 (7): Unexpected character
[2025-12-27 12:56:45] [INFO]   -> Set field 'timeonscene' = null
[2025-12-27 12:56:45] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2025-12-27 12:56:45] [INFO]   -> Found value: 12-27-2025T06:55:56
[2025-12-27 12:56:45] [INFO] Reformatted DD-MM-YYYY date '12-27-2025' (day=12, month=27) to ISO: 2025-27-12T06:55:56
[2025-12-27 12:56:45] [ERROR] Error formatting datetime '2025-27-12T06:55:56': Failed to parse time string (2025-27-12T06:55:56) at position 6 (7): Unexpected character
[2025-12-27 12:56:45] [INFO]   -> Set field 'timeunitclear' = null
[2025-12-27 12:56:45] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2025-12-27 12:56:45] [INFO]   -> Found value: 12-27-2025T05:10:57
[2025-12-27 12:56:45] [INFO] Reformatted DD-MM-YYYY date '12-27-2025' (day=12, month=27) to ISO: 2025-27-12T05:10:57
[2025-12-27 12:56:45] [ERROR] Error formatting datetime '2025-27-12T05:10:57': Failed to parse time string (2025-27-12T05:10:57) at position 6 (7): Unexpected character
[2025-12-27 12:56:45] [INFO]   -> Set field 'timedispatch' = null
[2025-12-27 12:56:45] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2025-12-27 12:56:45] [INFO]   -> Found value: SDPSFD
[2025-12-27 12:56:45] [INFO]   -> Set field 'cADAgencyIdentifier' = "SDPSFD"
[2025-12-27 12:56:45] [INFO] Finished extracting fields. Total fields extracted: 23
[2025-12-27 12:56:45] [INFO] Built locationCoordinates from lat/lng: 0,0
[2025-12-27 12:56:45] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"25-31103","cADNumber":"25-31103","incidentLocationStreetNumber":839,"streetName":"MARY ST","incidentLocationCity":"SIKESTON","incidentLocationStateName":"MO","nERISIncidentPostalCode":63801,"nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"FIRE-STRUCTURE","dispatchNotes":"12-27-2025 05:04:11|HYDRANT AT MURRAY 12-27-2025 05:04:50|C78 HAS COMMAND 12-27-2025 05:07:49|FIRE STARTED TO SPREAD TO THE FENCE TO THE EAST TO THE ADJACENT PROPERTY 12-27-2025 05:08:00|CONTACTING BMU 12-27-2025 05:10:40|NEIGHBORING VEHICLE HAS CAUGHT FIRE 12-27-2025 05:13:49|2ND ALARM 12-27-2025 05:14:18|CONTACTING LIBERTY UTILITY 12-27-2025 05:17:01|LIVE ELECTRICAL ON THE GROUND COVERING DELTA 12-27-2025 05:22:25|RURAL SECOND PAGE 12-27-2025 05:24:21|BOTH LANES OF W MURRAY SHUT DOWN 12-27-2025 05:24:55|FIRE UNITS RESPONDING USE MURRAY 12-27-2025 05:26:18|1791 REPONDING WITH 2 12-27-2025 05:27:50|BMU ON SCENE 12-27-2025 05:32:11|1791 DOWNGRADING AND RESPONDING TO STATION 1 12-27-2025 05:33:15|1765 RESPONDING TO STATION 1 12-27-2025 05:37:27|GAS HAS BEEN SHUT DOWN BY PERSONNEL 12-27-2025 05:37:30|LIBERTY ON SCENE 12-27-2025 05:38:52|BOTH TRANSFORMERS HAS BEEN DISCONNECTED DUE TO DOWN LINE 12-27-2025 05:45:41|1765 AT STATION 1 12-27-2025 05:52:44|COMMAND REQUESTED CONTACT ON CALL PUBLIC WORKS FOR BACKHOE TO BE BROUGHT TO LOCATION 12-27-2025 06:00:13|COMMAND REQUESTED TO CANCEL PUBLIC WORKS 12-27-2025 06:09:26|3422 ENDING MILEAGE ON INGRAM 182690 12-27-2025 06:10:03|DISREGARD 3422 NOTE 12-27-2025 06:21:37|LAD3 RELEASED FROM SCENE ENROUTE TO STATION ONE FOR REFURB 12-27-2025 06:31:31|BOTH LANES OF MURRAY ARE REOPENED","cADLog":"12-27-2025 05:04:11|HYDRANT AT MURRAY 12-27-2025 05:04:50|C78 HAS COMMAND 12-27-2025 05:07:49|FIRE STARTED TO SPREAD TO THE FENCE TO THE EAST TO THE ADJACENT PROPERTY 12-27-2025 05:08:00|CONTACTING BMU 12-27-2025 05:10:40|NEIGHBORING VEHICLE HAS CAUGHT FIRE 12-27-2025 05:13:49|2ND ALARM 12-27-2025 05:14:18|CONTACTING LIBERTY UTILITY 12-27-2025 05:17:01|LIVE ELECTRICAL ON THE GROUND COVERING DELTA 12-27-2025 05:22:25|RURAL SECOND PAGE 12-27-2025 05:24:21|BOTH LANES OF W MURRAY SHUT DOWN 12-27-2025 05:24:55|FIRE UNITS RESPONDING USE MURRAY 12-27-2025 05:26:18|1791 REPONDING WITH 2 12-27-2025 05:27:50|BMU ON SCENE 12-27-2025 05:32:11|1791 DOWNGRADING AND RESPONDING TO STATION 1 12-27-2025 05:33:15|1765 RESPONDING TO STATION 1 12-27-2025 05:37:27|GAS HAS BEEN SHUT DOWN BY PERSONNEL 12-27-2025 05:37:30|LIBERTY ON SCENE 12-27-2025 05:38:52|BOTH TRANSFORMERS HAS BEEN DISCONNECTED DUE TO DOWN LINE 12-27-2025 05:45:41|1765 AT STATION 1 12-27-2025 05:52:44|COMMAND REQUESTED CONTACT ON CALL PUBLIC WORKS FOR BACKHOE TO BE BROUGHT TO LOCATION 12-27-2025 06:00:13|COMMAND REQUESTED TO CANCEL PUBLIC WORKS 12-27-2025 06:09:26|3422 ENDING MILEAGE ON INGRAM 182690 12-27-2025 06:10:03|DISREGARD 3422 NOTE 12-27-2025 06:21:37|LAD3 RELEASED FROM SCENE ENROUTE TO STATION ONE FOR REFURB 12-27-2025 06:31:31|BOTH LANES OF MURRAY ARE REOPENED","alarm":null,"dispatched":null,"onScene":null,"cleared":null,"inService":null,"cADVehicleID":"L3","name":"L3","timeonscene":null,"timeunitclear":null,"timedispatch":null,"cADAgencyIdentifier":"SDPSFD","locationCoordinates":"0,0"}
[2025-12-27 12:56:45] [INFO] Number of extracted fields: 24
[2025-12-27 12:56:45] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SDPSFD'
[2025-12-27 12:56:45] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SDPSFD', Parsed IDs = ["SDPSFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 2
[2025-12-27 12:56:45] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SDPSFD"]
[2025-12-27 12:56:45] [INFO] Attempting SAASClient lookup for AgencyCode 'SDPSFD' (index 0) within mailbox's assigned agencies
[2025-12-27 12:56:45] [INFO] SUCCESS: Routed to agency 'Sikeston DPS' (ID: 6772cab7157b2ebde) at INDEX 0 based on AgencyCode 'SDPSFD'
[2025-12-27 12:56:45] [INFO] Fetched 4 stations from Stations module for agency 'Sikeston DPS': ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"]
[2025-12-27 12:56:45] [INFO] Final routing: saasclientId = 6772cab7157b2ebde, dispatchStationsIds = ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"], matchedAgencyIndex = 0
[2025-12-27 12:56:45] [INFO] Multi-agency routing matched mailbox default agency: 6772cab7157b2ebde (no update needed)
[2025-12-27 12:56:45] [INFO] Found existing IncidentTypeMapping with ID: 68e4158e868e55c0c
[2025-12-27 12:56:47] [INFO] Created new Dispatches record with ID: 694fd78dcebea5817
[2025-12-27 12:56:47] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-31103.xml
[2025-12-27 12:56:47] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-31103.xml
[2025-12-27 13:38:02] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-31097.xml
[2025-12-27 13:38:02] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-31097.xml for user: 68d56363ec1209189
[2025-12-27 13:38:02] [INFO] File size: 2065 bytes
[2025-12-27 13:38:03] [INFO] Created FTPFiles record with ID: 694fe13b2d2d2b7df
[2025-12-27 13:38:03] [INFO] About to extract fields from XML. File size: 2065 bytes
[2025-12-27 13:38:03] [INFO] Number of mappings: 21
[2025-12-27 13:38:03] [INFO] Starting XML parsing. Content length: 2065
[2025-12-27 13:38:03] [INFO] XML parsed successfully. Root element: Incident
[2025-12-27 13:38:03] [INFO] Processing 21 field mappings
[2025-12-27 13:38:03] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2025-12-27 13:38:03] [INFO]   -> Found value: 25-31097
[2025-12-27 13:38:03] [INFO]   -> Set field 'dispatchRunNumber' = "25-31097"
[2025-12-27 13:38:03] [INFO]   -> Set field 'cADNumber' = "25-31097"
[2025-12-27 13:38:03] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2025-12-27 13:38:03] [INFO]   -> Found value: 301
[2025-12-27 13:38:03] [INFO]   -> Set field 'incidentLocationStreetNumber' = 301
[2025-12-27 13:38:03] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2025-12-27 13:38:03] [INFO]   -> Found value: N WEST ST
[2025-12-27 13:38:03] [INFO]   -> Set field 'streetName' = "N WEST ST"
[2025-12-27 13:38:03] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2025-12-27 13:38:03] [INFO]   -> No value found (null or empty)
[2025-12-27 13:38:03] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2025-12-27 13:38:03] [INFO]   -> Found value: SIKESTON
[2025-12-27 13:38:03] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2025-12-27 13:38:03] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2025-12-27 13:38:03] [INFO]   -> Found value: FIRE STATION 1
[2025-12-27 13:38:03] [INFO]   -> Set field 'businessName' = "FIRE STATION 1"
[2025-12-27 13:38:03] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2025-12-27 13:38:03] [INFO]   -> Found value: MO
[2025-12-27 13:38:03] [INFO]   -> Set field 'incidentLocationStateName' = "MO"
[2025-12-27 13:38:03] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2025-12-27 13:38:03] [INFO]   -> Found value: 63801
[2025-12-27 13:38:03] [INFO]   -> Set field 'nERISIncidentPostalCode' = 63801
[2025-12-27 13:38:03] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2025-12-27 13:38:03] [INFO]   -> Found value: 0
[2025-12-27 13:38:03] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2025-12-27 13:38:03] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2025-12-27 13:38:03] [INFO]   -> Found value: 0
[2025-12-27 13:38:03] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2025-12-27 13:38:03] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2025-12-27 13:38:03] [INFO]   -> Found value: HSRT DEPLOYMENT
[2025-12-27 13:38:03] [INFO]   -> Set field 'incidentTypeValue1' = "HSRT DEPLOYMENT"
[2025-12-27 13:38:03] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2025-12-27 13:38:03] [INFO]   -> Found value: 12-27-2025 03:03:43|STATE HIGHWAY 25
SOUTH OF COUNTY ROAD 503 A
MVA WITH VEHICLE SUBMERGED IN THE CA...
[2025-12-27 13:38:03] [INFO]   -> Set field 'dispatchNotes' = "12-27-2025 03:03:43|STATE HIGHWAY 25\nSOUTH OF COUNTY ROAD 503 A\nMVA WITH VEHICLE SUBMERGED IN THE CASTOR RIVER \nCONTACTED CAPT. HASKINS @ 02:56  12-27-2025 03:38:32|PAGE 12-27-2025 04:00:34|ZERO CURRENT 12-27-2025 04:01:32|20-25 FT FROM THE BANK 12-27-2025 04:08:55|MSHP CONTACTED AND ADVISED TO CANCEL DIVE TEAM 12-27-2025 04:12:33|C84 NOTIFIED AT STATION 1 12-27-2025 04:12:51|Disposition - SDPS FD:  RPT 12-27-2025 04:20:18|C84 SPOKE TO OTHER HSRT MEMBERS ON SCENE 12-27-2025 04:20:27|REQUESTED FOR THEM TO CONTINUE 12-27-2025 04:20:43|C84 537 & 557 ARE EN ROUTE 12-27-2025 04:21:41|CORRECTION 554 12-27-2025 06:23:35|UNITS CLEAR THE SCENE 12-27-2025 06:23:40|RETURNING TO SIKESTON 12-27-2025 07:14:30|Disposition - SDPS PD:  RPT"
[2025-12-27 13:38:03] [INFO]   -> Set field 'cADLog' = "12-27-2025 03:03:43|STATE HIGHWAY 25\nSOUTH OF COUNTY ROAD 503 A\nMVA WITH VEHICLE SUBMERGED IN THE CASTOR RIVER \nCONTACTED CAPT. HASKINS @ 02:56  12-27-2025 03:38:32|PAGE 12-27-2025 04:00:34|ZERO CURRENT 12-27-2025 04:01:32|20-25 FT FROM THE BANK 12-27-2025 04:08:55|MSHP CONTACTED AND ADVISED TO CANCEL DIVE TEAM 12-27-2025 04:12:33|C84 NOTIFIED AT STATION 1 12-27-2025 04:12:51|Disposition - SDPS FD:  RPT 12-27-2025 04:20:18|C84 SPOKE TO OTHER HSRT MEMBERS ON SCENE 12-27-2025 04:20:27|REQUESTED FOR THEM TO CONTINUE 12-27-2025 04:20:43|C84 537 & 557 ARE EN ROUTE 12-27-2025 04:21:41|CORRECTION 554 12-27-2025 06:23:35|UNITS CLEAR THE SCENE 12-27-2025 06:23:40|RETURNING TO SIKESTON 12-27-2025 07:14:30|Disposition - SDPS PD:  RPT"
[2025-12-27 13:38:03] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2025-12-27 13:38:03] [INFO]   -> Found value: 12-27-2025T03:38:27
[2025-12-27 13:38:03] [INFO] Reformatted DD-MM-YYYY date '12-27-2025' (day=12, month=27) to ISO: 2025-27-12T03:38:27
[2025-12-27 13:38:03] [ERROR] Error formatting datetime '2025-27-12T03:38:27': Failed to parse time string (2025-27-12T03:38:27) at position 6 (7): Unexpected character
[2025-12-27 13:38:03] [INFO]   -> Set field 'alarm' = null
[2025-12-27 13:38:03] [INFO] Reformatted DD-MM-YYYY date '12-27-2025' (day=12, month=27) to ISO: 2025-27-12T03:38:27
[2025-12-27 13:38:03] [ERROR] Error formatting datetime '2025-27-12T03:38:27': Failed to parse time string (2025-27-12T03:38:27) at position 6 (7): Unexpected character
[2025-12-27 13:38:03] [INFO]   -> Set field 'dispatched' = null
[2025-12-27 13:38:03] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2025-12-27 13:38:03] [INFO]   -> Found value: 12-27-2025T04:41:14
[2025-12-27 13:38:03] [INFO] Reformatted DD-MM-YYYY date '12-27-2025' (day=12, month=27) to ISO: 2025-27-12T04:41:14
[2025-12-27 13:38:03] [ERROR] Error formatting datetime '2025-27-12T04:41:14': Failed to parse time string (2025-27-12T04:41:14) at position 6 (7): Unexpected character
[2025-12-27 13:38:03] [INFO]   -> Set field 'onScene' = null
[2025-12-27 13:38:03] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2025-12-27 13:38:03] [INFO]   -> Found value: 12-27-2025T07:14:27
[2025-12-27 13:38:03] [INFO] Reformatted DD-MM-YYYY date '12-27-2025' (day=12, month=27) to ISO: 2025-27-12T07:14:27
[2025-12-27 13:38:03] [ERROR] Error formatting datetime '2025-27-12T07:14:27': Failed to parse time string (2025-27-12T07:14:27) at position 6 (7): Unexpected character
[2025-12-27 13:38:03] [INFO]   -> Set field 'cleared' = null
[2025-12-27 13:38:03] [INFO] Reformatted DD-MM-YYYY date '12-27-2025' (day=12, month=27) to ISO: 2025-27-12T07:14:27
[2025-12-27 13:38:03] [ERROR] Error formatting datetime '2025-27-12T07:14:27': Failed to parse time string (2025-27-12T07:14:27) at position 6 (7): Unexpected character
[2025-12-27 13:38:03] [INFO]   -> Set field 'inService' = null
[2025-12-27 13:38:03] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2025-12-27 13:38:03] [INFO]   -> Found value: HSRT
[2025-12-27 13:38:03] [INFO]   -> Set field 'cADVehicleID' = "HSRT"
[2025-12-27 13:38:03] [INFO]   -> Set field 'name' = "HSRT"
[2025-12-27 13:38:03] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2025-12-27 13:38:03] [INFO]   -> No value found (null or empty)
[2025-12-27 13:38:03] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2025-12-27 13:38:03] [INFO]   -> No value found (null or empty)
[2025-12-27 13:38:03] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2025-12-27 13:38:03] [INFO]   -> Found value: 12-27-2025T04:12:37
[2025-12-27 13:38:03] [INFO] Reformatted DD-MM-YYYY date '12-27-2025' (day=12, month=27) to ISO: 2025-27-12T04:12:37
[2025-12-27 13:38:03] [ERROR] Error formatting datetime '2025-27-12T04:12:37': Failed to parse time string (2025-27-12T04:12:37) at position 6 (7): Unexpected character
[2025-12-27 13:38:03] [INFO]   -> Set field 'timeunitclear' = null
[2025-12-27 13:38:03] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2025-12-27 13:38:03] [INFO]   -> Found value: 12-27-2025T03:38:27
[2025-12-27 13:38:03] [INFO] Reformatted DD-MM-YYYY date '12-27-2025' (day=12, month=27) to ISO: 2025-27-12T03:38:27
[2025-12-27 13:38:03] [ERROR] Error formatting datetime '2025-27-12T03:38:27': Failed to parse time string (2025-27-12T03:38:27) at position 6 (7): Unexpected character
[2025-12-27 13:38:03] [INFO]   -> Set field 'timedispatch' = null
[2025-12-27 13:38:03] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2025-12-27 13:38:03] [INFO]   -> Found value: SDPSFD
[2025-12-27 13:38:03] [INFO]   -> Set field 'cADAgencyIdentifier' = "SDPSFD"
[2025-12-27 13:38:03] [INFO] Finished extracting fields. Total fields extracted: 23
[2025-12-27 13:38:03] [INFO] Built locationCoordinates from lat/lng: 0,0
[2025-12-27 13:38:03] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"25-31097","cADNumber":"25-31097","incidentLocationStreetNumber":301,"streetName":"N WEST ST","incidentLocationCity":"SIKESTON","businessName":"FIRE STATION 1","incidentLocationStateName":"MO","nERISIncidentPostalCode":63801,"nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"HSRT DEPLOYMENT","dispatchNotes":"12-27-2025 03:03:43|STATE HIGHWAY 25\nSOUTH OF COUNTY ROAD 503 A\nMVA WITH VEHICLE SUBMERGED IN THE CASTOR RIVER \nCONTACTED CAPT. HASKINS @ 02:56  12-27-2025 03:38:32|PAGE 12-27-2025 04:00:34|ZERO CURRENT 12-27-2025 04:01:32|20-25 FT FROM THE BANK 12-27-2025 04:08:55|MSHP CONTACTED AND ADVISED TO CANCEL DIVE TEAM 12-27-2025 04:12:33|C84 NOTIFIED AT STATION 1 12-27-2025 04:12:51|Disposition - SDPS FD:  RPT 12-27-2025 04:20:18|C84 SPOKE TO OTHER HSRT MEMBERS ON SCENE 12-27-2025 04:20:27|REQUESTED FOR THEM TO CONTINUE 12-27-2025 04:20:43|C84 537 & 557 ARE EN ROUTE 12-27-2025 04:21:41|CORRECTION 554 12-27-2025 06:23:35|UNITS CLEAR THE SCENE 12-27-2025 06:23:40|RETURNING TO SIKESTON 12-27-2025 07:14:30|Disposition - SDPS PD:  RPT","cADLog":"12-27-2025 03:03:43|STATE HIGHWAY 25\nSOUTH OF COUNTY ROAD 503 A\nMVA WITH VEHICLE SUBMERGED IN THE CASTOR RIVER \nCONTACTED CAPT. HASKINS @ 02:56  12-27-2025 03:38:32|PAGE 12-27-2025 04:00:34|ZERO CURRENT 12-27-2025 04:01:32|20-25 FT FROM THE BANK 12-27-2025 04:08:55|MSHP CONTACTED AND ADVISED TO CANCEL DIVE TEAM 12-27-2025 04:12:33|C84 NOTIFIED AT STATION 1 12-27-2025 04:12:51|Disposition - SDPS FD:  RPT 12-27-2025 04:20:18|C84 SPOKE TO OTHER HSRT MEMBERS ON SCENE 12-27-2025 04:20:27|REQUESTED FOR THEM TO CONTINUE 12-27-2025 04:20:43|C84 537 & 557 ARE EN ROUTE 12-27-2025 04:21:41|CORRECTION 554 12-27-2025 06:23:35|UNITS CLEAR THE SCENE 12-27-2025 06:23:40|RETURNING TO SIKESTON 12-27-2025 07:14:30|Disposition - SDPS PD:  RPT","alarm":null,"dispatched":null,"onScene":null,"cleared":null,"inService":null,"cADVehicleID":"HSRT","name":"HSRT","timeunitclear":null,"timedispatch":null,"cADAgencyIdentifier":"SDPSFD","locationCoordinates":"0,0"}
[2025-12-27 13:38:03] [INFO] Number of extracted fields: 24
[2025-12-27 13:38:03] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SDPSFD'
[2025-12-27 13:38:03] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SDPSFD', Parsed IDs = ["SDPSFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 2
[2025-12-27 13:38:03] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SDPSFD"]
[2025-12-27 13:38:03] [INFO] Attempting SAASClient lookup for AgencyCode 'SDPSFD' (index 0) within mailbox's assigned agencies
[2025-12-27 13:38:03] [INFO] SUCCESS: Routed to agency 'Sikeston DPS' (ID: 6772cab7157b2ebde) at INDEX 0 based on AgencyCode 'SDPSFD'
[2025-12-27 13:38:03] [INFO] Fetched 4 stations from Stations module for agency 'Sikeston DPS': ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"]
[2025-12-27 13:38:03] [INFO] Final routing: saasclientId = 6772cab7157b2ebde, dispatchStationsIds = ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"], matchedAgencyIndex = 0
[2025-12-27 13:38:03] [INFO] Multi-agency routing matched mailbox default agency: 6772cab7157b2ebde (no update needed)
[2025-12-27 13:38:03] [INFO] Found existing IncidentTypeMapping with ID: 68f8f9275843af7ab
[2025-12-27 13:38:03] [INFO] Found existing Dispatch with cADNumber '25-31097', ID: 694fb15a8b2694dc2 - will update instead of create
[2025-12-27 13:38:03] [INFO] Updated existing Dispatches record with ID: 694fb15a8b2694dc2
[2025-12-27 13:38:03] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-31097.xml
[2025-12-27 13:38:03] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-31097.xml
[2025-12-27 15:06:32] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20250141711_20251227_150632.XML
[2025-12-27 15:06:32] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20250141711_20251227_150632.XML for user: 68f1466aed072ad4a
[2025-12-27 15:06:32] [INFO] File size: 5819 bytes
[2025-12-27 15:06:32] [INFO] Created FTPFiles record with ID: 694ff5f87cd15f2f7
[2025-12-27 15:06:32] [INFO] About to extract fields from XML. File size: 5819 bytes
[2025-12-27 15:06:32] [INFO] Number of mappings: 28
[2025-12-27 15:06:32] [INFO] Starting XML parsing. Content length: 5819
[2025-12-27 15:06:32] [INFO] XML parsed successfully. Root element: CADExport
[2025-12-27 15:06:32] [INFO] Processing 28 field mappings
[2025-12-27 15:06:32] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2025-12-27 15:06:32] [INFO] Found 4 elements for 'AgencyCode', using FIRST value only
[2025-12-27 15:06:32] [INFO]   -> Found value: MFD
[2025-12-27 15:06:32] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD"
[2025-12-27 15:06:32] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2025-12-27 15:06:32] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2025-12-27 15:06:32] [INFO]   -> Found value: 2025000382
[2025-12-27 15:06:32] [INFO]   -> Set field 'incidentInternalId' = "2025000382"
[2025-12-27 15:06:32] [INFO]   -> Set field 'dispatchRunNumber' = "2025000382"
[2025-12-27 15:06:32] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2025-12-27 15:06:32] [INFO]   -> Found value: CHEST PAIN
[2025-12-27 15:06:32] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2025-12-27 15:06:32] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2025-12-27 15:06:32] [INFO]   -> Found value: 809
[2025-12-27 15:06:32] [INFO]   -> Set field 'incidentLocationStreetNumber' = 809
[2025-12-27 15:06:32] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2025-12-27 15:06:32] [INFO]   -> Found value: TN
[2025-12-27 15:06:32] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2025-12-27 15:06:32] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2025-12-27 15:06:32] [INFO]   -> Found value: 38574
[2025-12-27 15:06:32] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2025-12-27 15:06:32] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2025-12-27 15:06:32] [INFO]   -> No value found (null or empty)
[2025-12-27 15:06:32] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2025-12-27 15:06:32] [INFO]   -> No value found (null or empty)
[2025-12-27 15:06:32] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2025-12-27 15:06:32] [INFO]   -> Found value: 36.13743
[2025-12-27 15:06:32] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.13743000000000193949745153076946735382080078125
[2025-12-27 15:06:32] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2025-12-27 15:06:32] [INFO]   -> Found value: -85.26260
[2025-12-27 15:06:32] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2626000000000061618266045115888118743896484375
[2025-12-27 15:06:32] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2025-12-27 15:06:32] [INFO]   -> Found value: 2025-12-27 09:05:48
[2025-12-27 15:06:32] [INFO]   -> Set field 'alarm' = "2025-12-27 09:05:48"
[2025-12-27 15:06:32] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2025-12-27 15:06:32] [INFO]   -> Found value: 2025-12-27 09:06:24
[2025-12-27 15:06:32] [INFO]   -> Set field 'dispatched' = "2025-12-27 09:06:24"
[2025-12-27 15:06:32] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2025-12-27 15:06:32] [INFO]   -> No value found (null or empty)
[2025-12-27 15:06:32] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2025-12-27 15:06:32] [INFO]   -> No value found (null or empty)
[2025-12-27 15:06:32] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2025-12-27 15:06:32] [INFO]   -> No value found (null or empty)
[2025-12-27 15:06:32] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2025-12-27 15:06:32] [INFO]   -> Found value: CROSSVILLE ST/CRAIN ST
[2025-12-27 15:06:32] [INFO]   -> Set field 'incidentLocationCross' = "CROSSVILLE ST\/CRAIN ST"
[2025-12-27 15:06:32] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2025-12-27 15:06:32] [INFO]   -> Found value: MFR
[2025-12-27 15:06:32] [INFO]   -> Set field 'cADVehicleID' = "MFR"
[2025-12-27 15:06:32] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2025-12-27 15:06:32] [INFO]   -> Found value: 2025-12-27 09:06:24
[2025-12-27 15:06:32] [INFO]   -> Set field 'timedispatch' = "2025-12-27 09:06:24"
[2025-12-27 15:06:32] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2025-12-27 15:06:32] [INFO]   -> No value found (null or empty)
[2025-12-27 15:06:32] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2025-12-27 15:06:32] [INFO]   -> No value found (null or empty)
[2025-12-27 15:06:32] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2025-12-27 15:06:32] [INFO]   -> No value found (null or empty)
[2025-12-27 15:06:32] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2025-12-27 15:06:32] [INFO]   -> No value found (null or empty)
[2025-12-27 15:06:32] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2025-12-27 15:06:32] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2025-12-27 15:06:32] [INFO]   -> Found value: 20250141711
[2025-12-27 15:06:32] [INFO]   -> Set field 'policeReportNumber' = "20250141711"
[2025-12-27 15:06:32] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2025-12-27 15:06:32] [INFO]   -> Found value: [EMS] SOB//PAIN ON LEFT SIDE MOVED INTO SHOULDER  [12/27/25 09:06:10 KMORGAN2] [LAW] UDTS: LAW CARD ...
[2025-12-27 15:06:32] [INFO]   -> Set field 'dispatchNotes' = "[EMS] SOB\/\/PAIN ON LEFT SIDE MOVED INTO SHOULDER  [12\/27\/25 09:06:10 KMORGAN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [12\/27\/25 09:05:59 BLAFEVERSMITH] [APCO INTELLICOMM] Case ID: WtLWzBxQY- Caller Phone: 9312849661 Caller Name: AT&amp;T MOBILITY Incident Location: 809 JACKSON AVE Incident Location Detail: CROSSVILLE ST\/CRAIN ST Nature: CHEST PAIN Incident #: 20250141709 CAD Call Taker: KMORGAN2 Chief Complaint: (empty)  [12\/27\/25 09:05:50 PSUTIL01] Event spawned from CHEST PAIN.  [12\/27\/2025 09:05:48 KMORGAN2]"
[2025-12-27 15:06:32] [INFO]   -> Set field 'cADLog' = "[EMS] SOB\/\/PAIN ON LEFT SIDE MOVED INTO SHOULDER  [12\/27\/25 09:06:10 KMORGAN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [12\/27\/25 09:05:59 BLAFEVERSMITH] [APCO INTELLICOMM] Case ID: WtLWzBxQY- Caller Phone: 9312849661 Caller Name: AT&amp;T MOBILITY Incident Location: 809 JACKSON AVE Incident Location Detail: CROSSVILLE ST\/CRAIN ST Nature: CHEST PAIN Incident #: 20250141709 CAD Call Taker: KMORGAN2 Chief Complaint: (empty)  [12\/27\/25 09:05:50 PSUTIL01] Event spawned from CHEST PAIN.  [12\/27\/2025 09:05:48 KMORGAN2]"
[2025-12-27 15:06:32] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2025-12-27 15:06:32] [INFO]   -> Found value: MONTEREY
[2025-12-27 15:06:32] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2025-12-27 15:06:32] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2025-12-27 15:06:32] [INFO]   -> Found value: JACKSON
[2025-12-27 15:06:32] [INFO]   -> Set field 'streetName' = "JACKSON"
[2025-12-27 15:06:32] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2025-12-27 15:06:32] [INFO]   -> Found value: AVE
[2025-12-27 15:06:32] [INFO]   -> Set field 'streetType' = "AVE"
[2025-12-27 15:06:32] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2025-12-27 15:06:32] [INFO]   -> Found value: 809 JACKSON AVE
[2025-12-27 15:06:32] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "809 JACKSON AVE"
[2025-12-27 15:06:32] [INFO] Finished extracting fields. Total fields extracted: 21
[2025-12-27 15:06:32] [INFO] Concatenating street name and type
[2025-12-27 15:06:32] [INFO]   -> Combined street name: JACKSON AVE
[2025-12-27 15:06:32] [INFO] Built locationCoordinates from lat/lng: 36.13743,-85.2626
[2025-12-27 15:06:32] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"MFD","incidentInternalId":"2025000382","dispatchRunNumber":"2025000382","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":809,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"nERISIncidentLatitude":36.13743000000000193949745153076946735382080078125,"nERISIncidentLongitude":-85.2626000000000061618266045115888118743896484375,"alarm":"2025-12-27 09:05:48","dispatched":"2025-12-27 09:06:24","incidentLocationCross":"CROSSVILLE ST\/CRAIN ST","cADVehicleID":"MFR","timedispatch":"2025-12-27 09:06:24","policeReportNumber":"20250141711","dispatchNotes":"[EMS] SOB\/\/PAIN ON LEFT SIDE MOVED INTO SHOULDER  [12\/27\/25 09:06:10 KMORGAN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [12\/27\/25 09:05:59 BLAFEVERSMITH] [APCO INTELLICOMM] Case ID: WtLWzBxQY- Caller Phone: 9312849661 Caller Name: AT&amp;T MOBILITY Incident Location: 809 JACKSON AVE Incident Location Detail: CROSSVILLE ST\/CRAIN ST Nature: CHEST PAIN Incident #: 20250141709 CAD Call Taker: KMORGAN2 Chief Complaint: (empty)  [12\/27\/25 09:05:50 PSUTIL01] Event spawned from CHEST PAIN.  [12\/27\/2025 09:05:48 KMORGAN2]","cADLog":"[EMS] SOB\/\/PAIN ON LEFT SIDE MOVED INTO SHOULDER  [12\/27\/25 09:06:10 KMORGAN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [12\/27\/25 09:05:59 BLAFEVERSMITH] [APCO INTELLICOMM] Case ID: WtLWzBxQY- Caller Phone: 9312849661 Caller Name: AT&amp;T MOBILITY Incident Location: 809 JACKSON AVE Incident Location Detail: CROSSVILLE ST\/CRAIN ST Nature: CHEST PAIN Incident #: 20250141709 CAD Call Taker: KMORGAN2 Chief Complaint: (empty)  [12\/27\/25 09:05:50 PSUTIL01] Event spawned from CHEST PAIN.  [12\/27\/2025 09:05:48 KMORGAN2]","incidentLocationCity":"MONTEREY","streetName":"JACKSON AVE","incidentAddressTextVersionStreet":"809 JACKSON AVE","locationCoordinates":"36.13743,-85.2626"}
[2025-12-27 15:06:32] [INFO] Number of extracted fields: 21
[2025-12-27 15:06:32] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD'
[2025-12-27 15:06:32] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD', Parsed IDs = ["MFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2025-12-27 15:06:32] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD"]
[2025-12-27 15:06:32] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2025-12-27 15:06:32] [INFO] SUCCESS: Routed to agency 'Monterey Fire Department' (ID: 68e67aaba2bb4565e) at INDEX 0 based on AgencyCode 'MFD'
[2025-12-27 15:06:32] [INFO] Fetched 1 stations from Stations module for agency 'Monterey Fire Department': ["68ffe49c256b67300"]
[2025-12-27 15:06:32] [INFO] Final routing: saasclientId = 68e67aaba2bb4565e, dispatchStationsIds = ["68ffe49c256b67300"], matchedAgencyIndex = 0
[2025-12-27 15:06:32] [INFO] Updated FTPFiles record saasclientId to routed agency: 68e67aaba2bb4565e
[2025-12-27 15:06:33] [INFO] Created new IncidentTypeMapping Data: {"cADIncidentType":"CHEST PAIN","saasclientId":"68e67aaba2bb4565e","name":"CHEST PAIN"}
[2025-12-27 15:06:33] [INFO] Created new IncidentTypeMapping with ID: 694ff5f932f4685e7
[2025-12-27 15:06:35] [INFO] Created new Dispatches record with ID: 694ff5f97b19cefb1
[2025-12-27 15:06:35] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20250141711_20251227_150632.XML
[2025-12-27 15:06:35] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20250141711_20251227_150632.XML
[2025-12-27 15:07:02] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250141713_20251227_150702.XML
[2025-12-27 15:07:02] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250141713_20251227_150702.XML for user: 68f1466aed072ad4a
[2025-12-27 15:07:02] [INFO] File size: 6165 bytes
[2025-12-27 15:07:02] [INFO] Created FTPFiles record with ID: 694ff61676323c882
[2025-12-27 15:07:02] [INFO] About to extract fields from XML. File size: 6165 bytes
[2025-12-27 15:07:02] [INFO] Number of mappings: 28
[2025-12-27 15:07:02] [INFO] Starting XML parsing. Content length: 6165
[2025-12-27 15:07:02] [INFO] XML parsed successfully. Root element: CADExport
[2025-12-27 15:07:02] [INFO] Processing 28 field mappings
[2025-12-27 15:07:02] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2025-12-27 15:07:02] [INFO] Found 5 elements for 'AgencyCode', using FIRST value only
[2025-12-27 15:07:02] [INFO]   -> Found value: PCFD
[2025-12-27 15:07:02] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2025-12-27 15:07:02] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2025-12-27 15:07:02] [INFO] Found 5 elements for 'ReportNumber', using FIRST value only
[2025-12-27 15:07:02] [INFO]   -> Found value: 2025003181
[2025-12-27 15:07:02] [INFO]   -> Set field 'incidentInternalId' = "2025003181"
[2025-12-27 15:07:02] [INFO]   -> Set field 'dispatchRunNumber' = "2025003181"
[2025-12-27 15:07:02] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2025-12-27 15:07:02] [INFO]   -> Found value: CHEST PAIN
[2025-12-27 15:07:02] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2025-12-27 15:07:02] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2025-12-27 15:07:02] [INFO]   -> Found value: 809
[2025-12-27 15:07:02] [INFO]   -> Set field 'incidentLocationStreetNumber' = 809
[2025-12-27 15:07:02] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2025-12-27 15:07:02] [INFO]   -> Found value: TN
[2025-12-27 15:07:02] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2025-12-27 15:07:02] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2025-12-27 15:07:02] [INFO]   -> Found value: 38574
[2025-12-27 15:07:02] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2025-12-27 15:07:02] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2025-12-27 15:07:02] [INFO]   -> No value found (null or empty)
[2025-12-27 15:07:02] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2025-12-27 15:07:02] [INFO]   -> No value found (null or empty)
[2025-12-27 15:07:02] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2025-12-27 15:07:02] [INFO]   -> Found value: 36.13743
[2025-12-27 15:07:02] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.13743000000000193949745153076946735382080078125
[2025-12-27 15:07:02] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2025-12-27 15:07:02] [INFO]   -> Found value: -85.26260
[2025-12-27 15:07:02] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2626000000000061618266045115888118743896484375
[2025-12-27 15:07:02] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2025-12-27 15:07:02] [INFO]   -> Found value: 2025-12-27 09:06:53
[2025-12-27 15:07:02] [INFO]   -> Set field 'alarm' = "2025-12-27 09:06:53"
[2025-12-27 15:07:02] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2025-12-27 15:07:02] [INFO]   -> Found value: 2025-12-27 09:06:53
[2025-12-27 15:07:02] [INFO]   -> Set field 'dispatched' = "2025-12-27 09:06:53"
[2025-12-27 15:07:02] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2025-12-27 15:07:02] [INFO]   -> No value found (null or empty)
[2025-12-27 15:07:02] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2025-12-27 15:07:02] [INFO]   -> No value found (null or empty)
[2025-12-27 15:07:02] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2025-12-27 15:07:02] [INFO]   -> No value found (null or empty)
[2025-12-27 15:07:02] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2025-12-27 15:07:02] [INFO]   -> Found value: CROSSVILLE ST/CRAIN ST
[2025-12-27 15:07:02] [INFO]   -> Set field 'incidentLocationCross' = "CROSSVILLE ST\/CRAIN ST"
[2025-12-27 15:07:02] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2025-12-27 15:07:02] [INFO]   -> Found value: PCFR
[2025-12-27 15:07:02] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2025-12-27 15:07:02] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2025-12-27 15:07:02] [INFO]   -> Found value: 2025-12-27 09:06:53
[2025-12-27 15:07:02] [INFO]   -> Set field 'timedispatch' = "2025-12-27 09:06:53"
[2025-12-27 15:07:02] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2025-12-27 15:07:02] [INFO]   -> No value found (null or empty)
[2025-12-27 15:07:02] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2025-12-27 15:07:02] [INFO]   -> No value found (null or empty)
[2025-12-27 15:07:02] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2025-12-27 15:07:02] [INFO]   -> No value found (null or empty)
[2025-12-27 15:07:02] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2025-12-27 15:07:02] [INFO]   -> No value found (null or empty)
[2025-12-27 15:07:02] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2025-12-27 15:07:02] [INFO] Found 5 elements for 'CadInciNumber', using FIRST value only
[2025-12-27 15:07:02] [INFO]   -> Found value: 20250141713
[2025-12-27 15:07:02] [INFO]   -> Set field 'policeReportNumber' = "20250141713"
[2025-12-27 15:07:02] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2025-12-27 15:07:02] [INFO]   -> Found value: Event spawned from CHEST PAIN.  [12/27/2025 09:06:53 KELLIS] [EMS] NO HEART ISSUES  [12/27/25 09:06:...
[2025-12-27 15:07:02] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from CHEST PAIN.  [12\/27\/2025 09:06:53 KELLIS] [EMS] NO HEART ISSUES  [12\/27\/25 09:06:48 KMORGAN2] [EMS] 35 YOF  [12\/27\/25 09:06:27 KMORGAN2] [EMS] SOB\/\/PAIN ON LEFT SIDE MOVED INTO SHOULDER  [12\/27\/25 09:06:10 KMORGAN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [12\/27\/25 09:05:59 BLAFEVERSMITH] [APCO INTELLICOMM] Case ID: WtLWzBxQY- Caller Phone: 9312849661 Caller Name: AT&amp;T MOBILITY Incident Location: 809 JACKSON AVE Incident Location Detail: CROSSVILLE ST\/CRAIN ST Nature: CHEST PAIN Incident #: 20250141709 CAD Call Taker: KMORGAN2 Chief Complaint: (empty)  [12\/27\/25 09:05:50 PSUTIL01] Event spawned from CHEST PAIN.  [12\/27\/2025 09:05:48 KMORGAN2]"
[2025-12-27 15:07:02] [INFO]   -> Set field 'cADLog' = "Event spawned from CHEST PAIN.  [12\/27\/2025 09:06:53 KELLIS] [EMS] NO HEART ISSUES  [12\/27\/25 09:06:48 KMORGAN2] [EMS] 35 YOF  [12\/27\/25 09:06:27 KMORGAN2] [EMS] SOB\/\/PAIN ON LEFT SIDE MOVED INTO SHOULDER  [12\/27\/25 09:06:10 KMORGAN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [12\/27\/25 09:05:59 BLAFEVERSMITH] [APCO INTELLICOMM] Case ID: WtLWzBxQY- Caller Phone: 9312849661 Caller Name: AT&amp;T MOBILITY Incident Location: 809 JACKSON AVE Incident Location Detail: CROSSVILLE ST\/CRAIN ST Nature: CHEST PAIN Incident #: 20250141709 CAD Call Taker: KMORGAN2 Chief Complaint: (empty)  [12\/27\/25 09:05:50 PSUTIL01] Event spawned from CHEST PAIN.  [12\/27\/2025 09:05:48 KMORGAN2]"
[2025-12-27 15:07:02] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2025-12-27 15:07:02] [INFO]   -> Found value: MONTEREY
[2025-12-27 15:07:02] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2025-12-27 15:07:02] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2025-12-27 15:07:02] [INFO]   -> Found value: JACKSON
[2025-12-27 15:07:02] [INFO]   -> Set field 'streetName' = "JACKSON"
[2025-12-27 15:07:02] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2025-12-27 15:07:02] [INFO]   -> Found value: AVE
[2025-12-27 15:07:02] [INFO]   -> Set field 'streetType' = "AVE"
[2025-12-27 15:07:02] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2025-12-27 15:07:02] [INFO]   -> Found value: 809 JACKSON AVE
[2025-12-27 15:07:02] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "809 JACKSON AVE"
[2025-12-27 15:07:02] [INFO] Finished extracting fields. Total fields extracted: 21
[2025-12-27 15:07:02] [INFO] Concatenating street name and type
[2025-12-27 15:07:02] [INFO]   -> Combined street name: JACKSON AVE
[2025-12-27 15:07:02] [INFO] Built locationCoordinates from lat/lng: 36.13743,-85.2626
[2025-12-27 15:07:02] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2025003181","dispatchRunNumber":"2025003181","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":809,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"nERISIncidentLatitude":36.13743000000000193949745153076946735382080078125,"nERISIncidentLongitude":-85.2626000000000061618266045115888118743896484375,"alarm":"2025-12-27 09:06:53","dispatched":"2025-12-27 09:06:53","incidentLocationCross":"CROSSVILLE ST\/CRAIN ST","cADVehicleID":"PCFR","timedispatch":"2025-12-27 09:06:53","policeReportNumber":"20250141713","dispatchNotes":"Event spawned from CHEST PAIN.  [12\/27\/2025 09:06:53 KELLIS] [EMS] NO HEART ISSUES  [12\/27\/25 09:06:48 KMORGAN2] [EMS] 35 YOF  [12\/27\/25 09:06:27 KMORGAN2] [EMS] SOB\/\/PAIN ON LEFT SIDE MOVED INTO SHOULDER  [12\/27\/25 09:06:10 KMORGAN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [12\/27\/25 09:05:59 BLAFEVERSMITH] [APCO INTELLICOMM] Case ID: WtLWzBxQY- Caller Phone: 9312849661 Caller Name: AT&amp;T MOBILITY Incident Location: 809 JACKSON AVE Incident Location Detail: CROSSVILLE ST\/CRAIN ST Nature: CHEST PAIN Incident #: 20250141709 CAD Call Taker: KMORGAN2 Chief Complaint: (empty)  [12\/27\/25 09:05:50 PSUTIL01] Event spawned from CHEST PAIN.  [12\/27\/2025 09:05:48 KMORGAN2]","cADLog":"Event spawned from CHEST PAIN.  [12\/27\/2025 09:06:53 KELLIS] [EMS] NO HEART ISSUES  [12\/27\/25 09:06:48 KMORGAN2] [EMS] 35 YOF  [12\/27\/25 09:06:27 KMORGAN2] [EMS] SOB\/\/PAIN ON LEFT SIDE MOVED INTO SHOULDER  [12\/27\/25 09:06:10 KMORGAN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [12\/27\/25 09:05:59 BLAFEVERSMITH] [APCO INTELLICOMM] Case ID: WtLWzBxQY- Caller Phone: 9312849661 Caller Name: AT&amp;T MOBILITY Incident Location: 809 JACKSON AVE Incident Location Detail: CROSSVILLE ST\/CRAIN ST Nature: CHEST PAIN Incident #: 20250141709 CAD Call Taker: KMORGAN2 Chief Complaint: (empty)  [12\/27\/25 09:05:50 PSUTIL01] Event spawned from CHEST PAIN.  [12\/27\/2025 09:05:48 KMORGAN2]","incidentLocationCity":"MONTEREY","streetName":"JACKSON AVE","incidentAddressTextVersionStreet":"809 JACKSON AVE","locationCoordinates":"36.13743,-85.2626"}
[2025-12-27 15:07:02] [INFO] Number of extracted fields: 21
[2025-12-27 15:07:02] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2025-12-27 15:07:02] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD', Parsed IDs = ["PCFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2025-12-27 15:07:02] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2025-12-27 15:07:02] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2025-12-27 15:07:02] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2025-12-27 15:07:02] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2025-12-27 15:07:02] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2025-12-27 15:07:02] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2025-12-27 15:07:02] [INFO] Found existing IncidentTypeMapping with ID: 6939c33d3eae65119
[2025-12-27 15:07:05] [INFO] Created new Dispatches record with ID: 694ff61734ca5f47e
[2025-12-27 15:07:05] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250141713_20251227_150702.XML
[2025-12-27 15:07:05] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250141713_20251227_150702.XML
[2025-12-27 15:35:52] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250141721_20251227_153552.XML
[2025-12-27 15:35:52] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250141721_20251227_153552.XML for user: 68f1466aed072ad4a
[2025-12-27 15:35:52] [INFO] File size: 5424 bytes
[2025-12-27 15:35:52] [INFO] Created FTPFiles record with ID: 694ffcd8c224d34e8
[2025-12-27 15:35:52] [INFO] About to extract fields from XML. File size: 5424 bytes
[2025-12-27 15:35:52] [INFO] Number of mappings: 28
[2025-12-27 15:35:52] [INFO] Starting XML parsing. Content length: 5424
[2025-12-27 15:35:52] [INFO] XML parsed successfully. Root element: CADExport
[2025-12-27 15:35:52] [INFO] Processing 28 field mappings
[2025-12-27 15:35:52] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2025-12-27 15:35:52] [INFO] Found 3 elements for 'AgencyCode', using FIRST value only
[2025-12-27 15:35:52] [INFO]   -> Found value: PCFD
[2025-12-27 15:35:52] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2025-12-27 15:35:52] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2025-12-27 15:35:52] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2025-12-27 15:35:52] [INFO]   -> Found value: 2025003182
[2025-12-27 15:35:52] [INFO]   -> Set field 'incidentInternalId' = "2025003182"
[2025-12-27 15:35:52] [INFO]   -> Set field 'dispatchRunNumber' = "2025003182"
[2025-12-27 15:35:52] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2025-12-27 15:35:52] [INFO]   -> Found value: STROKE
[2025-12-27 15:35:52] [INFO]   -> Set field 'incidentTypeValue1' = "STROKE"
[2025-12-27 15:35:52] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2025-12-27 15:35:52] [INFO]   -> Found value: 7333
[2025-12-27 15:35:52] [INFO]   -> Set field 'incidentLocationStreetNumber' = 7333
[2025-12-27 15:35:52] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2025-12-27 15:35:52] [INFO]   -> Found value: TN
[2025-12-27 15:35:52] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2025-12-27 15:35:52] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2025-12-27 15:35:52] [INFO]   -> Found value: 38544
[2025-12-27 15:35:52] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2025-12-27 15:35:52] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2025-12-27 15:35:52] [INFO]   -> No value found (null or empty)
[2025-12-27 15:35:52] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2025-12-27 15:35:52] [INFO]   -> No value found (null or empty)
[2025-12-27 15:35:52] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2025-12-27 15:35:52] [INFO]   -> Found value: 36.06867
[2025-12-27 15:35:52] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.0686699999999973442754708230495452880859375
[2025-12-27 15:35:52] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2025-12-27 15:35:52] [INFO]   -> Found value: -85.58742
[2025-12-27 15:35:52] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.5874199999999945021045277826488018035888671875
[2025-12-27 15:35:52] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2025-12-27 15:35:52] [INFO]   -> Found value: 2025-12-27 09:35:04
[2025-12-27 15:35:52] [INFO]   -> Set field 'alarm' = "2025-12-27 09:35:04"
[2025-12-27 15:35:52] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2025-12-27 15:35:52] [INFO]   -> Found value: 2025-12-27 09:35:42
[2025-12-27 15:35:52] [INFO]   -> Set field 'dispatched' = "2025-12-27 09:35:42"
[2025-12-27 15:35:52] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2025-12-27 15:35:52] [INFO]   -> No value found (null or empty)
[2025-12-27 15:35:52] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2025-12-27 15:35:52] [INFO]   -> No value found (null or empty)
[2025-12-27 15:35:52] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2025-12-27 15:35:52] [INFO]   -> No value found (null or empty)
[2025-12-27 15:35:52] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2025-12-27 15:35:52] [INFO]   -> Found value: BURGESS FALLS RD/S ALLEN RD
[2025-12-27 15:35:52] [INFO]   -> Set field 'incidentLocationCross' = "BURGESS FALLS RD\/S ALLEN RD"
[2025-12-27 15:35:52] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2025-12-27 15:35:52] [INFO]   -> Found value: PCFR
[2025-12-27 15:35:52] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2025-12-27 15:35:52] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2025-12-27 15:35:52] [INFO]   -> Found value: 2025-12-27 09:35:42
[2025-12-27 15:35:52] [INFO]   -> Set field 'timedispatch' = "2025-12-27 09:35:42"
[2025-12-27 15:35:52] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2025-12-27 15:35:52] [INFO]   -> No value found (null or empty)
[2025-12-27 15:35:52] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2025-12-27 15:35:52] [INFO]   -> No value found (null or empty)
[2025-12-27 15:35:52] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2025-12-27 15:35:52] [INFO]   -> No value found (null or empty)
[2025-12-27 15:35:52] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2025-12-27 15:35:52] [INFO]   -> No value found (null or empty)
[2025-12-27 15:35:52] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2025-12-27 15:35:52] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2025-12-27 15:35:52] [INFO]   -> Found value: 20250141721
[2025-12-27 15:35:52] [INFO]   -> Set field 'policeReportNumber' = "20250141721"
[2025-12-27 15:35:52] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2025-12-27 15:35:52] [INFO]   -> Found value: [APCO INTELLICOMM] Case ID: 0yHEySHf6D Caller Phone: 9312604288 Caller Name: VERIZON Incident Locati...
[2025-12-27 15:35:52] [INFO]   -> Set field 'dispatchNotes' = "[APCO INTELLICOMM] Case ID: 0yHEySHf6D Caller Phone: 9312604288 Caller Name: VERIZON Incident Location: 7333 JONES RD Incident Location Detail: BURGESS FALLS RD\/S ALLEN RD Nature: STROKE Incident #: 20250141720 CAD Call Taker: KMORGAN2 Chief Complaint: (empty)  [12\/27\/25 09:35:06 PSUTIL01] Event spawned from STROKE.  [12\/27\/2025 09:35:04 KMORGAN2]"
[2025-12-27 15:35:52] [INFO]   -> Set field 'cADLog' = "[APCO INTELLICOMM] Case ID: 0yHEySHf6D Caller Phone: 9312604288 Caller Name: VERIZON Incident Location: 7333 JONES RD Incident Location Detail: BURGESS FALLS RD\/S ALLEN RD Nature: STROKE Incident #: 20250141720 CAD Call Taker: KMORGAN2 Chief Complaint: (empty)  [12\/27\/25 09:35:06 PSUTIL01] Event spawned from STROKE.  [12\/27\/2025 09:35:04 KMORGAN2]"
[2025-12-27 15:35:52] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2025-12-27 15:35:52] [INFO]   -> Found value: BAXTER
[2025-12-27 15:35:52] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2025-12-27 15:35:52] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2025-12-27 15:35:52] [INFO]   -> Found value: JONES
[2025-12-27 15:35:52] [INFO]   -> Set field 'streetName' = "JONES"
[2025-12-27 15:35:52] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2025-12-27 15:35:52] [INFO]   -> Found value: RD
[2025-12-27 15:35:52] [INFO]   -> Set field 'streetType' = "RD"
[2025-12-27 15:35:52] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2025-12-27 15:35:52] [INFO]   -> Found value: 7333 JONES RD
[2025-12-27 15:35:52] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "7333 JONES RD"
[2025-12-27 15:35:52] [INFO] Finished extracting fields. Total fields extracted: 21
[2025-12-27 15:35:52] [INFO] Concatenating street name and type
[2025-12-27 15:35:52] [INFO]   -> Combined street name: JONES RD
[2025-12-27 15:35:52] [INFO] Built locationCoordinates from lat/lng: 36.06867,-85.58742
[2025-12-27 15:35:52] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2025003182","dispatchRunNumber":"2025003182","incidentTypeValue1":"STROKE","incidentLocationStreetNumber":7333,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.0686699999999973442754708230495452880859375,"nERISIncidentLongitude":-85.5874199999999945021045277826488018035888671875,"alarm":"2025-12-27 09:35:04","dispatched":"2025-12-27 09:35:42","incidentLocationCross":"BURGESS FALLS RD\/S ALLEN RD","cADVehicleID":"PCFR","timedispatch":"2025-12-27 09:35:42","policeReportNumber":"20250141721","dispatchNotes":"[APCO INTELLICOMM] Case ID: 0yHEySHf6D Caller Phone: 9312604288 Caller Name: VERIZON Incident Location: 7333 JONES RD Incident Location Detail: BURGESS FALLS RD\/S ALLEN RD Nature: STROKE Incident #: 20250141720 CAD Call Taker: KMORGAN2 Chief Complaint: (empty)  [12\/27\/25 09:35:06 PSUTIL01] Event spawned from STROKE.  [12\/27\/2025 09:35:04 KMORGAN2]","cADLog":"[APCO INTELLICOMM] Case ID: 0yHEySHf6D Caller Phone: 9312604288 Caller Name: VERIZON Incident Location: 7333 JONES RD Incident Location Detail: BURGESS FALLS RD\/S ALLEN RD Nature: STROKE Incident #: 20250141720 CAD Call Taker: KMORGAN2 Chief Complaint: (empty)  [12\/27\/25 09:35:06 PSUTIL01] Event spawned from STROKE.  [12\/27\/2025 09:35:04 KMORGAN2]","incidentLocationCity":"BAXTER","streetName":"JONES RD","incidentAddressTextVersionStreet":"7333 JONES RD","locationCoordinates":"36.06867,-85.58742"}
[2025-12-27 15:35:52] [INFO] Number of extracted fields: 21
[2025-12-27 15:35:52] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2025-12-27 15:35:52] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD', Parsed IDs = ["PCFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2025-12-27 15:35:52] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2025-12-27 15:35:52] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2025-12-27 15:35:52] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2025-12-27 15:35:53] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2025-12-27 15:35:53] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2025-12-27 15:35:53] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2025-12-27 15:35:53] [INFO] Found existing IncidentTypeMapping with ID: 69458359c1b866667
[2025-12-27 15:35:56] [INFO] Created new Dispatches record with ID: 694ffcd98470c032f
[2025-12-27 15:35:56] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250141721_20251227_153552.XML
[2025-12-27 15:35:56] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250141721_20251227_153552.XML
[2025-12-27 17:19:12] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20250141753_20251227_171912.XML
[2025-12-27 17:19:12] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20250141753_20251227_171912.XML for user: 68f1466aed072ad4a
[2025-12-27 17:19:12] [INFO] File size: 5520 bytes
[2025-12-27 17:19:12] [INFO] Created FTPFiles record with ID: 695015107e1c13c93
[2025-12-27 17:19:12] [INFO] About to extract fields from XML. File size: 5520 bytes
[2025-12-27 17:19:12] [INFO] Number of mappings: 28
[2025-12-27 17:19:12] [INFO] Starting XML parsing. Content length: 5520
[2025-12-27 17:19:12] [INFO] XML parsed successfully. Root element: CADExport
[2025-12-27 17:19:12] [INFO] Processing 28 field mappings
[2025-12-27 17:19:12] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2025-12-27 17:19:12] [INFO] Found 3 elements for 'AgencyCode', using FIRST value only
[2025-12-27 17:19:12] [INFO]   -> Found value: AFD
[2025-12-27 17:19:12] [INFO]   -> Set field 'cADAgencyIdentifier' = "AFD"
[2025-12-27 17:19:12] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2025-12-27 17:19:12] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2025-12-27 17:19:12] [INFO]   -> Found value: 2025000605
[2025-12-27 17:19:12] [INFO]   -> Set field 'incidentInternalId' = "2025000605"
[2025-12-27 17:19:12] [INFO]   -> Set field 'dispatchRunNumber' = "2025000605"
[2025-12-27 17:19:12] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2025-12-27 17:19:12] [INFO]   -> Found value: MVC ELECTRONIC CRASH NOTIFICAT
[2025-12-27 17:19:12] [INFO]   -> Set field 'incidentTypeValue1' = "MVC ELECTRONIC CRASH NOTIFICAT"
[2025-12-27 17:19:12] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2025-12-27 17:19:12] [INFO]   -> Found value: 209
[2025-12-27 17:19:12] [INFO]   -> Set field 'incidentLocationStreetNumber' = 209
[2025-12-27 17:19:12] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2025-12-27 17:19:12] [INFO]   -> Found value: TN
[2025-12-27 17:19:12] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2025-12-27 17:19:12] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2025-12-27 17:19:12] [INFO]   -> Found value: 38506
[2025-12-27 17:19:12] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2025-12-27 17:19:12] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2025-12-27 17:19:12] [INFO]   -> No value found (null or empty)
[2025-12-27 17:19:12] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2025-12-27 17:19:12] [INFO]   -> No value found (null or empty)
[2025-12-27 17:19:12] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2025-12-27 17:19:12] [INFO]   -> Found value: 36.19785
[2025-12-27 17:19:12] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1978500000000025238477974198758602142333984375
[2025-12-27 17:19:12] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2025-12-27 17:19:12] [INFO]   -> Found value: -85.44971
[2025-12-27 17:19:12] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4497099999999960573404678143560886383056640625
[2025-12-27 17:19:12] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2025-12-27 17:19:12] [INFO]   -> Found value: 2025-12-27 11:18:10
[2025-12-27 17:19:12] [INFO]   -> Set field 'alarm' = "2025-12-27 11:18:10"
[2025-12-27 17:19:12] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2025-12-27 17:19:12] [INFO]   -> Found value: 2025-12-27 11:19:02
[2025-12-27 17:19:12] [INFO]   -> Set field 'dispatched' = "2025-12-27 11:19:02"
[2025-12-27 17:19:12] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2025-12-27 17:19:12] [INFO]   -> No value found (null or empty)
[2025-12-27 17:19:12] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2025-12-27 17:19:12] [INFO]   -> No value found (null or empty)
[2025-12-27 17:19:12] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2025-12-27 17:19:12] [INFO]   -> No value found (null or empty)
[2025-12-27 17:19:12] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2025-12-27 17:19:12] [INFO]   -> Found value: CEDAR ST/MCCAWLEY ST
[2025-12-27 17:19:12] [INFO]   -> Set field 'incidentLocationCross' = "CEDAR ST\/MCCAWLEY ST"
[2025-12-27 17:19:12] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2025-12-27 17:19:12] [INFO]   -> Found value: AEN1
[2025-12-27 17:19:12] [INFO]   -> Set field 'cADVehicleID' = "AEN1"
[2025-12-27 17:19:12] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2025-12-27 17:19:12] [INFO]   -> Found value: 2025-12-27 11:19:02
[2025-12-27 17:19:12] [INFO]   -> Set field 'timedispatch' = "2025-12-27 11:19:02"
[2025-12-27 17:19:12] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2025-12-27 17:19:12] [INFO]   -> No value found (null or empty)
[2025-12-27 17:19:12] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2025-12-27 17:19:12] [INFO]   -> No value found (null or empty)
[2025-12-27 17:19:12] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2025-12-27 17:19:12] [INFO]   -> No value found (null or empty)
[2025-12-27 17:19:12] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2025-12-27 17:19:12] [INFO]   -> No value found (null or empty)
[2025-12-27 17:19:12] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2025-12-27 17:19:12] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2025-12-27 17:19:12] [INFO]   -> Found value: 20250141753
[2025-12-27 17:19:12] [INFO]   -> Set field 'policeReportNumber' = "20250141753"
[2025-12-27 17:19:12] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2025-12-27 17:19:12] [INFO]   -> Found value: [EMS] CAN HEAR A DOG BARKING IN BACKGROUND NO CONTACT WITH PERSON  [12/27/25 11:18:44 KMORGAN2] [LAW...
[2025-12-27 17:19:12] [INFO]   -> Set field 'dispatchNotes' = "[EMS] CAN HEAR A DOG BARKING IN BACKGROUND NO CONTACT WITH PERSON  [12\/27\/25 11:18:44 KMORGAN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [12\/27\/25 11:18:29 BLAFEVERSMITH] Event spawned from MVC ELECTRONIC CRASH NOTIFICAT.  [12\/27\/2025 11:18:10 KMORGAN2]"
[2025-12-27 17:19:12] [INFO]   -> Set field 'cADLog' = "[EMS] CAN HEAR A DOG BARKING IN BACKGROUND NO CONTACT WITH PERSON  [12\/27\/25 11:18:44 KMORGAN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [12\/27\/25 11:18:29 BLAFEVERSMITH] Event spawned from MVC ELECTRONIC CRASH NOTIFICAT.  [12\/27\/2025 11:18:10 KMORGAN2]"
[2025-12-27 17:19:12] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2025-12-27 17:19:12] [INFO]   -> Found value: ALGOOD
[2025-12-27 17:19:12] [INFO]   -> Set field 'incidentLocationCity' = "ALGOOD"
[2025-12-27 17:19:12] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2025-12-27 17:19:12] [INFO]   -> Found value: 2ND
[2025-12-27 17:19:12] [INFO]   -> Set field 'streetName' = "2ND"
[2025-12-27 17:19:12] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2025-12-27 17:19:12] [INFO]   -> Found value: AVE
[2025-12-27 17:19:12] [INFO]   -> Set field 'streetType' = "AVE"
[2025-12-27 17:19:12] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2025-12-27 17:19:12] [INFO]   -> Found value: 209 N 2ND AVE
[2025-12-27 17:19:12] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "209 N 2ND AVE"
[2025-12-27 17:19:12] [INFO] Finished extracting fields. Total fields extracted: 21
[2025-12-27 17:19:12] [INFO] Concatenating street name and type
[2025-12-27 17:19:12] [INFO]   -> Combined street name: 2ND AVE
[2025-12-27 17:19:12] [INFO] Built locationCoordinates from lat/lng: 36.19785,-85.44971
[2025-12-27 17:19:12] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"AFD","incidentInternalId":"2025000605","dispatchRunNumber":"2025000605","incidentTypeValue1":"MVC ELECTRONIC CRASH NOTIFICAT","incidentLocationStreetNumber":209,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.1978500000000025238477974198758602142333984375,"nERISIncidentLongitude":-85.4497099999999960573404678143560886383056640625,"alarm":"2025-12-27 11:18:10","dispatched":"2025-12-27 11:19:02","incidentLocationCross":"CEDAR ST\/MCCAWLEY ST","cADVehicleID":"AEN1","timedispatch":"2025-12-27 11:19:02","policeReportNumber":"20250141753","dispatchNotes":"[EMS] CAN HEAR A DOG BARKING IN BACKGROUND NO CONTACT WITH PERSON  [12\/27\/25 11:18:44 KMORGAN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [12\/27\/25 11:18:29 BLAFEVERSMITH] Event spawned from MVC ELECTRONIC CRASH NOTIFICAT.  [12\/27\/2025 11:18:10 KMORGAN2]","cADLog":"[EMS] CAN HEAR A DOG BARKING IN BACKGROUND NO CONTACT WITH PERSON  [12\/27\/25 11:18:44 KMORGAN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [12\/27\/25 11:18:29 BLAFEVERSMITH] Event spawned from MVC ELECTRONIC CRASH NOTIFICAT.  [12\/27\/2025 11:18:10 KMORGAN2]","incidentLocationCity":"ALGOOD","streetName":"2ND AVE","incidentAddressTextVersionStreet":"209 N 2ND AVE","locationCoordinates":"36.19785,-85.44971"}
[2025-12-27 17:19:12] [INFO] Number of extracted fields: 21
[2025-12-27 17:19:12] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'AFD'
[2025-12-27 17:19:12] [INFO] Multi-agency routing check: CAD Agency ID raw = 'AFD', Parsed IDs = ["AFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2025-12-27 17:19:12] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["AFD"]
[2025-12-27 17:19:12] [INFO] Attempting SAASClient lookup for AgencyCode 'AFD' (index 0) within mailbox's assigned agencies
[2025-12-27 17:19:12] [INFO] SUCCESS: Routed to agency 'Algood Fire Department' (ID: 68910627445d6e167) at INDEX 0 based on AgencyCode 'AFD'
[2025-12-27 17:19:12] [INFO] Fetched 1 stations from Stations module for agency 'Algood Fire Department': ["68922bda7fe89f7ff"]
[2025-12-27 17:19:12] [INFO] Final routing: saasclientId = 68910627445d6e167, dispatchStationsIds = ["68922bda7fe89f7ff"], matchedAgencyIndex = 0
[2025-12-27 17:19:12] [INFO] Updated FTPFiles record saasclientId to routed agency: 68910627445d6e167
[2025-12-27 17:19:13] [INFO] Created new IncidentTypeMapping Data: {"cADIncidentType":"MVC ELECTRONIC CRASH NOTIFICAT","saasclientId":"68910627445d6e167","name":"MVC ELECTRONIC CRASH NOTIFICAT"}
[2025-12-27 17:19:13] [INFO] Created new IncidentTypeMapping with ID: 695015113bc3caec5
[2025-12-27 17:19:15] [INFO] Created new Dispatches record with ID: 695015118727c7a3c
[2025-12-27 17:19:15] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20250141753_20251227_171912.XML
[2025-12-27 17:19:15] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20250141753_20251227_171912.XML
[2025-12-27 20:29:17] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-089590.xml
[2025-12-27 20:29:17] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-089590.xml for user: 69320e6a9e3e5ef71
[2025-12-27 20:29:17] [INFO] File size: 8287 bytes
[2025-12-27 20:29:17] [INFO] Created FTPFiles record with ID: 6950419d7b7302dcc
[2025-12-27 20:29:17] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2025-12-27 20:29:17] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-089590.xml
[2025-12-27 20:29:17] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-089590.xml
[2025-12-27 20:29:18] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-089590.xml
[2025-12-27 20:29:18] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-089590.xml for user: 69320e6a9e3e5ef71
[2025-12-27 20:29:18] [INFO] File size: 8287 bytes
[2025-12-27 20:29:18] [INFO] Created FTPFiles record with ID: 6950419e54ae9b5d1
[2025-12-27 20:29:18] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2025-12-27 20:29:18] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-089590.xml
[2025-12-27 20:29:18] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-089590.xml
[2025-12-27 20:34:11] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-089590.xml
[2025-12-27 20:34:11] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-089590.xml for user: 69320e6a9e3e5ef71
[2025-12-27 20:34:11] [INFO] File size: 9231 bytes
[2025-12-27 20:34:11] [INFO] Created FTPFiles record with ID: 695042c3e67d9bceb
[2025-12-27 20:34:11] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2025-12-27 20:34:11] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-089590.xml
[2025-12-27 20:34:11] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-089590.xml
[2025-12-27 20:34:23] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-089590.xml
[2025-12-27 20:34:23] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-089590.xml for user: 69320e6a9e3e5ef71
[2025-12-27 20:34:23] [INFO] File size: 10177 bytes
[2025-12-27 20:34:23] [INFO] Created FTPFiles record with ID: 695042cfcd8f07877
[2025-12-27 20:34:23] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2025-12-27 20:34:23] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-089590.xml
[2025-12-27 20:34:23] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-089590.xml
[2025-12-27 20:34:30] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-089590.xml
[2025-12-27 20:34:30] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-089590.xml for user: 69320e6a9e3e5ef71
[2025-12-27 20:34:30] [INFO] File size: 11761 bytes
[2025-12-27 20:34:31] [INFO] Created FTPFiles record with ID: 695042d6f3deb7b77
[2025-12-27 20:34:31] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2025-12-27 20:34:31] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-089590.xml
[2025-12-27 20:34:31] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-089590.xml
[2025-12-27 20:34:31] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-089590.xml
[2025-12-27 20:34:31] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-089590.xml for user: 69320e6a9e3e5ef71
[2025-12-27 20:34:31] [INFO] File size: 11761 bytes
[2025-12-27 20:34:31] [INFO] Created FTPFiles record with ID: 695042d7ce791d163
[2025-12-27 20:34:31] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2025-12-27 20:34:31] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-089590.xml
[2025-12-27 20:34:31] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-089590.xml
[2025-12-27 20:35:22] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-089590.xml
[2025-12-27 20:35:22] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-089590.xml for user: 69320e6a9e3e5ef71
[2025-12-27 20:35:22] [INFO] File size: 12947 bytes
[2025-12-27 20:35:22] [INFO] Created FTPFiles record with ID: 6950430a633f75854
[2025-12-27 20:35:22] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2025-12-27 20:35:22] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-089590.xml
[2025-12-27 20:35:22] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-089590.xml
[2025-12-27 20:36:31] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20250141821_20251227_203631.XML
[2025-12-27 20:36:31] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20250141821_20251227_203631.XML for user: 68f1466aed072ad4a
[2025-12-27 20:36:31] [INFO] File size: 5375 bytes
[2025-12-27 20:36:32] [INFO] Created FTPFiles record with ID: 6950435045dd93f87
[2025-12-27 20:36:32] [INFO] About to extract fields from XML. File size: 5375 bytes
[2025-12-27 20:36:32] [INFO] Number of mappings: 28
[2025-12-27 20:36:32] [INFO] Starting XML parsing. Content length: 5375
[2025-12-27 20:36:32] [INFO] XML parsed successfully. Root element: CADExport
[2025-12-27 20:36:32] [INFO] Processing 28 field mappings
[2025-12-27 20:36:32] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2025-12-27 20:36:32] [INFO] Found 2 elements for 'AgencyCode', using FIRST value only
[2025-12-27 20:36:32] [INFO]   -> Found value: BFD
[2025-12-27 20:36:32] [INFO]   -> Set field 'cADAgencyIdentifier' = "BFD"
[2025-12-27 20:36:32] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2025-12-27 20:36:32] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2025-12-27 20:36:32] [INFO]   -> Found value: 2025000397
[2025-12-27 20:36:32] [INFO]   -> Set field 'incidentInternalId' = "2025000397"
[2025-12-27 20:36:32] [INFO]   -> Set field 'dispatchRunNumber' = "2025000397"
[2025-12-27 20:36:32] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2025-12-27 20:36:32] [INFO]   -> Found value: MEDICAL CALL
[2025-12-27 20:36:32] [INFO]   -> Set field 'incidentTypeValue1' = "MEDICAL CALL"
[2025-12-27 20:36:32] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2025-12-27 20:36:32] [INFO]   -> Found value: 6376
[2025-12-27 20:36:32] [INFO]   -> Set field 'incidentLocationStreetNumber' = 6376
[2025-12-27 20:36:32] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2025-12-27 20:36:32] [INFO]   -> Found value: TN
[2025-12-27 20:36:32] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2025-12-27 20:36:32] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2025-12-27 20:36:32] [INFO]   -> Found value: 38544
[2025-12-27 20:36:32] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2025-12-27 20:36:32] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2025-12-27 20:36:32] [INFO]   -> Found value: DOLLAR GENERAL
[2025-12-27 20:36:32] [INFO]   -> Set field 'businessName' = "DOLLAR GENERAL"
[2025-12-27 20:36:32] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2025-12-27 20:36:32] [INFO]   -> No value found (null or empty)
[2025-12-27 20:36:32] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2025-12-27 20:36:32] [INFO]   -> Found value: 36.17065
[2025-12-27 20:36:32] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.17065000000000196678229258395731449127197265625
[2025-12-27 20:36:32] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2025-12-27 20:36:32] [INFO]   -> Found value: -85.62682
[2025-12-27 20:36:32] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6268199999999950478013488464057445526123046875
[2025-12-27 20:36:32] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2025-12-27 20:36:32] [INFO]   -> Found value: 2025-12-27 14:35:28
[2025-12-27 20:36:32] [INFO]   -> Set field 'alarm' = "2025-12-27 14:35:28"
[2025-12-27 20:36:32] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2025-12-27 20:36:32] [INFO]   -> Found value: 2025-12-27 14:36:27
[2025-12-27 20:36:32] [INFO]   -> Set field 'dispatched' = "2025-12-27 14:36:27"
[2025-12-27 20:36:32] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2025-12-27 20:36:32] [INFO]   -> No value found (null or empty)
[2025-12-27 20:36:32] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2025-12-27 20:36:32] [INFO]   -> No value found (null or empty)
[2025-12-27 20:36:32] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2025-12-27 20:36:32] [INFO]   -> No value found (null or empty)
[2025-12-27 20:36:32] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2025-12-27 20:36:32] [INFO]   -> Found value: MINTON DR/GAINESBORO HWY
[2025-12-27 20:36:32] [INFO]   -> Set field 'incidentLocationCross' = "MINTON DR\/GAINESBORO HWY"
[2025-12-27 20:36:32] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2025-12-27 20:36:32] [INFO]   -> Found value: BEN2
[2025-12-27 20:36:32] [INFO]   -> Set field 'cADVehicleID' = "BEN2"
[2025-12-27 20:36:32] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2025-12-27 20:36:32] [INFO]   -> Found value: 2025-12-27 14:36:27
[2025-12-27 20:36:32] [INFO]   -> Set field 'timedispatch' = "2025-12-27 14:36:27"
[2025-12-27 20:36:32] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2025-12-27 20:36:32] [INFO]   -> No value found (null or empty)
[2025-12-27 20:36:32] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2025-12-27 20:36:32] [INFO]   -> No value found (null or empty)
[2025-12-27 20:36:32] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2025-12-27 20:36:32] [INFO]   -> No value found (null or empty)
[2025-12-27 20:36:32] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2025-12-27 20:36:32] [INFO]   -> No value found (null or empty)
[2025-12-27 20:36:32] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2025-12-27 20:36:32] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2025-12-27 20:36:32] [INFO]   -> Found value: 20250141821
[2025-12-27 20:36:32] [INFO]   -> Set field 'policeReportNumber' = "20250141821"
[2025-12-27 20:36:32] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2025-12-27 20:36:32] [INFO]   -> Found value: Event spawned from SICK PERSON.  [12/27/2025 14:35:28 KHILL] {705} REQUESTING FIRE EMERGENCY  [12/27...
[2025-12-27 20:36:32] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from SICK PERSON.  [12\/27\/2025 14:35:28 KHILL] {705} REQUESTING FIRE EMERGENCY  [12\/27\/25 14:35:13 KHILL] STAFF THOUGHT SHE MIGHYT HAVE GOT TO HOT WHILE SHOPPING  [12\/27\/25 14:20:52 KELLIS] HX HIGH BLOOD  [12\/27\/25 14:20:17 KELLIS] 931-265-8418  ERSLA  [12\/27\/25 14:19:51 KELLIS] 84 YEAR OLD FEMALE   FOUND IN CAR  IN PARKING LOT   THROWING UP  [12\/27\/25 14:19:26 KELLIS]"
[2025-12-27 20:36:32] [INFO]   -> Set field 'cADLog' = "Event spawned from SICK PERSON.  [12\/27\/2025 14:35:28 KHILL] {705} REQUESTING FIRE EMERGENCY  [12\/27\/25 14:35:13 KHILL] STAFF THOUGHT SHE MIGHYT HAVE GOT TO HOT WHILE SHOPPING  [12\/27\/25 14:20:52 KELLIS] HX HIGH BLOOD  [12\/27\/25 14:20:17 KELLIS] 931-265-8418  ERSLA  [12\/27\/25 14:19:51 KELLIS] 84 YEAR OLD FEMALE   FOUND IN CAR  IN PARKING LOT   THROWING UP  [12\/27\/25 14:19:26 KELLIS]"
[2025-12-27 20:36:32] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2025-12-27 20:36:32] [INFO]   -> Found value: BAXTER
[2025-12-27 20:36:32] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2025-12-27 20:36:32] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2025-12-27 20:36:32] [INFO]   -> Found value: NASHVILLE
[2025-12-27 20:36:32] [INFO]   -> Set field 'streetName' = "NASHVILLE"
[2025-12-27 20:36:32] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2025-12-27 20:36:32] [INFO]   -> Found value: HWY
[2025-12-27 20:36:32] [INFO]   -> Set field 'streetType' = "HWY"
[2025-12-27 20:36:32] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2025-12-27 20:36:32] [INFO]   -> Found value: 6376 NASHVILLE HWY
[2025-12-27 20:36:32] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "6376 NASHVILLE HWY"
[2025-12-27 20:36:32] [INFO] Finished extracting fields. Total fields extracted: 22
[2025-12-27 20:36:32] [INFO] Concatenating street name and type
[2025-12-27 20:36:32] [INFO]   -> Combined street name: NASHVILLE HWY
[2025-12-27 20:36:32] [INFO] Built locationCoordinates from lat/lng: 36.17065,-85.62682
[2025-12-27 20:36:32] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"BFD","incidentInternalId":"2025000397","dispatchRunNumber":"2025000397","incidentTypeValue1":"MEDICAL CALL","incidentLocationStreetNumber":6376,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"businessName":"DOLLAR GENERAL","nERISIncidentLatitude":36.17065000000000196678229258395731449127197265625,"nERISIncidentLongitude":-85.6268199999999950478013488464057445526123046875,"alarm":"2025-12-27 14:35:28","dispatched":"2025-12-27 14:36:27","incidentLocationCross":"MINTON DR\/GAINESBORO HWY","cADVehicleID":"BEN2","timedispatch":"2025-12-27 14:36:27","policeReportNumber":"20250141821","dispatchNotes":"Event spawned from SICK PERSON.  [12\/27\/2025 14:35:28 KHILL] {705} REQUESTING FIRE EMERGENCY  [12\/27\/25 14:35:13 KHILL] STAFF THOUGHT SHE MIGHYT HAVE GOT TO HOT WHILE SHOPPING  [12\/27\/25 14:20:52 KELLIS] HX HIGH BLOOD  [12\/27\/25 14:20:17 KELLIS] 931-265-8418  ERSLA  [12\/27\/25 14:19:51 KELLIS] 84 YEAR OLD FEMALE   FOUND IN CAR  IN PARKING LOT   THROWING UP  [12\/27\/25 14:19:26 KELLIS]","cADLog":"Event spawned from SICK PERSON.  [12\/27\/2025 14:35:28 KHILL] {705} REQUESTING FIRE EMERGENCY  [12\/27\/25 14:35:13 KHILL] STAFF THOUGHT SHE MIGHYT HAVE GOT TO HOT WHILE SHOPPING  [12\/27\/25 14:20:52 KELLIS] HX HIGH BLOOD  [12\/27\/25 14:20:17 KELLIS] 931-265-8418  ERSLA  [12\/27\/25 14:19:51 KELLIS] 84 YEAR OLD FEMALE   FOUND IN CAR  IN PARKING LOT   THROWING UP  [12\/27\/25 14:19:26 KELLIS]","incidentLocationCity":"BAXTER","streetName":"NASHVILLE HWY","incidentAddressTextVersionStreet":"6376 NASHVILLE HWY","locationCoordinates":"36.17065,-85.62682"}
[2025-12-27 20:36:32] [INFO] Number of extracted fields: 22
[2025-12-27 20:36:32] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'BFD'
[2025-12-27 20:36:32] [INFO] Multi-agency routing check: CAD Agency ID raw = 'BFD', Parsed IDs = ["BFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2025-12-27 20:36:32] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["BFD"]
[2025-12-27 20:36:32] [INFO] Attempting SAASClient lookup for AgencyCode 'BFD' (index 0) within mailbox's assigned agencies
[2025-12-27 20:36:32] [INFO] SUCCESS: Routed to agency 'Baxter Fire Department' (ID: 68d1820f7ad4dadbd) at INDEX 0 based on AgencyCode 'BFD'
[2025-12-27 20:36:32] [INFO] Fetched 1 stations from Stations module for agency 'Baxter Fire Department': ["68d1884332e5f169b"]
[2025-12-27 20:36:32] [INFO] Final routing: saasclientId = 68d1820f7ad4dadbd, dispatchStationsIds = ["68d1884332e5f169b"], matchedAgencyIndex = 0
[2025-12-27 20:36:32] [INFO] Updated FTPFiles record saasclientId to routed agency: 68d1820f7ad4dadbd
[2025-12-27 20:36:32] [INFO] Created new IncidentTypeMapping Data: {"cADIncidentType":"MEDICAL CALL","saasclientId":"68d1820f7ad4dadbd","name":"MEDICAL CALL"}
[2025-12-27 20:36:33] [INFO] Created new IncidentTypeMapping with ID: 695043510618737fe
[2025-12-27 20:36:36] [INFO] Created new Dispatches record with ID: 695043515233c791d
[2025-12-27 20:36:36] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20250141821_20251227_203631.XML
[2025-12-27 20:36:36] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20250141821_20251227_203631.XML
[2025-12-27 20:38:01] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250141823_20251227_203801.XML
[2025-12-27 20:38:01] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250141823_20251227_203801.XML for user: 68f1466aed072ad4a
[2025-12-27 20:38:01] [INFO] File size: 5601 bytes
[2025-12-27 20:38:02] [INFO] Created FTPFiles record with ID: 695043aa4d5db6783
[2025-12-27 20:38:02] [INFO] About to extract fields from XML. File size: 5601 bytes
[2025-12-27 20:38:02] [INFO] Number of mappings: 28
[2025-12-27 20:38:02] [INFO] Starting XML parsing. Content length: 5601
[2025-12-27 20:38:02] [INFO] XML parsed successfully. Root element: CADExport
[2025-12-27 20:38:02] [INFO] Processing 28 field mappings
[2025-12-27 20:38:02] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2025-12-27 20:38:02] [INFO] Found 3 elements for 'AgencyCode', using FIRST value only
[2025-12-27 20:38:02] [INFO]   -> Found value: PCFD
[2025-12-27 20:38:02] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2025-12-27 20:38:02] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2025-12-27 20:38:02] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2025-12-27 20:38:02] [INFO]   -> Found value: 2025003183
[2025-12-27 20:38:02] [INFO]   -> Set field 'incidentInternalId' = "2025003183"
[2025-12-27 20:38:02] [INFO]   -> Set field 'dispatchRunNumber' = "2025003183"
[2025-12-27 20:38:02] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2025-12-27 20:38:02] [INFO]   -> Found value: BREATHING PROBLEMS
[2025-12-27 20:38:02] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2025-12-27 20:38:02] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2025-12-27 20:38:02] [INFO]   -> Found value: 1610
[2025-12-27 20:38:02] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1610
[2025-12-27 20:38:02] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2025-12-27 20:38:02] [INFO]   -> Found value: TN
[2025-12-27 20:38:02] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2025-12-27 20:38:02] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2025-12-27 20:38:02] [INFO]   -> Found value: 38506
[2025-12-27 20:38:02] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2025-12-27 20:38:02] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2025-12-27 20:38:02] [INFO]   -> No value found (null or empty)
[2025-12-27 20:38:02] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2025-12-27 20:38:02] [INFO]   -> No value found (null or empty)
[2025-12-27 20:38:02] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2025-12-27 20:38:02] [INFO]   -> Found value: 36.24815
[2025-12-27 20:38:02] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.24815000000000253521648119203746318817138671875
[2025-12-27 20:38:02] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2025-12-27 20:38:02] [INFO]   -> Found value: -85.45927
[2025-12-27 20:38:02] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.45927000000000361978891305625438690185546875
[2025-12-27 20:38:02] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2025-12-27 20:38:02] [INFO]   -> Found value: 2025-12-27 14:37:10
[2025-12-27 20:38:02] [INFO]   -> Set field 'alarm' = "2025-12-27 14:37:10"
[2025-12-27 20:38:02] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2025-12-27 20:38:02] [INFO]   -> Found value: 2025-12-27 14:37:50
[2025-12-27 20:38:02] [INFO]   -> Set field 'dispatched' = "2025-12-27 14:37:50"
[2025-12-27 20:38:02] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2025-12-27 20:38:02] [INFO]   -> No value found (null or empty)
[2025-12-27 20:38:02] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2025-12-27 20:38:02] [INFO]   -> No value found (null or empty)
[2025-12-27 20:38:02] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2025-12-27 20:38:02] [INFO]   -> No value found (null or empty)
[2025-12-27 20:38:02] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2025-12-27 20:38:02] [INFO]   -> Found value: CYNTHIA ST/ZEB WARREN RD
[2025-12-27 20:38:02] [INFO]   -> Set field 'incidentLocationCross' = "CYNTHIA ST\/ZEB WARREN RD"
[2025-12-27 20:38:02] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2025-12-27 20:38:02] [INFO]   -> Found value: PCFR
[2025-12-27 20:38:02] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2025-12-27 20:38:02] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2025-12-27 20:38:02] [INFO]   -> Found value: 2025-12-27 14:37:50
[2025-12-27 20:38:02] [INFO]   -> Set field 'timedispatch' = "2025-12-27 14:37:50"
[2025-12-27 20:38:02] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2025-12-27 20:38:02] [INFO]   -> No value found (null or empty)
[2025-12-27 20:38:02] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2025-12-27 20:38:02] [INFO]   -> No value found (null or empty)
[2025-12-27 20:38:02] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2025-12-27 20:38:02] [INFO]   -> No value found (null or empty)
[2025-12-27 20:38:02] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2025-12-27 20:38:02] [INFO]   -> No value found (null or empty)
[2025-12-27 20:38:02] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2025-12-27 20:38:02] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2025-12-27 20:38:02] [INFO]   -> Found value: 20250141823
[2025-12-27 20:38:02] [INFO]   -> Set field 'policeReportNumber' = "20250141823"
[2025-12-27 20:38:02] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2025-12-27 20:38:02] [INFO]   -> Found value: [EMS] BRIANNA MIRANDA  [12/27/25 14:37:43 PFOISTER] [EMS] PNEUMONIA  [12/27/25 14:37:33 PFOISTER] [E...
[2025-12-27 20:38:02] [INFO]   -> Set field 'dispatchNotes' = "[EMS] BRIANNA MIRANDA  [12\/27\/25 14:37:43 PFOISTER] [EMS] PNEUMONIA  [12\/27\/25 14:37:33 PFOISTER] [EMS] PANIC ATTACKS  [12\/27\/25 14:37:24 PFOISTER] [APCO INTELLICOMM] Case ID: W8haPVvVDP Caller Phone: 9312608625 Caller Name: VERIZON Incident Location: 1610 PARAN RD Incident Location Detail: CYNTHIA ST\/ZEB WARREN RD Nature: BREATHING PROBLEMS Incident #: 20250141822 CAD Call Taker: PFOISTER Chief Complaint: (empty)  [12\/27\/25 14:37:12 PSUTIL01] Event spawned from BREATHING PROBLEMS.  [12\/27\/2025 14:37:10 PFOISTER]"
[2025-12-27 20:38:02] [INFO]   -> Set field 'cADLog' = "[EMS] BRIANNA MIRANDA  [12\/27\/25 14:37:43 PFOISTER] [EMS] PNEUMONIA  [12\/27\/25 14:37:33 PFOISTER] [EMS] PANIC ATTACKS  [12\/27\/25 14:37:24 PFOISTER] [APCO INTELLICOMM] Case ID: W8haPVvVDP Caller Phone: 9312608625 Caller Name: VERIZON Incident Location: 1610 PARAN RD Incident Location Detail: CYNTHIA ST\/ZEB WARREN RD Nature: BREATHING PROBLEMS Incident #: 20250141822 CAD Call Taker: PFOISTER Chief Complaint: (empty)  [12\/27\/25 14:37:12 PSUTIL01] Event spawned from BREATHING PROBLEMS.  [12\/27\/2025 14:37:10 PFOISTER]"
[2025-12-27 20:38:02] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2025-12-27 20:38:02] [INFO]   -> Found value: COOKEVILLE
[2025-12-27 20:38:02] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2025-12-27 20:38:02] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2025-12-27 20:38:02] [INFO]   -> Found value: PARAN
[2025-12-27 20:38:02] [INFO]   -> Set field 'streetName' = "PARAN"
[2025-12-27 20:38:02] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2025-12-27 20:38:02] [INFO]   -> Found value: RD
[2025-12-27 20:38:02] [INFO]   -> Set field 'streetType' = "RD"
[2025-12-27 20:38:02] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2025-12-27 20:38:02] [INFO]   -> Found value: 1610 PARAN RD
[2025-12-27 20:38:02] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1610 PARAN RD"
[2025-12-27 20:38:02] [INFO] Finished extracting fields. Total fields extracted: 21
[2025-12-27 20:38:02] [INFO] Concatenating street name and type
[2025-12-27 20:38:02] [INFO]   -> Combined street name: PARAN RD
[2025-12-27 20:38:02] [INFO] Built locationCoordinates from lat/lng: 36.24815,-85.45927
[2025-12-27 20:38:02] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2025003183","dispatchRunNumber":"2025003183","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":1610,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.24815000000000253521648119203746318817138671875,"nERISIncidentLongitude":-85.45927000000000361978891305625438690185546875,"alarm":"2025-12-27 14:37:10","dispatched":"2025-12-27 14:37:50","incidentLocationCross":"CYNTHIA ST\/ZEB WARREN RD","cADVehicleID":"PCFR","timedispatch":"2025-12-27 14:37:50","policeReportNumber":"20250141823","dispatchNotes":"[EMS] BRIANNA MIRANDA  [12\/27\/25 14:37:43 PFOISTER] [EMS] PNEUMONIA  [12\/27\/25 14:37:33 PFOISTER] [EMS] PANIC ATTACKS  [12\/27\/25 14:37:24 PFOISTER] [APCO INTELLICOMM] Case ID: W8haPVvVDP Caller Phone: 9312608625 Caller Name: VERIZON Incident Location: 1610 PARAN RD Incident Location Detail: CYNTHIA ST\/ZEB WARREN RD Nature: BREATHING PROBLEMS Incident #: 20250141822 CAD Call Taker: PFOISTER Chief Complaint: (empty)  [12\/27\/25 14:37:12 PSUTIL01] Event spawned from BREATHING PROBLEMS.  [12\/27\/2025 14:37:10 PFOISTER]","cADLog":"[EMS] BRIANNA MIRANDA  [12\/27\/25 14:37:43 PFOISTER] [EMS] PNEUMONIA  [12\/27\/25 14:37:33 PFOISTER] [EMS] PANIC ATTACKS  [12\/27\/25 14:37:24 PFOISTER] [APCO INTELLICOMM] Case ID: W8haPVvVDP Caller Phone: 9312608625 Caller Name: VERIZON Incident Location: 1610 PARAN RD Incident Location Detail: CYNTHIA ST\/ZEB WARREN RD Nature: BREATHING PROBLEMS Incident #: 20250141822 CAD Call Taker: PFOISTER Chief Complaint: (empty)  [12\/27\/25 14:37:12 PSUTIL01] Event spawned from BREATHING PROBLEMS.  [12\/27\/2025 14:37:10 PFOISTER]","incidentLocationCity":"COOKEVILLE","streetName":"PARAN RD","incidentAddressTextVersionStreet":"1610 PARAN RD","locationCoordinates":"36.24815,-85.45927"}
[2025-12-27 20:38:02] [INFO] Number of extracted fields: 21
[2025-12-27 20:38:02] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2025-12-27 20:38:02] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD', Parsed IDs = ["PCFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2025-12-27 20:38:02] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2025-12-27 20:38:02] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2025-12-27 20:38:02] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2025-12-27 20:38:02] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2025-12-27 20:38:02] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2025-12-27 20:38:02] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2025-12-27 20:38:02] [INFO] Found existing IncidentTypeMapping with ID: 693e326c3c0e41cb3
[2025-12-27 20:38:05] [INFO] Created new Dispatches record with ID: 695043ab10e0c1914
[2025-12-27 20:38:05] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250141823_20251227_203801.XML
[2025-12-27 20:38:05] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250141823_20251227_203801.XML
[2025-12-27 21:02:32] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-089600.xml
[2025-12-27 21:02:32] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-089600.xml for user: 69320e6a9e3e5ef71
[2025-12-27 21:02:32] [INFO] File size: 12116 bytes
[2025-12-27 21:02:32] [INFO] Created FTPFiles record with ID: 6950496870f12daf7
[2025-12-27 21:02:32] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2025-12-27 21:02:32] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-089600.xml
[2025-12-27 21:02:32] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-089600.xml
[2025-12-27 21:03:36] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-089600.xml
[2025-12-27 21:03:36] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-089600.xml for user: 69320e6a9e3e5ef71
[2025-12-27 21:03:36] [INFO] File size: 14351 bytes
[2025-12-27 21:03:36] [INFO] Created FTPFiles record with ID: 695049a869294334b
[2025-12-27 21:03:36] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2025-12-27 21:03:36] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-089600.xml
[2025-12-27 21:03:36] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-089600.xml
[2025-12-27 21:03:40] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-089600.xml
[2025-12-27 21:03:40] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-089600.xml for user: 69320e6a9e3e5ef71
[2025-12-27 21:03:40] [INFO] File size: 15937 bytes
[2025-12-27 21:03:40] [INFO] Created FTPFiles record with ID: 695049ac7758bb69a
[2025-12-27 21:03:40] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2025-12-27 21:03:40] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-089600.xml
[2025-12-27 21:03:40] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-089600.xml
[2025-12-27 21:03:52] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-089600.xml
[2025-12-27 21:03:52] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-089600.xml for user: 69320e6a9e3e5ef71
[2025-12-27 21:03:52] [INFO] File size: 18172 bytes
[2025-12-27 21:03:52] [INFO] Created FTPFiles record with ID: 695049b89be5097e7
[2025-12-27 21:03:52] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2025-12-27 21:03:52] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-089600.xml
[2025-12-27 21:03:52] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-089600.xml
[2025-12-27 21:06:28] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-089600.xml
[2025-12-27 21:06:28] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-089600.xml for user: 69320e6a9e3e5ef71
[2025-12-27 21:06:28] [INFO] File size: 19785 bytes
[2025-12-27 21:06:29] [INFO] Created FTPFiles record with ID: 69504a54db64efe84
[2025-12-27 21:06:29] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2025-12-27 21:06:29] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-089600.xml
[2025-12-27 21:06:29] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-089600.xml
[2025-12-27 21:07:06] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-089600.xml
[2025-12-27 21:07:06] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-089600.xml for user: 69320e6a9e3e5ef71
[2025-12-27 21:07:06] [INFO] File size: 20806 bytes
[2025-12-27 21:07:07] [INFO] Created FTPFiles record with ID: 69504a7b138bd7d89
[2025-12-27 21:07:07] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2025-12-27 21:07:07] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-089600.xml
[2025-12-27 21:07:07] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-089600.xml
[2025-12-27 21:07:10] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-089600.xml
[2025-12-27 21:07:10] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-089600.xml for user: 69320e6a9e3e5ef71
[2025-12-27 21:07:10] [INFO] File size: 21760 bytes
[2025-12-27 21:07:11] [INFO] Created FTPFiles record with ID: 69504a7f2ad242636
[2025-12-27 21:07:11] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2025-12-27 21:07:11] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-089600.xml
[2025-12-27 21:07:11] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-089600.xml
[2025-12-27 21:07:17] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-089600.xml
[2025-12-27 21:07:17] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-089600.xml for user: 69320e6a9e3e5ef71
[2025-12-27 21:07:17] [INFO] File size: 22716 bytes
[2025-12-27 21:07:17] [INFO] Created FTPFiles record with ID: 69504a85d7e46fb47
[2025-12-27 21:07:17] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2025-12-27 21:07:17] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-089600.xml
[2025-12-27 21:07:17] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-089600.xml
[2025-12-27 21:07:23] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-089600.xml
[2025-12-27 21:07:23] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-089600.xml for user: 69320e6a9e3e5ef71
[2025-12-27 21:07:23] [INFO] File size: 24306 bytes
[2025-12-27 21:07:23] [INFO] Created FTPFiles record with ID: 69504a8b576381039
[2025-12-27 21:07:23] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2025-12-27 21:07:23] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-089600.xml
[2025-12-27 21:07:23] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-089600.xml
[2025-12-27 21:07:32] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-089600.xml
[2025-12-27 21:07:32] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-089600.xml for user: 69320e6a9e3e5ef71
[2025-12-27 21:07:32] [INFO] File size: 24306 bytes
[2025-12-27 21:07:32] [INFO] Created FTPFiles record with ID: 69504a94a523f2d70
[2025-12-27 21:07:32] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2025-12-27 21:07:32] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-089600.xml
[2025-12-27 21:07:32] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-089600.xml
[2025-12-27 21:10:08] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-31128.xml
[2025-12-27 21:10:08] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-31128.xml for user: 68d56363ec1209189
[2025-12-27 21:10:08] [INFO] File size: 1378 bytes
[2025-12-27 21:10:08] [INFO] Created FTPFiles record with ID: 69504b306287ca556
[2025-12-27 21:10:08] [INFO] About to extract fields from XML. File size: 1378 bytes
[2025-12-27 21:10:08] [INFO] Number of mappings: 21
[2025-12-27 21:10:08] [INFO] Starting XML parsing. Content length: 1378
[2025-12-27 21:10:08] [INFO] XML parsed successfully. Root element: Incident
[2025-12-27 21:10:08] [INFO] Processing 21 field mappings
[2025-12-27 21:10:08] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2025-12-27 21:10:08] [INFO]   -> Found value: 25-31128
[2025-12-27 21:10:08] [INFO]   -> Set field 'dispatchRunNumber' = "25-31128"
[2025-12-27 21:10:08] [INFO]   -> Set field 'cADNumber' = "25-31128"
[2025-12-27 21:10:08] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2025-12-27 21:10:08] [INFO]   -> Found value: 1008
[2025-12-27 21:10:08] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1008
[2025-12-27 21:10:08] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2025-12-27 21:10:08] [INFO]   -> Found value: N MAIN ST
[2025-12-27 21:10:08] [INFO]   -> Set field 'streetName' = "N MAIN ST"
[2025-12-27 21:10:08] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2025-12-27 21:10:08] [INFO]   -> No value found (null or empty)
[2025-12-27 21:10:08] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2025-12-27 21:10:08] [INFO]   -> Found value: SIKESTON
[2025-12-27 21:10:08] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2025-12-27 21:10:08] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2025-12-27 21:10:08] [INFO]   -> Found value: SOUTH SCOTT AMBULANCE SHED
[2025-12-27 21:10:08] [INFO]   -> Set field 'businessName' = "SOUTH SCOTT AMBULANCE SHED"
[2025-12-27 21:10:08] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2025-12-27 21:10:08] [INFO]   -> Found value: MO
[2025-12-27 21:10:08] [INFO]   -> Set field 'incidentLocationStateName' = "MO"
[2025-12-27 21:10:08] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2025-12-27 21:10:08] [INFO]   -> Found value: 63801
[2025-12-27 21:10:08] [INFO]   -> Set field 'nERISIncidentPostalCode' = 63801
[2025-12-27 21:10:08] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2025-12-27 21:10:08] [INFO]   -> Found value: 0
[2025-12-27 21:10:08] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2025-12-27 21:10:08] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2025-12-27 21:10:08] [INFO]   -> Found value: 0
[2025-12-27 21:10:08] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2025-12-27 21:10:08] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2025-12-27 21:10:08] [INFO]   -> Found value: AMBULANCE-TRANSFER
[2025-12-27 21:10:08] [INFO]   -> Set field 'incidentTypeValue1' = "AMBULANCE-TRANSFER"
[2025-12-27 21:10:08] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2025-12-27 21:10:08] [INFO]   -> Found value: 12-27-2025 14:26:51|300 JOHN R
[2025-12-27 21:10:08] [INFO]   -> Set field 'dispatchNotes' = "12-27-2025 14:26:51|300 JOHN R"
[2025-12-27 21:10:08] [INFO]   -> Set field 'cADLog' = "12-27-2025 14:26:51|300 JOHN R"
[2025-12-27 21:10:08] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2025-12-27 21:10:08] [INFO]   -> Found value: 12-27-2025T14:27:32
[2025-12-27 21:10:08] [INFO] Reformatted DD-MM-YYYY date '12-27-2025' (day=12, month=27) to ISO: 2025-27-12T14:27:32
[2025-12-27 21:10:08] [ERROR] Error formatting datetime '2025-27-12T14:27:32': Failed to parse time string (2025-27-12T14:27:32) at position 6 (7): Unexpected character
[2025-12-27 21:10:08] [INFO]   -> Set field 'alarm' = null
[2025-12-27 21:10:08] [INFO] Reformatted DD-MM-YYYY date '12-27-2025' (day=12, month=27) to ISO: 2025-27-12T14:27:32
[2025-12-27 21:10:08] [ERROR] Error formatting datetime '2025-27-12T14:27:32': Failed to parse time string (2025-27-12T14:27:32) at position 6 (7): Unexpected character
[2025-12-27 21:10:08] [INFO]   -> Set field 'dispatched' = null
[2025-12-27 21:10:08] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2025-12-27 21:10:08] [INFO]   -> Found value: 12-27-2025T14:53:21
[2025-12-27 21:10:08] [INFO] Reformatted DD-MM-YYYY date '12-27-2025' (day=12, month=27) to ISO: 2025-27-12T14:53:21
[2025-12-27 21:10:08] [ERROR] Error formatting datetime '2025-27-12T14:53:21': Failed to parse time string (2025-27-12T14:53:21) at position 6 (7): Unexpected character
[2025-12-27 21:10:08] [INFO]   -> Set field 'onScene' = null
[2025-12-27 21:10:08] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2025-12-27 21:10:08] [INFO]   -> Found value: 12-27-2025T15:09:49
[2025-12-27 21:10:08] [INFO] Reformatted DD-MM-YYYY date '12-27-2025' (day=12, month=27) to ISO: 2025-27-12T15:09:49
[2025-12-27 21:10:08] [ERROR] Error formatting datetime '2025-27-12T15:09:49': Failed to parse time string (2025-27-12T15:09:49) at position 6 (7): Unexpected character
[2025-12-27 21:10:08] [INFO]   -> Set field 'cleared' = null
[2025-12-27 21:10:08] [INFO] Reformatted DD-MM-YYYY date '12-27-2025' (day=12, month=27) to ISO: 2025-27-12T15:09:49
[2025-12-27 21:10:08] [ERROR] Error formatting datetime '2025-27-12T15:09:49': Failed to parse time string (2025-27-12T15:09:49) at position 6 (7): Unexpected character
[2025-12-27 21:10:08] [INFO]   -> Set field 'inService' = null
[2025-12-27 21:10:08] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2025-12-27 21:10:08] [INFO]   -> Found value: SIK STILL
[2025-12-27 21:10:08] [INFO]   -> Set field 'cADVehicleID' = "SIK STILL"
[2025-12-27 21:10:08] [INFO]   -> Set field 'name' = "SIK STILL"
[2025-12-27 21:10:08] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2025-12-27 21:10:08] [INFO]   -> No value found (null or empty)
[2025-12-27 21:10:08] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2025-12-27 21:10:08] [INFO]   -> No value found (null or empty)
[2025-12-27 21:10:08] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2025-12-27 21:10:08] [INFO]   -> Found value: 12-27-2025T15:09:49
[2025-12-27 21:10:08] [INFO] Reformatted DD-MM-YYYY date '12-27-2025' (day=12, month=27) to ISO: 2025-27-12T15:09:49
[2025-12-27 21:10:08] [ERROR] Error formatting datetime '2025-27-12T15:09:49': Failed to parse time string (2025-27-12T15:09:49) at position 6 (7): Unexpected character
[2025-12-27 21:10:08] [INFO]   -> Set field 'timeunitclear' = null
[2025-12-27 21:10:08] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2025-12-27 21:10:08] [INFO]   -> Found value: 12-27-2025T14:27:32
[2025-12-27 21:10:08] [INFO] Reformatted DD-MM-YYYY date '12-27-2025' (day=12, month=27) to ISO: 2025-27-12T14:27:32
[2025-12-27 21:10:08] [ERROR] Error formatting datetime '2025-27-12T14:27:32': Failed to parse time string (2025-27-12T14:27:32) at position 6 (7): Unexpected character
[2025-12-27 21:10:08] [INFO]   -> Set field 'timedispatch' = null
[2025-12-27 21:10:08] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2025-12-27 21:10:08] [INFO]   -> Found value: SDPSFD
[2025-12-27 21:10:08] [INFO]   -> Set field 'cADAgencyIdentifier' = "SDPSFD"
[2025-12-27 21:10:08] [INFO] Finished extracting fields. Total fields extracted: 23
[2025-12-27 21:10:08] [INFO] Built locationCoordinates from lat/lng: 0,0
[2025-12-27 21:10:08] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"25-31128","cADNumber":"25-31128","incidentLocationStreetNumber":1008,"streetName":"N MAIN ST","incidentLocationCity":"SIKESTON","businessName":"SOUTH SCOTT AMBULANCE SHED","incidentLocationStateName":"MO","nERISIncidentPostalCode":63801,"nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"AMBULANCE-TRANSFER","dispatchNotes":"12-27-2025 14:26:51|300 JOHN R","cADLog":"12-27-2025 14:26:51|300 JOHN R","alarm":null,"dispatched":null,"onScene":null,"cleared":null,"inService":null,"cADVehicleID":"SIK STILL","name":"SIK STILL","timeunitclear":null,"timedispatch":null,"cADAgencyIdentifier":"SDPSFD","locationCoordinates":"0,0"}
[2025-12-27 21:10:08] [INFO] Number of extracted fields: 24
[2025-12-27 21:10:08] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SDPSFD'
[2025-12-27 21:10:08] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SDPSFD', Parsed IDs = ["SDPSFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 2
[2025-12-27 21:10:08] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SDPSFD"]
[2025-12-27 21:10:08] [INFO] Attempting SAASClient lookup for AgencyCode 'SDPSFD' (index 0) within mailbox's assigned agencies
[2025-12-27 21:10:08] [INFO] SUCCESS: Routed to agency 'Sikeston DPS' (ID: 6772cab7157b2ebde) at INDEX 0 based on AgencyCode 'SDPSFD'
[2025-12-27 21:10:08] [INFO] Fetched 4 stations from Stations module for agency 'Sikeston DPS': ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"]
[2025-12-27 21:10:08] [INFO] Final routing: saasclientId = 6772cab7157b2ebde, dispatchStationsIds = ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"], matchedAgencyIndex = 0
[2025-12-27 21:10:08] [INFO] Multi-agency routing matched mailbox default agency: 6772cab7157b2ebde (no update needed)
[2025-12-27 21:10:09] [INFO] Created new IncidentTypeMapping Data: {"cADIncidentType":"AMBULANCE-TRANSFER","saasclientId":"6772cab7157b2ebde","name":"AMBULANCE-TRANSFER"}
[2025-12-27 21:10:09] [INFO] Created new IncidentTypeMapping with ID: 69504b313529b091d
[2025-12-27 21:10:10] [INFO] Created new Dispatches record with ID: 69504b31864b0a7a9
[2025-12-27 21:10:10] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-31128.xml
[2025-12-27 21:10:10] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-31128.xml
[2025-12-27 21:12:50] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-089600.xml
[2025-12-27 21:12:50] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-089600.xml for user: 69320e6a9e3e5ef71
[2025-12-27 21:12:50] [INFO] File size: 25346 bytes
[2025-12-27 21:12:51] [INFO] Created FTPFiles record with ID: 69504bd3199331055
[2025-12-27 21:12:51] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2025-12-27 21:12:51] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-089600.xml
[2025-12-27 21:12:51] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-089600.xml
[2025-12-27 21:22:17] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-31129.xml
[2025-12-27 21:22:17] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-31129.xml for user: 68d56363ec1209189
[2025-12-27 21:22:17] [INFO] File size: 2197 bytes
[2025-12-27 21:22:17] [INFO] Created FTPFiles record with ID: 69504e09d61e08b7d
[2025-12-27 21:22:17] [INFO] About to extract fields from XML. File size: 2197 bytes
[2025-12-27 21:22:17] [INFO] Number of mappings: 21
[2025-12-27 21:22:17] [INFO] Starting XML parsing. Content length: 2197
[2025-12-27 21:22:17] [INFO] XML parsed successfully. Root element: Incident
[2025-12-27 21:22:17] [INFO] Processing 21 field mappings
[2025-12-27 21:22:17] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2025-12-27 21:22:17] [INFO]   -> Found value: 25-31129
[2025-12-27 21:22:17] [INFO]   -> Set field 'dispatchRunNumber' = "25-31129"
[2025-12-27 21:22:17] [INFO]   -> Set field 'cADNumber' = "25-31129"
[2025-12-27 21:22:17] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2025-12-27 21:22:17] [INFO]   -> Found value: 1601
[2025-12-27 21:22:17] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1601
[2025-12-27 21:22:17] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2025-12-27 21:22:17] [INFO]   -> Found value: N MAIN ST
[2025-12-27 21:22:17] [INFO]   -> Set field 'streetName' = "N MAIN ST"
[2025-12-27 21:22:17] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2025-12-27 21:22:17] [INFO]   -> No value found (null or empty)
[2025-12-27 21:22:17] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2025-12-27 21:22:17] [INFO]   -> Found value: SIKESTON
[2025-12-27 21:22:17] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2025-12-27 21:22:17] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2025-12-27 21:22:17] [INFO]   -> No value found (null or empty)
[2025-12-27 21:22:17] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2025-12-27 21:22:17] [INFO]   -> Found value: MO
[2025-12-27 21:22:17] [INFO]   -> Set field 'incidentLocationStateName' = "MO"
[2025-12-27 21:22:17] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2025-12-27 21:22:17] [INFO]   -> Found value: 63801
[2025-12-27 21:22:17] [INFO]   -> Set field 'nERISIncidentPostalCode' = 63801
[2025-12-27 21:22:17] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2025-12-27 21:22:17] [INFO]   -> Found value: 0
[2025-12-27 21:22:17] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2025-12-27 21:22:17] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2025-12-27 21:22:17] [INFO]   -> Found value: 0
[2025-12-27 21:22:17] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2025-12-27 21:22:17] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2025-12-27 21:22:17] [INFO]   -> Found value: FIRE-ALARM MECH
[2025-12-27 21:22:17] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE-ALARM MECH"
[2025-12-27 21:22:17] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2025-12-27 21:22:17] [INFO]   -> Found value: 12-27-2025 15:07:17|FIRE ALARM
MASTER BEDROOM
SUSAN KIMBALL RESIDENCE
NO KEYHOLDER 12-27-2025 15:11:...
[2025-12-27 21:22:17] [INFO]   -> Set field 'dispatchNotes' = "12-27-2025 15:07:17|FIRE ALARM\nMASTER BEDROOM\nSUSAN KIMBALL RESIDENCE\nNO KEYHOLDER 12-27-2025 15:11:35|SINGLE STORRY RESIDENTAL NOTHING SHOWING 12-27-2025 15:16:00|CORRECTON STORY 12-27-2025 15:18:07|UNABLE TO MAKE CONTACT WITH KEYHOLDER,TRIED TO CALL 2 TIMES 12-27-2025 15:21:21|NO SMOKE OR FIRE,CHECKED BEST COULD"
[2025-12-27 21:22:17] [INFO]   -> Set field 'cADLog' = "12-27-2025 15:07:17|FIRE ALARM\nMASTER BEDROOM\nSUSAN KIMBALL RESIDENCE\nNO KEYHOLDER 12-27-2025 15:11:35|SINGLE STORRY RESIDENTAL NOTHING SHOWING 12-27-2025 15:16:00|CORRECTON STORY 12-27-2025 15:18:07|UNABLE TO MAKE CONTACT WITH KEYHOLDER,TRIED TO CALL 2 TIMES 12-27-2025 15:21:21|NO SMOKE OR FIRE,CHECKED BEST COULD"
[2025-12-27 21:22:17] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2025-12-27 21:22:17] [INFO]   -> Found value: 12-27-2025T15:08:45
[2025-12-27 21:22:17] [INFO] Reformatted DD-MM-YYYY date '12-27-2025' (day=12, month=27) to ISO: 2025-27-12T15:08:45
[2025-12-27 21:22:17] [ERROR] Error formatting datetime '2025-27-12T15:08:45': Failed to parse time string (2025-27-12T15:08:45) at position 6 (7): Unexpected character
[2025-12-27 21:22:17] [INFO]   -> Set field 'alarm' = null
[2025-12-27 21:22:17] [INFO] Reformatted DD-MM-YYYY date '12-27-2025' (day=12, month=27) to ISO: 2025-27-12T15:08:45
[2025-12-27 21:22:17] [ERROR] Error formatting datetime '2025-27-12T15:08:45': Failed to parse time string (2025-27-12T15:08:45) at position 6 (7): Unexpected character
[2025-12-27 21:22:17] [INFO]   -> Set field 'dispatched' = null
[2025-12-27 21:22:17] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2025-12-27 21:22:17] [INFO]   -> Found value: 12-27-2025T15:11:15
[2025-12-27 21:22:17] [INFO] Reformatted DD-MM-YYYY date '12-27-2025' (day=12, month=27) to ISO: 2025-27-12T15:11:15
[2025-12-27 21:22:17] [ERROR] Error formatting datetime '2025-27-12T15:11:15': Failed to parse time string (2025-27-12T15:11:15) at position 6 (7): Unexpected character
[2025-12-27 21:22:17] [INFO]   -> Set field 'onScene' = null
[2025-12-27 21:22:17] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2025-12-27 21:22:17] [INFO]   -> Found value: 12-27-2025T15:21:23
[2025-12-27 21:22:17] [INFO] Reformatted DD-MM-YYYY date '12-27-2025' (day=12, month=27) to ISO: 2025-27-12T15:21:23
[2025-12-27 21:22:17] [ERROR] Error formatting datetime '2025-27-12T15:21:23': Failed to parse time string (2025-27-12T15:21:23) at position 6 (7): Unexpected character
[2025-12-27 21:22:17] [INFO]   -> Set field 'cleared' = null
[2025-12-27 21:22:17] [INFO] Reformatted DD-MM-YYYY date '12-27-2025' (day=12, month=27) to ISO: 2025-27-12T15:21:23
[2025-12-27 21:22:17] [ERROR] Error formatting datetime '2025-27-12T15:21:23': Failed to parse time string (2025-27-12T15:21:23) at position 6 (7): Unexpected character
[2025-12-27 21:22:17] [INFO]   -> Set field 'inService' = null
[2025-12-27 21:22:17] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2025-12-27 21:22:17] [INFO]   -> Found value: ENG2
[2025-12-27 21:22:17] [INFO]   -> Set field 'cADVehicleID' = "ENG2"
[2025-12-27 21:22:17] [INFO]   -> Set field 'name' = "ENG2"
[2025-12-27 21:22:17] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2025-12-27 21:22:17] [INFO]   -> Found value: 12-27-2025T15:10:56
[2025-12-27 21:22:17] [INFO] Reformatted DD-MM-YYYY date '12-27-2025' (day=12, month=27) to ISO: 2025-27-12T15:10:56
[2025-12-27 21:22:17] [ERROR] Error formatting datetime '2025-27-12T15:10:56': Failed to parse time string (2025-27-12T15:10:56) at position 6 (7): Unexpected character
[2025-12-27 21:22:17] [INFO]   -> Set field 'timeenroutetoscene' = null
[2025-12-27 21:22:17] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2025-12-27 21:22:17] [INFO]   -> No value found (null or empty)
[2025-12-27 21:22:17] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2025-12-27 21:22:17] [INFO]   -> Found value: 12-27-2025T15:21:23
[2025-12-27 21:22:17] [INFO] Reformatted DD-MM-YYYY date '12-27-2025' (day=12, month=27) to ISO: 2025-27-12T15:21:23
[2025-12-27 21:22:17] [ERROR] Error formatting datetime '2025-27-12T15:21:23': Failed to parse time string (2025-27-12T15:21:23) at position 6 (7): Unexpected character
[2025-12-27 21:22:17] [INFO]   -> Set field 'timeunitclear' = null
[2025-12-27 21:22:17] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2025-12-27 21:22:17] [INFO]   -> Found value: 12-27-2025T15:10:51
[2025-12-27 21:22:17] [INFO] Reformatted DD-MM-YYYY date '12-27-2025' (day=12, month=27) to ISO: 2025-27-12T15:10:51
[2025-12-27 21:22:17] [ERROR] Error formatting datetime '2025-27-12T15:10:51': Failed to parse time string (2025-27-12T15:10:51) at position 6 (7): Unexpected character
[2025-12-27 21:22:17] [INFO]   -> Set field 'timedispatch' = null
[2025-12-27 21:22:17] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2025-12-27 21:22:17] [INFO]   -> Found value: SDPSFD
[2025-12-27 21:22:17] [INFO]   -> Set field 'cADAgencyIdentifier' = "SDPSFD"
[2025-12-27 21:22:17] [INFO] Finished extracting fields. Total fields extracted: 23
[2025-12-27 21:22:17] [INFO] Built locationCoordinates from lat/lng: 0,0
[2025-12-27 21:22:17] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"25-31129","cADNumber":"25-31129","incidentLocationStreetNumber":1601,"streetName":"N MAIN ST","incidentLocationCity":"SIKESTON","incidentLocationStateName":"MO","nERISIncidentPostalCode":63801,"nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"FIRE-ALARM MECH","dispatchNotes":"12-27-2025 15:07:17|FIRE ALARM\nMASTER BEDROOM\nSUSAN KIMBALL RESIDENCE\nNO KEYHOLDER 12-27-2025 15:11:35|SINGLE STORRY RESIDENTAL NOTHING SHOWING 12-27-2025 15:16:00|CORRECTON STORY 12-27-2025 15:18:07|UNABLE TO MAKE CONTACT WITH KEYHOLDER,TRIED TO CALL 2 TIMES 12-27-2025 15:21:21|NO SMOKE OR FIRE,CHECKED BEST COULD","cADLog":"12-27-2025 15:07:17|FIRE ALARM\nMASTER BEDROOM\nSUSAN KIMBALL RESIDENCE\nNO KEYHOLDER 12-27-2025 15:11:35|SINGLE STORRY RESIDENTAL NOTHING SHOWING 12-27-2025 15:16:00|CORRECTON STORY 12-27-2025 15:18:07|UNABLE TO MAKE CONTACT WITH KEYHOLDER,TRIED TO CALL 2 TIMES 12-27-2025 15:21:21|NO SMOKE OR FIRE,CHECKED BEST COULD","alarm":null,"dispatched":null,"onScene":null,"cleared":null,"inService":null,"cADVehicleID":"ENG2","name":"ENG2","timeenroutetoscene":null,"timeunitclear":null,"timedispatch":null,"cADAgencyIdentifier":"SDPSFD","locationCoordinates":"0,0"}
[2025-12-27 21:22:17] [INFO] Number of extracted fields: 24
[2025-12-27 21:22:17] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SDPSFD'
[2025-12-27 21:22:17] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SDPSFD', Parsed IDs = ["SDPSFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 2
[2025-12-27 21:22:17] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SDPSFD"]
[2025-12-27 21:22:17] [INFO] Attempting SAASClient lookup for AgencyCode 'SDPSFD' (index 0) within mailbox's assigned agencies
[2025-12-27 21:22:18] [INFO] SUCCESS: Routed to agency 'Sikeston DPS' (ID: 6772cab7157b2ebde) at INDEX 0 based on AgencyCode 'SDPSFD'
[2025-12-27 21:22:18] [INFO] Fetched 4 stations from Stations module for agency 'Sikeston DPS': ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"]
[2025-12-27 21:22:18] [INFO] Final routing: saasclientId = 6772cab7157b2ebde, dispatchStationsIds = ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"], matchedAgencyIndex = 0
[2025-12-27 21:22:18] [INFO] Multi-agency routing matched mailbox default agency: 6772cab7157b2ebde (no update needed)
[2025-12-27 21:22:18] [INFO] Found existing IncidentTypeMapping with ID: 68e4158e872e5ae13
[2025-12-27 21:22:19] [INFO] Created new Dispatches record with ID: 69504e0a9ac4428fb
[2025-12-27 21:22:19] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-31129.xml
[2025-12-27 21:22:19] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-31129.xml
[2025-12-27 22:39:21] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20250141870_20251227_223921.XML
[2025-12-27 22:39:21] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20250141870_20251227_223921.XML for user: 68f1466aed072ad4a
[2025-12-27 22:39:21] [INFO] File size: 5448 bytes
[2025-12-27 22:39:22] [INFO] Created FTPFiles record with ID: 6950601a2f1780565
[2025-12-27 22:39:22] [INFO] About to extract fields from XML. File size: 5448 bytes
[2025-12-27 22:39:22] [INFO] Number of mappings: 28
[2025-12-27 22:39:22] [INFO] Starting XML parsing. Content length: 5448
[2025-12-27 22:39:22] [INFO] XML parsed successfully. Root element: CADExport
[2025-12-27 22:39:22] [INFO] Processing 28 field mappings
[2025-12-27 22:39:22] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2025-12-27 22:39:22] [INFO] Found 2 elements for 'AgencyCode', using FIRST value only
[2025-12-27 22:39:22] [INFO]   -> Found value: BFD
[2025-12-27 22:39:22] [INFO]   -> Set field 'cADAgencyIdentifier' = "BFD"
[2025-12-27 22:39:22] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2025-12-27 22:39:22] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2025-12-27 22:39:22] [INFO]   -> Found value: 2025000398
[2025-12-27 22:39:22] [INFO]   -> Set field 'incidentInternalId' = "2025000398"
[2025-12-27 22:39:22] [INFO]   -> Set field 'dispatchRunNumber' = "2025000398"
[2025-12-27 22:39:22] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2025-12-27 22:39:22] [INFO]   -> Found value: FALL VICTIM
[2025-12-27 22:39:22] [INFO]   -> Set field 'incidentTypeValue1' = "FALL VICTIM"
[2025-12-27 22:39:22] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2025-12-27 22:39:22] [INFO]   -> Found value: 119
[2025-12-27 22:39:22] [INFO]   -> Set field 'incidentLocationStreetNumber' = 119
[2025-12-27 22:39:22] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2025-12-27 22:39:22] [INFO]   -> Found value: TN
[2025-12-27 22:39:22] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2025-12-27 22:39:22] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2025-12-27 22:39:22] [INFO]   -> Found value: 38544
[2025-12-27 22:39:22] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2025-12-27 22:39:22] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2025-12-27 22:39:22] [INFO]   -> No value found (null or empty)
[2025-12-27 22:39:22] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2025-12-27 22:39:22] [INFO]   -> No value found (null or empty)
[2025-12-27 22:39:22] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2025-12-27 22:39:22] [INFO]   -> Found value: 36.15856
[2025-12-27 22:39:22] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.15856000000000136651578941382467746734619140625
[2025-12-27 22:39:22] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2025-12-27 22:39:22] [INFO]   -> Found value: -85.64728
[2025-12-27 22:39:22] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.647279999999994970494299195706844329833984375
[2025-12-27 22:39:22] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2025-12-27 22:39:22] [INFO]   -> Found value: 2025-12-27 16:37:54
[2025-12-27 22:39:22] [INFO]   -> Set field 'alarm' = "2025-12-27 16:37:54"
[2025-12-27 22:39:22] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2025-12-27 22:39:22] [INFO]   -> Found value: 2025-12-27 16:39:19
[2025-12-27 22:39:22] [INFO]   -> Set field 'dispatched' = "2025-12-27 16:39:19"
[2025-12-27 22:39:22] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2025-12-27 22:39:22] [INFO]   -> No value found (null or empty)
[2025-12-27 22:39:22] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2025-12-27 22:39:22] [INFO]   -> No value found (null or empty)
[2025-12-27 22:39:22] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2025-12-27 22:39:22] [INFO]   -> No value found (null or empty)
[2025-12-27 22:39:22] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2025-12-27 22:39:22] [INFO]   -> Found value: FIRST AVE N/CELESTE DR
[2025-12-27 22:39:22] [INFO]   -> Set field 'incidentLocationCross' = "FIRST AVE N\/CELESTE DR"
[2025-12-27 22:39:22] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2025-12-27 22:39:22] [INFO]   -> Found value: BEN2
[2025-12-27 22:39:22] [INFO]   -> Set field 'cADVehicleID' = "BEN2"
[2025-12-27 22:39:22] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2025-12-27 22:39:22] [INFO]   -> Found value: 2025-12-27 16:39:19
[2025-12-27 22:39:22] [INFO]   -> Set field 'timedispatch' = "2025-12-27 16:39:19"
[2025-12-27 22:39:22] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2025-12-27 22:39:22] [INFO]   -> No value found (null or empty)
[2025-12-27 22:39:22] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2025-12-27 22:39:22] [INFO]   -> No value found (null or empty)
[2025-12-27 22:39:22] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2025-12-27 22:39:22] [INFO]   -> No value found (null or empty)
[2025-12-27 22:39:22] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2025-12-27 22:39:22] [INFO]   -> No value found (null or empty)
[2025-12-27 22:39:22] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2025-12-27 22:39:22] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2025-12-27 22:39:22] [INFO]   -> Found value: 20250141870
[2025-12-27 22:39:22] [INFO]   -> Set field 'policeReportNumber' = "20250141870"
[2025-12-27 22:39:22] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2025-12-27 22:39:22] [INFO]   -> Found value: [EMS] 90 YOF ... FAMILY ON WAY TO HOUSE  [12/27/25 16:39:10 PFOISTER] [APCO INTELLICOMM] Caller Phon...
[2025-12-27 22:39:22] [INFO]   -> Set field 'dispatchNotes' = "[EMS] 90 YOF ... FAMILY ON WAY TO HOUSE  [12\/27\/25 16:39:10 PFOISTER] [APCO INTELLICOMM] Caller Phone: 2605913  [12\/27\/25 16:38:57 PSUTIL01] [APCO INTELLICOMM] Caller Name: RILEY SPARKS  [12\/27\/25 16:38:43 PSUTIL01] [EMS] SHIRLEY MAYNARD  [12\/27\/25 16:38:13 PFOISTER] [APCO INTELLICOMM] Case ID: j96RorUrS0 Caller Phone: (empty) Caller Name: (empty) Incident Location: 119 CHESTNUT ST Incident Location Detail: FIRST AVE N\/CELESTE DR Nature: FALL VICTIM Incident #: 20250141869 CAD Call Taker: PFOISTER Chief Complaint: (empty)  [12\/27\/25 16:37:57 PSUTIL01] Event spawned from FALL VICTIM.  [12\/27\/2025 16:37:54 PFOISTER]"
[2025-12-27 22:39:22] [INFO]   -> Set field 'cADLog' = "[EMS] 90 YOF ... FAMILY ON WAY TO HOUSE  [12\/27\/25 16:39:10 PFOISTER] [APCO INTELLICOMM] Caller Phone: 2605913  [12\/27\/25 16:38:57 PSUTIL01] [APCO INTELLICOMM] Caller Name: RILEY SPARKS  [12\/27\/25 16:38:43 PSUTIL01] [EMS] SHIRLEY MAYNARD  [12\/27\/25 16:38:13 PFOISTER] [APCO INTELLICOMM] Case ID: j96RorUrS0 Caller Phone: (empty) Caller Name: (empty) Incident Location: 119 CHESTNUT ST Incident Location Detail: FIRST AVE N\/CELESTE DR Nature: FALL VICTIM Incident #: 20250141869 CAD Call Taker: PFOISTER Chief Complaint: (empty)  [12\/27\/25 16:37:57 PSUTIL01] Event spawned from FALL VICTIM.  [12\/27\/2025 16:37:54 PFOISTER]"
[2025-12-27 22:39:22] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2025-12-27 22:39:22] [INFO]   -> Found value: BAXTER
[2025-12-27 22:39:22] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2025-12-27 22:39:22] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2025-12-27 22:39:22] [INFO]   -> Found value: CHESTNUT
[2025-12-27 22:39:22] [INFO]   -> Set field 'streetName' = "CHESTNUT"
[2025-12-27 22:39:22] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2025-12-27 22:39:22] [INFO]   -> Found value: ST
[2025-12-27 22:39:22] [INFO]   -> Set field 'streetType' = "ST"
[2025-12-27 22:39:22] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2025-12-27 22:39:22] [INFO]   -> Found value: 119 CHESTNUT ST
[2025-12-27 22:39:22] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "119 CHESTNUT ST"
[2025-12-27 22:39:22] [INFO] Finished extracting fields. Total fields extracted: 21
[2025-12-27 22:39:22] [INFO] Concatenating street name and type
[2025-12-27 22:39:22] [INFO]   -> Combined street name: CHESTNUT ST
[2025-12-27 22:39:22] [INFO] Built locationCoordinates from lat/lng: 36.15856,-85.64728
[2025-12-27 22:39:22] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"BFD","incidentInternalId":"2025000398","dispatchRunNumber":"2025000398","incidentTypeValue1":"FALL VICTIM","incidentLocationStreetNumber":119,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.15856000000000136651578941382467746734619140625,"nERISIncidentLongitude":-85.647279999999994970494299195706844329833984375,"alarm":"2025-12-27 16:37:54","dispatched":"2025-12-27 16:39:19","incidentLocationCross":"FIRST AVE N\/CELESTE DR","cADVehicleID":"BEN2","timedispatch":"2025-12-27 16:39:19","policeReportNumber":"20250141870","dispatchNotes":"[EMS] 90 YOF ... FAMILY ON WAY TO HOUSE  [12\/27\/25 16:39:10 PFOISTER] [APCO INTELLICOMM] Caller Phone: 2605913  [12\/27\/25 16:38:57 PSUTIL01] [APCO INTELLICOMM] Caller Name: RILEY SPARKS  [12\/27\/25 16:38:43 PSUTIL01] [EMS] SHIRLEY MAYNARD  [12\/27\/25 16:38:13 PFOISTER] [APCO INTELLICOMM] Case ID: j96RorUrS0 Caller Phone: (empty) Caller Name: (empty) Incident Location: 119 CHESTNUT ST Incident Location Detail: FIRST AVE N\/CELESTE DR Nature: FALL VICTIM Incident #: 20250141869 CAD Call Taker: PFOISTER Chief Complaint: (empty)  [12\/27\/25 16:37:57 PSUTIL01] Event spawned from FALL VICTIM.  [12\/27\/2025 16:37:54 PFOISTER]","cADLog":"[EMS] 90 YOF ... FAMILY ON WAY TO HOUSE  [12\/27\/25 16:39:10 PFOISTER] [APCO INTELLICOMM] Caller Phone: 2605913  [12\/27\/25 16:38:57 PSUTIL01] [APCO INTELLICOMM] Caller Name: RILEY SPARKS  [12\/27\/25 16:38:43 PSUTIL01] [EMS] SHIRLEY MAYNARD  [12\/27\/25 16:38:13 PFOISTER] [APCO INTELLICOMM] Case ID: j96RorUrS0 Caller Phone: (empty) Caller Name: (empty) Incident Location: 119 CHESTNUT ST Incident Location Detail: FIRST AVE N\/CELESTE DR Nature: FALL VICTIM Incident #: 20250141869 CAD Call Taker: PFOISTER Chief Complaint: (empty)  [12\/27\/25 16:37:57 PSUTIL01] Event spawned from FALL VICTIM.  [12\/27\/2025 16:37:54 PFOISTER]","incidentLocationCity":"BAXTER","streetName":"CHESTNUT ST","incidentAddressTextVersionStreet":"119 CHESTNUT ST","locationCoordinates":"36.15856,-85.64728"}
[2025-12-27 22:39:22] [INFO] Number of extracted fields: 21
[2025-12-27 22:39:22] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'BFD'
[2025-12-27 22:39:22] [INFO] Multi-agency routing check: CAD Agency ID raw = 'BFD', Parsed IDs = ["BFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2025-12-27 22:39:22] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["BFD"]
[2025-12-27 22:39:22] [INFO] Attempting SAASClient lookup for AgencyCode 'BFD' (index 0) within mailbox's assigned agencies
[2025-12-27 22:39:22] [INFO] SUCCESS: Routed to agency 'Baxter Fire Department' (ID: 68d1820f7ad4dadbd) at INDEX 0 based on AgencyCode 'BFD'
[2025-12-27 22:39:22] [INFO] Fetched 1 stations from Stations module for agency 'Baxter Fire Department': ["68d1884332e5f169b"]
[2025-12-27 22:39:22] [INFO] Final routing: saasclientId = 68d1820f7ad4dadbd, dispatchStationsIds = ["68d1884332e5f169b"], matchedAgencyIndex = 0
[2025-12-27 22:39:22] [INFO] Updated FTPFiles record saasclientId to routed agency: 68d1820f7ad4dadbd
[2025-12-27 22:39:22] [INFO] Found existing IncidentTypeMapping with ID: 6945b69c07316b158
[2025-12-27 22:39:25] [INFO] Created new Dispatches record with ID: 6950601b1bc19f3bc
[2025-12-27 22:39:25] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20250141870_20251227_223921.XML
[2025-12-27 22:39:25] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20250141870_20251227_223921.XML
[2025-12-27 22:40:31] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250141872_20251227_224031.XML
[2025-12-27 22:40:31] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250141872_20251227_224031.XML for user: 68f1466aed072ad4a
[2025-12-27 22:40:31] [INFO] File size: 5640 bytes
[2025-12-27 22:40:32] [INFO] Created FTPFiles record with ID: 695060602ef934969
[2025-12-27 22:40:32] [INFO] About to extract fields from XML. File size: 5640 bytes
[2025-12-27 22:40:32] [INFO] Number of mappings: 28
[2025-12-27 22:40:32] [INFO] Starting XML parsing. Content length: 5640
[2025-12-27 22:40:32] [INFO] XML parsed successfully. Root element: CADExport
[2025-12-27 22:40:32] [INFO] Processing 28 field mappings
[2025-12-27 22:40:32] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2025-12-27 22:40:32] [INFO] Found 3 elements for 'AgencyCode', using FIRST value only
[2025-12-27 22:40:32] [INFO]   -> Found value: PCFD
[2025-12-27 22:40:32] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2025-12-27 22:40:32] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2025-12-27 22:40:32] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2025-12-27 22:40:32] [INFO]   -> Found value: 2025003184
[2025-12-27 22:40:32] [INFO]   -> Set field 'incidentInternalId' = "2025003184"
[2025-12-27 22:40:32] [INFO]   -> Set field 'dispatchRunNumber' = "2025003184"
[2025-12-27 22:40:32] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2025-12-27 22:40:32] [INFO]   -> Found value: BREATHING PROBLEMS
[2025-12-27 22:40:32] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2025-12-27 22:40:32] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2025-12-27 22:40:32] [INFO]   -> Found value: 3340
[2025-12-27 22:40:32] [INFO]   -> Set field 'incidentLocationStreetNumber' = 3340
[2025-12-27 22:40:32] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2025-12-27 22:40:32] [INFO]   -> Found value: TN
[2025-12-27 22:40:32] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2025-12-27 22:40:32] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2025-12-27 22:40:32] [INFO]   -> Found value: 38544
[2025-12-27 22:40:32] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2025-12-27 22:40:32] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2025-12-27 22:40:32] [INFO]   -> Found value: LARRY HASKINS
[2025-12-27 22:40:32] [INFO]   -> Set field 'businessName' = "LARRY HASKINS"
[2025-12-27 22:40:32] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2025-12-27 22:40:32] [INFO]   -> No value found (null or empty)
[2025-12-27 22:40:32] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2025-12-27 22:40:32] [INFO]   -> Found value: 36.12370
[2025-12-27 22:40:32] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1236999999999994770405464805662631988525390625
[2025-12-27 22:40:32] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2025-12-27 22:40:32] [INFO]   -> Found value: -85.61814
[2025-12-27 22:40:32] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6181399999999968031261232681572437286376953125
[2025-12-27 22:40:32] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2025-12-27 22:40:32] [INFO]   -> Found value: 2025-12-27 16:39:25
[2025-12-27 22:40:32] [INFO]   -> Set field 'alarm' = "2025-12-27 16:39:25"
[2025-12-27 22:40:32] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2025-12-27 22:40:32] [INFO]   -> Found value: 2025-12-27 16:40:20
[2025-12-27 22:40:32] [INFO]   -> Set field 'dispatched' = "2025-12-27 16:40:20"
[2025-12-27 22:40:32] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2025-12-27 22:40:32] [INFO]   -> No value found (null or empty)
[2025-12-27 22:40:32] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2025-12-27 22:40:32] [INFO]   -> No value found (null or empty)
[2025-12-27 22:40:32] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2025-12-27 22:40:32] [INFO]   -> No value found (null or empty)
[2025-12-27 22:40:32] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2025-12-27 22:40:32] [INFO]   -> Found value: ACADEMY RD/MELODY LN
[2025-12-27 22:40:32] [INFO]   -> Set field 'incidentLocationCross' = "ACADEMY RD\/MELODY LN"
[2025-12-27 22:40:32] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2025-12-27 22:40:32] [INFO]   -> Found value: PCFR
[2025-12-27 22:40:32] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2025-12-27 22:40:32] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2025-12-27 22:40:32] [INFO]   -> Found value: 2025-12-27 16:40:20
[2025-12-27 22:40:32] [INFO]   -> Set field 'timedispatch' = "2025-12-27 16:40:20"
[2025-12-27 22:40:32] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2025-12-27 22:40:32] [INFO]   -> No value found (null or empty)
[2025-12-27 22:40:32] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2025-12-27 22:40:32] [INFO]   -> No value found (null or empty)
[2025-12-27 22:40:32] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2025-12-27 22:40:32] [INFO]   -> No value found (null or empty)
[2025-12-27 22:40:32] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2025-12-27 22:40:32] [INFO]   -> No value found (null or empty)
[2025-12-27 22:40:32] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2025-12-27 22:40:32] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2025-12-27 22:40:32] [INFO]   -> Found value: 20250141872
[2025-12-27 22:40:32] [INFO]   -> Set field 'policeReportNumber' = "20250141872"
[2025-12-27 22:40:32] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2025-12-27 22:40:32] [INFO]   -> Found value: ENTER THRU BACK DOOR  [12/27/25 16:40:18 KMORGAN2] [APCO INTELLICOMM] Incident Location: 3340 GENTRY...
[2025-12-27 22:40:32] [INFO]   -> Set field 'dispatchNotes' = "ENTER THRU BACK DOOR  [12\/27\/25 16:40:18 KMORGAN2] [APCO INTELLICOMM] Incident Location: 3340 GENTRY DR  [12\/27\/25 16:39:38 PSUTIL01] [APCO INTELLICOMM] Case ID: sWZo3ad4aM Caller Phone: 9318584531 Caller Name: HASKINS LARRY &amp; SUE Incident Location: 3330 GENTRY DR Incident Location Detail: ACADEMY RD\/MELODY LN Nature: BREATHING PROBLEMS Incident #: 20250141871 CAD Call Taker: KMORGAN2 Chief Complaint: (empty)  [12\/27\/25 16:39:27 PSUTIL01] Event spawned from BREATHING PROBLEMS.  [12\/27\/2025 16:39:25 KMORGAN2]"
[2025-12-27 22:40:32] [INFO]   -> Set field 'cADLog' = "ENTER THRU BACK DOOR  [12\/27\/25 16:40:18 KMORGAN2] [APCO INTELLICOMM] Incident Location: 3340 GENTRY DR  [12\/27\/25 16:39:38 PSUTIL01] [APCO INTELLICOMM] Case ID: sWZo3ad4aM Caller Phone: 9318584531 Caller Name: HASKINS LARRY &amp; SUE Incident Location: 3330 GENTRY DR Incident Location Detail: ACADEMY RD\/MELODY LN Nature: BREATHING PROBLEMS Incident #: 20250141871 CAD Call Taker: KMORGAN2 Chief Complaint: (empty)  [12\/27\/25 16:39:27 PSUTIL01] Event spawned from BREATHING PROBLEMS.  [12\/27\/2025 16:39:25 KMORGAN2]"
[2025-12-27 22:40:32] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2025-12-27 22:40:32] [INFO]   -> Found value: BAXTER
[2025-12-27 22:40:32] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2025-12-27 22:40:32] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2025-12-27 22:40:32] [INFO]   -> Found value: GENTRY
[2025-12-27 22:40:32] [INFO]   -> Set field 'streetName' = "GENTRY"
[2025-12-27 22:40:32] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2025-12-27 22:40:32] [INFO]   -> Found value: DR
[2025-12-27 22:40:32] [INFO]   -> Set field 'streetType' = "DR"
[2025-12-27 22:40:32] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2025-12-27 22:40:32] [INFO]   -> Found value: 3340 GENTRY DR
[2025-12-27 22:40:32] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "3340 GENTRY DR"
[2025-12-27 22:40:32] [INFO] Finished extracting fields. Total fields extracted: 22
[2025-12-27 22:40:32] [INFO] Concatenating street name and type
[2025-12-27 22:40:32] [INFO]   -> Combined street name: GENTRY DR
[2025-12-27 22:40:32] [INFO] Built locationCoordinates from lat/lng: 36.1237,-85.61814
[2025-12-27 22:40:32] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2025003184","dispatchRunNumber":"2025003184","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":3340,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"businessName":"LARRY HASKINS","nERISIncidentLatitude":36.1236999999999994770405464805662631988525390625,"nERISIncidentLongitude":-85.6181399999999968031261232681572437286376953125,"alarm":"2025-12-27 16:39:25","dispatched":"2025-12-27 16:40:20","incidentLocationCross":"ACADEMY RD\/MELODY LN","cADVehicleID":"PCFR","timedispatch":"2025-12-27 16:40:20","policeReportNumber":"20250141872","dispatchNotes":"ENTER THRU BACK DOOR  [12\/27\/25 16:40:18 KMORGAN2] [APCO INTELLICOMM] Incident Location: 3340 GENTRY DR  [12\/27\/25 16:39:38 PSUTIL01] [APCO INTELLICOMM] Case ID: sWZo3ad4aM Caller Phone: 9318584531 Caller Name: HASKINS LARRY &amp; SUE Incident Location: 3330 GENTRY DR Incident Location Detail: ACADEMY RD\/MELODY LN Nature: BREATHING PROBLEMS Incident #: 20250141871 CAD Call Taker: KMORGAN2 Chief Complaint: (empty)  [12\/27\/25 16:39:27 PSUTIL01] Event spawned from BREATHING PROBLEMS.  [12\/27\/2025 16:39:25 KMORGAN2]","cADLog":"ENTER THRU BACK DOOR  [12\/27\/25 16:40:18 KMORGAN2] [APCO INTELLICOMM] Incident Location: 3340 GENTRY DR  [12\/27\/25 16:39:38 PSUTIL01] [APCO INTELLICOMM] Case ID: sWZo3ad4aM Caller Phone: 9318584531 Caller Name: HASKINS LARRY &amp; SUE Incident Location: 3330 GENTRY DR Incident Location Detail: ACADEMY RD\/MELODY LN Nature: BREATHING PROBLEMS Incident #: 20250141871 CAD Call Taker: KMORGAN2 Chief Complaint: (empty)  [12\/27\/25 16:39:27 PSUTIL01] Event spawned from BREATHING PROBLEMS.  [12\/27\/2025 16:39:25 KMORGAN2]","incidentLocationCity":"BAXTER","streetName":"GENTRY DR","incidentAddressTextVersionStreet":"3340 GENTRY DR","locationCoordinates":"36.1237,-85.61814"}
[2025-12-27 22:40:32] [INFO] Number of extracted fields: 22
[2025-12-27 22:40:32] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2025-12-27 22:40:32] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD', Parsed IDs = ["PCFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2025-12-27 22:40:32] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2025-12-27 22:40:32] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2025-12-27 22:40:32] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2025-12-27 22:40:32] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2025-12-27 22:40:32] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2025-12-27 22:40:32] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2025-12-27 22:40:32] [INFO] Found existing IncidentTypeMapping with ID: 693e326c3c0e41cb3
[2025-12-27 22:40:35] [INFO] Created new Dispatches record with ID: 69506060e994e9134
[2025-12-27 22:40:35] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250141872_20251227_224031.XML
[2025-12-27 22:40:35] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250141872_20251227_224031.XML
