[2025-12-09 04:10:38] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250135021_20251209_041038.XML
[2025-12-09 04:10:38] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250135021_20251209_041038.XML for user: 68f1466aed072ad4a
[2025-12-09 04:10:38] [INFO] File size: 5354 bytes
[2025-12-09 04:10:38] [INFO] Created FTPFiles record with ID: 6937a13ecf31bdc76
[2025-12-09 04:10:38] [INFO] About to extract fields from XML. File size: 5354 bytes
[2025-12-09 04:10:38] [INFO] Number of mappings: 25
[2025-12-09 04:10:38] [INFO] Starting XML parsing. Content length: 5354
[2025-12-09 04:10:38] [INFO] XML parsed successfully. Root element: CADExport
[2025-12-09 04:10:38] [INFO] Processing 25 field mappings
[2025-12-09 04:10:38] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2025-12-09 04:10:38] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2025-12-09 04:10:38] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2025-12-09 04:10:38] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2025-12-09 04:10:38] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2025-12-09 04:10:38] [INFO] Found 4 elements for 'ReportNumber', concatenating 2 non-empty values
[2025-12-09 04:10:38] [INFO]   -> Found value: 2025003009
2025019061
[2025-12-09 04:10:38] [INFO]   -> Set field 'incidentInternalId' = "2025003009\n2025019061"
[2025-12-09 04:10:38] [INFO]   -> Set field 'dispatchRunNumber' = "2025003009\n2025019061"
[2025-12-09 04:10:38] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2025-12-09 04:10:38] [INFO]   -> Found value: DIABETIC PROBLEM
[2025-12-09 04:10:38] [INFO]   -> Set field 'incidentTypeValue1' = "DIABETIC PROBLEM"
[2025-12-09 04:10:38] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2025-12-09 04:10:38] [INFO]   -> Found value: 4950
[2025-12-09 04:10:38] [INFO]   -> Set field 'incidentLocationStreetNumber' = 4950
[2025-12-09 04:10:38] [INFO] Mapping #5: Extracting 'RelatedNames.Name.StreetName' => 'streetName'
[2025-12-09 04:10:38] [INFO]   -> Found value: ABNER ALLEN RD
[2025-12-09 04:10:38] [INFO]   -> Set field 'streetName' = "ABNER ALLEN RD"
[2025-12-09 04:10:38] [INFO] Mapping #6: Extracting 'RelatedNames.Name.City' => 'incidentLocationCity'
[2025-12-09 04:10:38] [INFO]   -> Found value: COOKEVILLE
[2025-12-09 04:10:38] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2025-12-09 04:10:38] [INFO] Mapping #7: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2025-12-09 04:10:38] [INFO]   -> Found value: TN
[2025-12-09 04:10:38] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2025-12-09 04:10:38] [INFO] Mapping #8: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2025-12-09 04:10:38] [INFO]   -> Found value: 38506
[2025-12-09 04:10:38] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2025-12-09 04:10:38] [INFO] Mapping #9: Extracting 'EventDetails.SiteName' => 'businessName'
[2025-12-09 04:10:38] [INFO]   -> Found value: COMMUNITY OPTIONS
[2025-12-09 04:10:38] [INFO]   -> Set field 'businessName' = "COMMUNITY OPTIONS"
[2025-12-09 04:10:38] [INFO] Mapping #10: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2025-12-09 04:10:38] [INFO]   -> No value found (null or empty)
[2025-12-09 04:10:38] [INFO] Mapping #11: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2025-12-09 04:10:38] [INFO]   -> Found value: 36.23275
[2025-12-09 04:10:38] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.23275
[2025-12-09 04:10:38] [INFO] Mapping #12: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2025-12-09 04:10:38] [INFO]   -> Found value: -85.49005
[2025-12-09 04:10:38] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.49005
[2025-12-09 04:10:38] [INFO] Mapping #13: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2025-12-09 04:10:38] [INFO]   -> Found value: 2025-12-08 22:09:57
[2025-12-09 04:10:38] [INFO]   -> Set field 'alarm' = "2025-12-08 22:09:57"
[2025-12-09 04:10:38] [INFO] Mapping #14: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2025-12-09 04:10:38] [INFO]   -> Found value: 2025-12-08 22:10:34
[2025-12-09 04:10:38] [INFO]   -> Set field 'dispatched' = "2025-12-08 22:10:34"
[2025-12-09 04:10:38] [INFO] Mapping #15: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2025-12-09 04:10:38] [INFO]   -> No value found (null or empty)
[2025-12-09 04:10:38] [INFO] Mapping #16: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2025-12-09 04:10:38] [INFO]   -> No value found (null or empty)
[2025-12-09 04:10:38] [INFO] Mapping #17: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2025-12-09 04:10:38] [INFO]   -> No value found (null or empty)
[2025-12-09 04:10:38] [INFO] Mapping #18: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2025-12-09 04:10:38] [INFO]   -> Found value: PINE VALLEY RD/PENTHOUSE RD
[2025-12-09 04:10:38] [INFO]   -> Set field 'incidentLocationCross' = "PINE VALLEY RD\/PENTHOUSE RD"
[2025-12-09 04:10:38] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2025-12-09 04:10:38] [INFO]   -> Found value: PCFR
[2025-12-09 04:10:38] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2025-12-09 04:10:38] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2025-12-09 04:10:38] [INFO]   -> Found value: 2025-12-08 22:10:34
[2025-12-09 04:10:38] [INFO]   -> Set field 'timedispatch' = "2025-12-08 22:10:34"
[2025-12-09 04:10:38] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2025-12-09 04:10:38] [INFO]   -> No value found (null or empty)
[2025-12-09 04:10:38] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2025-12-09 04:10:38] [INFO]   -> No value found (null or empty)
[2025-12-09 04:10:38] [INFO] Mapping #23: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2025-12-09 04:10:38] [INFO]   -> No value found (null or empty)
[2025-12-09 04:10:38] [INFO] Mapping #24: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2025-12-09 04:10:38] [INFO]   -> No value found (null or empty)
[2025-12-09 04:10:38] [INFO] Mapping #25: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2025-12-09 04:10:38] [INFO] Found 4 elements for 'CadInciNumber', concatenating 4 non-empty values
[2025-12-09 04:10:38] [INFO]   -> Found value: 20250135021
20250135019
20250135020
20250135022
[2025-12-09 04:10:38] [INFO]   -> Set field 'policeReportNumber' = "20250135021\n20250135019\n20250135020\n20250135022"
[2025-12-09 04:10:38] [INFO] Finished extracting fields. Total fields extracted: 18
[2025-12-09 04:10:38] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2025003009\n2025019061","dispatchRunNumber":"2025003009\n2025019061","incidentTypeValue1":"DIABETIC PROBLEM","incidentLocationStreetNumber":4950,"streetName":"ABNER ALLEN RD","incidentLocationCity":"COOKEVILLE","incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"businessName":"COMMUNITY OPTIONS","nERISIncidentLatitude":36.23275,"nERISIncidentLongitude":-85.49005,"alarm":"2025-12-08 22:09:57","dispatched":"2025-12-08 22:10:34","incidentLocationCross":"PINE VALLEY RD\/PENTHOUSE RD","cADVehicleID":"PCFR","timedispatch":"2025-12-08 22:10:34","policeReportNumber":"20250135021\n20250135019\n20250135020\n20250135022"}
[2025-12-09 04:10:38] [INFO] Number of extracted fields: 18
[2025-12-09 04:10:38] [INFO] Multi-agency routing check: CAD Agency ID = PCFD
EMS
PCSO
RESC, Assigned Agencies count = 1
[2025-12-09 04:10:38] [INFO] Multi-agency mode detected. Looking up SAASClient by cADAgencyIdentifier: 'PCFD
EMS
PCSO
RESC'
[2025-12-09 04:10:38] [WARNING] WARNING: No SAASClient found with cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2025-12-09 04:10:38] [INFO] FALLBACK: Using mailbox default saasclientId: 68eeb686225c40db4 (multi-agency routing attempted but failed)
[2025-12-09 04:10:38] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2025-12-09 04:10:38] [INFO] Created new IncidentTypeMapping Data: {"cADIncidentType":"DIABETIC PROBLEM","saasclientId":"68eeb686225c40db4","name":"DIABETIC PROBLEM"}
[2025-12-09 04:10:39] [INFO] Created new IncidentTypeMapping with ID: 6937a13f0053c6dd7
[2025-12-09 04:10:43] [INFO] Created new Dispatches record with ID: 6937a1404d2564d2e
[2025-12-09 04:10:43] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250135021_20251209_041038.XML
[2025-12-09 04:10:43] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250135021_20251209_041038.XML
[2025-12-09 04:10:43] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250135021_20251209_041042.XML
[2025-12-09 04:10:43] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250135021_20251209_041042.XML for user: 68f1466aed072ad4a
[2025-12-09 04:10:43] [INFO] File size: 5354 bytes
[2025-12-09 04:10:43] [INFO] Created FTPFiles record with ID: 6937a143310207bbe
[2025-12-09 04:10:43] [INFO] About to extract fields from XML. File size: 5354 bytes
[2025-12-09 04:10:43] [INFO] Number of mappings: 25
[2025-12-09 04:10:43] [INFO] Starting XML parsing. Content length: 5354
[2025-12-09 04:10:43] [INFO] XML parsed successfully. Root element: CADExport
[2025-12-09 04:10:43] [INFO] Processing 25 field mappings
[2025-12-09 04:10:43] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2025-12-09 04:10:43] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2025-12-09 04:10:43] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2025-12-09 04:10:43] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2025-12-09 04:10:43] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2025-12-09 04:10:43] [INFO] Found 4 elements for 'ReportNumber', concatenating 2 non-empty values
[2025-12-09 04:10:43] [INFO]   -> Found value: 2025003009
2025019061
[2025-12-09 04:10:43] [INFO]   -> Set field 'incidentInternalId' = "2025003009\n2025019061"
[2025-12-09 04:10:43] [INFO]   -> Set field 'dispatchRunNumber' = "2025003009\n2025019061"
[2025-12-09 04:10:43] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2025-12-09 04:10:43] [INFO]   -> Found value: DIABETIC PROBLEM
[2025-12-09 04:10:43] [INFO]   -> Set field 'incidentTypeValue1' = "DIABETIC PROBLEM"
[2025-12-09 04:10:43] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2025-12-09 04:10:43] [INFO]   -> Found value: 4950
[2025-12-09 04:10:43] [INFO]   -> Set field 'incidentLocationStreetNumber' = 4950
[2025-12-09 04:10:43] [INFO] Mapping #5: Extracting 'RelatedNames.Name.StreetName' => 'streetName'
[2025-12-09 04:10:43] [INFO]   -> Found value: ABNER ALLEN RD
[2025-12-09 04:10:43] [INFO]   -> Set field 'streetName' = "ABNER ALLEN RD"
[2025-12-09 04:10:43] [INFO] Mapping #6: Extracting 'RelatedNames.Name.City' => 'incidentLocationCity'
[2025-12-09 04:10:43] [INFO]   -> Found value: COOKEVILLE
[2025-12-09 04:10:43] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2025-12-09 04:10:43] [INFO] Mapping #7: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2025-12-09 04:10:43] [INFO]   -> Found value: TN
[2025-12-09 04:10:43] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2025-12-09 04:10:43] [INFO] Mapping #8: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2025-12-09 04:10:43] [INFO]   -> Found value: 38506
[2025-12-09 04:10:43] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2025-12-09 04:10:43] [INFO] Mapping #9: Extracting 'EventDetails.SiteName' => 'businessName'
[2025-12-09 04:10:43] [INFO]   -> Found value: COMMUNITY OPTIONS
[2025-12-09 04:10:43] [INFO]   -> Set field 'businessName' = "COMMUNITY OPTIONS"
[2025-12-09 04:10:43] [INFO] Mapping #10: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2025-12-09 04:10:43] [INFO]   -> No value found (null or empty)
[2025-12-09 04:10:43] [INFO] Mapping #11: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2025-12-09 04:10:43] [INFO]   -> Found value: 36.23275
[2025-12-09 04:10:43] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.23275
[2025-12-09 04:10:43] [INFO] Mapping #12: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2025-12-09 04:10:43] [INFO]   -> Found value: -85.49005
[2025-12-09 04:10:43] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.49005
[2025-12-09 04:10:43] [INFO] Mapping #13: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2025-12-09 04:10:43] [INFO]   -> Found value: 2025-12-08 22:09:57
[2025-12-09 04:10:43] [INFO]   -> Set field 'alarm' = "2025-12-08 22:09:57"
[2025-12-09 04:10:43] [INFO] Mapping #14: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2025-12-09 04:10:43] [INFO]   -> Found value: 2025-12-08 22:10:34
[2025-12-09 04:10:43] [INFO]   -> Set field 'dispatched' = "2025-12-08 22:10:34"
[2025-12-09 04:10:43] [INFO] Mapping #15: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2025-12-09 04:10:43] [INFO]   -> No value found (null or empty)
[2025-12-09 04:10:43] [INFO] Mapping #16: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2025-12-09 04:10:43] [INFO]   -> No value found (null or empty)
[2025-12-09 04:10:43] [INFO] Mapping #17: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2025-12-09 04:10:43] [INFO]   -> No value found (null or empty)
[2025-12-09 04:10:43] [INFO] Mapping #18: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2025-12-09 04:10:43] [INFO]   -> Found value: PINE VALLEY RD/PENTHOUSE RD
[2025-12-09 04:10:43] [INFO]   -> Set field 'incidentLocationCross' = "PINE VALLEY RD\/PENTHOUSE RD"
[2025-12-09 04:10:43] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2025-12-09 04:10:43] [INFO]   -> Found value: PCFR
[2025-12-09 04:10:43] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2025-12-09 04:10:43] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2025-12-09 04:10:43] [INFO]   -> Found value: 2025-12-08 22:10:34
[2025-12-09 04:10:43] [INFO]   -> Set field 'timedispatch' = "2025-12-08 22:10:34"
[2025-12-09 04:10:43] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2025-12-09 04:10:43] [INFO]   -> No value found (null or empty)
[2025-12-09 04:10:43] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2025-12-09 04:10:43] [INFO]   -> No value found (null or empty)
[2025-12-09 04:10:43] [INFO] Mapping #23: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2025-12-09 04:10:43] [INFO]   -> No value found (null or empty)
[2025-12-09 04:10:43] [INFO] Mapping #24: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2025-12-09 04:10:43] [INFO]   -> No value found (null or empty)
[2025-12-09 04:10:43] [INFO] Mapping #25: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2025-12-09 04:10:43] [INFO] Found 4 elements for 'CadInciNumber', concatenating 4 non-empty values
[2025-12-09 04:10:43] [INFO]   -> Found value: 20250135021
20250135019
20250135020
20250135022
[2025-12-09 04:10:43] [INFO]   -> Set field 'policeReportNumber' = "20250135021\n20250135019\n20250135020\n20250135022"
[2025-12-09 04:10:43] [INFO] Finished extracting fields. Total fields extracted: 18
[2025-12-09 04:10:43] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2025003009\n2025019061","dispatchRunNumber":"2025003009\n2025019061","incidentTypeValue1":"DIABETIC PROBLEM","incidentLocationStreetNumber":4950,"streetName":"ABNER ALLEN RD","incidentLocationCity":"COOKEVILLE","incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"businessName":"COMMUNITY OPTIONS","nERISIncidentLatitude":36.23275,"nERISIncidentLongitude":-85.49005,"alarm":"2025-12-08 22:09:57","dispatched":"2025-12-08 22:10:34","incidentLocationCross":"PINE VALLEY RD\/PENTHOUSE RD","cADVehicleID":"PCFR","timedispatch":"2025-12-08 22:10:34","policeReportNumber":"20250135021\n20250135019\n20250135020\n20250135022"}
[2025-12-09 04:10:43] [INFO] Number of extracted fields: 18
[2025-12-09 04:10:43] [INFO] Multi-agency routing check: CAD Agency ID = PCFD
EMS
PCSO
RESC, Assigned Agencies count = 1
[2025-12-09 04:10:43] [INFO] Multi-agency mode detected. Looking up SAASClient by cADAgencyIdentifier: 'PCFD
EMS
PCSO
RESC'
[2025-12-09 04:10:43] [WARNING] WARNING: No SAASClient found with cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2025-12-09 04:10:43] [INFO] FALLBACK: Using mailbox default saasclientId: 68eeb686225c40db4 (multi-agency routing attempted but failed)
[2025-12-09 04:10:43] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2025-12-09 04:10:43] [INFO] Found existing IncidentTypeMapping with ID: 6937a13f0053c6dd7
[2025-12-09 04:10:43] [INFO] Found existing Dispatch with cADNumber '2025003009
2025019061', ID: 6937a1404d2564d2e - will update instead of create
[2025-12-09 04:10:43] [INFO] Updated existing Dispatches record with ID: 6937a1404d2564d2e
[2025-12-09 04:10:43] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250135021_20251209_041042.XML
[2025-12-09 04:10:43] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250135021_20251209_041042.XML
[2025-12-09 05:43:00] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_25-29073.xml
[2025-12-09 05:43:00] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_25-29073.xml for user: 68d56363ec1209189
[2025-12-09 05:43:00] [INFO] File size: 3323 bytes
[2025-12-09 05:43:00] [INFO] Created FTPFiles record with ID: 6937b6e4b3bc7fb74
[2025-12-09 05:43:00] [INFO] About to extract fields from XML. File size: 3323 bytes
[2025-12-09 05:43:00] [INFO] Number of mappings: 21
[2025-12-09 05:43:00] [INFO] Starting XML parsing. Content length: 3323
[2025-12-09 05:43:00] [INFO] XML parsed successfully. Root element: Incident
[2025-12-09 05:43:00] [INFO] Processing 21 field mappings
[2025-12-09 05:43:00] [INFO] Mapping #1: Extracting 'IncidentNumber' => 'dispatchRunNumber'
[2025-12-09 05:43:00] [INFO]   -> Found value: 25-29073
[2025-12-09 05:43:00] [INFO]   -> Set field 'dispatchRunNumber' = "25-29073"
[2025-12-09 05:43:00] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2025-12-09 05:43:00] [INFO]   -> Found value: 1673
[2025-12-09 05:43:00] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1673
[2025-12-09 05:43:00] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2025-12-09 05:43:00] [INFO]   -> Found value: STATE HIGHWAY D
[2025-12-09 05:43:00] [INFO]   -> Set field 'streetName' = "STATE HIGHWAY D"
[2025-12-09 05:43:00] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2025-12-09 05:43:00] [INFO]   -> No value found (null or empty)
[2025-12-09 05:43:00] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2025-12-09 05:43:00] [INFO]   -> Found value: CHARLESTON
[2025-12-09 05:43:00] [INFO]   -> Set field 'incidentLocationCity' = "CHARLESTON"
[2025-12-09 05:43:00] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2025-12-09 05:43:00] [INFO]   -> No value found (null or empty)
[2025-12-09 05:43:00] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2025-12-09 05:43:00] [INFO]   -> No value found (null or empty)
[2025-12-09 05:43:00] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2025-12-09 05:43:00] [INFO]   -> No value found (null or empty)
[2025-12-09 05:43:00] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2025-12-09 05:43:00] [INFO]   -> Found value: 0
[2025-12-09 05:43:00] [INFO]   -> Set field 'nERISIncidentLatitude' = null
[2025-12-09 05:43:00] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2025-12-09 05:43:00] [INFO]   -> Found value: 0
[2025-12-09 05:43:00] [INFO]   -> Set field 'nERISIncidentLongitude' = null
[2025-12-09 05:43:00] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2025-12-09 05:43:00] [INFO]   -> Found value: FIRE-VEHICLE
[2025-12-09 05:43:00] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE-VEHICLE"
[2025-12-09 05:43:00] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2025-12-09 05:43:00] [INFO]   -> Found value: 12-08-2025 22:33:03|RP ADV THERE IS A SINGLE CAB THAT HIT TELEPHONE POLES AND IS CURRENTLY ON FIRE
R...
[2025-12-09 05:43:00] [INFO]   -> Set field 'dispatchNotes' = "12-08-2025 22:33:03|RP ADV THERE IS A SINGLE CAB THAT HIT TELEPHONE POLES AND IS CURRENTLY ON FIRE\nRP ADV HE DOES KNOW IF THERE IS ANYONE INJURED  12-08-2025 22:36:39|****** Appended notes from E911 Call begin ******\nAddress: 4846 STATE HIGHWAY 77, BENTON\nSector: N Source: E911 \nLaw Enf: Scott County S.O. (MO) Fire: Scott County Rural EMS: NSCAD \nOpened DateTime: 12\/08\/2025 22:35:24\nNotes: Call Received on 12\/08\/2025 @ 22:35\n\nLocation: SE SECTOR\n****** Appended notes from E911 Call end   ******\n 12-08-2025 22:40:14|EN ROUTE TO STATION 4 12-08-2025 22:41:56|CLOSE TO INTERSECTION OF STATE HIGHWAY N 12-08-2025 22:47:14|1724 EN ROUTE 12-08-2025 22:50:46|SIBJECT WHO HIT THE POLE IS AT 1670 STATE HIGHWAY N 12-08-2025 22:51:11|1771 ENROUTE WITH ONE 12-08-2025 22:51:45|UNK IF INJURIED AND ADVISED FLIPPED HIS VEHICLE SEVERAL TIMES 12-08-2025 22:51:56|1724 ON SCENE 12-08-2025 22:51:59|VEHICLE IS ON FIRE 12-08-2025 22:59:58|1771 ON SCENE 12-08-2025 23:00:16|APPROX 2 AND HALF MILES FROM 77 12-08-2025 23:00:19|SEMO IS ON SCENE 12-08-2025 23:02:26|MSHP NOTIFIED 12-08-2025 23:07:02|1701 ADVISED THEY HAVE PERSONNEL ON SCENE AND ONCE FIRE IS MITIGATED, HE WILL BE EVALUATED 12-08-2025 23:08:14|PATIENT IN 3413 VEHICLE 12-08-2025 23:10:32|FIRE EXTINGUISHED 12-08-2025 23:16:21|UNITS ADVISED TO CANCEL EMS RESPONSE 12-08-2025 23:25:02|1701 10-8 12-08-2025 23:40:53|ALL RURAL PERSONNEL CLEAR THE SCENE 12-08-2025 23:40:57|MSHP REMAINING"
[2025-12-09 05:43:00] [INFO]   -> Set field 'cADLog' = "12-08-2025 22:33:03|RP ADV THERE IS A SINGLE CAB THAT HIT TELEPHONE POLES AND IS CURRENTLY ON FIRE\nRP ADV HE DOES KNOW IF THERE IS ANYONE INJURED  12-08-2025 22:36:39|****** Appended notes from E911 Call begin ******\nAddress: 4846 STATE HIGHWAY 77, BENTON\nSector: N Source: E911 \nLaw Enf: Scott County S.O. (MO) Fire: Scott County Rural EMS: NSCAD \nOpened DateTime: 12\/08\/2025 22:35:24\nNotes: Call Received on 12\/08\/2025 @ 22:35\n\nLocation: SE SECTOR\n****** Appended notes from E911 Call end   ******\n 12-08-2025 22:40:14|EN ROUTE TO STATION 4 12-08-2025 22:41:56|CLOSE TO INTERSECTION OF STATE HIGHWAY N 12-08-2025 22:47:14|1724 EN ROUTE 12-08-2025 22:50:46|SIBJECT WHO HIT THE POLE IS AT 1670 STATE HIGHWAY N 12-08-2025 22:51:11|1771 ENROUTE WITH ONE 12-08-2025 22:51:45|UNK IF INJURIED AND ADVISED FLIPPED HIS VEHICLE SEVERAL TIMES 12-08-2025 22:51:56|1724 ON SCENE 12-08-2025 22:51:59|VEHICLE IS ON FIRE 12-08-2025 22:59:58|1771 ON SCENE 12-08-2025 23:00:16|APPROX 2 AND HALF MILES FROM 77 12-08-2025 23:00:19|SEMO IS ON SCENE 12-08-2025 23:02:26|MSHP NOTIFIED 12-08-2025 23:07:02|1701 ADVISED THEY HAVE PERSONNEL ON SCENE AND ONCE FIRE IS MITIGATED, HE WILL BE EVALUATED 12-08-2025 23:08:14|PATIENT IN 3413 VEHICLE 12-08-2025 23:10:32|FIRE EXTINGUISHED 12-08-2025 23:16:21|UNITS ADVISED TO CANCEL EMS RESPONSE 12-08-2025 23:25:02|1701 10-8 12-08-2025 23:40:53|ALL RURAL PERSONNEL CLEAR THE SCENE 12-08-2025 23:40:57|MSHP REMAINING"
[2025-12-09 05:43:00] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2025-12-09 05:43:00] [INFO]   -> Found value: 12-08-2025T22:38:20
[2025-12-09 05:43:00] [INFO]   -> Set field 'alarm' = "2025-08-12 22:38:20"
[2025-12-09 05:43:00] [INFO]   -> Set field 'dispatched' = "2025-08-12 22:38:20"
[2025-12-09 05:43:00] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2025-12-09 05:43:00] [INFO]   -> Found value: 12-08-2025T23:02:07
[2025-12-09 05:43:00] [INFO]   -> Set field 'onScene' = "2025-08-12 23:02:07"
[2025-12-09 05:43:00] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2025-12-09 05:43:00] [INFO]   -> Found value: 12-08-2025T23:41:00
[2025-12-09 05:43:00] [INFO]   -> Set field 'cleared' = "2025-08-12 23:41:00"
[2025-12-09 05:43:00] [INFO]   -> Set field 'inService' = "2025-08-12 23:41:00"
[2025-12-09 05:43:00] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2025-12-09 05:43:00] [INFO]   -> Found value: 1752
[2025-12-09 05:43:00] [INFO]   -> Set field 'cADVehicleID' = 1752
[2025-12-09 05:43:00] [INFO]   -> Set field 'name' = "1752"
[2025-12-09 05:43:00] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2025-12-09 05:43:00] [INFO]   -> Found value: 12-08-2025T22:48:34
[2025-12-09 05:43:00] [INFO]   -> Set field 'timeenroutetoscene' = "2025-08-12 22:48:34"
[2025-12-09 05:43:00] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2025-12-09 05:43:00] [INFO]   -> Found value: 12-08-2025T23:02:07
[2025-12-09 05:43:00] [INFO]   -> Set field 'timeonscene' = "2025-08-12 23:02:07"
[2025-12-09 05:43:00] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2025-12-09 05:43:00] [INFO]   -> Found value: 12-08-2025T23:41:00
[2025-12-09 05:43:00] [INFO]   -> Set field 'timeunitclear' = "2025-08-12 23:41:00"
[2025-12-09 05:43:00] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2025-12-09 05:43:00] [INFO]   -> Found value: 12-08-2025T22:48:33
[2025-12-09 05:43:00] [INFO]   -> Set field 'timedispatch' = "2025-08-12 22:48:33"
[2025-12-09 05:43:00] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2025-12-09 05:43:00] [INFO]   -> Found value: SCRFD
[2025-12-09 05:43:00] [INFO]   -> Set field 'cADAgencyIdentifier' = "SCRFD"
[2025-12-09 05:43:00] [INFO] Finished extracting fields. Total fields extracted: 21
[2025-12-09 05:43:00] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"25-29073","incidentLocationStreetNumber":1673,"streetName":"STATE HIGHWAY D","incidentLocationCity":"CHARLESTON","nERISIncidentLatitude":null,"nERISIncidentLongitude":null,"incidentTypeValue1":"FIRE-VEHICLE","dispatchNotes":"12-08-2025 22:33:03|RP ADV THERE IS A SINGLE CAB THAT HIT TELEPHONE POLES AND IS CURRENTLY ON FIRE\nRP ADV HE DOES KNOW IF THERE IS ANYONE INJURED  12-08-2025 22:36:39|****** Appended notes from E911 Call begin ******\nAddress: 4846 STATE HIGHWAY 77, BENTON\nSector: N Source: E911 \nLaw Enf: Scott County S.O. (MO) Fire: Scott County Rural EMS: NSCAD \nOpened DateTime: 12\/08\/2025 22:35:24\nNotes: Call Received on 12\/08\/2025 @ 22:35\n\nLocation: SE SECTOR\n****** Appended notes from E911 Call end   ******\n 12-08-2025 22:40:14|EN ROUTE TO STATION 4 12-08-2025 22:41:56|CLOSE TO INTERSECTION OF STATE HIGHWAY N 12-08-2025 22:47:14|1724 EN ROUTE 12-08-2025 22:50:46|SIBJECT WHO HIT THE POLE IS AT 1670 STATE HIGHWAY N 12-08-2025 22:51:11|1771 ENROUTE WITH ONE 12-08-2025 22:51:45|UNK IF INJURIED AND ADVISED FLIPPED HIS VEHICLE SEVERAL TIMES 12-08-2025 22:51:56|1724 ON SCENE 12-08-2025 22:51:59|VEHICLE IS ON FIRE 12-08-2025 22:59:58|1771 ON SCENE 12-08-2025 23:00:16|APPROX 2 AND HALF MILES FROM 77 12-08-2025 23:00:19|SEMO IS ON SCENE 12-08-2025 23:02:26|MSHP NOTIFIED 12-08-2025 23:07:02|1701 ADVISED THEY HAVE PERSONNEL ON SCENE AND ONCE FIRE IS MITIGATED, HE WILL BE EVALUATED 12-08-2025 23:08:14|PATIENT IN 3413 VEHICLE 12-08-2025 23:10:32|FIRE EXTINGUISHED 12-08-2025 23:16:21|UNITS ADVISED TO CANCEL EMS RESPONSE 12-08-2025 23:25:02|1701 10-8 12-08-2025 23:40:53|ALL RURAL PERSONNEL CLEAR THE SCENE 12-08-2025 23:40:57|MSHP REMAINING","cADLog":"12-08-2025 22:33:03|RP ADV THERE IS A SINGLE CAB THAT HIT TELEPHONE POLES AND IS CURRENTLY ON FIRE\nRP ADV HE DOES KNOW IF THERE IS ANYONE INJURED  12-08-2025 22:36:39|****** Appended notes from E911 Call begin ******\nAddress: 4846 STATE HIGHWAY 77, BENTON\nSector: N Source: E911 \nLaw Enf: Scott County S.O. (MO) Fire: Scott County Rural EMS: NSCAD \nOpened DateTime: 12\/08\/2025 22:35:24\nNotes: Call Received on 12\/08\/2025 @ 22:35\n\nLocation: SE SECTOR\n****** Appended notes from E911 Call end   ******\n 12-08-2025 22:40:14|EN ROUTE TO STATION 4 12-08-2025 22:41:56|CLOSE TO INTERSECTION OF STATE HIGHWAY N 12-08-2025 22:47:14|1724 EN ROUTE 12-08-2025 22:50:46|SIBJECT WHO HIT THE POLE IS AT 1670 STATE HIGHWAY N 12-08-2025 22:51:11|1771 ENROUTE WITH ONE 12-08-2025 22:51:45|UNK IF INJURIED AND ADVISED FLIPPED HIS VEHICLE SEVERAL TIMES 12-08-2025 22:51:56|1724 ON SCENE 12-08-2025 22:51:59|VEHICLE IS ON FIRE 12-08-2025 22:59:58|1771 ON SCENE 12-08-2025 23:00:16|APPROX 2 AND HALF MILES FROM 77 12-08-2025 23:00:19|SEMO IS ON SCENE 12-08-2025 23:02:26|MSHP NOTIFIED 12-08-2025 23:07:02|1701 ADVISED THEY HAVE PERSONNEL ON SCENE AND ONCE FIRE IS MITIGATED, HE WILL BE EVALUATED 12-08-2025 23:08:14|PATIENT IN 3413 VEHICLE 12-08-2025 23:10:32|FIRE EXTINGUISHED 12-08-2025 23:16:21|UNITS ADVISED TO CANCEL EMS RESPONSE 12-08-2025 23:25:02|1701 10-8 12-08-2025 23:40:53|ALL RURAL PERSONNEL CLEAR THE SCENE 12-08-2025 23:40:57|MSHP REMAINING","alarm":"2025-08-12 22:38:20","dispatched":"2025-08-12 22:38:20","onScene":"2025-08-12 23:02:07","cleared":"2025-08-12 23:41:00","inService":"2025-08-12 23:41:00","cADVehicleID":1752,"name":"1752","timeenroutetoscene":"2025-08-12 22:48:34","timeonscene":"2025-08-12 23:02:07","timeunitclear":"2025-08-12 23:41:00","timedispatch":"2025-08-12 22:48:33","cADAgencyIdentifier":"SCRFD"}
[2025-12-09 05:43:00] [INFO] Number of extracted fields: 21
[2025-12-09 05:43:00] [INFO] Multi-agency routing check: CAD Agency ID = SCRFD, Assigned Agencies count = 2
[2025-12-09 05:43:00] [INFO] Multi-agency mode detected. Looking up SAASClient by cADAgencyIdentifier: 'SCRFD'
[2025-12-09 05:43:00] [INFO] Found SAASClient match: ID = 6643bdb30659f00d8, Name = Scott County Rural Fire Protection District
[2025-12-09 05:43:00] [INFO] SUCCESS: Routed to agency 'Scott County Rural Fire Protection District' (ID: 6643bdb30659f00d8) based on CAD ID: 'SCRFD'
[2025-12-09 05:43:00] [INFO] No stationsIds found on matched agency, using mailbox stations as fallback
[2025-12-09 05:43:00] [INFO] Final routing: saasclientId = 6643bdb30659f00d8, dispatchStationsIds = ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"]
[2025-12-09 05:43:00] [INFO] Updated FTPFiles record saasclientId to routed agency: 6643bdb30659f00d8
[2025-12-09 05:43:01] [INFO] Found existing IncidentTypeMapping with ID: 68e4158e883a748d2
[2025-12-09 05:43:01] [INFO] Found existing Dispatch with cADNumber '25-29073', ID: 6937a7c03b0f0ae6b - will update instead of create
[2025-12-09 05:43:01] [INFO] Updated existing Dispatches record with ID: 6937a7c03b0f0ae6b
[2025-12-09 05:43:01] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_25-29073.xml
[2025-12-09 05:43:01] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_25-29073.xml
[2025-12-09 11:42:19] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250135065_20251209_114219.XML
[2025-12-09 11:42:19] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250135065_20251209_114219.XML for user: 68f1466aed072ad4a
[2025-12-09 11:42:19] [INFO] File size: 5395 bytes
[2025-12-09 11:42:19] [INFO] Created FTPFiles record with ID: 69380b1baf6255841
[2025-12-09 11:42:19] [INFO] About to extract fields from XML. File size: 5395 bytes
[2025-12-09 11:42:19] [INFO] Number of mappings: 25
[2025-12-09 11:42:19] [INFO] Starting XML parsing. Content length: 5395
[2025-12-09 11:42:19] [INFO] XML parsed successfully. Root element: CADExport
[2025-12-09 11:42:19] [INFO] Processing 25 field mappings
[2025-12-09 11:42:19] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2025-12-09 11:42:19] [INFO] Found 5 elements for 'AgencyCode', concatenating 5 non-empty values
[2025-12-09 11:42:19] [INFO]   -> Found value: PCFD
PCSO
EMS
RESC
EMS
[2025-12-09 11:42:19] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nPCSO\nEMS\nRESC\nEMS"
[2025-12-09 11:42:19] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2025-12-09 11:42:19] [INFO] Found 5 elements for 'ReportNumber', concatenating 3 non-empty values
[2025-12-09 11:42:19] [INFO]   -> Found value: 2025003010
2025019068
2025019069
[2025-12-09 11:42:19] [INFO]   -> Set field 'incidentInternalId' = "2025003010\n2025019068\n2025019069"
[2025-12-09 11:42:19] [INFO]   -> Set field 'dispatchRunNumber' = "2025003010\n2025019068\n2025019069"
[2025-12-09 11:42:19] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2025-12-09 11:42:19] [INFO]   -> Found value: MVC WITH INJURY
[2025-12-09 11:42:19] [INFO]   -> Set field 'incidentTypeValue1' = "MVC WITH INJURY"
[2025-12-09 11:42:19] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2025-12-09 11:42:19] [INFO]   -> Found value: 277
[2025-12-09 11:42:19] [INFO]   -> Set field 'incidentLocationStreetNumber' = 277
[2025-12-09 11:42:19] [INFO] Mapping #5: Extracting 'RelatedNames.Name.StreetName' => 'streetName'
[2025-12-09 11:42:19] [INFO]   -> Found value: OLD BAXTER RD
[2025-12-09 11:42:19] [INFO]   -> Set field 'streetName' = "OLD BAXTER RD"
[2025-12-09 11:42:19] [INFO] Mapping #6: Extracting 'RelatedNames.Name.City' => 'incidentLocationCity'
[2025-12-09 11:42:19] [INFO]   -> Found value: BAXTER
[2025-12-09 11:42:19] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2025-12-09 11:42:19] [INFO] Mapping #7: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2025-12-09 11:42:19] [INFO]   -> Found value: TN
[2025-12-09 11:42:19] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2025-12-09 11:42:19] [INFO] Mapping #8: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2025-12-09 11:42:19] [INFO]   -> No value found (null or empty)
[2025-12-09 11:42:19] [INFO] Mapping #9: Extracting 'EventDetails.SiteName' => 'businessName'
[2025-12-09 11:42:19] [INFO]   -> Found value: MM277W
[2025-12-09 11:42:19] [INFO]   -> Set field 'businessName' = "MM277W"
[2025-12-09 11:42:19] [INFO] Mapping #10: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2025-12-09 11:42:19] [INFO]   -> No value found (null or empty)
[2025-12-09 11:42:19] [INFO] Mapping #11: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2025-12-09 11:42:19] [INFO]   -> Found value: 36.12548
[2025-12-09 11:42:19] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.12548
[2025-12-09 11:42:19] [INFO] Mapping #12: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2025-12-09 11:42:19] [INFO]   -> Found value: -85.68066
[2025-12-09 11:42:19] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.68066
[2025-12-09 11:42:19] [INFO] Mapping #13: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2025-12-09 11:42:19] [INFO]   -> Found value: 2025-12-09 05:41:06
[2025-12-09 11:42:19] [INFO]   -> Set field 'alarm' = "2025-12-09 05:41:06"
[2025-12-09 11:42:19] [INFO] Mapping #14: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2025-12-09 11:42:19] [INFO]   -> Found value: 2025-12-09 05:42:10
[2025-12-09 11:42:19] [INFO]   -> Set field 'dispatched' = "2025-12-09 05:42:10"
[2025-12-09 11:42:19] [INFO] Mapping #15: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2025-12-09 11:42:19] [INFO]   -> No value found (null or empty)
[2025-12-09 11:42:19] [INFO] Mapping #16: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2025-12-09 11:42:19] [INFO]   -> No value found (null or empty)
[2025-12-09 11:42:19] [INFO] Mapping #17: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2025-12-09 11:42:19] [INFO]   -> No value found (null or empty)
[2025-12-09 11:42:19] [INFO] Mapping #18: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2025-12-09 11:42:19] [INFO]   -> No value found (null or empty)
[2025-12-09 11:42:19] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2025-12-09 11:42:19] [INFO]   -> Found value: TK31
[2025-12-09 11:42:19] [INFO]   -> Set field 'cADVehicleID' = "TK31"
[2025-12-09 11:42:19] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2025-12-09 11:42:19] [INFO]   -> Found value: 2025-12-09 05:42:10
[2025-12-09 11:42:19] [INFO]   -> Set field 'timedispatch' = "2025-12-09 05:42:10"
[2025-12-09 11:42:19] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2025-12-09 11:42:19] [INFO]   -> No value found (null or empty)
[2025-12-09 11:42:19] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2025-12-09 11:42:19] [INFO]   -> No value found (null or empty)
[2025-12-09 11:42:19] [INFO] Mapping #23: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2025-12-09 11:42:19] [INFO]   -> No value found (null or empty)
[2025-12-09 11:42:19] [INFO] Mapping #24: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2025-12-09 11:42:19] [INFO]   -> No value found (null or empty)
[2025-12-09 11:42:19] [INFO] Mapping #25: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2025-12-09 11:42:19] [INFO] Found 5 elements for 'CadInciNumber', concatenating 5 non-empty values
[2025-12-09 11:42:19] [INFO]   -> Found value: 20250135065
20250135061
20250135064
20250135066
20250135068
[2025-12-09 11:42:19] [INFO]   -> Set field 'policeReportNumber' = "20250135065\n20250135061\n20250135064\n20250135066\n20250135068"
[2025-12-09 11:42:19] [INFO] Finished extracting fields. Total fields extracted: 16
[2025-12-09 11:42:19] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nPCSO\nEMS\nRESC\nEMS","incidentInternalId":"2025003010\n2025019068\n2025019069","dispatchRunNumber":"2025003010\n2025019068\n2025019069","incidentTypeValue1":"MVC WITH INJURY","incidentLocationStreetNumber":277,"streetName":"OLD BAXTER RD","incidentLocationCity":"BAXTER","incidentLocationStateName":"TN","businessName":"MM277W","nERISIncidentLatitude":36.12548,"nERISIncidentLongitude":-85.68066,"alarm":"2025-12-09 05:41:06","dispatched":"2025-12-09 05:42:10","cADVehicleID":"TK31","timedispatch":"2025-12-09 05:42:10","policeReportNumber":"20250135065\n20250135061\n20250135064\n20250135066\n20250135068"}
[2025-12-09 11:42:19] [INFO] Number of extracted fields: 16
[2025-12-09 11:42:19] [INFO] Multi-agency routing check: CAD Agency ID = PCFD
PCSO
EMS
RESC
EMS, Assigned Agencies count = 1
[2025-12-09 11:42:19] [INFO] Multi-agency mode detected. Looking up SAASClient by cADAgencyIdentifier: 'PCFD
PCSO
EMS
RESC
EMS'
[2025-12-09 11:42:19] [WARNING] WARNING: No SAASClient found with cADAgencyIdentifier = 'PCFD
PCSO
EMS
RESC
EMS'
[2025-12-09 11:42:19] [INFO] FALLBACK: Using mailbox default saasclientId: 68eeb686225c40db4 (multi-agency routing attempted but failed)
[2025-12-09 11:42:19] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2025-12-09 11:42:19] [INFO] Created new IncidentTypeMapping Data: {"cADIncidentType":"MVC WITH INJURY","saasclientId":"68eeb686225c40db4","name":"MVC WITH INJURY"}
[2025-12-09 11:42:19] [INFO] Created new IncidentTypeMapping with ID: 69380b1bd578b1eb3
[2025-12-09 11:42:22] [INFO] Created new Dispatches record with ID: 69380b1c02de6eedc
[2025-12-09 11:42:22] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250135065_20251209_114219.XML
[2025-12-09 11:42:22] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250135065_20251209_114219.XML
[2025-12-09 11:42:22] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250135065_20251209_114222.XML
[2025-12-09 11:42:22] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250135065_20251209_114222.XML for user: 68f1466aed072ad4a
[2025-12-09 11:42:22] [INFO] File size: 5395 bytes
[2025-12-09 11:42:22] [INFO] Created FTPFiles record with ID: 69380b1e7183a02cb
[2025-12-09 11:42:22] [INFO] About to extract fields from XML. File size: 5395 bytes
[2025-12-09 11:42:22] [INFO] Number of mappings: 25
[2025-12-09 11:42:22] [INFO] Starting XML parsing. Content length: 5395
[2025-12-09 11:42:22] [INFO] XML parsed successfully. Root element: CADExport
[2025-12-09 11:42:22] [INFO] Processing 25 field mappings
[2025-12-09 11:42:22] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2025-12-09 11:42:22] [INFO] Found 5 elements for 'AgencyCode', concatenating 5 non-empty values
[2025-12-09 11:42:22] [INFO]   -> Found value: PCFD
PCSO
EMS
RESC
EMS
[2025-12-09 11:42:22] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nPCSO\nEMS\nRESC\nEMS"
[2025-12-09 11:42:22] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2025-12-09 11:42:22] [INFO] Found 5 elements for 'ReportNumber', concatenating 3 non-empty values
[2025-12-09 11:42:22] [INFO]   -> Found value: 2025003010
2025019068
2025019069
[2025-12-09 11:42:22] [INFO]   -> Set field 'incidentInternalId' = "2025003010\n2025019068\n2025019069"
[2025-12-09 11:42:22] [INFO]   -> Set field 'dispatchRunNumber' = "2025003010\n2025019068\n2025019069"
[2025-12-09 11:42:22] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2025-12-09 11:42:22] [INFO]   -> Found value: MVC WITH INJURY
[2025-12-09 11:42:22] [INFO]   -> Set field 'incidentTypeValue1' = "MVC WITH INJURY"
[2025-12-09 11:42:22] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2025-12-09 11:42:22] [INFO]   -> Found value: 277
[2025-12-09 11:42:22] [INFO]   -> Set field 'incidentLocationStreetNumber' = 277
[2025-12-09 11:42:22] [INFO] Mapping #5: Extracting 'RelatedNames.Name.StreetName' => 'streetName'
[2025-12-09 11:42:22] [INFO]   -> Found value: OLD BAXTER RD
[2025-12-09 11:42:22] [INFO]   -> Set field 'streetName' = "OLD BAXTER RD"
[2025-12-09 11:42:22] [INFO] Mapping #6: Extracting 'RelatedNames.Name.City' => 'incidentLocationCity'
[2025-12-09 11:42:22] [INFO]   -> Found value: BAXTER
[2025-12-09 11:42:22] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2025-12-09 11:42:22] [INFO] Mapping #7: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2025-12-09 11:42:22] [INFO]   -> Found value: TN
[2025-12-09 11:42:22] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2025-12-09 11:42:22] [INFO] Mapping #8: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2025-12-09 11:42:22] [INFO]   -> No value found (null or empty)
[2025-12-09 11:42:22] [INFO] Mapping #9: Extracting 'EventDetails.SiteName' => 'businessName'
[2025-12-09 11:42:22] [INFO]   -> Found value: MM277W
[2025-12-09 11:42:22] [INFO]   -> Set field 'businessName' = "MM277W"
[2025-12-09 11:42:22] [INFO] Mapping #10: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2025-12-09 11:42:22] [INFO]   -> No value found (null or empty)
[2025-12-09 11:42:22] [INFO] Mapping #11: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2025-12-09 11:42:22] [INFO]   -> Found value: 36.12548
[2025-12-09 11:42:22] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.12548
[2025-12-09 11:42:22] [INFO] Mapping #12: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2025-12-09 11:42:22] [INFO]   -> Found value: -85.68066
[2025-12-09 11:42:22] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.68066
[2025-12-09 11:42:22] [INFO] Mapping #13: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2025-12-09 11:42:22] [INFO]   -> Found value: 2025-12-09 05:41:06
[2025-12-09 11:42:22] [INFO]   -> Set field 'alarm' = "2025-12-09 05:41:06"
[2025-12-09 11:42:22] [INFO] Mapping #14: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2025-12-09 11:42:22] [INFO]   -> Found value: 2025-12-09 05:42:10
[2025-12-09 11:42:22] [INFO]   -> Set field 'dispatched' = "2025-12-09 05:42:10"
[2025-12-09 11:42:22] [INFO] Mapping #15: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2025-12-09 11:42:22] [INFO]   -> No value found (null or empty)
[2025-12-09 11:42:22] [INFO] Mapping #16: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2025-12-09 11:42:22] [INFO]   -> No value found (null or empty)
[2025-12-09 11:42:22] [INFO] Mapping #17: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2025-12-09 11:42:22] [INFO]   -> No value found (null or empty)
[2025-12-09 11:42:22] [INFO] Mapping #18: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2025-12-09 11:42:22] [INFO]   -> No value found (null or empty)
[2025-12-09 11:42:22] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2025-12-09 11:42:22] [INFO]   -> Found value: TK31
[2025-12-09 11:42:22] [INFO]   -> Set field 'cADVehicleID' = "TK31"
[2025-12-09 11:42:22] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2025-12-09 11:42:22] [INFO]   -> Found value: 2025-12-09 05:42:10
[2025-12-09 11:42:22] [INFO]   -> Set field 'timedispatch' = "2025-12-09 05:42:10"
[2025-12-09 11:42:22] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2025-12-09 11:42:22] [INFO]   -> No value found (null or empty)
[2025-12-09 11:42:22] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2025-12-09 11:42:22] [INFO]   -> No value found (null or empty)
[2025-12-09 11:42:22] [INFO] Mapping #23: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2025-12-09 11:42:22] [INFO]   -> No value found (null or empty)
[2025-12-09 11:42:22] [INFO] Mapping #24: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2025-12-09 11:42:22] [INFO]   -> No value found (null or empty)
[2025-12-09 11:42:22] [INFO] Mapping #25: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2025-12-09 11:42:22] [INFO] Found 5 elements for 'CadInciNumber', concatenating 5 non-empty values
[2025-12-09 11:42:22] [INFO]   -> Found value: 20250135065
20250135061
20250135064
20250135066
20250135068
[2025-12-09 11:42:22] [INFO]   -> Set field 'policeReportNumber' = "20250135065\n20250135061\n20250135064\n20250135066\n20250135068"
[2025-12-09 11:42:22] [INFO] Finished extracting fields. Total fields extracted: 16
[2025-12-09 11:42:22] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nPCSO\nEMS\nRESC\nEMS","incidentInternalId":"2025003010\n2025019068\n2025019069","dispatchRunNumber":"2025003010\n2025019068\n2025019069","incidentTypeValue1":"MVC WITH INJURY","incidentLocationStreetNumber":277,"streetName":"OLD BAXTER RD","incidentLocationCity":"BAXTER","incidentLocationStateName":"TN","businessName":"MM277W","nERISIncidentLatitude":36.12548,"nERISIncidentLongitude":-85.68066,"alarm":"2025-12-09 05:41:06","dispatched":"2025-12-09 05:42:10","cADVehicleID":"TK31","timedispatch":"2025-12-09 05:42:10","policeReportNumber":"20250135065\n20250135061\n20250135064\n20250135066\n20250135068"}
[2025-12-09 11:42:22] [INFO] Number of extracted fields: 16
[2025-12-09 11:42:22] [INFO] Multi-agency routing check: CAD Agency ID = PCFD
PCSO
EMS
RESC
EMS, Assigned Agencies count = 1
[2025-12-09 11:42:22] [INFO] Multi-agency mode detected. Looking up SAASClient by cADAgencyIdentifier: 'PCFD
PCSO
EMS
RESC
EMS'
[2025-12-09 11:42:22] [WARNING] WARNING: No SAASClient found with cADAgencyIdentifier = 'PCFD
PCSO
EMS
RESC
EMS'
[2025-12-09 11:42:22] [INFO] FALLBACK: Using mailbox default saasclientId: 68eeb686225c40db4 (multi-agency routing attempted but failed)
[2025-12-09 11:42:22] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2025-12-09 11:42:22] [INFO] Found existing IncidentTypeMapping with ID: 69380b1bd578b1eb3
[2025-12-09 11:42:22] [INFO] Found existing Dispatch with cADNumber '2025003010
2025019068
2025019069', ID: 69380b1c02de6eedc - will update instead of create
[2025-12-09 11:42:22] [INFO] Updated existing Dispatches record with ID: 69380b1c02de6eedc
[2025-12-09 11:42:22] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250135065_20251209_114222.XML
[2025-12-09 11:42:22] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250135065_20251209_114222.XML
[2025-12-09 13:20:29] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250135085_20251209_132029.XML
[2025-12-09 13:20:29] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250135085_20251209_132029.XML for user: 68f1466aed072ad4a
[2025-12-09 13:20:29] [INFO] File size: 5267 bytes
[2025-12-09 13:20:30] [INFO] Created FTPFiles record with ID: 6938221e2227f78ab
[2025-12-09 13:20:30] [INFO] About to extract fields from XML. File size: 5267 bytes
[2025-12-09 13:20:30] [INFO] Number of mappings: 25
[2025-12-09 13:20:30] [INFO] Starting XML parsing. Content length: 5267
[2025-12-09 13:20:30] [INFO] XML parsed successfully. Root element: CADExport
[2025-12-09 13:20:30] [INFO] Processing 25 field mappings
[2025-12-09 13:20:30] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2025-12-09 13:20:30] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2025-12-09 13:20:30] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2025-12-09 13:20:30] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2025-12-09 13:20:30] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2025-12-09 13:20:30] [INFO] Found 4 elements for 'ReportNumber', concatenating 1 non-empty values
[2025-12-09 13:20:30] [INFO]   -> Found value: 2025003011
[2025-12-09 13:20:30] [INFO]   -> Set field 'incidentInternalId' = "2025003011"
[2025-12-09 13:20:30] [INFO]   -> Set field 'dispatchRunNumber' = "2025003011"
[2025-12-09 13:20:30] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2025-12-09 13:20:30] [INFO]   -> Found value: SEIZURE
[2025-12-09 13:20:30] [INFO]   -> Set field 'incidentTypeValue1' = "SEIZURE"
[2025-12-09 13:20:30] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2025-12-09 13:20:30] [INFO]   -> Found value: 1708
[2025-12-09 13:20:30] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1708
[2025-12-09 13:20:30] [INFO] Mapping #5: Extracting 'RelatedNames.Name.StreetName' => 'streetName'
[2025-12-09 13:20:30] [INFO]   -> Found value: HUCKLEBERRY RD
[2025-12-09 13:20:30] [INFO]   -> Set field 'streetName' = "HUCKLEBERRY RD"
[2025-12-09 13:20:30] [INFO] Mapping #6: Extracting 'RelatedNames.Name.City' => 'incidentLocationCity'
[2025-12-09 13:20:30] [INFO]   -> Found value: MONTEREY
[2025-12-09 13:20:30] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2025-12-09 13:20:30] [INFO] Mapping #7: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2025-12-09 13:20:30] [INFO]   -> Found value: TN
[2025-12-09 13:20:30] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2025-12-09 13:20:30] [INFO] Mapping #8: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2025-12-09 13:20:30] [INFO]   -> Found value: 38574
[2025-12-09 13:20:30] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2025-12-09 13:20:30] [INFO] Mapping #9: Extracting 'EventDetails.SiteName' => 'businessName'
[2025-12-09 13:20:30] [INFO]   -> No value found (null or empty)
[2025-12-09 13:20:30] [INFO] Mapping #10: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2025-12-09 13:20:30] [INFO]   -> No value found (null or empty)
[2025-12-09 13:20:30] [INFO] Mapping #11: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2025-12-09 13:20:30] [INFO]   -> Found value: 36.04985
[2025-12-09 13:20:30] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.04985
[2025-12-09 13:20:30] [INFO] Mapping #12: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2025-12-09 13:20:30] [INFO]   -> Found value: -85.26404
[2025-12-09 13:20:30] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.26404
[2025-12-09 13:20:30] [INFO] Mapping #13: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2025-12-09 13:20:30] [INFO]   -> Found value: 2025-12-09 07:20:03
[2025-12-09 13:20:30] [INFO]   -> Set field 'alarm' = "2025-12-09 07:20:03"
[2025-12-09 13:20:30] [INFO] Mapping #14: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2025-12-09 13:20:30] [INFO]   -> Found value: 2025-12-09 07:20:26
[2025-12-09 13:20:30] [INFO]   -> Set field 'dispatched' = "2025-12-09 07:20:26"
[2025-12-09 13:20:30] [INFO] Mapping #15: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2025-12-09 13:20:30] [INFO]   -> No value found (null or empty)
[2025-12-09 13:20:30] [INFO] Mapping #16: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2025-12-09 13:20:30] [INFO]   -> No value found (null or empty)
[2025-12-09 13:20:30] [INFO] Mapping #17: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2025-12-09 13:20:30] [INFO]   -> No value found (null or empty)
[2025-12-09 13:20:30] [INFO] Mapping #18: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2025-12-09 13:20:30] [INFO]   -> Found value: ARROWHEAD RD/E OVERLOOK RD
[2025-12-09 13:20:30] [INFO]   -> Set field 'incidentLocationCross' = "ARROWHEAD RD\/E OVERLOOK RD"
[2025-12-09 13:20:30] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2025-12-09 13:20:30] [INFO]   -> Found value: PCFR
[2025-12-09 13:20:30] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2025-12-09 13:20:30] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2025-12-09 13:20:30] [INFO]   -> Found value: 2025-12-09 07:20:26
[2025-12-09 13:20:30] [INFO]   -> Set field 'timedispatch' = "2025-12-09 07:20:26"
[2025-12-09 13:20:30] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2025-12-09 13:20:30] [INFO]   -> No value found (null or empty)
[2025-12-09 13:20:30] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2025-12-09 13:20:30] [INFO]   -> No value found (null or empty)
[2025-12-09 13:20:30] [INFO] Mapping #23: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2025-12-09 13:20:30] [INFO]   -> No value found (null or empty)
[2025-12-09 13:20:30] [INFO] Mapping #24: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2025-12-09 13:20:30] [INFO]   -> No value found (null or empty)
[2025-12-09 13:20:30] [INFO] Mapping #25: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2025-12-09 13:20:30] [INFO] Found 4 elements for 'CadInciNumber', concatenating 4 non-empty values
[2025-12-09 13:20:30] [INFO]   -> Found value: 20250135085
20250135083
20250135084
20250135086
[2025-12-09 13:20:30] [INFO]   -> Set field 'policeReportNumber' = "20250135085\n20250135083\n20250135084\n20250135086"
[2025-12-09 13:20:30] [INFO] Finished extracting fields. Total fields extracted: 17
[2025-12-09 13:20:30] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2025003011","dispatchRunNumber":"2025003011","incidentTypeValue1":"SEIZURE","incidentLocationStreetNumber":1708,"streetName":"HUCKLEBERRY RD","incidentLocationCity":"MONTEREY","incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"nERISIncidentLatitude":36.04985,"nERISIncidentLongitude":-85.26404,"alarm":"2025-12-09 07:20:03","dispatched":"2025-12-09 07:20:26","incidentLocationCross":"ARROWHEAD RD\/E OVERLOOK RD","cADVehicleID":"PCFR","timedispatch":"2025-12-09 07:20:26","policeReportNumber":"20250135085\n20250135083\n20250135084\n20250135086"}
[2025-12-09 13:20:30] [INFO] Number of extracted fields: 17
[2025-12-09 13:20:30] [INFO] Multi-agency routing check: CAD Agency ID = PCFD
EMS
PCSO
RESC, Assigned Agencies count = 1
[2025-12-09 13:20:30] [INFO] Multi-agency mode detected. Looking up SAASClient by cADAgencyIdentifier: 'PCFD
EMS
PCSO
RESC'
[2025-12-09 13:20:30] [WARNING] WARNING: No SAASClient found with cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2025-12-09 13:20:30] [INFO] FALLBACK: Using mailbox default saasclientId: 68eeb686225c40db4 (multi-agency routing attempted but failed)
[2025-12-09 13:20:30] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2025-12-09 13:20:30] [INFO] Created new IncidentTypeMapping Data: {"cADIncidentType":"SEIZURE","saasclientId":"68eeb686225c40db4","name":"SEIZURE"}
[2025-12-09 13:20:30] [INFO] Created new IncidentTypeMapping with ID: 6938221e4d49ca73b
[2025-12-09 13:20:32] [INFO] Created new Dispatches record with ID: 6938221e6bc3fdcbf
[2025-12-09 13:20:32] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250135085_20251209_132029.XML
[2025-12-09 13:20:32] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250135085_20251209_132029.XML
[2025-12-09 13:20:32] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250135085_20251209_132032.XML
[2025-12-09 13:20:32] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250135085_20251209_132032.XML for user: 68f1466aed072ad4a
[2025-12-09 13:20:32] [INFO] File size: 5267 bytes
[2025-12-09 13:20:32] [INFO] Created FTPFiles record with ID: 6938222081b5b1ac3
[2025-12-09 13:20:32] [INFO] About to extract fields from XML. File size: 5267 bytes
[2025-12-09 13:20:32] [INFO] Number of mappings: 25
[2025-12-09 13:20:32] [INFO] Starting XML parsing. Content length: 5267
[2025-12-09 13:20:32] [INFO] XML parsed successfully. Root element: CADExport
[2025-12-09 13:20:32] [INFO] Processing 25 field mappings
[2025-12-09 13:20:32] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2025-12-09 13:20:32] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2025-12-09 13:20:32] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2025-12-09 13:20:32] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2025-12-09 13:20:32] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2025-12-09 13:20:32] [INFO] Found 4 elements for 'ReportNumber', concatenating 1 non-empty values
[2025-12-09 13:20:32] [INFO]   -> Found value: 2025003011
[2025-12-09 13:20:32] [INFO]   -> Set field 'incidentInternalId' = "2025003011"
[2025-12-09 13:20:32] [INFO]   -> Set field 'dispatchRunNumber' = "2025003011"
[2025-12-09 13:20:32] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2025-12-09 13:20:32] [INFO]   -> Found value: SEIZURE
[2025-12-09 13:20:32] [INFO]   -> Set field 'incidentTypeValue1' = "SEIZURE"
[2025-12-09 13:20:32] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2025-12-09 13:20:32] [INFO]   -> Found value: 1708
[2025-12-09 13:20:32] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1708
[2025-12-09 13:20:32] [INFO] Mapping #5: Extracting 'RelatedNames.Name.StreetName' => 'streetName'
[2025-12-09 13:20:32] [INFO]   -> Found value: HUCKLEBERRY RD
[2025-12-09 13:20:32] [INFO]   -> Set field 'streetName' = "HUCKLEBERRY RD"
[2025-12-09 13:20:32] [INFO] Mapping #6: Extracting 'RelatedNames.Name.City' => 'incidentLocationCity'
[2025-12-09 13:20:32] [INFO]   -> Found value: MONTEREY
[2025-12-09 13:20:32] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2025-12-09 13:20:32] [INFO] Mapping #7: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2025-12-09 13:20:32] [INFO]   -> Found value: TN
[2025-12-09 13:20:32] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2025-12-09 13:20:32] [INFO] Mapping #8: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2025-12-09 13:20:32] [INFO]   -> Found value: 38574
[2025-12-09 13:20:32] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2025-12-09 13:20:32] [INFO] Mapping #9: Extracting 'EventDetails.SiteName' => 'businessName'
[2025-12-09 13:20:32] [INFO]   -> No value found (null or empty)
[2025-12-09 13:20:32] [INFO] Mapping #10: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2025-12-09 13:20:32] [INFO]   -> No value found (null or empty)
[2025-12-09 13:20:32] [INFO] Mapping #11: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2025-12-09 13:20:32] [INFO]   -> Found value: 36.04985
[2025-12-09 13:20:32] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.04985
[2025-12-09 13:20:32] [INFO] Mapping #12: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2025-12-09 13:20:32] [INFO]   -> Found value: -85.26404
[2025-12-09 13:20:32] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.26404
[2025-12-09 13:20:32] [INFO] Mapping #13: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2025-12-09 13:20:32] [INFO]   -> Found value: 2025-12-09 07:20:03
[2025-12-09 13:20:32] [INFO]   -> Set field 'alarm' = "2025-12-09 07:20:03"
[2025-12-09 13:20:32] [INFO] Mapping #14: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2025-12-09 13:20:32] [INFO]   -> Found value: 2025-12-09 07:20:26
[2025-12-09 13:20:32] [INFO]   -> Set field 'dispatched' = "2025-12-09 07:20:26"
[2025-12-09 13:20:32] [INFO] Mapping #15: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2025-12-09 13:20:32] [INFO]   -> No value found (null or empty)
[2025-12-09 13:20:32] [INFO] Mapping #16: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2025-12-09 13:20:32] [INFO]   -> No value found (null or empty)
[2025-12-09 13:20:32] [INFO] Mapping #17: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2025-12-09 13:20:32] [INFO]   -> No value found (null or empty)
[2025-12-09 13:20:32] [INFO] Mapping #18: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2025-12-09 13:20:32] [INFO]   -> Found value: ARROWHEAD RD/E OVERLOOK RD
[2025-12-09 13:20:32] [INFO]   -> Set field 'incidentLocationCross' = "ARROWHEAD RD\/E OVERLOOK RD"
[2025-12-09 13:20:32] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2025-12-09 13:20:32] [INFO]   -> Found value: PCFR
[2025-12-09 13:20:32] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2025-12-09 13:20:32] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2025-12-09 13:20:32] [INFO]   -> Found value: 2025-12-09 07:20:26
[2025-12-09 13:20:32] [INFO]   -> Set field 'timedispatch' = "2025-12-09 07:20:26"
[2025-12-09 13:20:32] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2025-12-09 13:20:32] [INFO]   -> No value found (null or empty)
[2025-12-09 13:20:32] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2025-12-09 13:20:32] [INFO]   -> No value found (null or empty)
[2025-12-09 13:20:32] [INFO] Mapping #23: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2025-12-09 13:20:32] [INFO]   -> No value found (null or empty)
[2025-12-09 13:20:32] [INFO] Mapping #24: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2025-12-09 13:20:32] [INFO]   -> No value found (null or empty)
[2025-12-09 13:20:32] [INFO] Mapping #25: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2025-12-09 13:20:32] [INFO] Found 4 elements for 'CadInciNumber', concatenating 4 non-empty values
[2025-12-09 13:20:32] [INFO]   -> Found value: 20250135085
20250135083
20250135084
20250135086
[2025-12-09 13:20:32] [INFO]   -> Set field 'policeReportNumber' = "20250135085\n20250135083\n20250135084\n20250135086"
[2025-12-09 13:20:32] [INFO] Finished extracting fields. Total fields extracted: 17
[2025-12-09 13:20:32] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2025003011","dispatchRunNumber":"2025003011","incidentTypeValue1":"SEIZURE","incidentLocationStreetNumber":1708,"streetName":"HUCKLEBERRY RD","incidentLocationCity":"MONTEREY","incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"nERISIncidentLatitude":36.04985,"nERISIncidentLongitude":-85.26404,"alarm":"2025-12-09 07:20:03","dispatched":"2025-12-09 07:20:26","incidentLocationCross":"ARROWHEAD RD\/E OVERLOOK RD","cADVehicleID":"PCFR","timedispatch":"2025-12-09 07:20:26","policeReportNumber":"20250135085\n20250135083\n20250135084\n20250135086"}
[2025-12-09 13:20:32] [INFO] Number of extracted fields: 17
[2025-12-09 13:20:32] [INFO] Multi-agency routing check: CAD Agency ID = PCFD
EMS
PCSO
RESC, Assigned Agencies count = 1
[2025-12-09 13:20:32] [INFO] Multi-agency mode detected. Looking up SAASClient by cADAgencyIdentifier: 'PCFD
EMS
PCSO
RESC'
[2025-12-09 13:20:32] [WARNING] WARNING: No SAASClient found with cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2025-12-09 13:20:32] [INFO] FALLBACK: Using mailbox default saasclientId: 68eeb686225c40db4 (multi-agency routing attempted but failed)
[2025-12-09 13:20:32] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2025-12-09 13:20:32] [INFO] Found existing IncidentTypeMapping with ID: 6938221e4d49ca73b
[2025-12-09 13:20:32] [INFO] Found existing Dispatch with cADNumber '2025003011', ID: 6938221e6bc3fdcbf - will update instead of create
[2025-12-09 13:20:32] [INFO] Updated existing Dispatches record with ID: 6938221e6bc3fdcbf
[2025-12-09 13:20:32] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250135085_20251209_132032.XML
[2025-12-09 13:20:32] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250135085_20251209_132032.XML
[2025-12-09 13:38:22] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250135096_20251209_133822.XML
[2025-12-09 13:38:22] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250135096_20251209_133822.XML for user: 68f1466aed072ad4a
[2025-12-09 13:38:22] [INFO] File size: 5854 bytes
[2025-12-09 13:38:22] [INFO] Created FTPFiles record with ID: 6938264e47ac7faeb
[2025-12-09 13:38:22] [INFO] About to extract fields from XML. File size: 5854 bytes
[2025-12-09 13:38:22] [INFO] Number of mappings: 25
[2025-12-09 13:38:22] [INFO] Starting XML parsing. Content length: 5854
[2025-12-09 13:38:22] [INFO] XML parsed successfully. Root element: CADExport
[2025-12-09 13:38:22] [INFO] Processing 25 field mappings
[2025-12-09 13:38:22] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2025-12-09 13:38:22] [INFO] Found 6 elements for 'AgencyCode', concatenating 6 non-empty values
[2025-12-09 13:38:22] [INFO]   -> Found value: PCFD
PCSO
EMS
RESC
BFD
EMA
[2025-12-09 13:38:22] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nPCSO\nEMS\nRESC\nBFD\nEMA"
[2025-12-09 13:38:22] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2025-12-09 13:38:22] [INFO] Found 6 elements for 'ReportNumber', concatenating 4 non-empty values
[2025-12-09 13:38:22] [INFO]   -> Found value: 2025003012
2025019068
2025002429
2025000380
[2025-12-09 13:38:22] [INFO]   -> Set field 'incidentInternalId' = "2025003012\n2025019068\n2025002429\n2025000380"
[2025-12-09 13:38:22] [INFO]   -> Set field 'dispatchRunNumber' = "2025003012\n2025019068\n2025002429\n2025000380"
[2025-12-09 13:38:22] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2025-12-09 13:38:22] [INFO]   -> Found value: MVC WITH INJURY
[2025-12-09 13:38:22] [INFO]   -> Set field 'incidentTypeValue1' = "MVC WITH INJURY"
[2025-12-09 13:38:22] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2025-12-09 13:38:22] [INFO]   -> Found value: 280
[2025-12-09 13:38:22] [INFO]   -> Set field 'incidentLocationStreetNumber' = 280
[2025-12-09 13:38:22] [INFO] Mapping #5: Extracting 'RelatedNames.Name.StreetName' => 'streetName'
[2025-12-09 13:38:22] [INFO]   -> Found value: OLD BAXTER RD
[2025-12-09 13:38:22] [INFO]   -> Set field 'streetName' = "OLD BAXTER RD"
[2025-12-09 13:38:22] [INFO] Mapping #6: Extracting 'RelatedNames.Name.City' => 'incidentLocationCity'
[2025-12-09 13:38:22] [INFO]   -> Found value: BAXTER
[2025-12-09 13:38:22] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2025-12-09 13:38:22] [INFO] Mapping #7: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2025-12-09 13:38:22] [INFO]   -> Found value: TN
[2025-12-09 13:38:22] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2025-12-09 13:38:22] [INFO] Mapping #8: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2025-12-09 13:38:22] [INFO]   -> No value found (null or empty)
[2025-12-09 13:38:22] [INFO] Mapping #9: Extracting 'EventDetails.SiteName' => 'businessName'
[2025-12-09 13:38:22] [INFO]   -> Found value: MM280W
[2025-12-09 13:38:22] [INFO]   -> Set field 'businessName' = "MM280W"
[2025-12-09 13:38:22] [INFO] Mapping #10: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2025-12-09 13:38:22] [INFO]   -> No value found (null or empty)
[2025-12-09 13:38:22] [INFO] Mapping #11: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2025-12-09 13:38:22] [INFO]   -> Found value: 36.13790
[2025-12-09 13:38:22] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1379
[2025-12-09 13:38:22] [INFO] Mapping #12: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2025-12-09 13:38:22] [INFO]   -> Found value: -85.62852
[2025-12-09 13:38:22] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.62852
[2025-12-09 13:38:22] [INFO] Mapping #13: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2025-12-09 13:38:22] [INFO]   -> Found value: 2025-12-09 07:38:17
[2025-12-09 13:38:22] [INFO]   -> Set field 'alarm' = "2025-12-09 07:38:17"
[2025-12-09 13:38:22] [INFO] Mapping #14: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2025-12-09 13:38:22] [INFO]   -> Found value: 2025-12-09 07:38:17
[2025-12-09 13:38:22] [INFO]   -> Set field 'dispatched' = "2025-12-09 07:38:17"
[2025-12-09 13:38:22] [INFO] Mapping #15: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2025-12-09 13:38:22] [INFO]   -> Found value: 2025-12-09 07:38:17
[2025-12-09 13:38:22] [INFO]   -> Set field 'enroute' = "2025-12-09 07:38:17"
[2025-12-09 13:38:22] [INFO] Mapping #16: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2025-12-09 13:38:22] [INFO]   -> No value found (null or empty)
[2025-12-09 13:38:22] [INFO] Mapping #17: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2025-12-09 13:38:22] [INFO]   -> No value found (null or empty)
[2025-12-09 13:38:22] [INFO] Mapping #18: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2025-12-09 13:38:22] [INFO]   -> No value found (null or empty)
[2025-12-09 13:38:22] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2025-12-09 13:38:22] [INFO]   -> Found value: EN31
[2025-12-09 13:38:22] [INFO]   -> Set field 'cADVehicleID' = "EN31"
[2025-12-09 13:38:22] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2025-12-09 13:38:22] [INFO]   -> Found value: 2025-12-09 07:38:17
[2025-12-09 13:38:22] [INFO]   -> Set field 'timedispatch' = "2025-12-09 07:38:17"
[2025-12-09 13:38:22] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2025-12-09 13:38:22] [INFO]   -> Found value: 2025-12-09 07:38:17
[2025-12-09 13:38:22] [INFO]   -> Set field 'timeenroutetoscene' = "2025-12-09 07:38:17"
[2025-12-09 13:38:22] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2025-12-09 13:38:22] [INFO]   -> No value found (null or empty)
[2025-12-09 13:38:22] [INFO] Mapping #23: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2025-12-09 13:38:22] [INFO]   -> No value found (null or empty)
[2025-12-09 13:38:22] [INFO] Mapping #24: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2025-12-09 13:38:22] [INFO]   -> No value found (null or empty)
[2025-12-09 13:38:22] [INFO] Mapping #25: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2025-12-09 13:38:22] [INFO] Found 6 elements for 'CadInciNumber', concatenating 6 non-empty values
[2025-12-09 13:38:22] [INFO]   -> Found value: 20250135096
20250135061
20250135064
20250135066
20250135073
20250135095
[2025-12-09 13:38:22] [INFO]   -> Set field 'policeReportNumber' = "20250135096\n20250135061\n20250135064\n20250135066\n20250135073\n20250135095"
[2025-12-09 13:38:22] [INFO] Finished extracting fields. Total fields extracted: 18
[2025-12-09 13:38:22] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nPCSO\nEMS\nRESC\nBFD\nEMA","incidentInternalId":"2025003012\n2025019068\n2025002429\n2025000380","dispatchRunNumber":"2025003012\n2025019068\n2025002429\n2025000380","incidentTypeValue1":"MVC WITH INJURY","incidentLocationStreetNumber":280,"streetName":"OLD BAXTER RD","incidentLocationCity":"BAXTER","incidentLocationStateName":"TN","businessName":"MM280W","nERISIncidentLatitude":36.1379,"nERISIncidentLongitude":-85.62852,"alarm":"2025-12-09 07:38:17","dispatched":"2025-12-09 07:38:17","enroute":"2025-12-09 07:38:17","cADVehicleID":"EN31","timedispatch":"2025-12-09 07:38:17","timeenroutetoscene":"2025-12-09 07:38:17","policeReportNumber":"20250135096\n20250135061\n20250135064\n20250135066\n20250135073\n20250135095"}
[2025-12-09 13:38:22] [INFO] Number of extracted fields: 18
[2025-12-09 13:38:22] [INFO] Multi-agency routing check: CAD Agency ID = PCFD
PCSO
EMS
RESC
BFD
EMA, Assigned Agencies count = 1
[2025-12-09 13:38:22] [INFO] Multi-agency mode detected. Looking up SAASClient by cADAgencyIdentifier: 'PCFD
PCSO
EMS
RESC
BFD
EMA'
[2025-12-09 13:38:22] [WARNING] WARNING: No SAASClient found with cADAgencyIdentifier = 'PCFD
PCSO
EMS
RESC
BFD
EMA'
[2025-12-09 13:38:22] [INFO] FALLBACK: Using mailbox default saasclientId: 68eeb686225c40db4 (multi-agency routing attempted but failed)
[2025-12-09 13:38:22] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2025-12-09 13:38:22] [INFO] Found existing IncidentTypeMapping with ID: 69380b1bd578b1eb3
[2025-12-09 13:38:24] [INFO] Created new Dispatches record with ID: 6938264e8a91bded5
[2025-12-09 13:38:24] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250135096_20251209_133822.XML
[2025-12-09 13:38:24] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250135096_20251209_133822.XML
[2025-12-09 13:38:30] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250135096_20251209_133829.XML
[2025-12-09 13:38:30] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250135096_20251209_133829.XML for user: 68f1466aed072ad4a
[2025-12-09 13:38:30] [INFO] File size: 5961 bytes
[2025-12-09 13:38:30] [INFO] Created FTPFiles record with ID: 693826561bb2896cb
[2025-12-09 13:38:30] [INFO] About to extract fields from XML. File size: 5961 bytes
[2025-12-09 13:38:30] [INFO] Number of mappings: 25
[2025-12-09 13:38:30] [INFO] Starting XML parsing. Content length: 5961
[2025-12-09 13:38:30] [INFO] XML parsed successfully. Root element: CADExport
[2025-12-09 13:38:30] [INFO] Processing 25 field mappings
[2025-12-09 13:38:30] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2025-12-09 13:38:30] [INFO] Found 6 elements for 'AgencyCode', concatenating 6 non-empty values
[2025-12-09 13:38:30] [INFO]   -> Found value: PCFD
PCSO
EMS
RESC
BFD
EMA
[2025-12-09 13:38:30] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nPCSO\nEMS\nRESC\nBFD\nEMA"
[2025-12-09 13:38:30] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2025-12-09 13:38:30] [INFO] Found 6 elements for 'ReportNumber', concatenating 4 non-empty values
[2025-12-09 13:38:30] [INFO]   -> Found value: 2025003012
2025019068
2025002429
2025000380
[2025-12-09 13:38:30] [INFO]   -> Set field 'incidentInternalId' = "2025003012\n2025019068\n2025002429\n2025000380"
[2025-12-09 13:38:30] [INFO]   -> Set field 'dispatchRunNumber' = "2025003012\n2025019068\n2025002429\n2025000380"
[2025-12-09 13:38:30] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2025-12-09 13:38:30] [INFO]   -> Found value: MVC WITH INJURY
[2025-12-09 13:38:30] [INFO]   -> Set field 'incidentTypeValue1' = "MVC WITH INJURY"
[2025-12-09 13:38:30] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2025-12-09 13:38:30] [INFO]   -> Found value: 280
[2025-12-09 13:38:30] [INFO]   -> Set field 'incidentLocationStreetNumber' = 280
[2025-12-09 13:38:30] [INFO] Mapping #5: Extracting 'RelatedNames.Name.StreetName' => 'streetName'
[2025-12-09 13:38:30] [INFO]   -> Found value: OLD BAXTER RD
[2025-12-09 13:38:30] [INFO]   -> Set field 'streetName' = "OLD BAXTER RD"
[2025-12-09 13:38:30] [INFO] Mapping #6: Extracting 'RelatedNames.Name.City' => 'incidentLocationCity'
[2025-12-09 13:38:30] [INFO]   -> Found value: BAXTER
[2025-12-09 13:38:30] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2025-12-09 13:38:30] [INFO] Mapping #7: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2025-12-09 13:38:30] [INFO]   -> Found value: TN
[2025-12-09 13:38:30] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2025-12-09 13:38:30] [INFO] Mapping #8: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2025-12-09 13:38:30] [INFO]   -> No value found (null or empty)
[2025-12-09 13:38:30] [INFO] Mapping #9: Extracting 'EventDetails.SiteName' => 'businessName'
[2025-12-09 13:38:30] [INFO]   -> Found value: MM280W
[2025-12-09 13:38:30] [INFO]   -> Set field 'businessName' = "MM280W"
[2025-12-09 13:38:30] [INFO] Mapping #10: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2025-12-09 13:38:30] [INFO]   -> No value found (null or empty)
[2025-12-09 13:38:30] [INFO] Mapping #11: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2025-12-09 13:38:30] [INFO]   -> Found value: 36.13790
[2025-12-09 13:38:30] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1379
[2025-12-09 13:38:30] [INFO] Mapping #12: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2025-12-09 13:38:30] [INFO]   -> Found value: -85.62852
[2025-12-09 13:38:30] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.62852
[2025-12-09 13:38:30] [INFO] Mapping #13: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2025-12-09 13:38:30] [INFO]   -> Found value: 2025-12-09 07:38:17
[2025-12-09 13:38:30] [INFO]   -> Set field 'alarm' = "2025-12-09 07:38:17"
[2025-12-09 13:38:30] [INFO] Mapping #14: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2025-12-09 13:38:30] [INFO]   -> Found value: 2025-12-09 07:38:17
[2025-12-09 13:38:30] [INFO]   -> Set field 'dispatched' = "2025-12-09 07:38:17"
[2025-12-09 13:38:30] [INFO] Mapping #15: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2025-12-09 13:38:30] [INFO]   -> Found value: 2025-12-09 07:38:17
[2025-12-09 13:38:30] [INFO]   -> Set field 'enroute' = "2025-12-09 07:38:17"
[2025-12-09 13:38:30] [INFO] Mapping #16: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2025-12-09 13:38:30] [INFO]   -> Found value: 2025-12-09 07:38:20
[2025-12-09 13:38:30] [INFO]   -> Set field 'onScene' = "2025-12-09 07:38:20"
[2025-12-09 13:38:30] [INFO] Mapping #17: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2025-12-09 13:38:30] [INFO]   -> No value found (null or empty)
[2025-12-09 13:38:30] [INFO] Mapping #18: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2025-12-09 13:38:30] [INFO]   -> No value found (null or empty)
[2025-12-09 13:38:30] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2025-12-09 13:38:30] [INFO]   -> Found value: EN31
[2025-12-09 13:38:30] [INFO]   -> Set field 'cADVehicleID' = "EN31"
[2025-12-09 13:38:30] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2025-12-09 13:38:30] [INFO]   -> Found value: 2025-12-09 07:38:17
[2025-12-09 13:38:30] [INFO]   -> Set field 'timedispatch' = "2025-12-09 07:38:17"
[2025-12-09 13:38:30] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2025-12-09 13:38:30] [INFO]   -> Found value: 2025-12-09 07:38:17
[2025-12-09 13:38:30] [INFO]   -> Set field 'timeenroutetoscene' = "2025-12-09 07:38:17"
[2025-12-09 13:38:30] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2025-12-09 13:38:30] [INFO]   -> Found value: 2025-12-09 07:38:20
[2025-12-09 13:38:30] [INFO]   -> Set field 'timeonscene' = "2025-12-09 07:38:20"
[2025-12-09 13:38:30] [INFO] Mapping #23: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2025-12-09 13:38:30] [INFO]   -> No value found (null or empty)
[2025-12-09 13:38:30] [INFO] Mapping #24: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2025-12-09 13:38:30] [INFO]   -> No value found (null or empty)
[2025-12-09 13:38:30] [INFO] Mapping #25: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2025-12-09 13:38:30] [INFO] Found 6 elements for 'CadInciNumber', concatenating 6 non-empty values
[2025-12-09 13:38:30] [INFO]   -> Found value: 20250135096
20250135061
20250135064
20250135066
20250135073
20250135095
[2025-12-09 13:38:30] [INFO]   -> Set field 'policeReportNumber' = "20250135096\n20250135061\n20250135064\n20250135066\n20250135073\n20250135095"
[2025-12-09 13:38:30] [INFO] Finished extracting fields. Total fields extracted: 20
[2025-12-09 13:38:30] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nPCSO\nEMS\nRESC\nBFD\nEMA","incidentInternalId":"2025003012\n2025019068\n2025002429\n2025000380","dispatchRunNumber":"2025003012\n2025019068\n2025002429\n2025000380","incidentTypeValue1":"MVC WITH INJURY","incidentLocationStreetNumber":280,"streetName":"OLD BAXTER RD","incidentLocationCity":"BAXTER","incidentLocationStateName":"TN","businessName":"MM280W","nERISIncidentLatitude":36.1379,"nERISIncidentLongitude":-85.62852,"alarm":"2025-12-09 07:38:17","dispatched":"2025-12-09 07:38:17","enroute":"2025-12-09 07:38:17","onScene":"2025-12-09 07:38:20","cADVehicleID":"EN31","timedispatch":"2025-12-09 07:38:17","timeenroutetoscene":"2025-12-09 07:38:17","timeonscene":"2025-12-09 07:38:20","policeReportNumber":"20250135096\n20250135061\n20250135064\n20250135066\n20250135073\n20250135095"}
[2025-12-09 13:38:30] [INFO] Number of extracted fields: 20
[2025-12-09 13:38:30] [INFO] Multi-agency routing check: CAD Agency ID = PCFD
PCSO
EMS
RESC
BFD
EMA, Assigned Agencies count = 1
[2025-12-09 13:38:30] [INFO] Multi-agency mode detected. Looking up SAASClient by cADAgencyIdentifier: 'PCFD
PCSO
EMS
RESC
BFD
EMA'
[2025-12-09 13:38:30] [WARNING] WARNING: No SAASClient found with cADAgencyIdentifier = 'PCFD
PCSO
EMS
RESC
BFD
EMA'
[2025-12-09 13:38:30] [INFO] FALLBACK: Using mailbox default saasclientId: 68eeb686225c40db4 (multi-agency routing attempted but failed)
[2025-12-09 13:38:30] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2025-12-09 13:38:30] [INFO] Found existing IncidentTypeMapping with ID: 69380b1bd578b1eb3
[2025-12-09 13:38:30] [INFO] Found existing Dispatch with cADNumber '2025003012
2025019068
2025002429
2025000380', ID: 6938264e8a91bded5 - will update instead of create
[2025-12-09 13:38:30] [INFO] Updated existing Dispatches record with ID: 6938264e8a91bded5
[2025-12-09 13:38:30] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250135096_20251209_133829.XML
[2025-12-09 13:38:30] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250135096_20251209_133829.XML
[2025-12-09 14:39:10] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250135124_20251209_143910.XML
[2025-12-09 14:39:10] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250135124_20251209_143910.XML for user: 68f1466aed072ad4a
[2025-12-09 14:39:10] [INFO] File size: 5207 bytes
[2025-12-09 14:39:10] [INFO] Created FTPFiles record with ID: 6938348e3d9ac54f9
[2025-12-09 14:39:10] [INFO] About to extract fields from XML. File size: 5207 bytes
[2025-12-09 14:39:10] [INFO] Number of mappings: 25
[2025-12-09 14:39:10] [INFO] Starting XML parsing. Content length: 5207
[2025-12-09 14:39:10] [INFO] XML parsed successfully. Root element: CADExport
[2025-12-09 14:39:10] [INFO] Processing 25 field mappings
[2025-12-09 14:39:10] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2025-12-09 14:39:10] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2025-12-09 14:39:10] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2025-12-09 14:39:10] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2025-12-09 14:39:10] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2025-12-09 14:39:10] [INFO] Found 4 elements for 'ReportNumber', concatenating 2 non-empty values
[2025-12-09 14:39:10] [INFO]   -> Found value: 2025003013
2025019077
[2025-12-09 14:39:10] [INFO]   -> Set field 'incidentInternalId' = "2025003013\n2025019077"
[2025-12-09 14:39:10] [INFO]   -> Set field 'dispatchRunNumber' = "2025003013\n2025019077"
[2025-12-09 14:39:10] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2025-12-09 14:39:10] [INFO]   -> Found value: UNKNOWN PROBLEM
[2025-12-09 14:39:10] [INFO]   -> Set field 'incidentTypeValue1' = "UNKNOWN PROBLEM"
[2025-12-09 14:39:10] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2025-12-09 14:39:10] [INFO]   -> Found value: 620
[2025-12-09 14:39:10] [INFO]   -> Set field 'incidentLocationStreetNumber' = 620
[2025-12-09 14:39:10] [INFO] Mapping #5: Extracting 'RelatedNames.Name.StreetName' => 'streetName'
[2025-12-09 14:39:10] [INFO]   -> Found value: BETHANY RD
[2025-12-09 14:39:10] [INFO]   -> Set field 'streetName' = "BETHANY RD"
[2025-12-09 14:39:10] [INFO] Mapping #6: Extracting 'RelatedNames.Name.City' => 'incidentLocationCity'
[2025-12-09 14:39:10] [INFO]   -> Found value: BAXTER
[2025-12-09 14:39:10] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2025-12-09 14:39:10] [INFO] Mapping #7: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2025-12-09 14:39:10] [INFO]   -> Found value: TN
[2025-12-09 14:39:10] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2025-12-09 14:39:10] [INFO] Mapping #8: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2025-12-09 14:39:10] [INFO]   -> Found value: 38544
[2025-12-09 14:39:10] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2025-12-09 14:39:10] [INFO] Mapping #9: Extracting 'EventDetails.SiteName' => 'businessName'
[2025-12-09 14:39:10] [INFO]   -> No value found (null or empty)
[2025-12-09 14:39:10] [INFO] Mapping #10: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2025-12-09 14:39:10] [INFO]   -> No value found (null or empty)
[2025-12-09 14:39:10] [INFO] Mapping #11: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2025-12-09 14:39:10] [INFO]   -> Found value: 36.18768
[2025-12-09 14:39:10] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.18768
[2025-12-09 14:39:10] [INFO] Mapping #12: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2025-12-09 14:39:10] [INFO]   -> Found value: -85.69778
[2025-12-09 14:39:10] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.69778
[2025-12-09 14:39:10] [INFO] Mapping #13: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2025-12-09 14:39:10] [INFO]   -> Found value: 2025-12-09 08:38:21
[2025-12-09 14:39:10] [INFO]   -> Set field 'alarm' = "2025-12-09 08:38:21"
[2025-12-09 14:39:10] [INFO] Mapping #14: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2025-12-09 14:39:10] [INFO]   -> Found value: 2025-12-09 08:39:03
[2025-12-09 14:39:10] [INFO]   -> Set field 'dispatched' = "2025-12-09 08:39:03"
[2025-12-09 14:39:10] [INFO] Mapping #15: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2025-12-09 14:39:10] [INFO]   -> No value found (null or empty)
[2025-12-09 14:39:10] [INFO] Mapping #16: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2025-12-09 14:39:10] [INFO]   -> No value found (null or empty)
[2025-12-09 14:39:10] [INFO] Mapping #17: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2025-12-09 14:39:10] [INFO]   -> No value found (null or empty)
[2025-12-09 14:39:10] [INFO] Mapping #18: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2025-12-09 14:39:10] [INFO]   -> Found value: NASHVILLE HWY
[2025-12-09 14:39:10] [INFO]   -> Set field 'incidentLocationCross' = "NASHVILLE HWY"
[2025-12-09 14:39:10] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2025-12-09 14:39:10] [INFO]   -> Found value: PCFR
[2025-12-09 14:39:10] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2025-12-09 14:39:10] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2025-12-09 14:39:10] [INFO]   -> Found value: 2025-12-09 08:39:03
[2025-12-09 14:39:10] [INFO]   -> Set field 'timedispatch' = "2025-12-09 08:39:03"
[2025-12-09 14:39:10] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2025-12-09 14:39:10] [INFO]   -> No value found (null or empty)
[2025-12-09 14:39:10] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2025-12-09 14:39:10] [INFO]   -> No value found (null or empty)
[2025-12-09 14:39:10] [INFO] Mapping #23: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2025-12-09 14:39:10] [INFO]   -> No value found (null or empty)
[2025-12-09 14:39:10] [INFO] Mapping #24: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2025-12-09 14:39:10] [INFO]   -> No value found (null or empty)
[2025-12-09 14:39:10] [INFO] Mapping #25: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2025-12-09 14:39:10] [INFO] Found 4 elements for 'CadInciNumber', concatenating 4 non-empty values
[2025-12-09 14:39:10] [INFO]   -> Found value: 20250135124
20250135121
20250135123
20250135125
[2025-12-09 14:39:10] [INFO]   -> Set field 'policeReportNumber' = "20250135124\n20250135121\n20250135123\n20250135125"
[2025-12-09 14:39:10] [INFO] Finished extracting fields. Total fields extracted: 17
[2025-12-09 14:39:10] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2025003013\n2025019077","dispatchRunNumber":"2025003013\n2025019077","incidentTypeValue1":"UNKNOWN PROBLEM","incidentLocationStreetNumber":620,"streetName":"BETHANY RD","incidentLocationCity":"BAXTER","incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.18768,"nERISIncidentLongitude":-85.69778,"alarm":"2025-12-09 08:38:21","dispatched":"2025-12-09 08:39:03","incidentLocationCross":"NASHVILLE HWY","cADVehicleID":"PCFR","timedispatch":"2025-12-09 08:39:03","policeReportNumber":"20250135124\n20250135121\n20250135123\n20250135125"}
[2025-12-09 14:39:10] [INFO] Number of extracted fields: 17
[2025-12-09 14:39:10] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2025-12-09 14:39:10] [INFO] Multi-agency routing check: CAD Agency ID = PCFD
EMS
PCSO
RESC, Assigned Agencies count = 1
[2025-12-09 14:39:10] [INFO] Multi-agency mode detected. Looking up SAASClient by cADAgencyIdentifier: 'PCFD
EMS
PCSO
RESC'
[2025-12-09 14:39:10] [WARNING] WARNING: No SAASClient found with cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2025-12-09 14:39:10] [INFO] FALLBACK: Using mailbox default saasclientId: 68eeb686225c40db4 (multi-agency routing attempted but failed)
[2025-12-09 14:39:10] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2025-12-09 14:39:10] [INFO] Created new IncidentTypeMapping Data: {"cADIncidentType":"UNKNOWN PROBLEM","saasclientId":"68eeb686225c40db4","name":"UNKNOWN PROBLEM"}
[2025-12-09 14:39:10] [INFO] Created new IncidentTypeMapping with ID: 6938348e6b7ce0612
[2025-12-09 14:39:12] [INFO] Created new Dispatches record with ID: 6938348e85344de08
[2025-12-09 14:39:12] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250135124_20251209_143910.XML
[2025-12-09 14:39:12] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250135124_20251209_143910.XML
[2025-12-09 14:39:12] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250135124_20251209_143912.XML
[2025-12-09 14:39:12] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250135124_20251209_143912.XML for user: 68f1466aed072ad4a
[2025-12-09 14:39:12] [INFO] File size: 5207 bytes
[2025-12-09 14:39:12] [INFO] Created FTPFiles record with ID: 69383490a76f0f53b
[2025-12-09 14:39:12] [INFO] About to extract fields from XML. File size: 5207 bytes
[2025-12-09 14:39:12] [INFO] Number of mappings: 25
[2025-12-09 14:39:12] [INFO] Starting XML parsing. Content length: 5207
[2025-12-09 14:39:12] [INFO] XML parsed successfully. Root element: CADExport
[2025-12-09 14:39:12] [INFO] Processing 25 field mappings
[2025-12-09 14:39:12] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2025-12-09 14:39:12] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2025-12-09 14:39:12] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2025-12-09 14:39:12] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2025-12-09 14:39:12] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2025-12-09 14:39:12] [INFO] Found 4 elements for 'ReportNumber', concatenating 2 non-empty values
[2025-12-09 14:39:12] [INFO]   -> Found value: 2025003013
2025019077
[2025-12-09 14:39:12] [INFO]   -> Set field 'incidentInternalId' = "2025003013\n2025019077"
[2025-12-09 14:39:12] [INFO]   -> Set field 'dispatchRunNumber' = "2025003013\n2025019077"
[2025-12-09 14:39:12] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2025-12-09 14:39:12] [INFO]   -> Found value: UNKNOWN PROBLEM
[2025-12-09 14:39:12] [INFO]   -> Set field 'incidentTypeValue1' = "UNKNOWN PROBLEM"
[2025-12-09 14:39:12] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2025-12-09 14:39:12] [INFO]   -> Found value: 620
[2025-12-09 14:39:12] [INFO]   -> Set field 'incidentLocationStreetNumber' = 620
[2025-12-09 14:39:12] [INFO] Mapping #5: Extracting 'RelatedNames.Name.StreetName' => 'streetName'
[2025-12-09 14:39:12] [INFO]   -> Found value: BETHANY RD
[2025-12-09 14:39:12] [INFO]   -> Set field 'streetName' = "BETHANY RD"
[2025-12-09 14:39:12] [INFO] Mapping #6: Extracting 'RelatedNames.Name.City' => 'incidentLocationCity'
[2025-12-09 14:39:12] [INFO]   -> Found value: BAXTER
[2025-12-09 14:39:12] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2025-12-09 14:39:12] [INFO] Mapping #7: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2025-12-09 14:39:12] [INFO]   -> Found value: TN
[2025-12-09 14:39:12] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2025-12-09 14:39:12] [INFO] Mapping #8: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2025-12-09 14:39:12] [INFO]   -> Found value: 38544
[2025-12-09 14:39:12] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2025-12-09 14:39:12] [INFO] Mapping #9: Extracting 'EventDetails.SiteName' => 'businessName'
[2025-12-09 14:39:12] [INFO]   -> No value found (null or empty)
[2025-12-09 14:39:12] [INFO] Mapping #10: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2025-12-09 14:39:12] [INFO]   -> No value found (null or empty)
[2025-12-09 14:39:12] [INFO] Mapping #11: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2025-12-09 14:39:12] [INFO]   -> Found value: 36.18768
[2025-12-09 14:39:12] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.18768
[2025-12-09 14:39:12] [INFO] Mapping #12: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2025-12-09 14:39:12] [INFO]   -> Found value: -85.69778
[2025-12-09 14:39:12] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.69778
[2025-12-09 14:39:12] [INFO] Mapping #13: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2025-12-09 14:39:12] [INFO]   -> Found value: 2025-12-09 08:38:21
[2025-12-09 14:39:12] [INFO]   -> Set field 'alarm' = "2025-12-09 08:38:21"
[2025-12-09 14:39:12] [INFO] Mapping #14: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2025-12-09 14:39:12] [INFO]   -> Found value: 2025-12-09 08:39:03
[2025-12-09 14:39:12] [INFO]   -> Set field 'dispatched' = "2025-12-09 08:39:03"
[2025-12-09 14:39:12] [INFO] Mapping #15: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2025-12-09 14:39:12] [INFO]   -> No value found (null or empty)
[2025-12-09 14:39:12] [INFO] Mapping #16: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2025-12-09 14:39:12] [INFO]   -> No value found (null or empty)
[2025-12-09 14:39:12] [INFO] Mapping #17: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2025-12-09 14:39:12] [INFO]   -> No value found (null or empty)
[2025-12-09 14:39:12] [INFO] Mapping #18: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2025-12-09 14:39:12] [INFO]   -> Found value: NASHVILLE HWY
[2025-12-09 14:39:12] [INFO]   -> Set field 'incidentLocationCross' = "NASHVILLE HWY"
[2025-12-09 14:39:12] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2025-12-09 14:39:12] [INFO]   -> Found value: PCFR
[2025-12-09 14:39:12] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2025-12-09 14:39:12] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2025-12-09 14:39:12] [INFO]   -> Found value: 2025-12-09 08:39:03
[2025-12-09 14:39:12] [INFO]   -> Set field 'timedispatch' = "2025-12-09 08:39:03"
[2025-12-09 14:39:12] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2025-12-09 14:39:12] [INFO]   -> No value found (null or empty)
[2025-12-09 14:39:12] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2025-12-09 14:39:12] [INFO]   -> No value found (null or empty)
[2025-12-09 14:39:12] [INFO] Mapping #23: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2025-12-09 14:39:12] [INFO]   -> No value found (null or empty)
[2025-12-09 14:39:12] [INFO] Mapping #24: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2025-12-09 14:39:12] [INFO]   -> No value found (null or empty)
[2025-12-09 14:39:12] [INFO] Mapping #25: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2025-12-09 14:39:12] [INFO] Found 4 elements for 'CadInciNumber', concatenating 4 non-empty values
[2025-12-09 14:39:12] [INFO]   -> Found value: 20250135124
20250135121
20250135123
20250135125
[2025-12-09 14:39:12] [INFO]   -> Set field 'policeReportNumber' = "20250135124\n20250135121\n20250135123\n20250135125"
[2025-12-09 14:39:12] [INFO] Finished extracting fields. Total fields extracted: 17
[2025-12-09 14:39:12] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2025003013\n2025019077","dispatchRunNumber":"2025003013\n2025019077","incidentTypeValue1":"UNKNOWN PROBLEM","incidentLocationStreetNumber":620,"streetName":"BETHANY RD","incidentLocationCity":"BAXTER","incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.18768,"nERISIncidentLongitude":-85.69778,"alarm":"2025-12-09 08:38:21","dispatched":"2025-12-09 08:39:03","incidentLocationCross":"NASHVILLE HWY","cADVehicleID":"PCFR","timedispatch":"2025-12-09 08:39:03","policeReportNumber":"20250135124\n20250135121\n20250135123\n20250135125"}
[2025-12-09 14:39:12] [INFO] Number of extracted fields: 17
[2025-12-09 14:39:12] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2025-12-09 14:39:12] [INFO] Multi-agency routing check: CAD Agency ID = PCFD
EMS
PCSO
RESC, Assigned Agencies count = 1
[2025-12-09 14:39:12] [INFO] Multi-agency mode detected. Looking up SAASClient by cADAgencyIdentifier: 'PCFD
EMS
PCSO
RESC'
[2025-12-09 14:39:12] [WARNING] WARNING: No SAASClient found with cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2025-12-09 14:39:12] [INFO] FALLBACK: Using mailbox default saasclientId: 68eeb686225c40db4 (multi-agency routing attempted but failed)
[2025-12-09 14:39:12] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2025-12-09 14:39:12] [INFO] Found existing IncidentTypeMapping with ID: 6938348e6b7ce0612
[2025-12-09 14:39:12] [INFO] Found existing Dispatch with cADNumber '2025003013
2025019077', ID: 6938348e85344de08 - will update instead of create
[2025-12-09 14:39:13] [INFO] Updated existing Dispatches record with ID: 6938348e85344de08
[2025-12-09 14:39:13] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250135124_20251209_143912.XML
[2025-12-09 14:39:13] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250135124_20251209_143912.XML
[2025-12-09 15:11:50] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250135142_20251209_151150.XML
[2025-12-09 15:11:50] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250135142_20251209_151150.XML for user: 68f1466aed072ad4a
[2025-12-09 15:11:50] [INFO] File size: 5091 bytes
[2025-12-09 15:11:50] [INFO] Created FTPFiles record with ID: 69383c366b2722c33
[2025-12-09 15:11:50] [INFO] About to extract fields from XML. File size: 5091 bytes
[2025-12-09 15:11:50] [INFO] Number of mappings: 25
[2025-12-09 15:11:50] [INFO] Starting XML parsing. Content length: 5091
[2025-12-09 15:11:50] [INFO] XML parsed successfully. Root element: CADExport
[2025-12-09 15:11:50] [INFO] Processing 25 field mappings
[2025-12-09 15:11:50] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2025-12-09 15:11:50] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2025-12-09 15:11:50] [INFO]   -> Found value: PCFD
EMS
RESC
[2025-12-09 15:11:50] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2025-12-09 15:11:50] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2025-12-09 15:11:50] [INFO] Found 3 elements for 'ReportNumber', concatenating 3 non-empty values
[2025-12-09 15:11:50] [INFO]   -> Found value: 2025003014
2025019078
2025002433
[2025-12-09 15:11:50] [INFO]   -> Set field 'incidentInternalId' = "2025003014\n2025019078\n2025002433"
[2025-12-09 15:11:50] [INFO]   -> Set field 'dispatchRunNumber' = "2025003014\n2025019078\n2025002433"
[2025-12-09 15:11:50] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2025-12-09 15:11:50] [INFO]   -> Found value: FALL VICTIM
[2025-12-09 15:11:50] [INFO]   -> Set field 'incidentTypeValue1' = "FALL VICTIM"
[2025-12-09 15:11:50] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2025-12-09 15:11:50] [INFO]   -> Found value: 7720
[2025-12-09 15:11:50] [INFO]   -> Set field 'incidentLocationStreetNumber' = 7720
[2025-12-09 15:11:50] [INFO] Mapping #5: Extracting 'RelatedNames.Name.StreetName' => 'streetName'
[2025-12-09 15:11:50] [INFO]   -> Found value: DITTY RD
[2025-12-09 15:11:50] [INFO]   -> Set field 'streetName' = "DITTY RD"
[2025-12-09 15:11:50] [INFO] Mapping #6: Extracting 'RelatedNames.Name.City' => 'incidentLocationCity'
[2025-12-09 15:11:50] [INFO]   -> Found value: BAXTER
[2025-12-09 15:11:50] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2025-12-09 15:11:50] [INFO] Mapping #7: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2025-12-09 15:11:50] [INFO]   -> Found value: TN
[2025-12-09 15:11:50] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2025-12-09 15:11:50] [INFO] Mapping #8: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2025-12-09 15:11:50] [INFO]   -> Found value: 38544
[2025-12-09 15:11:50] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2025-12-09 15:11:50] [INFO] Mapping #9: Extracting 'EventDetails.SiteName' => 'businessName'
[2025-12-09 15:11:50] [INFO]   -> No value found (null or empty)
[2025-12-09 15:11:50] [INFO] Mapping #10: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2025-12-09 15:11:50] [INFO]   -> No value found (null or empty)
[2025-12-09 15:11:50] [INFO] Mapping #11: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2025-12-09 15:11:50] [INFO]   -> Found value: 36.12951
[2025-12-09 15:11:50] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.12951
[2025-12-09 15:11:50] [INFO] Mapping #12: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2025-12-09 15:11:50] [INFO]   -> Found value: -85.61639
[2025-12-09 15:11:50] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.61639
[2025-12-09 15:11:50] [INFO] Mapping #13: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2025-12-09 15:11:50] [INFO]   -> Found value: 2025-12-09 09:11:08
[2025-12-09 15:11:50] [INFO]   -> Set field 'alarm' = "2025-12-09 09:11:08"
[2025-12-09 15:11:50] [INFO] Mapping #14: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2025-12-09 15:11:50] [INFO]   -> Found value: 2025-12-09 09:11:43
[2025-12-09 15:11:50] [INFO]   -> Set field 'dispatched' = "2025-12-09 09:11:43"
[2025-12-09 15:11:50] [INFO] Mapping #15: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2025-12-09 15:11:50] [INFO]   -> No value found (null or empty)
[2025-12-09 15:11:50] [INFO] Mapping #16: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2025-12-09 15:11:50] [INFO]   -> No value found (null or empty)
[2025-12-09 15:11:50] [INFO] Mapping #17: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2025-12-09 15:11:50] [INFO]   -> No value found (null or empty)
[2025-12-09 15:11:50] [INFO] Mapping #18: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2025-12-09 15:11:50] [INFO]   -> Found value: ACADEMY RD/BAXTER RD
[2025-12-09 15:11:50] [INFO]   -> Set field 'incidentLocationCross' = "ACADEMY RD\/BAXTER RD"
[2025-12-09 15:11:50] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2025-12-09 15:11:50] [INFO]   -> Found value: PCFR
[2025-12-09 15:11:50] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2025-12-09 15:11:50] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2025-12-09 15:11:50] [INFO]   -> Found value: 2025-12-09 09:11:43
[2025-12-09 15:11:50] [INFO]   -> Set field 'timedispatch' = "2025-12-09 09:11:43"
[2025-12-09 15:11:50] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2025-12-09 15:11:50] [INFO]   -> No value found (null or empty)
[2025-12-09 15:11:50] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2025-12-09 15:11:50] [INFO]   -> No value found (null or empty)
[2025-12-09 15:11:50] [INFO] Mapping #23: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2025-12-09 15:11:50] [INFO]   -> No value found (null or empty)
[2025-12-09 15:11:50] [INFO] Mapping #24: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2025-12-09 15:11:50] [INFO]   -> No value found (null or empty)
[2025-12-09 15:11:50] [INFO] Mapping #25: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2025-12-09 15:11:50] [INFO] Found 3 elements for 'CadInciNumber', concatenating 3 non-empty values
[2025-12-09 15:11:50] [INFO]   -> Found value: 20250135142
20250135139
20250135143
[2025-12-09 15:11:50] [INFO]   -> Set field 'policeReportNumber' = "20250135142\n20250135139\n20250135143"
[2025-12-09 15:11:50] [INFO] Finished extracting fields. Total fields extracted: 17
[2025-12-09 15:11:50] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2025003014\n2025019078\n2025002433","dispatchRunNumber":"2025003014\n2025019078\n2025002433","incidentTypeValue1":"FALL VICTIM","incidentLocationStreetNumber":7720,"streetName":"DITTY RD","incidentLocationCity":"BAXTER","incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.12951,"nERISIncidentLongitude":-85.61639,"alarm":"2025-12-09 09:11:08","dispatched":"2025-12-09 09:11:43","incidentLocationCross":"ACADEMY RD\/BAXTER RD","cADVehicleID":"PCFR","timedispatch":"2025-12-09 09:11:43","policeReportNumber":"20250135142\n20250135139\n20250135143"}
[2025-12-09 15:11:50] [INFO] Number of extracted fields: 17
[2025-12-09 15:11:50] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2025-12-09 15:11:50] [INFO] Multi-agency routing check: CAD Agency ID = PCFD
EMS
RESC, Assigned Agencies count = 1
[2025-12-09 15:11:50] [INFO] Multi-agency mode detected. Looking up SAASClient by cADAgencyIdentifier: 'PCFD
EMS
RESC'
[2025-12-09 15:11:50] [WARNING] WARNING: No SAASClient found with cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2025-12-09 15:11:50] [INFO] FALLBACK: Using mailbox default saasclientId: 68eeb686225c40db4 (multi-agency routing attempted but failed)
[2025-12-09 15:11:50] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2025-12-09 15:11:50] [INFO] Found existing IncidentTypeMapping with ID: 69372a143f466ddae
[2025-12-09 15:11:52] [INFO] Created new Dispatches record with ID: 69383c36aae2f24f3
[2025-12-09 15:11:52] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250135142_20251209_151150.XML
[2025-12-09 15:11:52] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250135142_20251209_151150.XML
[2025-12-09 15:11:52] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250135142_20251209_151152.XML
[2025-12-09 15:11:52] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250135142_20251209_151152.XML for user: 68f1466aed072ad4a
[2025-12-09 15:11:52] [INFO] File size: 5091 bytes
[2025-12-09 15:11:52] [INFO] Created FTPFiles record with ID: 69383c38eb7c4d5ea
[2025-12-09 15:11:52] [INFO] About to extract fields from XML. File size: 5091 bytes
[2025-12-09 15:11:52] [INFO] Number of mappings: 25
[2025-12-09 15:11:52] [INFO] Starting XML parsing. Content length: 5091
[2025-12-09 15:11:52] [INFO] XML parsed successfully. Root element: CADExport
[2025-12-09 15:11:52] [INFO] Processing 25 field mappings
[2025-12-09 15:11:52] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2025-12-09 15:11:52] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2025-12-09 15:11:52] [INFO]   -> Found value: PCFD
EMS
RESC
[2025-12-09 15:11:52] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2025-12-09 15:11:52] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2025-12-09 15:11:52] [INFO] Found 3 elements for 'ReportNumber', concatenating 3 non-empty values
[2025-12-09 15:11:52] [INFO]   -> Found value: 2025003014
2025019078
2025002433
[2025-12-09 15:11:52] [INFO]   -> Set field 'incidentInternalId' = "2025003014\n2025019078\n2025002433"
[2025-12-09 15:11:52] [INFO]   -> Set field 'dispatchRunNumber' = "2025003014\n2025019078\n2025002433"
[2025-12-09 15:11:52] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2025-12-09 15:11:52] [INFO]   -> Found value: FALL VICTIM
[2025-12-09 15:11:52] [INFO]   -> Set field 'incidentTypeValue1' = "FALL VICTIM"
[2025-12-09 15:11:52] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2025-12-09 15:11:52] [INFO]   -> Found value: 7720
[2025-12-09 15:11:52] [INFO]   -> Set field 'incidentLocationStreetNumber' = 7720
[2025-12-09 15:11:52] [INFO] Mapping #5: Extracting 'RelatedNames.Name.StreetName' => 'streetName'
[2025-12-09 15:11:52] [INFO]   -> Found value: DITTY RD
[2025-12-09 15:11:52] [INFO]   -> Set field 'streetName' = "DITTY RD"
[2025-12-09 15:11:52] [INFO] Mapping #6: Extracting 'RelatedNames.Name.City' => 'incidentLocationCity'
[2025-12-09 15:11:52] [INFO]   -> Found value: BAXTER
[2025-12-09 15:11:52] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2025-12-09 15:11:52] [INFO] Mapping #7: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2025-12-09 15:11:52] [INFO]   -> Found value: TN
[2025-12-09 15:11:52] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2025-12-09 15:11:52] [INFO] Mapping #8: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2025-12-09 15:11:52] [INFO]   -> Found value: 38544
[2025-12-09 15:11:52] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2025-12-09 15:11:52] [INFO] Mapping #9: Extracting 'EventDetails.SiteName' => 'businessName'
[2025-12-09 15:11:52] [INFO]   -> No value found (null or empty)
[2025-12-09 15:11:52] [INFO] Mapping #10: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2025-12-09 15:11:52] [INFO]   -> No value found (null or empty)
[2025-12-09 15:11:52] [INFO] Mapping #11: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2025-12-09 15:11:52] [INFO]   -> Found value: 36.12951
[2025-12-09 15:11:52] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.12951
[2025-12-09 15:11:52] [INFO] Mapping #12: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2025-12-09 15:11:52] [INFO]   -> Found value: -85.61639
[2025-12-09 15:11:52] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.61639
[2025-12-09 15:11:52] [INFO] Mapping #13: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2025-12-09 15:11:52] [INFO]   -> Found value: 2025-12-09 09:11:08
[2025-12-09 15:11:52] [INFO]   -> Set field 'alarm' = "2025-12-09 09:11:08"
[2025-12-09 15:11:52] [INFO] Mapping #14: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2025-12-09 15:11:52] [INFO]   -> Found value: 2025-12-09 09:11:43
[2025-12-09 15:11:52] [INFO]   -> Set field 'dispatched' = "2025-12-09 09:11:43"
[2025-12-09 15:11:52] [INFO] Mapping #15: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2025-12-09 15:11:52] [INFO]   -> No value found (null or empty)
[2025-12-09 15:11:52] [INFO] Mapping #16: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2025-12-09 15:11:52] [INFO]   -> No value found (null or empty)
[2025-12-09 15:11:52] [INFO] Mapping #17: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2025-12-09 15:11:52] [INFO]   -> No value found (null or empty)
[2025-12-09 15:11:52] [INFO] Mapping #18: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2025-12-09 15:11:52] [INFO]   -> Found value: ACADEMY RD/BAXTER RD
[2025-12-09 15:11:52] [INFO]   -> Set field 'incidentLocationCross' = "ACADEMY RD\/BAXTER RD"
[2025-12-09 15:11:52] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2025-12-09 15:11:52] [INFO]   -> Found value: PCFR
[2025-12-09 15:11:52] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2025-12-09 15:11:52] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2025-12-09 15:11:52] [INFO]   -> Found value: 2025-12-09 09:11:43
[2025-12-09 15:11:52] [INFO]   -> Set field 'timedispatch' = "2025-12-09 09:11:43"
[2025-12-09 15:11:52] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2025-12-09 15:11:52] [INFO]   -> No value found (null or empty)
[2025-12-09 15:11:52] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2025-12-09 15:11:52] [INFO]   -> No value found (null or empty)
[2025-12-09 15:11:52] [INFO] Mapping #23: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2025-12-09 15:11:52] [INFO]   -> No value found (null or empty)
[2025-12-09 15:11:52] [INFO] Mapping #24: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2025-12-09 15:11:52] [INFO]   -> No value found (null or empty)
[2025-12-09 15:11:52] [INFO] Mapping #25: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2025-12-09 15:11:52] [INFO] Found 3 elements for 'CadInciNumber', concatenating 3 non-empty values
[2025-12-09 15:11:52] [INFO]   -> Found value: 20250135142
20250135139
20250135143
[2025-12-09 15:11:52] [INFO]   -> Set field 'policeReportNumber' = "20250135142\n20250135139\n20250135143"
[2025-12-09 15:11:52] [INFO] Finished extracting fields. Total fields extracted: 17
[2025-12-09 15:11:52] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2025003014\n2025019078\n2025002433","dispatchRunNumber":"2025003014\n2025019078\n2025002433","incidentTypeValue1":"FALL VICTIM","incidentLocationStreetNumber":7720,"streetName":"DITTY RD","incidentLocationCity":"BAXTER","incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.12951,"nERISIncidentLongitude":-85.61639,"alarm":"2025-12-09 09:11:08","dispatched":"2025-12-09 09:11:43","incidentLocationCross":"ACADEMY RD\/BAXTER RD","cADVehicleID":"PCFR","timedispatch":"2025-12-09 09:11:43","policeReportNumber":"20250135142\n20250135139\n20250135143"}
[2025-12-09 15:11:52] [INFO] Number of extracted fields: 17
[2025-12-09 15:11:52] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2025-12-09 15:11:52] [INFO] Multi-agency routing check: CAD Agency ID = PCFD
EMS
RESC, Assigned Agencies count = 1
[2025-12-09 15:11:52] [INFO] Multi-agency mode detected. Looking up SAASClient by cADAgencyIdentifier: 'PCFD
EMS
RESC'
[2025-12-09 15:11:53] [WARNING] WARNING: No SAASClient found with cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2025-12-09 15:11:53] [INFO] FALLBACK: Using mailbox default saasclientId: 68eeb686225c40db4 (multi-agency routing attempted but failed)
[2025-12-09 15:11:53] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2025-12-09 15:11:53] [INFO] Found existing IncidentTypeMapping with ID: 69372a143f466ddae
[2025-12-09 15:11:53] [INFO] Found existing Dispatch with cADNumber '2025003014
2025019078
2025002433', ID: 69383c36aae2f24f3 - will update instead of create
[2025-12-09 15:11:53] [INFO] Updated existing Dispatches record with ID: 69383c36aae2f24f3
[2025-12-09 15:11:53] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250135142_20251209_151152.XML
[2025-12-09 15:11:53] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250135142_20251209_151152.XML
[2025-12-09 16:14:20] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250135160_20251209_161420.XML
[2025-12-09 16:14:20] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250135160_20251209_161420.XML for user: 68f1466aed072ad4a
[2025-12-09 16:14:20] [INFO] File size: 4754 bytes
[2025-12-09 16:14:20] [INFO] Created FTPFiles record with ID: 69384adc970241613
[2025-12-09 16:14:20] [INFO] About to extract fields from XML. File size: 4754 bytes
[2025-12-09 16:14:20] [INFO] Number of mappings: 25
[2025-12-09 16:14:20] [INFO] Starting XML parsing. Content length: 4754
[2025-12-09 16:14:20] [INFO] XML parsed successfully. Root element: CADExport
[2025-12-09 16:14:20] [INFO] Processing 25 field mappings
[2025-12-09 16:14:20] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2025-12-09 16:14:20] [INFO]   -> Found value: PCFD
[2025-12-09 16:14:20] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2025-12-09 16:14:20] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2025-12-09 16:14:20] [INFO]   -> Found value: 2025003015
[2025-12-09 16:14:20] [INFO]   -> Set field 'incidentInternalId' = "2025003015"
[2025-12-09 16:14:20] [INFO]   -> Set field 'dispatchRunNumber' = "2025003015"
[2025-12-09 16:14:20] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2025-12-09 16:14:20] [INFO]   -> Found value: SMOKE ALARM INSTALL
[2025-12-09 16:14:20] [INFO]   -> Set field 'incidentTypeValue1' = "SMOKE ALARM INSTALL"
[2025-12-09 16:14:20] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2025-12-09 16:14:20] [INFO]   -> Found value: 3223
[2025-12-09 16:14:20] [INFO]   -> Set field 'incidentLocationStreetNumber' = 3223
[2025-12-09 16:14:20] [INFO] Mapping #5: Extracting 'RelatedNames.Name.StreetName' => 'streetName'
[2025-12-09 16:14:20] [INFO]   -> Found value: BAYSHORE DR
[2025-12-09 16:14:20] [INFO]   -> Set field 'streetName' = "BAYSHORE DR"
[2025-12-09 16:14:20] [INFO] Mapping #6: Extracting 'RelatedNames.Name.City' => 'incidentLocationCity'
[2025-12-09 16:14:20] [INFO]   -> Found value: COOKEVILLE
[2025-12-09 16:14:20] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2025-12-09 16:14:20] [INFO] Mapping #7: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2025-12-09 16:14:20] [INFO]   -> Found value: TN
[2025-12-09 16:14:20] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2025-12-09 16:14:20] [INFO] Mapping #8: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2025-12-09 16:14:20] [INFO]   -> Found value: 38506
[2025-12-09 16:14:20] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2025-12-09 16:14:20] [INFO] Mapping #9: Extracting 'EventDetails.SiteName' => 'businessName'
[2025-12-09 16:14:20] [INFO]   -> No value found (null or empty)
[2025-12-09 16:14:20] [INFO] Mapping #10: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2025-12-09 16:14:20] [INFO]   -> No value found (null or empty)
[2025-12-09 16:14:20] [INFO] Mapping #11: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2025-12-09 16:14:20] [INFO]   -> Found value: 36.12569
[2025-12-09 16:14:20] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.12569
[2025-12-09 16:14:20] [INFO] Mapping #12: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2025-12-09 16:14:20] [INFO]   -> Found value: -85.43960
[2025-12-09 16:14:20] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4396
[2025-12-09 16:14:20] [INFO] Mapping #13: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2025-12-09 16:14:20] [INFO]   -> Found value: 2025-12-09 10:12:49
[2025-12-09 16:14:20] [INFO]   -> Set field 'alarm' = "2025-12-09 10:12:49"
[2025-12-09 16:14:20] [INFO] Mapping #14: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2025-12-09 16:14:20] [INFO]   -> Found value: 2025-12-09 10:14:13
[2025-12-09 16:14:20] [INFO]   -> Set field 'dispatched' = "2025-12-09 10:14:13"
[2025-12-09 16:14:20] [INFO] Mapping #15: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2025-12-09 16:14:20] [INFO]   -> Found value: 2025-12-09 10:14:13
[2025-12-09 16:14:20] [INFO]   -> Set field 'enroute' = "2025-12-09 10:14:13"
[2025-12-09 16:14:20] [INFO] Mapping #16: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2025-12-09 16:14:20] [INFO]   -> Found value: 2025-12-09 10:14:19
[2025-12-09 16:14:20] [INFO]   -> Set field 'onScene' = "2025-12-09 10:14:19"
[2025-12-09 16:14:20] [INFO] Mapping #17: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2025-12-09 16:14:20] [INFO]   -> No value found (null or empty)
[2025-12-09 16:14:20] [INFO] Mapping #18: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2025-12-09 16:14:20] [INFO]   -> Found value: EASTLAKE DR/EDGEFIELD CT
[2025-12-09 16:14:20] [INFO]   -> Set field 'incidentLocationCross' = "EASTLAKE DR\/EDGEFIELD CT"
[2025-12-09 16:14:20] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2025-12-09 16:14:20] [INFO]   -> Found value: TK11
[2025-12-09 16:14:20] [INFO]   -> Set field 'cADVehicleID' = "TK11"
[2025-12-09 16:14:20] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2025-12-09 16:14:20] [INFO]   -> Found value: 2025-12-09 10:14:13
[2025-12-09 16:14:20] [INFO]   -> Set field 'timedispatch' = "2025-12-09 10:14:13"
[2025-12-09 16:14:20] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2025-12-09 16:14:20] [INFO]   -> Found value: 2025-12-09 10:14:13
[2025-12-09 16:14:20] [INFO]   -> Set field 'timeenroutetoscene' = "2025-12-09 10:14:13"
[2025-12-09 16:14:20] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2025-12-09 16:14:20] [INFO]   -> Found value: 2025-12-09 10:14:19
[2025-12-09 16:14:20] [INFO]   -> Set field 'timeonscene' = "2025-12-09 10:14:19"
[2025-12-09 16:14:20] [INFO] Mapping #23: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2025-12-09 16:14:20] [INFO]   -> No value found (null or empty)
[2025-12-09 16:14:20] [INFO] Mapping #24: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2025-12-09 16:14:20] [INFO]   -> No value found (null or empty)
[2025-12-09 16:14:20] [INFO] Mapping #25: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2025-12-09 16:14:20] [INFO]   -> Found value: 20250135160
[2025-12-09 16:14:20] [INFO]   -> Set field 'policeReportNumber' = "20250135160"
[2025-12-09 16:14:20] [INFO] Finished extracting fields. Total fields extracted: 21
[2025-12-09 16:14:20] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2025003015","dispatchRunNumber":"2025003015","incidentTypeValue1":"SMOKE ALARM INSTALL","incidentLocationStreetNumber":3223,"streetName":"BAYSHORE DR","incidentLocationCity":"COOKEVILLE","incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.12569,"nERISIncidentLongitude":-85.4396,"alarm":"2025-12-09 10:12:49","dispatched":"2025-12-09 10:14:13","enroute":"2025-12-09 10:14:13","onScene":"2025-12-09 10:14:19","incidentLocationCross":"EASTLAKE DR\/EDGEFIELD CT","cADVehicleID":"TK11","timedispatch":"2025-12-09 10:14:13","timeenroutetoscene":"2025-12-09 10:14:13","timeonscene":"2025-12-09 10:14:19","policeReportNumber":"20250135160"}
[2025-12-09 16:14:20] [INFO] Number of extracted fields: 21
[2025-12-09 16:14:20] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2025-12-09 16:14:20] [INFO] Multi-agency routing check: CAD Agency ID = PCFD, Assigned Agencies count = 1
[2025-12-09 16:14:20] [INFO] Multi-agency mode detected. Looking up SAASClient by cADAgencyIdentifier: 'PCFD'
[2025-12-09 16:14:20] [INFO] Found SAASClient match: ID = 68eeb686225c40db4, Name = Putnam County Fire Department
[2025-12-09 16:14:20] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) based on CAD ID: 'PCFD'
[2025-12-09 16:14:20] [INFO] No stationsIds found on matched agency, using mailbox stations as fallback
[2025-12-09 16:14:20] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2025-12-09 16:14:20] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2025-12-09 16:14:20] [INFO] Created new IncidentTypeMapping Data: {"cADIncidentType":"SMOKE ALARM INSTALL","saasclientId":"68eeb686225c40db4","name":"SMOKE ALARM INSTALL"}
[2025-12-09 16:14:20] [INFO] Created new IncidentTypeMapping with ID: 69384adcd7833eaa3
[2025-12-09 16:14:23] [INFO] Created new Dispatches record with ID: 69384add45d1ac3f4
[2025-12-09 16:14:23] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250135160_20251209_161420.XML
[2025-12-09 16:14:23] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250135160_20251209_161420.XML
[2025-12-09 16:14:23] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250135160_20251209_161422.XML
[2025-12-09 16:14:23] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250135160_20251209_161422.XML for user: 68f1466aed072ad4a
[2025-12-09 16:14:23] [INFO] File size: 4754 bytes
[2025-12-09 16:14:23] [INFO] Created FTPFiles record with ID: 69384adf5499f7850
[2025-12-09 16:14:23] [INFO] About to extract fields from XML. File size: 4754 bytes
[2025-12-09 16:14:23] [INFO] Number of mappings: 25
[2025-12-09 16:14:23] [INFO] Starting XML parsing. Content length: 4754
[2025-12-09 16:14:23] [INFO] XML parsed successfully. Root element: CADExport
[2025-12-09 16:14:23] [INFO] Processing 25 field mappings
[2025-12-09 16:14:23] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2025-12-09 16:14:23] [INFO]   -> Found value: PCFD
[2025-12-09 16:14:23] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2025-12-09 16:14:23] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2025-12-09 16:14:23] [INFO]   -> Found value: 2025003015
[2025-12-09 16:14:23] [INFO]   -> Set field 'incidentInternalId' = "2025003015"
[2025-12-09 16:14:23] [INFO]   -> Set field 'dispatchRunNumber' = "2025003015"
[2025-12-09 16:14:23] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2025-12-09 16:14:23] [INFO]   -> Found value: SMOKE ALARM INSTALL
[2025-12-09 16:14:23] [INFO]   -> Set field 'incidentTypeValue1' = "SMOKE ALARM INSTALL"
[2025-12-09 16:14:23] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2025-12-09 16:14:23] [INFO]   -> Found value: 3223
[2025-12-09 16:14:23] [INFO]   -> Set field 'incidentLocationStreetNumber' = 3223
[2025-12-09 16:14:23] [INFO] Mapping #5: Extracting 'RelatedNames.Name.StreetName' => 'streetName'
[2025-12-09 16:14:23] [INFO]   -> Found value: BAYSHORE DR
[2025-12-09 16:14:23] [INFO]   -> Set field 'streetName' = "BAYSHORE DR"
[2025-12-09 16:14:23] [INFO] Mapping #6: Extracting 'RelatedNames.Name.City' => 'incidentLocationCity'
[2025-12-09 16:14:23] [INFO]   -> Found value: COOKEVILLE
[2025-12-09 16:14:23] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2025-12-09 16:14:23] [INFO] Mapping #7: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2025-12-09 16:14:23] [INFO]   -> Found value: TN
[2025-12-09 16:14:23] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2025-12-09 16:14:23] [INFO] Mapping #8: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2025-12-09 16:14:23] [INFO]   -> Found value: 38506
[2025-12-09 16:14:23] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2025-12-09 16:14:23] [INFO] Mapping #9: Extracting 'EventDetails.SiteName' => 'businessName'
[2025-12-09 16:14:23] [INFO]   -> No value found (null or empty)
[2025-12-09 16:14:23] [INFO] Mapping #10: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2025-12-09 16:14:23] [INFO]   -> No value found (null or empty)
[2025-12-09 16:14:23] [INFO] Mapping #11: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2025-12-09 16:14:23] [INFO]   -> Found value: 36.12569
[2025-12-09 16:14:23] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.12569
[2025-12-09 16:14:23] [INFO] Mapping #12: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2025-12-09 16:14:23] [INFO]   -> Found value: -85.43960
[2025-12-09 16:14:23] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4396
[2025-12-09 16:14:23] [INFO] Mapping #13: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2025-12-09 16:14:23] [INFO]   -> Found value: 2025-12-09 10:12:49
[2025-12-09 16:14:23] [INFO]   -> Set field 'alarm' = "2025-12-09 10:12:49"
[2025-12-09 16:14:23] [INFO] Mapping #14: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2025-12-09 16:14:23] [INFO]   -> Found value: 2025-12-09 10:14:13
[2025-12-09 16:14:23] [INFO]   -> Set field 'dispatched' = "2025-12-09 10:14:13"
[2025-12-09 16:14:23] [INFO] Mapping #15: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2025-12-09 16:14:23] [INFO]   -> Found value: 2025-12-09 10:14:13
[2025-12-09 16:14:23] [INFO]   -> Set field 'enroute' = "2025-12-09 10:14:13"
[2025-12-09 16:14:23] [INFO] Mapping #16: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2025-12-09 16:14:23] [INFO]   -> Found value: 2025-12-09 10:14:19
[2025-12-09 16:14:23] [INFO]   -> Set field 'onScene' = "2025-12-09 10:14:19"
[2025-12-09 16:14:23] [INFO] Mapping #17: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2025-12-09 16:14:23] [INFO]   -> No value found (null or empty)
[2025-12-09 16:14:23] [INFO] Mapping #18: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2025-12-09 16:14:23] [INFO]   -> Found value: EASTLAKE DR/EDGEFIELD CT
[2025-12-09 16:14:23] [INFO]   -> Set field 'incidentLocationCross' = "EASTLAKE DR\/EDGEFIELD CT"
[2025-12-09 16:14:23] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2025-12-09 16:14:23] [INFO]   -> Found value: TK11
[2025-12-09 16:14:23] [INFO]   -> Set field 'cADVehicleID' = "TK11"
[2025-12-09 16:14:23] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2025-12-09 16:14:23] [INFO]   -> Found value: 2025-12-09 10:14:13
[2025-12-09 16:14:23] [INFO]   -> Set field 'timedispatch' = "2025-12-09 10:14:13"
[2025-12-09 16:14:23] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2025-12-09 16:14:23] [INFO]   -> Found value: 2025-12-09 10:14:13
[2025-12-09 16:14:23] [INFO]   -> Set field 'timeenroutetoscene' = "2025-12-09 10:14:13"
[2025-12-09 16:14:23] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2025-12-09 16:14:23] [INFO]   -> Found value: 2025-12-09 10:14:19
[2025-12-09 16:14:23] [INFO]   -> Set field 'timeonscene' = "2025-12-09 10:14:19"
[2025-12-09 16:14:23] [INFO] Mapping #23: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2025-12-09 16:14:23] [INFO]   -> No value found (null or empty)
[2025-12-09 16:14:23] [INFO] Mapping #24: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2025-12-09 16:14:23] [INFO]   -> No value found (null or empty)
[2025-12-09 16:14:23] [INFO] Mapping #25: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2025-12-09 16:14:23] [INFO]   -> Found value: 20250135160
[2025-12-09 16:14:23] [INFO]   -> Set field 'policeReportNumber' = "20250135160"
[2025-12-09 16:14:23] [INFO] Finished extracting fields. Total fields extracted: 21
[2025-12-09 16:14:23] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2025003015","dispatchRunNumber":"2025003015","incidentTypeValue1":"SMOKE ALARM INSTALL","incidentLocationStreetNumber":3223,"streetName":"BAYSHORE DR","incidentLocationCity":"COOKEVILLE","incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.12569,"nERISIncidentLongitude":-85.4396,"alarm":"2025-12-09 10:12:49","dispatched":"2025-12-09 10:14:13","enroute":"2025-12-09 10:14:13","onScene":"2025-12-09 10:14:19","incidentLocationCross":"EASTLAKE DR\/EDGEFIELD CT","cADVehicleID":"TK11","timedispatch":"2025-12-09 10:14:13","timeenroutetoscene":"2025-12-09 10:14:13","timeonscene":"2025-12-09 10:14:19","policeReportNumber":"20250135160"}
[2025-12-09 16:14:23] [INFO] Number of extracted fields: 21
[2025-12-09 16:14:23] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2025-12-09 16:14:23] [INFO] Multi-agency routing check: CAD Agency ID = PCFD, Assigned Agencies count = 1
[2025-12-09 16:14:23] [INFO] Multi-agency mode detected. Looking up SAASClient by cADAgencyIdentifier: 'PCFD'
[2025-12-09 16:14:23] [INFO] Found SAASClient match: ID = 68eeb686225c40db4, Name = Putnam County Fire Department
[2025-12-09 16:14:23] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) based on CAD ID: 'PCFD'
[2025-12-09 16:14:23] [INFO] No stationsIds found on matched agency, using mailbox stations as fallback
[2025-12-09 16:14:23] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2025-12-09 16:14:23] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2025-12-09 16:14:23] [INFO] Found existing IncidentTypeMapping with ID: 69384adcd7833eaa3
[2025-12-09 16:14:23] [INFO] Found existing Dispatch with cADNumber '2025003015', ID: 69384add45d1ac3f4 - will update instead of create
[2025-12-09 16:14:23] [INFO] Updated existing Dispatches record with ID: 69384add45d1ac3f4
[2025-12-09 16:14:23] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250135160_20251209_161422.XML
[2025-12-09 16:14:23] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250135160_20251209_161422.XML
[2025-12-09 16:24:36] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-29130.xml
[2025-12-09 16:24:36] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-29130.xml for user: 68d56363ec1209189
[2025-12-09 16:24:36] [INFO] File size: 1598 bytes
[2025-12-09 16:24:37] [INFO] Created FTPFiles record with ID: 69384d4508f0fbd95
[2025-12-09 16:24:37] [INFO] About to extract fields from XML. File size: 1598 bytes
[2025-12-09 16:24:37] [INFO] Number of mappings: 21
[2025-12-09 16:24:37] [INFO] Starting XML parsing. Content length: 1598
[2025-12-09 16:24:37] [INFO] XML parsed successfully. Root element: Incident
[2025-12-09 16:24:37] [INFO] Processing 21 field mappings
[2025-12-09 16:24:37] [INFO] Mapping #1: Extracting 'IncidentNumber' => 'dispatchRunNumber'
[2025-12-09 16:24:37] [INFO]   -> Found value: 25-29130
[2025-12-09 16:24:37] [INFO]   -> Set field 'dispatchRunNumber' = "25-29130"
[2025-12-09 16:24:37] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2025-12-09 16:24:37] [INFO]   -> Found value: 201
[2025-12-09 16:24:37] [INFO]   -> Set field 'incidentLocationStreetNumber' = 201
[2025-12-09 16:24:37] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2025-12-09 16:24:37] [INFO]   -> Found value: S KINGSHIGHWAY
[2025-12-09 16:24:37] [INFO]   -> Set field 'streetName' = "S KINGSHIGHWAY"
[2025-12-09 16:24:37] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2025-12-09 16:24:37] [INFO]   -> No value found (null or empty)
[2025-12-09 16:24:37] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2025-12-09 16:24:37] [INFO]   -> Found value: SIKESTON
[2025-12-09 16:24:37] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2025-12-09 16:24:37] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2025-12-09 16:24:37] [INFO]   -> Found value: SIKESTON DPS
[2025-12-09 16:24:37] [INFO]   -> Set field 'businessName' = "SIKESTON DPS"
[2025-12-09 16:24:37] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2025-12-09 16:24:37] [INFO]   -> Found value: MO
[2025-12-09 16:24:37] [INFO]   -> Set field 'incidentLocationStateName' = "MO"
[2025-12-09 16:24:37] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2025-12-09 16:24:37] [INFO]   -> Found value: 63801
[2025-12-09 16:24:37] [INFO]   -> Set field 'nERISIncidentPostalCode' = 63801
[2025-12-09 16:24:37] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2025-12-09 16:24:37] [INFO]   -> Found value: 0
[2025-12-09 16:24:37] [INFO]   -> Set field 'nERISIncidentLatitude' = null
[2025-12-09 16:24:37] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2025-12-09 16:24:37] [INFO]   -> Found value: 0
[2025-12-09 16:24:37] [INFO]   -> Set field 'nERISIncidentLongitude' = null
[2025-12-09 16:24:37] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2025-12-09 16:24:37] [INFO]   -> Found value: TEST
[2025-12-09 16:24:37] [INFO]   -> Set field 'incidentTypeValue1' = "TEST"
[2025-12-09 16:24:37] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2025-12-09 16:24:37] [INFO]   -> Found value: 12-09-2025 10:23:20|THIS IS A TEST INCIDENT FOR SIKESTON AND STATION BOSS
[2025-12-09 16:24:37] [INFO]   -> Set field 'dispatchNotes' = "12-09-2025 10:23:20|THIS IS A TEST INCIDENT FOR SIKESTON AND STATION BOSS"
[2025-12-09 16:24:37] [INFO]   -> Set field 'cADLog' = "12-09-2025 10:23:20|THIS IS A TEST INCIDENT FOR SIKESTON AND STATION BOSS"
[2025-12-09 16:24:37] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2025-12-09 16:24:37] [INFO]   -> Found value: 12-09-2025T10:23:51
[2025-12-09 16:24:37] [INFO]   -> Set field 'alarm' = "2025-09-12 10:23:51"
[2025-12-09 16:24:37] [INFO]   -> Set field 'dispatched' = "2025-09-12 10:23:51"
[2025-12-09 16:24:37] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2025-12-09 16:24:37] [INFO]   -> No value found (null or empty)
[2025-12-09 16:24:37] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2025-12-09 16:24:37] [INFO]   -> No value found (null or empty)
[2025-12-09 16:24:37] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2025-12-09 16:24:37] [INFO]   -> Found value: ENG1
[2025-12-09 16:24:37] [INFO]   -> Set field 'cADVehicleID' = "ENG1"
[2025-12-09 16:24:37] [INFO]   -> Set field 'name' = "ENG1"
[2025-12-09 16:24:37] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2025-12-09 16:24:37] [INFO]   -> No value found (null or empty)
[2025-12-09 16:24:37] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2025-12-09 16:24:37] [INFO]   -> No value found (null or empty)
[2025-12-09 16:24:37] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2025-12-09 16:24:37] [INFO]   -> Found value: 12-09-2025T10:24:21
[2025-12-09 16:24:37] [INFO]   -> Set field 'timeunitclear' = "2025-09-12 10:24:21"
[2025-12-09 16:24:37] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2025-12-09 16:24:37] [INFO]   -> Found value: 12-09-2025T10:24:12
[2025-12-09 16:24:37] [INFO]   -> Set field 'timedispatch' = "2025-09-12 10:24:12"
[2025-12-09 16:24:37] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2025-12-09 16:24:37] [INFO]   -> Found value: SDPSFD
[2025-12-09 16:24:37] [INFO]   -> Set field 'cADAgencyIdentifier' = "SDPSFD"
[2025-12-09 16:24:37] [INFO] Finished extracting fields. Total fields extracted: 19
[2025-12-09 16:24:37] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"25-29130","incidentLocationStreetNumber":201,"streetName":"S KINGSHIGHWAY","incidentLocationCity":"SIKESTON","businessName":"SIKESTON DPS","incidentLocationStateName":"MO","nERISIncidentPostalCode":63801,"nERISIncidentLatitude":null,"nERISIncidentLongitude":null,"incidentTypeValue1":"TEST","dispatchNotes":"12-09-2025 10:23:20|THIS IS A TEST INCIDENT FOR SIKESTON AND STATION BOSS","cADLog":"12-09-2025 10:23:20|THIS IS A TEST INCIDENT FOR SIKESTON AND STATION BOSS","alarm":"2025-09-12 10:23:51","dispatched":"2025-09-12 10:23:51","cADVehicleID":"ENG1","name":"ENG1","timeunitclear":"2025-09-12 10:24:21","timedispatch":"2025-09-12 10:24:12","cADAgencyIdentifier":"SDPSFD"}
[2025-12-09 16:24:37] [INFO] Number of extracted fields: 19
[2025-12-09 16:24:37] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SDPSFD'
[2025-12-09 16:24:37] [INFO] Multi-agency routing check: CAD Agency ID = SDPSFD, Assigned Agencies count = 2
[2025-12-09 16:24:37] [INFO] Multi-agency mode detected. Looking up SAASClient by cADAgencyIdentifier: 'SDPSFD'
[2025-12-09 16:24:37] [INFO] Found SAASClient match: ID = 6772cab7157b2ebde, Name = Sikeston DPS
[2025-12-09 16:24:37] [INFO] SUCCESS: Routed to agency 'Sikeston DPS' (ID: 6772cab7157b2ebde) based on CAD ID: 'SDPSFD'
[2025-12-09 16:24:37] [INFO] No stationsIds found on matched agency, using mailbox stations as fallback
[2025-12-09 16:24:37] [INFO] Final routing: saasclientId = 6772cab7157b2ebde, dispatchStationsIds = ["690279491710f7b8e","6644dbe7e17f1c3de","6644dbb3886c9768f","6644d0c9be0e4ec53","67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961","6644e2fe1572c01ae","69027d47e7c4fc65b"]
[2025-12-09 16:24:37] [INFO] Updated FTPFiles record saasclientId to routed agency: 6772cab7157b2ebde
[2025-12-09 16:24:37] [INFO] Created new IncidentTypeMapping Data: {"cADIncidentType":"TEST","saasclientId":"6772cab7157b2ebde","name":"TEST"}
[2025-12-09 16:24:37] [INFO] Created new IncidentTypeMapping with ID: 69384d45546d283ba
[2025-12-09 16:24:40] [INFO] Created new Dispatches record with ID: 69384d45735f9b64a
[2025-12-09 16:24:40] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-29130.xml
[2025-12-09 16:24:40] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-29130.xml
[2025-12-09 17:51:32] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250135218_20251209_175132.XML
[2025-12-09 17:51:32] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250135218_20251209_175132.XML for user: 68f1466aed072ad4a
[2025-12-09 17:51:32] [INFO] File size: 5129 bytes
[2025-12-09 17:51:33] [INFO] Created FTPFiles record with ID: 693861a535c0735fb
[2025-12-09 17:51:33] [INFO] About to extract fields from XML. File size: 5129 bytes
[2025-12-09 17:51:33] [INFO] Number of mappings: 25
[2025-12-09 17:51:33] [INFO] Starting XML parsing. Content length: 5129
[2025-12-09 17:51:33] [INFO] XML parsed successfully. Root element: CADExport
[2025-12-09 17:51:33] [INFO] Processing 25 field mappings
[2025-12-09 17:51:33] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2025-12-09 17:51:33] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2025-12-09 17:51:33] [INFO]   -> Found value: PCFD
EMS
RESC
[2025-12-09 17:51:33] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2025-12-09 17:51:33] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2025-12-09 17:51:33] [INFO] Found 3 elements for 'ReportNumber', concatenating 2 non-empty values
[2025-12-09 17:51:33] [INFO]   -> Found value: 2025003016
2025019089
[2025-12-09 17:51:33] [INFO]   -> Set field 'incidentInternalId' = "2025003016\n2025019089"
[2025-12-09 17:51:33] [INFO]   -> Set field 'dispatchRunNumber' = "2025003016\n2025019089"
[2025-12-09 17:51:33] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2025-12-09 17:51:33] [INFO]   -> Found value: FAINTING / SYNCOPE
[2025-12-09 17:51:33] [INFO]   -> Set field 'incidentTypeValue1' = "FAINTING \/ SYNCOPE"
[2025-12-09 17:51:33] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2025-12-09 17:51:33] [INFO]   -> Found value: 1025
[2025-12-09 17:51:33] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1025
[2025-12-09 17:51:33] [INFO] Mapping #5: Extracting 'RelatedNames.Name.StreetName' => 'streetName'
[2025-12-09 17:51:33] [INFO]   -> Found value: GREEN MEADOW RD
[2025-12-09 17:51:33] [INFO]   -> Set field 'streetName' = "GREEN MEADOW RD"
[2025-12-09 17:51:33] [INFO] Mapping #6: Extracting 'RelatedNames.Name.City' => 'incidentLocationCity'
[2025-12-09 17:51:33] [INFO]   -> Found value: COOKEVILLE
[2025-12-09 17:51:33] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2025-12-09 17:51:33] [INFO] Mapping #7: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2025-12-09 17:51:33] [INFO]   -> Found value: TN
[2025-12-09 17:51:33] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2025-12-09 17:51:33] [INFO] Mapping #8: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2025-12-09 17:51:33] [INFO]   -> Found value: 38506
[2025-12-09 17:51:33] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2025-12-09 17:51:33] [INFO] Mapping #9: Extracting 'EventDetails.SiteName' => 'businessName'
[2025-12-09 17:51:33] [INFO]   -> Found value: LOFTIS UNDERGROUND
[2025-12-09 17:51:33] [INFO]   -> Set field 'businessName' = "LOFTIS UNDERGROUND"
[2025-12-09 17:51:33] [INFO] Mapping #10: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2025-12-09 17:51:33] [INFO]   -> No value found (null or empty)
[2025-12-09 17:51:33] [INFO] Mapping #11: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2025-12-09 17:51:33] [INFO]   -> Found value: 36.23572
[2025-12-09 17:51:33] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.23572
[2025-12-09 17:51:33] [INFO] Mapping #12: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2025-12-09 17:51:33] [INFO]   -> Found value: -85.46767
[2025-12-09 17:51:33] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.46767
[2025-12-09 17:51:33] [INFO] Mapping #13: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2025-12-09 17:51:33] [INFO]   -> Found value: 2025-12-09 11:50:38
[2025-12-09 17:51:33] [INFO]   -> Set field 'alarm' = "2025-12-09 11:50:38"
[2025-12-09 17:51:33] [INFO] Mapping #14: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2025-12-09 17:51:33] [INFO]   -> Found value: 2025-12-09 11:51:21
[2025-12-09 17:51:33] [INFO]   -> Set field 'dispatched' = "2025-12-09 11:51:21"
[2025-12-09 17:51:33] [INFO] Mapping #15: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2025-12-09 17:51:33] [INFO]   -> No value found (null or empty)
[2025-12-09 17:51:33] [INFO] Mapping #16: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2025-12-09 17:51:33] [INFO]   -> No value found (null or empty)
[2025-12-09 17:51:33] [INFO] Mapping #17: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2025-12-09 17:51:33] [INFO]   -> No value found (null or empty)
[2025-12-09 17:51:33] [INFO] Mapping #18: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2025-12-09 17:51:33] [INFO]   -> Found value: CURTIS DR
[2025-12-09 17:51:33] [INFO]   -> Set field 'incidentLocationCross' = "CURTIS DR"
[2025-12-09 17:51:33] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2025-12-09 17:51:33] [INFO]   -> Found value: PCFR
[2025-12-09 17:51:33] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2025-12-09 17:51:33] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2025-12-09 17:51:33] [INFO]   -> Found value: 2025-12-09 11:51:21
[2025-12-09 17:51:33] [INFO]   -> Set field 'timedispatch' = "2025-12-09 11:51:21"
[2025-12-09 17:51:33] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2025-12-09 17:51:33] [INFO]   -> No value found (null or empty)
[2025-12-09 17:51:33] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2025-12-09 17:51:33] [INFO]   -> No value found (null or empty)
[2025-12-09 17:51:33] [INFO] Mapping #23: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2025-12-09 17:51:33] [INFO]   -> No value found (null or empty)
[2025-12-09 17:51:33] [INFO] Mapping #24: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2025-12-09 17:51:33] [INFO]   -> No value found (null or empty)
[2025-12-09 17:51:33] [INFO] Mapping #25: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2025-12-09 17:51:33] [INFO] Found 3 elements for 'CadInciNumber', concatenating 3 non-empty values
[2025-12-09 17:51:33] [INFO]   -> Found value: 20250135218
20250135217
20250135219
[2025-12-09 17:51:33] [INFO]   -> Set field 'policeReportNumber' = "20250135218\n20250135217\n20250135219"
[2025-12-09 17:51:33] [INFO] Finished extracting fields. Total fields extracted: 18
[2025-12-09 17:51:33] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2025003016\n2025019089","dispatchRunNumber":"2025003016\n2025019089","incidentTypeValue1":"FAINTING \/ SYNCOPE","incidentLocationStreetNumber":1025,"streetName":"GREEN MEADOW RD","incidentLocationCity":"COOKEVILLE","incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"businessName":"LOFTIS UNDERGROUND","nERISIncidentLatitude":36.23572,"nERISIncidentLongitude":-85.46767,"alarm":"2025-12-09 11:50:38","dispatched":"2025-12-09 11:51:21","incidentLocationCross":"CURTIS DR","cADVehicleID":"PCFR","timedispatch":"2025-12-09 11:51:21","policeReportNumber":"20250135218\n20250135217\n20250135219"}
[2025-12-09 17:51:33] [INFO] Number of extracted fields: 18
[2025-12-09 17:51:33] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2025-12-09 17:51:33] [INFO] Multi-agency routing check: CAD Agency ID = PCFD
EMS
RESC, Assigned Agencies count = 1
[2025-12-09 17:51:33] [INFO] Multi-agency mode detected. Looking up SAASClient by cADAgencyIdentifier: 'PCFD
EMS
RESC'
[2025-12-09 17:51:33] [WARNING] WARNING: No SAASClient found with cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2025-12-09 17:51:33] [INFO] FALLBACK: Using mailbox default saasclientId: 68eeb686225c40db4 (multi-agency routing attempted but failed)
[2025-12-09 17:51:33] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2025-12-09 17:51:33] [INFO] Created new IncidentTypeMapping Data: {"cADIncidentType":"FAINTING \/ SYNCOPE","saasclientId":"68eeb686225c40db4","name":"FAINTING \/ SYNCOPE"}
[2025-12-09 17:51:33] [INFO] Created new IncidentTypeMapping with ID: 693861a57fd64f0b2
[2025-12-09 17:51:36] [INFO] Created new Dispatches record with ID: 693861a629f02000a
[2025-12-09 17:51:36] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250135218_20251209_175132.XML
[2025-12-09 17:51:36] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250135218_20251209_175132.XML
[2025-12-09 17:51:36] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250135218_20251209_175132_1.XML
[2025-12-09 17:51:36] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250135218_20251209_175132_1.XML for user: 68f1466aed072ad4a
[2025-12-09 17:51:36] [INFO] File size: 5129 bytes
[2025-12-09 17:51:36] [INFO] Created FTPFiles record with ID: 693861a8a29c3ebdf
[2025-12-09 17:51:36] [INFO] About to extract fields from XML. File size: 5129 bytes
[2025-12-09 17:51:36] [INFO] Number of mappings: 25
[2025-12-09 17:51:36] [INFO] Starting XML parsing. Content length: 5129
[2025-12-09 17:51:36] [INFO] XML parsed successfully. Root element: CADExport
[2025-12-09 17:51:36] [INFO] Processing 25 field mappings
[2025-12-09 17:51:36] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2025-12-09 17:51:36] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2025-12-09 17:51:36] [INFO]   -> Found value: PCFD
EMS
RESC
[2025-12-09 17:51:36] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2025-12-09 17:51:36] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2025-12-09 17:51:36] [INFO] Found 3 elements for 'ReportNumber', concatenating 2 non-empty values
[2025-12-09 17:51:36] [INFO]   -> Found value: 2025003016
2025019089
[2025-12-09 17:51:36] [INFO]   -> Set field 'incidentInternalId' = "2025003016\n2025019089"
[2025-12-09 17:51:36] [INFO]   -> Set field 'dispatchRunNumber' = "2025003016\n2025019089"
[2025-12-09 17:51:36] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2025-12-09 17:51:36] [INFO]   -> Found value: FAINTING / SYNCOPE
[2025-12-09 17:51:36] [INFO]   -> Set field 'incidentTypeValue1' = "FAINTING \/ SYNCOPE"
[2025-12-09 17:51:36] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2025-12-09 17:51:36] [INFO]   -> Found value: 1025
[2025-12-09 17:51:36] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1025
[2025-12-09 17:51:36] [INFO] Mapping #5: Extracting 'RelatedNames.Name.StreetName' => 'streetName'
[2025-12-09 17:51:36] [INFO]   -> Found value: GREEN MEADOW RD
[2025-12-09 17:51:36] [INFO]   -> Set field 'streetName' = "GREEN MEADOW RD"
[2025-12-09 17:51:36] [INFO] Mapping #6: Extracting 'RelatedNames.Name.City' => 'incidentLocationCity'
[2025-12-09 17:51:36] [INFO]   -> Found value: COOKEVILLE
[2025-12-09 17:51:36] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2025-12-09 17:51:36] [INFO] Mapping #7: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2025-12-09 17:51:36] [INFO]   -> Found value: TN
[2025-12-09 17:51:36] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2025-12-09 17:51:36] [INFO] Mapping #8: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2025-12-09 17:51:36] [INFO]   -> Found value: 38506
[2025-12-09 17:51:36] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2025-12-09 17:51:36] [INFO] Mapping #9: Extracting 'EventDetails.SiteName' => 'businessName'
[2025-12-09 17:51:36] [INFO]   -> Found value: LOFTIS UNDERGROUND
[2025-12-09 17:51:36] [INFO]   -> Set field 'businessName' = "LOFTIS UNDERGROUND"
[2025-12-09 17:51:36] [INFO] Mapping #10: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2025-12-09 17:51:36] [INFO]   -> No value found (null or empty)
[2025-12-09 17:51:36] [INFO] Mapping #11: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2025-12-09 17:51:36] [INFO]   -> Found value: 36.23572
[2025-12-09 17:51:36] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.23572
[2025-12-09 17:51:36] [INFO] Mapping #12: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2025-12-09 17:51:36] [INFO]   -> Found value: -85.46767
[2025-12-09 17:51:36] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.46767
[2025-12-09 17:51:36] [INFO] Mapping #13: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2025-12-09 17:51:36] [INFO]   -> Found value: 2025-12-09 11:50:38
[2025-12-09 17:51:36] [INFO]   -> Set field 'alarm' = "2025-12-09 11:50:38"
[2025-12-09 17:51:36] [INFO] Mapping #14: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2025-12-09 17:51:36] [INFO]   -> Found value: 2025-12-09 11:51:21
[2025-12-09 17:51:36] [INFO]   -> Set field 'dispatched' = "2025-12-09 11:51:21"
[2025-12-09 17:51:36] [INFO] Mapping #15: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2025-12-09 17:51:36] [INFO]   -> No value found (null or empty)
[2025-12-09 17:51:36] [INFO] Mapping #16: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2025-12-09 17:51:36] [INFO]   -> No value found (null or empty)
[2025-12-09 17:51:36] [INFO] Mapping #17: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2025-12-09 17:51:36] [INFO]   -> No value found (null or empty)
[2025-12-09 17:51:36] [INFO] Mapping #18: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2025-12-09 17:51:36] [INFO]   -> Found value: CURTIS DR
[2025-12-09 17:51:36] [INFO]   -> Set field 'incidentLocationCross' = "CURTIS DR"
[2025-12-09 17:51:36] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2025-12-09 17:51:36] [INFO]   -> Found value: PCFR
[2025-12-09 17:51:36] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2025-12-09 17:51:36] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2025-12-09 17:51:36] [INFO]   -> Found value: 2025-12-09 11:51:21
[2025-12-09 17:51:36] [INFO]   -> Set field 'timedispatch' = "2025-12-09 11:51:21"
[2025-12-09 17:51:36] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2025-12-09 17:51:36] [INFO]   -> No value found (null or empty)
[2025-12-09 17:51:36] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2025-12-09 17:51:36] [INFO]   -> No value found (null or empty)
[2025-12-09 17:51:36] [INFO] Mapping #23: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2025-12-09 17:51:36] [INFO]   -> No value found (null or empty)
[2025-12-09 17:51:36] [INFO] Mapping #24: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2025-12-09 17:51:36] [INFO]   -> No value found (null or empty)
[2025-12-09 17:51:36] [INFO] Mapping #25: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2025-12-09 17:51:36] [INFO] Found 3 elements for 'CadInciNumber', concatenating 3 non-empty values
[2025-12-09 17:51:36] [INFO]   -> Found value: 20250135218
20250135217
20250135219
[2025-12-09 17:51:36] [INFO]   -> Set field 'policeReportNumber' = "20250135218\n20250135217\n20250135219"
[2025-12-09 17:51:36] [INFO] Finished extracting fields. Total fields extracted: 18
[2025-12-09 17:51:36] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2025003016\n2025019089","dispatchRunNumber":"2025003016\n2025019089","incidentTypeValue1":"FAINTING \/ SYNCOPE","incidentLocationStreetNumber":1025,"streetName":"GREEN MEADOW RD","incidentLocationCity":"COOKEVILLE","incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"businessName":"LOFTIS UNDERGROUND","nERISIncidentLatitude":36.23572,"nERISIncidentLongitude":-85.46767,"alarm":"2025-12-09 11:50:38","dispatched":"2025-12-09 11:51:21","incidentLocationCross":"CURTIS DR","cADVehicleID":"PCFR","timedispatch":"2025-12-09 11:51:21","policeReportNumber":"20250135218\n20250135217\n20250135219"}
[2025-12-09 17:51:36] [INFO] Number of extracted fields: 18
[2025-12-09 17:51:36] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2025-12-09 17:51:36] [INFO] Multi-agency routing check: CAD Agency ID = PCFD
EMS
RESC, Assigned Agencies count = 1
[2025-12-09 17:51:36] [INFO] Multi-agency mode detected. Looking up SAASClient by cADAgencyIdentifier: 'PCFD
EMS
RESC'
[2025-12-09 17:51:36] [WARNING] WARNING: No SAASClient found with cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2025-12-09 17:51:36] [INFO] FALLBACK: Using mailbox default saasclientId: 68eeb686225c40db4 (multi-agency routing attempted but failed)
[2025-12-09 17:51:36] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2025-12-09 17:51:36] [INFO] Found existing IncidentTypeMapping with ID: 693861a57fd64f0b2
[2025-12-09 17:51:36] [INFO] Found existing Dispatch with cADNumber '2025003016
2025019089', ID: 693861a629f02000a - will update instead of create
[2025-12-09 17:51:37] [INFO] Updated existing Dispatches record with ID: 693861a629f02000a
[2025-12-09 17:51:37] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250135218_20251209_175132_1.XML
[2025-12-09 17:51:37] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250135218_20251209_175132_1.XML
[2025-12-09 18:01:57] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-29142.xml
[2025-12-09 18:01:57] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-29142.xml for user: 68d56363ec1209189
[2025-12-09 18:01:57] [INFO] File size: 1634 bytes
[2025-12-09 18:01:57] [INFO] Created FTPFiles record with ID: 69386415855573ef2
[2025-12-09 18:01:57] [INFO] About to extract fields from XML. File size: 1634 bytes
[2025-12-09 18:01:57] [INFO] Number of mappings: 21
[2025-12-09 18:01:57] [INFO] Starting XML parsing. Content length: 1634
[2025-12-09 18:01:57] [INFO] XML parsed successfully. Root element: Incident
[2025-12-09 18:01:57] [INFO] Processing 21 field mappings
[2025-12-09 18:01:57] [INFO] Mapping #1: Extracting 'IncidentNumber' => 'dispatchRunNumber'
[2025-12-09 18:01:57] [INFO]   -> Found value: 25-29142
[2025-12-09 18:01:57] [INFO]   -> Set field 'dispatchRunNumber' = "25-29142"
[2025-12-09 18:01:57] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2025-12-09 18:01:57] [INFO]   -> Found value: 201
[2025-12-09 18:01:57] [INFO]   -> Set field 'incidentLocationStreetNumber' = 201
[2025-12-09 18:01:57] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2025-12-09 18:01:57] [INFO]   -> Found value: S KINGSHIGHWAY
[2025-12-09 18:01:57] [INFO]   -> Set field 'streetName' = "S KINGSHIGHWAY"
[2025-12-09 18:01:57] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2025-12-09 18:01:57] [INFO]   -> No value found (null or empty)
[2025-12-09 18:01:57] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2025-12-09 18:01:57] [INFO]   -> Found value: SIKESTON
[2025-12-09 18:01:57] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2025-12-09 18:01:57] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2025-12-09 18:01:57] [INFO]   -> Found value: SIKESTON DPS
[2025-12-09 18:01:57] [INFO]   -> Set field 'businessName' = "SIKESTON DPS"
[2025-12-09 18:01:57] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2025-12-09 18:01:57] [INFO]   -> Found value: MO
[2025-12-09 18:01:57] [INFO]   -> Set field 'incidentLocationStateName' = "MO"
[2025-12-09 18:01:57] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2025-12-09 18:01:57] [INFO]   -> Found value: 63801
[2025-12-09 18:01:57] [INFO]   -> Set field 'nERISIncidentPostalCode' = 63801
[2025-12-09 18:01:57] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2025-12-09 18:01:57] [INFO]   -> Found value: 0
[2025-12-09 18:01:57] [INFO]   -> Set field 'nERISIncidentLatitude' = null
[2025-12-09 18:01:57] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2025-12-09 18:01:57] [INFO]   -> Found value: 0
[2025-12-09 18:01:57] [INFO]   -> Set field 'nERISIncidentLongitude' = null
[2025-12-09 18:01:57] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2025-12-09 18:01:57] [INFO]   -> Found value: TEST
[2025-12-09 18:01:57] [INFO]   -> Set field 'incidentTypeValue1' = "TEST"
[2025-12-09 18:01:57] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2025-12-09 18:01:57] [INFO]   -> Found value: 12-09-2025 12:01:16|TEST FOR SIKESTON AND RURAL STATION BOSS NOTIFICATIONS.   THIS SHOULD GO TO SIKE...
[2025-12-09 18:01:57] [INFO]   -> Set field 'dispatchNotes' = "12-09-2025 12:01:16|TEST FOR SIKESTON AND RURAL STATION BOSS NOTIFICATIONS.   THIS SHOULD GO TO SIKESTON ONLY"
[2025-12-09 18:01:57] [INFO]   -> Set field 'cADLog' = "12-09-2025 12:01:16|TEST FOR SIKESTON AND RURAL STATION BOSS NOTIFICATIONS.   THIS SHOULD GO TO SIKESTON ONLY"
[2025-12-09 18:01:57] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2025-12-09 18:01:57] [INFO]   -> Found value: 12-09-2025T12:01:28
[2025-12-09 18:01:57] [INFO] Reformatted DD-MM-YYYY date to: 2025-09-12T12:01:28
[2025-12-09 18:01:57] [INFO]   -> Set field 'alarm' = "2025-09-12 12:01:28"
[2025-12-09 18:01:57] [INFO] Reformatted DD-MM-YYYY date to: 2025-09-12T12:01:28
[2025-12-09 18:01:57] [INFO]   -> Set field 'dispatched' = "2025-09-12 12:01:28"
[2025-12-09 18:01:57] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2025-12-09 18:01:57] [INFO]   -> No value found (null or empty)
[2025-12-09 18:01:57] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2025-12-09 18:01:57] [INFO]   -> No value found (null or empty)
[2025-12-09 18:01:57] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2025-12-09 18:01:57] [INFO]   -> Found value: ENG1
[2025-12-09 18:01:57] [INFO]   -> Set field 'cADVehicleID' = "ENG1"
[2025-12-09 18:01:57] [INFO]   -> Set field 'name' = "ENG1"
[2025-12-09 18:01:57] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2025-12-09 18:01:57] [INFO]   -> No value found (null or empty)
[2025-12-09 18:01:57] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2025-12-09 18:01:57] [INFO]   -> No value found (null or empty)
[2025-12-09 18:01:57] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2025-12-09 18:01:57] [INFO]   -> Found value: 12-09-2025T12:01:39
[2025-12-09 18:01:57] [INFO] Reformatted DD-MM-YYYY date to: 2025-09-12T12:01:39
[2025-12-09 18:01:57] [INFO]   -> Set field 'timeunitclear' = "2025-09-12 12:01:39"
[2025-12-09 18:01:57] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2025-12-09 18:01:57] [INFO]   -> Found value: 12-09-2025T12:01:35
[2025-12-09 18:01:57] [INFO] Reformatted DD-MM-YYYY date to: 2025-09-12T12:01:35
[2025-12-09 18:01:57] [INFO]   -> Set field 'timedispatch' = "2025-09-12 12:01:35"
[2025-12-09 18:01:57] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2025-12-09 18:01:57] [INFO]   -> Found value: SDPSFD
[2025-12-09 18:01:57] [INFO]   -> Set field 'cADAgencyIdentifier' = "SDPSFD"
[2025-12-09 18:01:57] [INFO] Finished extracting fields. Total fields extracted: 19
[2025-12-09 18:01:57] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"25-29142","incidentLocationStreetNumber":201,"streetName":"S KINGSHIGHWAY","incidentLocationCity":"SIKESTON","businessName":"SIKESTON DPS","incidentLocationStateName":"MO","nERISIncidentPostalCode":63801,"nERISIncidentLatitude":null,"nERISIncidentLongitude":null,"incidentTypeValue1":"TEST","dispatchNotes":"12-09-2025 12:01:16|TEST FOR SIKESTON AND RURAL STATION BOSS NOTIFICATIONS.   THIS SHOULD GO TO SIKESTON ONLY","cADLog":"12-09-2025 12:01:16|TEST FOR SIKESTON AND RURAL STATION BOSS NOTIFICATIONS.   THIS SHOULD GO TO SIKESTON ONLY","alarm":"2025-09-12 12:01:28","dispatched":"2025-09-12 12:01:28","cADVehicleID":"ENG1","name":"ENG1","timeunitclear":"2025-09-12 12:01:39","timedispatch":"2025-09-12 12:01:35","cADAgencyIdentifier":"SDPSFD"}
[2025-12-09 18:01:57] [INFO] Number of extracted fields: 19
[2025-12-09 18:01:57] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SDPSFD'
[2025-12-09 18:01:57] [INFO] Multi-agency routing check: CAD Agency ID = SDPSFD, Assigned Agencies count = 2
[2025-12-09 18:01:57] [INFO] Multi-agency mode detected. Looking up SAASClient by cADAgencyIdentifier: 'SDPSFD'
[2025-12-09 18:01:57] [INFO] Found SAASClient match: ID = 6772cab7157b2ebde, Name = Sikeston DPS
[2025-12-09 18:01:57] [INFO] SUCCESS: Routed to agency 'Sikeston DPS' (ID: 6772cab7157b2ebde) based on CAD ID: 'SDPSFD'
[2025-12-09 18:01:57] [INFO] Fetched 4 stations from Stations module for agency 'Sikeston DPS': ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"]
[2025-12-09 18:01:57] [INFO] Final routing: saasclientId = 6772cab7157b2ebde, dispatchStationsIds = ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"]
[2025-12-09 18:01:57] [INFO] Updated FTPFiles record saasclientId to routed agency: 6772cab7157b2ebde
[2025-12-09 18:01:57] [INFO] Found existing IncidentTypeMapping with ID: 69384d45546d283ba
[2025-12-09 18:01:59] [INFO] Created new Dispatches record with ID: 69386415ef2045160
[2025-12-09 18:01:59] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-29142.xml
[2025-12-09 18:01:59] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-29142.xml
[2025-12-09 22:34:21] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250135319_20251209_223421.XML
[2025-12-09 22:34:21] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250135319_20251209_223421.XML for user: 68f1466aed072ad4a
[2025-12-09 22:34:21] [INFO] File size: 5139 bytes
[2025-12-09 22:34:21] [INFO] Created FTPFiles record with ID: 6938a3edadb15964e
[2025-12-09 22:34:21] [INFO] About to extract fields from XML. File size: 5139 bytes
[2025-12-09 22:34:21] [INFO] Number of mappings: 25
[2025-12-09 22:34:21] [INFO] Starting XML parsing. Content length: 5139
[2025-12-09 22:34:21] [INFO] XML parsed successfully. Root element: CADExport
[2025-12-09 22:34:21] [INFO] Processing 25 field mappings
[2025-12-09 22:34:21] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2025-12-09 22:34:21] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2025-12-09 22:34:21] [INFO]   -> Found value: PCFD
EMS
MPD
MFD
[2025-12-09 22:34:21] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nMPD\nMFD"
[2025-12-09 22:34:21] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2025-12-09 22:34:21] [INFO] Found 4 elements for 'ReportNumber', concatenating 3 non-empty values
[2025-12-09 22:34:21] [INFO]   -> Found value: 2025003017
2025019105
2025000353
[2025-12-09 22:34:21] [INFO]   -> Set field 'incidentInternalId' = "2025003017\n2025019105\n2025000353"
[2025-12-09 22:34:21] [INFO]   -> Set field 'dispatchRunNumber' = "2025003017\n2025019105\n2025000353"
[2025-12-09 22:34:21] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2025-12-09 22:34:21] [INFO]   -> Found value: SEIZURE
[2025-12-09 22:34:21] [INFO]   -> Set field 'incidentTypeValue1' = "SEIZURE"
[2025-12-09 22:34:21] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2025-12-09 22:34:21] [INFO]   -> Found value: 1251
[2025-12-09 22:34:21] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1251
[2025-12-09 22:34:21] [INFO] Mapping #5: Extracting 'RelatedNames.Name.StreetName' => 'streetName'
[2025-12-09 22:34:21] [INFO]   -> No value found (null or empty)
[2025-12-09 22:34:21] [INFO] Mapping #6: Extracting 'RelatedNames.Name.City' => 'incidentLocationCity'
[2025-12-09 22:34:21] [INFO]   -> No value found (null or empty)
[2025-12-09 22:34:21] [INFO] Mapping #7: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2025-12-09 22:34:21] [INFO]   -> Found value: TN
[2025-12-09 22:34:21] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2025-12-09 22:34:21] [INFO] Mapping #8: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2025-12-09 22:34:21] [INFO]   -> Found value: 38574
[2025-12-09 22:34:21] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2025-12-09 22:34:21] [INFO] Mapping #9: Extracting 'EventDetails.SiteName' => 'businessName'
[2025-12-09 22:34:21] [INFO]   -> No value found (null or empty)
[2025-12-09 22:34:21] [INFO] Mapping #10: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2025-12-09 22:34:21] [INFO]   -> No value found (null or empty)
[2025-12-09 22:34:21] [INFO] Mapping #11: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2025-12-09 22:34:21] [INFO]   -> Found value: 36.13257
[2025-12-09 22:34:21] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.13257
[2025-12-09 22:34:21] [INFO] Mapping #12: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2025-12-09 22:34:21] [INFO]   -> Found value: -85.25732
[2025-12-09 22:34:21] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.25732
[2025-12-09 22:34:21] [INFO] Mapping #13: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2025-12-09 22:34:21] [INFO]   -> Found value: 2025-12-09 16:34:18
[2025-12-09 22:34:21] [INFO]   -> Set field 'alarm' = "2025-12-09 16:34:18"
[2025-12-09 22:34:21] [INFO] Mapping #14: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2025-12-09 22:34:21] [INFO]   -> Found value: 2025-12-09 16:34:17
[2025-12-09 22:34:21] [INFO]   -> Set field 'dispatched' = "2025-12-09 16:34:17"
[2025-12-09 22:34:21] [INFO] Mapping #15: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2025-12-09 22:34:21] [INFO]   -> No value found (null or empty)
[2025-12-09 22:34:21] [INFO] Mapping #16: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2025-12-09 22:34:21] [INFO]   -> No value found (null or empty)
[2025-12-09 22:34:21] [INFO] Mapping #17: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2025-12-09 22:34:21] [INFO]   -> No value found (null or empty)
[2025-12-09 22:34:21] [INFO] Mapping #18: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2025-12-09 22:34:21] [INFO]   -> Found value: CRAIN ST/INDUSTRIAL DR
[2025-12-09 22:34:21] [INFO]   -> Set field 'incidentLocationCross' = "CRAIN ST\/INDUSTRIAL DR"
[2025-12-09 22:34:21] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2025-12-09 22:34:21] [INFO]   -> Found value: PCFR
[2025-12-09 22:34:21] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2025-12-09 22:34:21] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2025-12-09 22:34:21] [INFO]   -> Found value: 2025-12-09 16:34:17
[2025-12-09 22:34:21] [INFO]   -> Set field 'timedispatch' = "2025-12-09 16:34:17"
[2025-12-09 22:34:21] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2025-12-09 22:34:21] [INFO]   -> No value found (null or empty)
[2025-12-09 22:34:21] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2025-12-09 22:34:21] [INFO]   -> No value found (null or empty)
[2025-12-09 22:34:21] [INFO] Mapping #23: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2025-12-09 22:34:21] [INFO]   -> No value found (null or empty)
[2025-12-09 22:34:21] [INFO] Mapping #24: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2025-12-09 22:34:21] [INFO]   -> No value found (null or empty)
[2025-12-09 22:34:21] [INFO] Mapping #25: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2025-12-09 22:34:21] [INFO] Found 4 elements for 'CadInciNumber', concatenating 4 non-empty values
[2025-12-09 22:34:21] [INFO]   -> Found value: 20250135319
20250135315
20250135316
20250135317
[2025-12-09 22:34:21] [INFO]   -> Set field 'policeReportNumber' = "20250135319\n20250135315\n20250135316\n20250135317"
[2025-12-09 22:34:21] [INFO] Finished extracting fields. Total fields extracted: 15
[2025-12-09 22:34:21] [INFO] Built locationCoordinates from lat/lng: 36.13257,-85.25732
[2025-12-09 22:34:21] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nMPD\nMFD","incidentInternalId":"2025003017\n2025019105\n2025000353","dispatchRunNumber":"2025003017\n2025019105\n2025000353","incidentTypeValue1":"SEIZURE","incidentLocationStreetNumber":1251,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"nERISIncidentLatitude":36.13257,"nERISIncidentLongitude":-85.25732,"alarm":"2025-12-09 16:34:18","dispatched":"2025-12-09 16:34:17","incidentLocationCross":"CRAIN ST\/INDUSTRIAL DR","cADVehicleID":"PCFR","timedispatch":"2025-12-09 16:34:17","policeReportNumber":"20250135319\n20250135315\n20250135316\n20250135317","locationCoordinates":"36.13257,-85.25732"}
[2025-12-09 22:34:21] [INFO] Number of extracted fields: 16
[2025-12-09 22:34:21] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
MPD
MFD'
[2025-12-09 22:34:21] [INFO] Multi-agency routing check: CAD Agency ID = PCFD
EMS
MPD
MFD, Assigned Agencies count = 1
[2025-12-09 22:34:21] [INFO] Multi-agency mode detected. Looking up SAASClient by cADAgencyIdentifier: 'PCFD
EMS
MPD
MFD'
[2025-12-09 22:34:21] [WARNING] WARNING: No SAASClient found with cADAgencyIdentifier = 'PCFD
EMS
MPD
MFD'
[2025-12-09 22:34:21] [INFO] FALLBACK: Using mailbox default saasclientId: 68eeb686225c40db4 (multi-agency routing attempted but failed)
[2025-12-09 22:34:21] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2025-12-09 22:34:21] [INFO] Found existing IncidentTypeMapping with ID: 6938221e4d49ca73b
[2025-12-09 22:34:24] [INFO] Created new Dispatches record with ID: 6938a3ee92ab7bc21
[2025-12-09 22:34:24] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250135319_20251209_223421.XML
[2025-12-09 22:34:24] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250135319_20251209_223421.XML
[2025-12-09 22:34:24] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250135319_20251209_223422.XML
[2025-12-09 22:34:24] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250135319_20251209_223422.XML for user: 68f1466aed072ad4a
[2025-12-09 22:34:24] [INFO] File size: 5139 bytes
[2025-12-09 22:34:24] [INFO] Created FTPFiles record with ID: 6938a3f07f3ae8297
[2025-12-09 22:34:24] [INFO] About to extract fields from XML. File size: 5139 bytes
[2025-12-09 22:34:24] [INFO] Number of mappings: 25
[2025-12-09 22:34:24] [INFO] Starting XML parsing. Content length: 5139
[2025-12-09 22:34:24] [INFO] XML parsed successfully. Root element: CADExport
[2025-12-09 22:34:24] [INFO] Processing 25 field mappings
[2025-12-09 22:34:24] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2025-12-09 22:34:24] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2025-12-09 22:34:24] [INFO]   -> Found value: PCFD
EMS
MPD
MFD
[2025-12-09 22:34:24] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nMPD\nMFD"
[2025-12-09 22:34:24] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2025-12-09 22:34:24] [INFO] Found 4 elements for 'ReportNumber', concatenating 3 non-empty values
[2025-12-09 22:34:24] [INFO]   -> Found value: 2025003017
2025019105
2025000353
[2025-12-09 22:34:24] [INFO]   -> Set field 'incidentInternalId' = "2025003017\n2025019105\n2025000353"
[2025-12-09 22:34:24] [INFO]   -> Set field 'dispatchRunNumber' = "2025003017\n2025019105\n2025000353"
[2025-12-09 22:34:24] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2025-12-09 22:34:24] [INFO]   -> Found value: SEIZURE
[2025-12-09 22:34:24] [INFO]   -> Set field 'incidentTypeValue1' = "SEIZURE"
[2025-12-09 22:34:24] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2025-12-09 22:34:24] [INFO]   -> Found value: 1251
[2025-12-09 22:34:24] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1251
[2025-12-09 22:34:24] [INFO] Mapping #5: Extracting 'RelatedNames.Name.StreetName' => 'streetName'
[2025-12-09 22:34:24] [INFO]   -> No value found (null or empty)
[2025-12-09 22:34:24] [INFO] Mapping #6: Extracting 'RelatedNames.Name.City' => 'incidentLocationCity'
[2025-12-09 22:34:24] [INFO]   -> No value found (null or empty)
[2025-12-09 22:34:24] [INFO] Mapping #7: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2025-12-09 22:34:24] [INFO]   -> Found value: TN
[2025-12-09 22:34:24] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2025-12-09 22:34:24] [INFO] Mapping #8: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2025-12-09 22:34:24] [INFO]   -> Found value: 38574
[2025-12-09 22:34:24] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2025-12-09 22:34:24] [INFO] Mapping #9: Extracting 'EventDetails.SiteName' => 'businessName'
[2025-12-09 22:34:24] [INFO]   -> No value found (null or empty)
[2025-12-09 22:34:24] [INFO] Mapping #10: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2025-12-09 22:34:24] [INFO]   -> No value found (null or empty)
[2025-12-09 22:34:24] [INFO] Mapping #11: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2025-12-09 22:34:24] [INFO]   -> Found value: 36.13257
[2025-12-09 22:34:24] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.13257
[2025-12-09 22:34:24] [INFO] Mapping #12: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2025-12-09 22:34:24] [INFO]   -> Found value: -85.25732
[2025-12-09 22:34:24] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.25732
[2025-12-09 22:34:24] [INFO] Mapping #13: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2025-12-09 22:34:24] [INFO]   -> Found value: 2025-12-09 16:34:18
[2025-12-09 22:34:24] [INFO]   -> Set field 'alarm' = "2025-12-09 16:34:18"
[2025-12-09 22:34:24] [INFO] Mapping #14: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2025-12-09 22:34:24] [INFO]   -> Found value: 2025-12-09 16:34:17
[2025-12-09 22:34:24] [INFO]   -> Set field 'dispatched' = "2025-12-09 16:34:17"
[2025-12-09 22:34:24] [INFO] Mapping #15: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2025-12-09 22:34:24] [INFO]   -> No value found (null or empty)
[2025-12-09 22:34:24] [INFO] Mapping #16: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2025-12-09 22:34:24] [INFO]   -> No value found (null or empty)
[2025-12-09 22:34:24] [INFO] Mapping #17: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2025-12-09 22:34:24] [INFO]   -> No value found (null or empty)
[2025-12-09 22:34:24] [INFO] Mapping #18: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2025-12-09 22:34:24] [INFO]   -> Found value: CRAIN ST/INDUSTRIAL DR
[2025-12-09 22:34:24] [INFO]   -> Set field 'incidentLocationCross' = "CRAIN ST\/INDUSTRIAL DR"
[2025-12-09 22:34:24] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2025-12-09 22:34:24] [INFO]   -> Found value: PCFR
[2025-12-09 22:34:24] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2025-12-09 22:34:24] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2025-12-09 22:34:24] [INFO]   -> Found value: 2025-12-09 16:34:17
[2025-12-09 22:34:24] [INFO]   -> Set field 'timedispatch' = "2025-12-09 16:34:17"
[2025-12-09 22:34:24] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2025-12-09 22:34:24] [INFO]   -> No value found (null or empty)
[2025-12-09 22:34:24] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2025-12-09 22:34:24] [INFO]   -> No value found (null or empty)
[2025-12-09 22:34:24] [INFO] Mapping #23: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2025-12-09 22:34:24] [INFO]   -> No value found (null or empty)
[2025-12-09 22:34:24] [INFO] Mapping #24: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2025-12-09 22:34:24] [INFO]   -> No value found (null or empty)
[2025-12-09 22:34:24] [INFO] Mapping #25: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2025-12-09 22:34:24] [INFO] Found 4 elements for 'CadInciNumber', concatenating 4 non-empty values
[2025-12-09 22:34:24] [INFO]   -> Found value: 20250135319
20250135315
20250135316
20250135317
[2025-12-09 22:34:24] [INFO]   -> Set field 'policeReportNumber' = "20250135319\n20250135315\n20250135316\n20250135317"
[2025-12-09 22:34:24] [INFO] Finished extracting fields. Total fields extracted: 15
[2025-12-09 22:34:24] [INFO] Built locationCoordinates from lat/lng: 36.13257,-85.25732
[2025-12-09 22:34:24] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nMPD\nMFD","incidentInternalId":"2025003017\n2025019105\n2025000353","dispatchRunNumber":"2025003017\n2025019105\n2025000353","incidentTypeValue1":"SEIZURE","incidentLocationStreetNumber":1251,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"nERISIncidentLatitude":36.13257,"nERISIncidentLongitude":-85.25732,"alarm":"2025-12-09 16:34:18","dispatched":"2025-12-09 16:34:17","incidentLocationCross":"CRAIN ST\/INDUSTRIAL DR","cADVehicleID":"PCFR","timedispatch":"2025-12-09 16:34:17","policeReportNumber":"20250135319\n20250135315\n20250135316\n20250135317","locationCoordinates":"36.13257,-85.25732"}
[2025-12-09 22:34:24] [INFO] Number of extracted fields: 16
[2025-12-09 22:34:24] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
MPD
MFD'
[2025-12-09 22:34:24] [INFO] Multi-agency routing check: CAD Agency ID = PCFD
EMS
MPD
MFD, Assigned Agencies count = 1
[2025-12-09 22:34:24] [INFO] Multi-agency mode detected. Looking up SAASClient by cADAgencyIdentifier: 'PCFD
EMS
MPD
MFD'
[2025-12-09 22:34:24] [WARNING] WARNING: No SAASClient found with cADAgencyIdentifier = 'PCFD
EMS
MPD
MFD'
[2025-12-09 22:34:24] [INFO] FALLBACK: Using mailbox default saasclientId: 68eeb686225c40db4 (multi-agency routing attempted but failed)
[2025-12-09 22:34:24] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2025-12-09 22:34:24] [INFO] Found existing IncidentTypeMapping with ID: 6938221e4d49ca73b
[2025-12-09 22:34:24] [INFO] Found existing Dispatch with cADNumber '2025003017
2025019105
2025000353', ID: 6938a3ee92ab7bc21 - will update instead of create
[2025-12-09 22:34:24] [INFO] Updated existing Dispatches record with ID: 6938a3ee92ab7bc21
[2025-12-09 22:34:24] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250135319_20251209_223422.XML
[2025-12-09 22:34:24] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250135319_20251209_223422.XML
[2025-12-09 22:48:42] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250135326_20251209_224842.XML
[2025-12-09 22:48:42] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250135326_20251209_224842.XML for user: 68f1466aed072ad4a
[2025-12-09 22:48:42] [INFO] File size: 5062 bytes
[2025-12-09 22:48:42] [INFO] Created FTPFiles record with ID: 6938a74a48c329f4e
[2025-12-09 22:48:42] [INFO] About to extract fields from XML. File size: 5062 bytes
[2025-12-09 22:48:42] [INFO] Number of mappings: 25
[2025-12-09 22:48:42] [INFO] Starting XML parsing. Content length: 5062
[2025-12-09 22:48:42] [INFO] XML parsed successfully. Root element: CADExport
[2025-12-09 22:48:42] [INFO] Processing 25 field mappings
[2025-12-09 22:48:42] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2025-12-09 22:48:42] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2025-12-09 22:48:42] [INFO]   -> Found value: PCFD
PCSO
EMS
[2025-12-09 22:48:42] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nPCSO\nEMS"
[2025-12-09 22:48:42] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2025-12-09 22:48:42] [INFO] Found 3 elements for 'ReportNumber', concatenating 1 non-empty values
[2025-12-09 22:48:42] [INFO]   -> Found value: 2025003018
[2025-12-09 22:48:42] [INFO]   -> Set field 'incidentInternalId' = "2025003018"
[2025-12-09 22:48:42] [INFO]   -> Set field 'dispatchRunNumber' = "2025003018"
[2025-12-09 22:48:42] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2025-12-09 22:48:42] [INFO]   -> Found value: FIRE - OTHER STRUCTURE
[2025-12-09 22:48:42] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE - OTHER STRUCTURE"
[2025-12-09 22:48:42] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2025-12-09 22:48:42] [INFO]   -> Found value: 397
[2025-12-09 22:48:42] [INFO]   -> Set field 'incidentLocationStreetNumber' = 397
[2025-12-09 22:48:42] [INFO] Mapping #5: Extracting 'RelatedNames.Name.StreetName' => 'streetName'
[2025-12-09 22:48:42] [INFO]   -> Found value: MILK BARN LN
[2025-12-09 22:48:42] [INFO]   -> Set field 'streetName' = "MILK BARN LN"
[2025-12-09 22:48:42] [INFO] Mapping #6: Extracting 'RelatedNames.Name.City' => 'incidentLocationCity'
[2025-12-09 22:48:42] [INFO]   -> Found value: COOKEVILLE
[2025-12-09 22:48:42] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2025-12-09 22:48:42] [INFO] Mapping #7: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2025-12-09 22:48:42] [INFO]   -> Found value: TN
[2025-12-09 22:48:42] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2025-12-09 22:48:42] [INFO] Mapping #8: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2025-12-09 22:48:42] [INFO]   -> Found value: 38506
[2025-12-09 22:48:42] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2025-12-09 22:48:42] [INFO] Mapping #9: Extracting 'EventDetails.SiteName' => 'businessName'
[2025-12-09 22:48:42] [INFO]   -> No value found (null or empty)
[2025-12-09 22:48:42] [INFO] Mapping #10: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2025-12-09 22:48:42] [INFO]   -> No value found (null or empty)
[2025-12-09 22:48:42] [INFO] Mapping #11: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2025-12-09 22:48:42] [INFO]   -> Found value: 36.21363
[2025-12-09 22:48:42] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.21363
[2025-12-09 22:48:42] [INFO] Mapping #12: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2025-12-09 22:48:42] [INFO]   -> Found value: -85.34689
[2025-12-09 22:48:42] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.34689
[2025-12-09 22:48:42] [INFO] Mapping #13: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2025-12-09 22:48:42] [INFO]   -> Found value: 2025-12-09 16:47:14
[2025-12-09 22:48:42] [INFO]   -> Set field 'alarm' = "2025-12-09 16:47:14"
[2025-12-09 22:48:42] [INFO] Mapping #14: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2025-12-09 22:48:42] [INFO]   -> Found value: 2025-12-09 16:48:39
[2025-12-09 22:48:42] [INFO]   -> Set field 'dispatched' = "2025-12-09 16:48:39"
[2025-12-09 22:48:42] [INFO] Mapping #15: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2025-12-09 22:48:42] [INFO]   -> Found value: 2025-12-09 16:48:39
[2025-12-09 22:48:42] [INFO]   -> Set field 'enroute' = "2025-12-09 16:48:39"
[2025-12-09 22:48:42] [INFO] Mapping #16: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2025-12-09 22:48:42] [INFO]   -> No value found (null or empty)
[2025-12-09 22:48:42] [INFO] Mapping #17: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2025-12-09 22:48:42] [INFO]   -> No value found (null or empty)
[2025-12-09 22:48:42] [INFO] Mapping #18: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2025-12-09 22:48:42] [INFO]   -> No value found (null or empty)
[2025-12-09 22:48:42] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2025-12-09 22:48:42] [INFO]   -> Found value: TK22
[2025-12-09 22:48:42] [INFO]   -> Set field 'cADVehicleID' = "TK22"
[2025-12-09 22:48:42] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2025-12-09 22:48:42] [INFO]   -> Found value: 2025-12-09 16:48:39
[2025-12-09 22:48:42] [INFO]   -> Set field 'timedispatch' = "2025-12-09 16:48:39"
[2025-12-09 22:48:42] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2025-12-09 22:48:42] [INFO]   -> Found value: 2025-12-09 16:48:39
[2025-12-09 22:48:42] [INFO]   -> Set field 'timeenroutetoscene' = "2025-12-09 16:48:39"
[2025-12-09 22:48:42] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2025-12-09 22:48:42] [INFO]   -> No value found (null or empty)
[2025-12-09 22:48:42] [INFO] Mapping #23: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2025-12-09 22:48:42] [INFO]   -> No value found (null or empty)
[2025-12-09 22:48:42] [INFO] Mapping #24: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2025-12-09 22:48:42] [INFO]   -> No value found (null or empty)
[2025-12-09 22:48:42] [INFO] Mapping #25: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2025-12-09 22:48:42] [INFO] Found 3 elements for 'CadInciNumber', concatenating 3 non-empty values
[2025-12-09 22:48:42] [INFO]   -> Found value: 20250135326
20250135327
20250135328
[2025-12-09 22:48:42] [INFO]   -> Set field 'policeReportNumber' = "20250135326\n20250135327\n20250135328"
[2025-12-09 22:48:42] [INFO] Finished extracting fields. Total fields extracted: 18
[2025-12-09 22:48:42] [INFO] Built locationCoordinates from lat/lng: 36.21363,-85.34689
[2025-12-09 22:48:42] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nPCSO\nEMS","incidentInternalId":"2025003018","dispatchRunNumber":"2025003018","incidentTypeValue1":"FIRE - OTHER STRUCTURE","incidentLocationStreetNumber":397,"streetName":"MILK BARN LN","incidentLocationCity":"COOKEVILLE","incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.21363,"nERISIncidentLongitude":-85.34689,"alarm":"2025-12-09 16:47:14","dispatched":"2025-12-09 16:48:39","enroute":"2025-12-09 16:48:39","cADVehicleID":"TK22","timedispatch":"2025-12-09 16:48:39","timeenroutetoscene":"2025-12-09 16:48:39","policeReportNumber":"20250135326\n20250135327\n20250135328","locationCoordinates":"36.21363,-85.34689"}
[2025-12-09 22:48:42] [INFO] Number of extracted fields: 19
[2025-12-09 22:48:42] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
PCSO
EMS'
[2025-12-09 22:48:42] [INFO] Multi-agency routing check: CAD Agency ID = PCFD
PCSO
EMS, Assigned Agencies count = 1
[2025-12-09 22:48:42] [INFO] Multi-agency mode detected. Looking up SAASClient by cADAgencyIdentifier: 'PCFD
PCSO
EMS'
[2025-12-09 22:48:42] [WARNING] WARNING: No SAASClient found with cADAgencyIdentifier = 'PCFD
PCSO
EMS'
[2025-12-09 22:48:42] [INFO] FALLBACK: Using mailbox default saasclientId: 68eeb686225c40db4 (multi-agency routing attempted but failed)
[2025-12-09 22:48:42] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2025-12-09 22:48:42] [INFO] Created new IncidentTypeMapping Data: {"cADIncidentType":"FIRE - OTHER STRUCTURE","saasclientId":"68eeb686225c40db4","name":"FIRE - OTHER STRUCTURE"}
[2025-12-09 22:48:42] [INFO] Created new IncidentTypeMapping with ID: 6938a74a7628435d2
[2025-12-09 22:48:44] [INFO] Created new Dispatches record with ID: 6938a74a9295e44e6
[2025-12-09 22:48:44] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250135326_20251209_224842.XML
[2025-12-09 22:48:44] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250135326_20251209_224842.XML
[2025-12-09 22:48:51] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250135326_20251209_224851.XML
[2025-12-09 22:48:51] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250135326_20251209_224851.XML for user: 68f1466aed072ad4a
[2025-12-09 22:48:51] [INFO] File size: 5062 bytes
[2025-12-09 22:48:51] [INFO] Created FTPFiles record with ID: 6938a7536405c9d8a
[2025-12-09 22:48:51] [INFO] About to extract fields from XML. File size: 5062 bytes
[2025-12-09 22:48:51] [INFO] Number of mappings: 25
[2025-12-09 22:48:51] [INFO] Starting XML parsing. Content length: 5062
[2025-12-09 22:48:51] [INFO] XML parsed successfully. Root element: CADExport
[2025-12-09 22:48:51] [INFO] Processing 25 field mappings
[2025-12-09 22:48:51] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2025-12-09 22:48:51] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2025-12-09 22:48:51] [INFO]   -> Found value: PCFD
PCSO
EMS
[2025-12-09 22:48:51] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nPCSO\nEMS"
[2025-12-09 22:48:51] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2025-12-09 22:48:51] [INFO] Found 3 elements for 'ReportNumber', concatenating 1 non-empty values
[2025-12-09 22:48:51] [INFO]   -> Found value: 2025003018
[2025-12-09 22:48:51] [INFO]   -> Set field 'incidentInternalId' = "2025003018"
[2025-12-09 22:48:51] [INFO]   -> Set field 'dispatchRunNumber' = "2025003018"
[2025-12-09 22:48:51] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2025-12-09 22:48:51] [INFO]   -> Found value: FIRE - OTHER STRUCTURE
[2025-12-09 22:48:51] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE - OTHER STRUCTURE"
[2025-12-09 22:48:51] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2025-12-09 22:48:51] [INFO]   -> Found value: 397
[2025-12-09 22:48:51] [INFO]   -> Set field 'incidentLocationStreetNumber' = 397
[2025-12-09 22:48:51] [INFO] Mapping #5: Extracting 'RelatedNames.Name.StreetName' => 'streetName'
[2025-12-09 22:48:51] [INFO]   -> Found value: MILK BARN LN
[2025-12-09 22:48:51] [INFO]   -> Set field 'streetName' = "MILK BARN LN"
[2025-12-09 22:48:51] [INFO] Mapping #6: Extracting 'RelatedNames.Name.City' => 'incidentLocationCity'
[2025-12-09 22:48:51] [INFO]   -> Found value: COOKEVILLE
[2025-12-09 22:48:51] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2025-12-09 22:48:51] [INFO] Mapping #7: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2025-12-09 22:48:51] [INFO]   -> Found value: TN
[2025-12-09 22:48:51] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2025-12-09 22:48:51] [INFO] Mapping #8: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2025-12-09 22:48:51] [INFO]   -> Found value: 38506
[2025-12-09 22:48:51] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2025-12-09 22:48:51] [INFO] Mapping #9: Extracting 'EventDetails.SiteName' => 'businessName'
[2025-12-09 22:48:51] [INFO]   -> No value found (null or empty)
[2025-12-09 22:48:51] [INFO] Mapping #10: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2025-12-09 22:48:51] [INFO]   -> No value found (null or empty)
[2025-12-09 22:48:51] [INFO] Mapping #11: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2025-12-09 22:48:51] [INFO]   -> Found value: 36.21363
[2025-12-09 22:48:51] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.21363
[2025-12-09 22:48:51] [INFO] Mapping #12: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2025-12-09 22:48:51] [INFO]   -> Found value: -85.34689
[2025-12-09 22:48:51] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.34689
[2025-12-09 22:48:51] [INFO] Mapping #13: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2025-12-09 22:48:51] [INFO]   -> Found value: 2025-12-09 16:47:14
[2025-12-09 22:48:51] [INFO]   -> Set field 'alarm' = "2025-12-09 16:47:14"
[2025-12-09 22:48:51] [INFO] Mapping #14: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2025-12-09 22:48:51] [INFO]   -> Found value: 2025-12-09 16:48:39
[2025-12-09 22:48:51] [INFO]   -> Set field 'dispatched' = "2025-12-09 16:48:39"
[2025-12-09 22:48:51] [INFO] Mapping #15: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2025-12-09 22:48:51] [INFO]   -> Found value: 2025-12-09 16:48:39
[2025-12-09 22:48:51] [INFO]   -> Set field 'enroute' = "2025-12-09 16:48:39"
[2025-12-09 22:48:51] [INFO] Mapping #16: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2025-12-09 22:48:51] [INFO]   -> No value found (null or empty)
[2025-12-09 22:48:51] [INFO] Mapping #17: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2025-12-09 22:48:51] [INFO]   -> No value found (null or empty)
[2025-12-09 22:48:51] [INFO] Mapping #18: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2025-12-09 22:48:51] [INFO]   -> No value found (null or empty)
[2025-12-09 22:48:51] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2025-12-09 22:48:51] [INFO]   -> Found value: TK22
[2025-12-09 22:48:51] [INFO]   -> Set field 'cADVehicleID' = "TK22"
[2025-12-09 22:48:51] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2025-12-09 22:48:51] [INFO]   -> Found value: 2025-12-09 16:48:39
[2025-12-09 22:48:51] [INFO]   -> Set field 'timedispatch' = "2025-12-09 16:48:39"
[2025-12-09 22:48:51] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2025-12-09 22:48:51] [INFO]   -> Found value: 2025-12-09 16:48:39
[2025-12-09 22:48:51] [INFO]   -> Set field 'timeenroutetoscene' = "2025-12-09 16:48:39"
[2025-12-09 22:48:51] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2025-12-09 22:48:51] [INFO]   -> No value found (null or empty)
[2025-12-09 22:48:51] [INFO] Mapping #23: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2025-12-09 22:48:51] [INFO]   -> No value found (null or empty)
[2025-12-09 22:48:51] [INFO] Mapping #24: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2025-12-09 22:48:51] [INFO]   -> No value found (null or empty)
[2025-12-09 22:48:51] [INFO] Mapping #25: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2025-12-09 22:48:51] [INFO] Found 3 elements for 'CadInciNumber', concatenating 3 non-empty values
[2025-12-09 22:48:51] [INFO]   -> Found value: 20250135326
20250135327
20250135328
[2025-12-09 22:48:51] [INFO]   -> Set field 'policeReportNumber' = "20250135326\n20250135327\n20250135328"
[2025-12-09 22:48:51] [INFO] Finished extracting fields. Total fields extracted: 18
[2025-12-09 22:48:51] [INFO] Built locationCoordinates from lat/lng: 36.21363,-85.34689
[2025-12-09 22:48:51] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nPCSO\nEMS","incidentInternalId":"2025003018","dispatchRunNumber":"2025003018","incidentTypeValue1":"FIRE - OTHER STRUCTURE","incidentLocationStreetNumber":397,"streetName":"MILK BARN LN","incidentLocationCity":"COOKEVILLE","incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.21363,"nERISIncidentLongitude":-85.34689,"alarm":"2025-12-09 16:47:14","dispatched":"2025-12-09 16:48:39","enroute":"2025-12-09 16:48:39","cADVehicleID":"TK22","timedispatch":"2025-12-09 16:48:39","timeenroutetoscene":"2025-12-09 16:48:39","policeReportNumber":"20250135326\n20250135327\n20250135328","locationCoordinates":"36.21363,-85.34689"}
[2025-12-09 22:48:51] [INFO] Number of extracted fields: 19
[2025-12-09 22:48:51] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
PCSO
EMS'
[2025-12-09 22:48:51] [INFO] Multi-agency routing check: CAD Agency ID = PCFD
PCSO
EMS, Assigned Agencies count = 1
[2025-12-09 22:48:51] [INFO] Multi-agency mode detected. Looking up SAASClient by cADAgencyIdentifier: 'PCFD
PCSO
EMS'
[2025-12-09 22:48:51] [WARNING] WARNING: No SAASClient found with cADAgencyIdentifier = 'PCFD
PCSO
EMS'
[2025-12-09 22:48:51] [INFO] FALLBACK: Using mailbox default saasclientId: 68eeb686225c40db4 (multi-agency routing attempted but failed)
[2025-12-09 22:48:51] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2025-12-09 22:48:51] [INFO] Found existing IncidentTypeMapping with ID: 6938a74a7628435d2
[2025-12-09 22:48:51] [INFO] Found existing Dispatch with cADNumber '2025003018', ID: 6938a74a9295e44e6 - will update instead of create
[2025-12-09 22:48:51] [INFO] Updated existing Dispatches record with ID: 6938a74a9295e44e6
[2025-12-09 22:48:51] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250135326_20251209_224851.XML
[2025-12-09 22:48:51] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250135326_20251209_224851.XML
[2025-12-09 23:39:29] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-29174.xml
[2025-12-09 23:39:29] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-29174.xml for user: 68d56363ec1209189
[2025-12-09 23:39:29] [INFO] File size: 1986 bytes
[2025-12-09 23:39:29] [INFO] Created FTPFiles record with ID: 6938b331852450c76
[2025-12-09 23:39:29] [INFO] About to extract fields from XML. File size: 1986 bytes
[2025-12-09 23:39:29] [INFO] Number of mappings: 21
[2025-12-09 23:39:29] [INFO] Starting XML parsing. Content length: 1986
[2025-12-09 23:39:29] [INFO] XML parsed successfully. Root element: Incident
[2025-12-09 23:39:29] [INFO] Processing 21 field mappings
[2025-12-09 23:39:29] [INFO] Mapping #1: Extracting 'IncidentNumber' => 'dispatchRunNumber'
[2025-12-09 23:39:29] [INFO]   -> Found value: 25-29174
[2025-12-09 23:39:29] [INFO]   -> Set field 'dispatchRunNumber' = "25-29174"
[2025-12-09 23:39:29] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2025-12-09 23:39:29] [INFO]   -> No value found (null or empty)
[2025-12-09 23:39:29] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2025-12-09 23:39:29] [INFO]   -> Found value: HELEN ST
[2025-12-09 23:39:29] [INFO]   -> Set field 'streetName' = "HELEN ST"
[2025-12-09 23:39:29] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2025-12-09 23:39:29] [INFO]   -> No value found (null or empty)
[2025-12-09 23:39:29] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2025-12-09 23:39:29] [INFO]   -> Found value: SIKESTON
[2025-12-09 23:39:29] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2025-12-09 23:39:29] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2025-12-09 23:39:29] [INFO]   -> No value found (null or empty)
[2025-12-09 23:39:29] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2025-12-09 23:39:29] [INFO]   -> Found value: MO
[2025-12-09 23:39:29] [INFO]   -> Set field 'incidentLocationStateName' = "MO"
[2025-12-09 23:39:29] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2025-12-09 23:39:29] [INFO]   -> Found value: 63801
[2025-12-09 23:39:29] [INFO]   -> Set field 'nERISIncidentPostalCode' = 63801
[2025-12-09 23:39:29] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2025-12-09 23:39:29] [INFO]   -> Found value: 0
[2025-12-09 23:39:29] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2025-12-09 23:39:29] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2025-12-09 23:39:29] [INFO]   -> Found value: 0
[2025-12-09 23:39:29] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2025-12-09 23:39:29] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2025-12-09 23:39:29] [INFO]   -> Found value: ACCIDENT-J2
[2025-12-09 23:39:29] [INFO]   -> Set field 'incidentTypeValue1' = "ACCIDENT-J2"
[2025-12-09 23:39:29] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2025-12-09 23:39:29] [INFO]   -> Found value: 12-09-2025 17:08:08|Call Received on 12/09/2025 @ 17:08

TWO VEHICLES 
NO ONE HAS EXITED  12-09-2025...
[2025-12-09 23:39:29] [INFO]   -> Set field 'dispatchNotes' = "12-09-2025 17:08:08|Call Received on 12\/09\/2025 @ 17:08\n\nTWO VEHICLES \nNO ONE HAS EXITED  12-09-2025 17:14:58|69 YR OLD FEMALE  POSSIBLE BROKEN COLLAR BONE 12-09-2025 17:15:41|ENG2 BLOCKING SB MAIN 12-09-2025 17:19:32|WRECKER ON CALL AND JSH PER OWNER 12-09-2025 17:21:43|SATTERFIELD NOT AVAILABLE NOTIFIED D&K 12-09-2025 17:26:02|SFMC 12-09-2025 17:36:04|1654 BOTH WRECKERS ON SCENE"
[2025-12-09 23:39:29] [INFO]   -> Set field 'cADLog' = "12-09-2025 17:08:08|Call Received on 12\/09\/2025 @ 17:08\n\nTWO VEHICLES \nNO ONE HAS EXITED  12-09-2025 17:14:58|69 YR OLD FEMALE  POSSIBLE BROKEN COLLAR BONE 12-09-2025 17:15:41|ENG2 BLOCKING SB MAIN 12-09-2025 17:19:32|WRECKER ON CALL AND JSH PER OWNER 12-09-2025 17:21:43|SATTERFIELD NOT AVAILABLE NOTIFIED D&K 12-09-2025 17:26:02|SFMC 12-09-2025 17:36:04|1654 BOTH WRECKERS ON SCENE"
[2025-12-09 23:39:29] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2025-12-09 23:39:29] [INFO]   -> Found value: 12-09-2025T17:09:36
[2025-12-09 23:39:29] [INFO] Reformatted DD-MM-YYYY date '12-09-2025' (day=12, month=09) to ISO: 2025-09-12T17:09:36
[2025-12-09 23:39:29] [INFO]   -> Set field 'alarm' = "2025-09-12 17:09:36"
[2025-12-09 23:39:29] [INFO] Reformatted DD-MM-YYYY date '12-09-2025' (day=12, month=09) to ISO: 2025-09-12T17:09:36
[2025-12-09 23:39:29] [INFO]   -> Set field 'dispatched' = "2025-09-12 17:09:36"
[2025-12-09 23:39:29] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2025-12-09 23:39:29] [INFO]   -> Found value: 12-09-2025T17:12:09
[2025-12-09 23:39:29] [INFO] Reformatted DD-MM-YYYY date '12-09-2025' (day=12, month=09) to ISO: 2025-09-12T17:12:09
[2025-12-09 23:39:29] [INFO]   -> Set field 'onScene' = "2025-09-12 17:12:09"
[2025-12-09 23:39:29] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2025-12-09 23:39:29] [INFO]   -> No value found (null or empty)
[2025-12-09 23:39:29] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2025-12-09 23:39:29] [INFO]   -> Found value: ENG2
[2025-12-09 23:39:29] [INFO]   -> Set field 'cADVehicleID' = "ENG2"
[2025-12-09 23:39:29] [INFO]   -> Set field 'name' = "ENG2"
[2025-12-09 23:39:29] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2025-12-09 23:39:29] [INFO]   -> Found value: 12-09-2025T17:11:24
[2025-12-09 23:39:29] [INFO] Reformatted DD-MM-YYYY date '12-09-2025' (day=12, month=09) to ISO: 2025-09-12T17:11:24
[2025-12-09 23:39:29] [INFO]   -> Set field 'timeenroutetoscene' = "2025-09-12 17:11:24"
[2025-12-09 23:39:29] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2025-12-09 23:39:29] [INFO]   -> Found value: 12-09-2025T17:15:11
[2025-12-09 23:39:29] [INFO] Reformatted DD-MM-YYYY date '12-09-2025' (day=12, month=09) to ISO: 2025-09-12T17:15:11
[2025-12-09 23:39:29] [INFO]   -> Set field 'timeonscene' = "2025-09-12 17:15:11"
[2025-12-09 23:39:29] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2025-12-09 23:39:29] [INFO]   -> Found value: 12-09-2025T17:38:35
[2025-12-09 23:39:29] [INFO] Reformatted DD-MM-YYYY date '12-09-2025' (day=12, month=09) to ISO: 2025-09-12T17:38:35
[2025-12-09 23:39:29] [INFO]   -> Set field 'timeunitclear' = "2025-09-12 17:38:35"
[2025-12-09 23:39:29] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2025-12-09 23:39:29] [INFO]   -> Found value: 12-09-2025T17:11:21
[2025-12-09 23:39:29] [INFO] Reformatted DD-MM-YYYY date '12-09-2025' (day=12, month=09) to ISO: 2025-09-12T17:11:21
[2025-12-09 23:39:29] [INFO]   -> Set field 'timedispatch' = "2025-09-12 17:11:21"
[2025-12-09 23:39:29] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2025-12-09 23:39:29] [INFO]   -> Found value: SDPSFD
[2025-12-09 23:39:29] [INFO]   -> Set field 'cADAgencyIdentifier' = "SDPSFD"
[2025-12-09 23:39:29] [INFO] Finished extracting fields. Total fields extracted: 20
[2025-12-09 23:39:29] [INFO] Built locationCoordinates from lat/lng: 0,0
[2025-12-09 23:39:29] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"25-29174","streetName":"HELEN ST","incidentLocationCity":"SIKESTON","incidentLocationStateName":"MO","nERISIncidentPostalCode":63801,"nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"ACCIDENT-J2","dispatchNotes":"12-09-2025 17:08:08|Call Received on 12\/09\/2025 @ 17:08\n\nTWO VEHICLES \nNO ONE HAS EXITED  12-09-2025 17:14:58|69 YR OLD FEMALE  POSSIBLE BROKEN COLLAR BONE 12-09-2025 17:15:41|ENG2 BLOCKING SB MAIN 12-09-2025 17:19:32|WRECKER ON CALL AND JSH PER OWNER 12-09-2025 17:21:43|SATTERFIELD NOT AVAILABLE NOTIFIED D&K 12-09-2025 17:26:02|SFMC 12-09-2025 17:36:04|1654 BOTH WRECKERS ON SCENE","cADLog":"12-09-2025 17:08:08|Call Received on 12\/09\/2025 @ 17:08\n\nTWO VEHICLES \nNO ONE HAS EXITED  12-09-2025 17:14:58|69 YR OLD FEMALE  POSSIBLE BROKEN COLLAR BONE 12-09-2025 17:15:41|ENG2 BLOCKING SB MAIN 12-09-2025 17:19:32|WRECKER ON CALL AND JSH PER OWNER 12-09-2025 17:21:43|SATTERFIELD NOT AVAILABLE NOTIFIED D&K 12-09-2025 17:26:02|SFMC 12-09-2025 17:36:04|1654 BOTH WRECKERS ON SCENE","alarm":"2025-09-12 17:09:36","dispatched":"2025-09-12 17:09:36","onScene":"2025-09-12 17:12:09","cADVehicleID":"ENG2","name":"ENG2","timeenroutetoscene":"2025-09-12 17:11:24","timeonscene":"2025-09-12 17:15:11","timeunitclear":"2025-09-12 17:38:35","timedispatch":"2025-09-12 17:11:21","cADAgencyIdentifier":"SDPSFD","locationCoordinates":"0,0"}
[2025-12-09 23:39:29] [INFO] Number of extracted fields: 21
[2025-12-09 23:39:29] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SDPSFD'
[2025-12-09 23:39:29] [INFO] Multi-agency routing check: CAD Agency ID = SDPSFD, Assigned Agencies count = 2
[2025-12-09 23:39:29] [INFO] Multi-agency mode detected. Looking up SAASClient by cADAgencyIdentifier: 'SDPSFD'
[2025-12-09 23:39:29] [INFO] Found SAASClient match: ID = 6772cab7157b2ebde, Name = Sikeston DPS
[2025-12-09 23:39:29] [INFO] SUCCESS: Routed to agency 'Sikeston DPS' (ID: 6772cab7157b2ebde) based on CAD ID: 'SDPSFD'
[2025-12-09 23:39:29] [INFO] Fetched 4 stations from Stations module for agency 'Sikeston DPS': ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"]
[2025-12-09 23:39:29] [INFO] Final routing: saasclientId = 6772cab7157b2ebde, dispatchStationsIds = ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"]
[2025-12-09 23:39:29] [INFO] Updated FTPFiles record saasclientId to routed agency: 6772cab7157b2ebde
[2025-12-09 23:39:29] [INFO] Found existing IncidentTypeMapping with ID: 68e4158e87be42b7c
[2025-12-09 23:39:30] [INFO] Created new Dispatches record with ID: 6938b331d7abca755
[2025-12-09 23:39:30] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-29174.xml
[2025-12-09 23:39:30] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-29174.xml
