[2026-01-28 00:55:41] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-004529_2026-01-27 18:55:38Z.xml
[2026-01-28 00:55:41] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-004529_2026-01-27 18:55:38Z.xml
[2026-01-28 00:55:41] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-004529_2026-01-27 18:55:41Z.xml
[2026-01-28 00:55:41] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-004529_2026-01-27 18:55:41Z.xml
[2026-01-28 00:55:42] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-004529_2026-01-27 18:55:41Z.xml
[2026-01-28 00:55:42] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-004529_2026-01-27 18:55:41Z.xml
[2026-01-28 00:55:43] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-004529_2026-01-27 18:55:42Z.xml
[2026-01-28 00:55:43] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-004529_2026-01-27 18:55:42Z.xml
[2026-01-28 00:55:43] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-004529_2026-01-27 18:55:42Z.xml
[2026-01-28 00:55:43] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-004529_2026-01-27 18:55:42Z.xml
[2026-01-28 00:56:31] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-004529_2026-01-27 18:56:30Z.xml
[2026-01-28 00:56:31] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-004529_2026-01-27 18:56:30Z.xml
[2026-01-28 00:56:32] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-004529_2026-01-27 18:56:31Z.xml
[2026-01-28 00:56:32] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-004529_2026-01-27 18:56:31Z.xml
[2026-01-28 00:56:32] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-004529_2026-01-27 18:56:32Z.xml
[2026-01-28 00:56:32] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-004529_2026-01-27 18:56:32Z.xml
[2026-01-28 00:56:33] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-004529_2026-01-27 18:56:32Z.xml
[2026-01-28 00:56:33] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-004529_2026-01-27 18:56:32Z.xml
[2026-01-28 00:56:33] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-004529_2026-01-27 18:56:33Z.xml
[2026-01-28 00:56:33] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-004529_2026-01-27 18:56:33Z.xml
[2026-01-28 00:56:34] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-004529_2026-01-27 18:56:33Z.xml
[2026-01-28 00:56:34] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-004529_2026-01-27 18:56:33Z.xml
[2026-01-28 00:57:05] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-004529_2026-01-27 18:57:05Z.xml
[2026-01-28 00:57:05] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-004529_2026-01-27 18:57:05Z.xml
[2026-01-28 00:58:28] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-004529_2026-01-27 18:58:27Z.xml
[2026-01-28 00:58:28] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-004529_2026-01-27 18:58:27Z.xml
[2026-01-28 01:01:18] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-004529_2026-01-27 19:01:17Z.xml
[2026-01-28 01:01:18] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-004529_2026-01-27 19:01:17Z.xml
[2026-01-28 01:01:19] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-004529_2026-01-27 19:01:18Z.xml
[2026-01-28 01:01:19] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-004529_2026-01-27 19:01:18Z.xml
[2026-01-28 01:03:12] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-004529_2026-01-27 19:03:11Z.xml
[2026-01-28 01:03:12] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-004529_2026-01-27 19:03:11Z.xml
[2026-01-28 01:05:10] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-004529_2026-01-27 19:05:09Z.xml
[2026-01-28 01:05:10] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-004529_2026-01-27 19:05:09Z.xml
[2026-01-28 01:13:29] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-004529_2026-01-27 19:13:28Z.xml
[2026-01-28 01:13:29] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-004529_2026-01-27 19:13:28Z.xml
[2026-01-28 01:13:29] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-004529_2026-01-27 19:13:29Z.xml
[2026-01-28 01:13:29] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-004529_2026-01-27 19:13:29Z.xml
[2026-01-28 01:13:30] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-004529_2026-01-27 19:13:29Z.xml
[2026-01-28 01:13:30] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-004529_2026-01-27 19:13:29Z.xml
[2026-01-28 01:17:25] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-004529_2026-01-27 19:17:24Z.xml
[2026-01-28 01:17:25] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-004529_2026-01-27 19:17:24Z.xml
[2026-01-28 01:23:13] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-004529_2026-01-27 19:23:12Z.xml
[2026-01-28 01:23:13] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-004529_2026-01-27 19:23:12Z.xml
[2026-01-28 01:23:23] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-004529_2026-01-27 19:23:22Z.xml
[2026-01-28 01:23:23] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-004529_2026-01-27 19:23:22Z.xml
[2026-01-28 01:23:24] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-004529_2026-01-27 19:23:23Z.xml
[2026-01-28 01:23:24] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-004529_2026-01-27 19:23:23Z.xml
[2026-01-28 01:23:24] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-004529_2026-01-27 19:23:23Z.xml
[2026-01-28 01:23:24] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-004529_2026-01-27 19:23:23Z.xml
[2026-01-28 01:32:01] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-004529_2026-01-27 19:32:00Z.xml
[2026-01-28 01:32:01] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-004529_2026-01-27 19:32:00Z.xml
[2026-01-28 01:32:02] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-004529_2026-01-27 19:32:01Z.xml
[2026-01-28 01:32:02] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-004529_2026-01-27 19:32:01Z.xml
[2026-01-28 01:32:02] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-004529_2026-01-27 19:32:01Z.xml
[2026-01-28 01:32:02] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-004529_2026-01-27 19:32:01Z.xml
[2026-01-28 01:32:03] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-004529_2026-01-27 19:32:02Z.xml
[2026-01-28 01:32:03] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-004529_2026-01-27 19:32:02Z.xml
[2026-01-28 01:32:03] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-004529_2026-01-27 19:32:02Z.xml
[2026-01-28 01:32:03] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-004529_2026-01-27 19:32:02Z.xml
[2026-01-28 01:32:26] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-004529_2026-01-27 19:32:26Z.xml
[2026-01-28 01:32:26] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-004529_2026-01-27 19:32:26Z.xml
[2026-01-28 02:34:26] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010103_20260128_023426.XML
[2026-01-28 02:34:26] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010103_20260128_023426.XML for user: 68f1466aed072ad4a
[2026-01-28 02:34:26] [INFO] File size: 5551 bytes
[2026-01-28 02:34:26] [INFO] Created FTPFiles record with ID: 697975b2aeaa5f898
[2026-01-28 02:34:26] [INFO] About to extract fields from XML. File size: 5551 bytes
[2026-01-28 02:34:26] [INFO] Number of mappings: 28
[2026-01-28 02:34:26] [INFO] Starting XML parsing. Content length: 5551
[2026-01-28 02:34:26] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-28 02:34:26] [INFO] Processing 28 field mappings
[2026-01-28 02:34:26] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-28 02:34:26] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-01-28 02:34:26] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-28 02:34:26] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-01-28 02:34:26] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-01-28 02:34:26] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-01-28 02:34:26] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-28 02:34:26] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-01-28 02:34:26] [INFO]   -> Found value: 2026000249
[2026-01-28 02:34:26] [INFO]   -> Set field 'incidentInternalId' = "2026000249"
[2026-01-28 02:34:26] [INFO]   -> Set field 'dispatchRunNumber' = "2026000249"
[2026-01-28 02:34:26] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-28 02:34:26] [INFO]   -> Found value: SEIZURE
[2026-01-28 02:34:26] [INFO]   -> Set field 'incidentTypeValue1' = "SEIZURE"
[2026-01-28 02:34:26] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-28 02:34:26] [INFO]   -> Found value: 164
[2026-01-28 02:34:26] [INFO]   -> Set field 'incidentLocationStreetNumber' = 164
[2026-01-28 02:34:26] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-28 02:34:26] [INFO]   -> Found value: TN
[2026-01-28 02:34:26] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-28 02:34:26] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-28 02:34:26] [INFO]   -> Found value: 38574
[2026-01-28 02:34:26] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-01-28 02:34:26] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-28 02:34:26] [INFO]   -> No value found (null or empty)
[2026-01-28 02:34:26] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-28 02:34:26] [INFO]   -> No value found (null or empty)
[2026-01-28 02:34:26] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-28 02:34:26] [INFO]   -> Found value: 36.11952
[2026-01-28 02:34:26] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.11952000000000140289557748474180698394775390625
[2026-01-28 02:34:26] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-28 02:34:26] [INFO]   -> Found value: -85.19721
[2026-01-28 02:34:26] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.1972099999999983310772222466766834259033203125
[2026-01-28 02:34:26] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-28 02:34:26] [INFO]   -> Found value: 2026-01-27 20:33:06
[2026-01-28 02:34:26] [INFO]   -> Set field 'alarm' = "2026-01-27 20:33:06"
[2026-01-28 02:34:26] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-28 02:34:26] [INFO]   -> Found value: 2026-01-27 20:34:17
[2026-01-28 02:34:26] [INFO]   -> Set field 'dispatched' = "2026-01-27 20:34:17"
[2026-01-28 02:34:26] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-28 02:34:26] [INFO]   -> No value found (null or empty)
[2026-01-28 02:34:26] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-28 02:34:26] [INFO]   -> No value found (null or empty)
[2026-01-28 02:34:26] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-28 02:34:26] [INFO]   -> No value found (null or empty)
[2026-01-28 02:34:26] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-28 02:34:26] [INFO]   -> Found value: CLARKRANGE HWY/DRIPPING SPRINGS RD
[2026-01-28 02:34:26] [INFO]   -> Set field 'incidentLocationCross' = "CLARKRANGE HWY\/DRIPPING SPRINGS RD"
[2026-01-28 02:34:26] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-28 02:34:26] [INFO]   -> Found value: PCFR
[2026-01-28 02:34:26] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-01-28 02:34:26] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-28 02:34:26] [INFO]   -> Found value: 2026-01-27 20:34:17
[2026-01-28 02:34:26] [INFO]   -> Set field 'timedispatch' = "2026-01-27 20:34:17"
[2026-01-28 02:34:26] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-28 02:34:26] [INFO]   -> No value found (null or empty)
[2026-01-28 02:34:26] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-28 02:34:26] [INFO]   -> No value found (null or empty)
[2026-01-28 02:34:26] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-28 02:34:26] [INFO]   -> No value found (null or empty)
[2026-01-28 02:34:26] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-28 02:34:26] [INFO]   -> No value found (null or empty)
[2026-01-28 02:34:26] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-28 02:34:26] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-01-28 02:34:26] [INFO]   -> Found value: 20260010103
[2026-01-28 02:34:26] [INFO]   -> Set field 'policeReportNumber' = "20260010103"
[2026-01-28 02:34:26] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-28 02:34:26] [INFO]   -> Found value: [LAW] PCSO ENRT  [01/27/26 20:34:11 ECLEMENS] [EMS] 38 YOF  HAD 2 MINI SEIZURE`S  TROUBLE BREATHING ...
[2026-01-28 02:34:26] [INFO]   -> Set field 'dispatchNotes' = "[LAW] PCSO ENRT  [01\/27\/26 20:34:11 ECLEMENS] [EMS] 38 YOF  HAD 2 MINI SEIZURE`S  TROUBLE BREATHING  PT IS AWAKE AND ALERT  [01\/27\/26 20:33:50 TSCOTT] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [01\/27\/26 20:33:23 ECLEMENS] Event spawned from SEIZURE.  [01\/27\/2026 20:33:06 TSCOTT]"
[2026-01-28 02:34:26] [INFO]   -> Set field 'cADLog' = "[LAW] PCSO ENRT  [01\/27\/26 20:34:11 ECLEMENS] [EMS] 38 YOF  HAD 2 MINI SEIZURE`S  TROUBLE BREATHING  PT IS AWAKE AND ALERT  [01\/27\/26 20:33:50 TSCOTT] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [01\/27\/26 20:33:23 ECLEMENS] Event spawned from SEIZURE.  [01\/27\/2026 20:33:06 TSCOTT]"
[2026-01-28 02:34:26] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-28 02:34:26] [INFO]   -> Found value: MONTEREY
[2026-01-28 02:34:26] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-01-28 02:34:26] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-28 02:34:26] [INFO]   -> Found value: COPPERHEAD
[2026-01-28 02:34:26] [INFO]   -> Set field 'streetName' = "COPPERHEAD"
[2026-01-28 02:34:26] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-28 02:34:26] [INFO]   -> Found value: DR
[2026-01-28 02:34:26] [INFO]   -> Set field 'streetType' = "DR"
[2026-01-28 02:34:26] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-28 02:34:26] [INFO]   -> Found value: 164 COPPERHEAD DR
[2026-01-28 02:34:26] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "164 COPPERHEAD DR"
[2026-01-28 02:34:26] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-01-28 02:34:26] [INFO] Concatenating street name and type
[2026-01-28 02:34:26] [INFO]   -> Combined street name: COPPERHEAD DR
[2026-01-28 02:34:26] [INFO] Built locationCoordinates from lat/lng: 36.11952,-85.19721
[2026-01-28 02:34:26] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000249","dispatchRunNumber":"2026000249","incidentTypeValue1":"SEIZURE","incidentLocationStreetNumber":164,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"nERISIncidentLatitude":36.11952000000000140289557748474180698394775390625,"nERISIncidentLongitude":-85.1972099999999983310772222466766834259033203125,"alarm":"2026-01-27 20:33:06","dispatched":"2026-01-27 20:34:17","incidentLocationCross":"CLARKRANGE HWY\/DRIPPING SPRINGS RD","cADVehicleID":"PCFR","timedispatch":"2026-01-27 20:34:17","policeReportNumber":"20260010103","dispatchNotes":"[LAW] PCSO ENRT  [01\/27\/26 20:34:11 ECLEMENS] [EMS] 38 YOF  HAD 2 MINI SEIZURE`S  TROUBLE BREATHING  PT IS AWAKE AND ALERT  [01\/27\/26 20:33:50 TSCOTT] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [01\/27\/26 20:33:23 ECLEMENS] Event spawned from SEIZURE.  [01\/27\/2026 20:33:06 TSCOTT]","cADLog":"[LAW] PCSO ENRT  [01\/27\/26 20:34:11 ECLEMENS] [EMS] 38 YOF  HAD 2 MINI SEIZURE`S  TROUBLE BREATHING  PT IS AWAKE AND ALERT  [01\/27\/26 20:33:50 TSCOTT] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [01\/27\/26 20:33:23 ECLEMENS] Event spawned from SEIZURE.  [01\/27\/2026 20:33:06 TSCOTT]","incidentLocationCity":"MONTEREY","streetName":"COPPERHEAD DR","incidentAddressTextVersionStreet":"164 COPPERHEAD DR","locationCoordinates":"36.11952,-85.19721"}
[2026-01-28 02:34:26] [INFO] Number of extracted fields: 21
[2026-01-28 02:34:26] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-01-28 02:34:26] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
PCSO
RESC', Parsed IDs = ["PCFD","EMS","PCSO","RESC"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-01-28 02:34:26] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-01-28 02:34:26] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-01-28 02:34:27] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-01-28 02:34:27] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-01-28 02:34:27] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-01-28 02:34:27] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-01-28 02:34:27] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-01-28 02:34:27] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-01-28 02:34:27] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-01-28 02:34:27] [INFO] Found existing IncidentTypeMapping with ID: 6938221e4d49ca73b
[2026-01-28 02:34:37] [INFO] Created new Dispatches record with ID: 697975b52781d6167
[2026-01-28 02:34:37] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-01-28 02:34:38] [INFO] Using FTPS (SSL/TLS) connection
[2026-01-28 02:34:41] [INFO] Successfully uploaded file to V2 FTP server: /PCFD_20260010103_20260128_023426.XML
[2026-01-28 02:34:41] [INFO] Created archive directory: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-01-28
[2026-01-28 02:34:41] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010103_20260128_023426.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-01-28/PCFD_20260010103_20260128_023426.XML
[2026-01-28 02:34:41] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010103_20260128_023426.XML
[2026-01-28 03:21:16] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010116_20260128_032116.XML
[2026-01-28 03:21:16] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010116_20260128_032116.XML for user: 68f1466aed072ad4a
[2026-01-28 03:21:16] [INFO] File size: 5703 bytes
[2026-01-28 03:21:17] [INFO] Created FTPFiles record with ID: 697980ad1cde3ee88
[2026-01-28 03:21:17] [INFO] About to extract fields from XML. File size: 5703 bytes
[2026-01-28 03:21:17] [INFO] Number of mappings: 28
[2026-01-28 03:21:17] [INFO] Starting XML parsing. Content length: 5703
[2026-01-28 03:21:17] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-28 03:21:17] [INFO] Processing 28 field mappings
[2026-01-28 03:21:17] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-28 03:21:17] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-01-28 03:21:17] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-28 03:21:17] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-01-28 03:21:17] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-01-28 03:21:17] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-01-28 03:21:17] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-28 03:21:17] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-01-28 03:21:17] [INFO]   -> Found value: 2026000250
[2026-01-28 03:21:17] [INFO]   -> Set field 'incidentInternalId' = "2026000250"
[2026-01-28 03:21:17] [INFO]   -> Set field 'dispatchRunNumber' = "2026000250"
[2026-01-28 03:21:17] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-28 03:21:17] [INFO]   -> Found value: SUICIDE ATTEMPT
[2026-01-28 03:21:17] [INFO]   -> Set field 'incidentTypeValue1' = "SUICIDE ATTEMPT"
[2026-01-28 03:21:17] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-28 03:21:17] [INFO]   -> Found value: 5344
[2026-01-28 03:21:17] [INFO]   -> Set field 'incidentLocationStreetNumber' = 5344
[2026-01-28 03:21:17] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-28 03:21:17] [INFO]   -> Found value: TN
[2026-01-28 03:21:17] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-28 03:21:17] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-28 03:21:17] [INFO]   -> Found value: 38501
[2026-01-28 03:21:17] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-01-28 03:21:17] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-28 03:21:17] [INFO]   -> No value found (null or empty)
[2026-01-28 03:21:17] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-28 03:21:17] [INFO]   -> Found value: 4
[2026-01-28 03:21:17] [INFO]   -> Set field 'incidentLocationApt' = 4
[2026-01-28 03:21:17] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-28 03:21:17] [INFO]   -> Found value: 36.23415
[2026-01-28 03:21:17] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.234149999999999636202119290828704833984375
[2026-01-28 03:21:17] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-28 03:21:17] [INFO]   -> Found value: -85.51038
[2026-01-28 03:21:17] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.51037999999999783540260978043079376220703125
[2026-01-28 03:21:17] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-28 03:21:17] [INFO]   -> Found value: 2026-01-27 21:20:23
[2026-01-28 03:21:17] [INFO]   -> Set field 'alarm' = "2026-01-27 21:20:23"
[2026-01-28 03:21:17] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-28 03:21:17] [INFO]   -> Found value: 2026-01-27 21:21:07
[2026-01-28 03:21:17] [INFO]   -> Set field 'dispatched' = "2026-01-27 21:21:07"
[2026-01-28 03:21:17] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-28 03:21:17] [INFO]   -> No value found (null or empty)
[2026-01-28 03:21:17] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-28 03:21:17] [INFO]   -> No value found (null or empty)
[2026-01-28 03:21:17] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-28 03:21:17] [INFO]   -> No value found (null or empty)
[2026-01-28 03:21:17] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-28 03:21:17] [INFO]   -> Found value: EMERALD RD/BOB LYNN RD
[2026-01-28 03:21:17] [INFO]   -> Set field 'incidentLocationCross' = "EMERALD RD\/BOB LYNN RD"
[2026-01-28 03:21:17] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-28 03:21:17] [INFO]   -> Found value: PCFR
[2026-01-28 03:21:17] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-01-28 03:21:17] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-28 03:21:17] [INFO]   -> Found value: 2026-01-27 21:21:07
[2026-01-28 03:21:17] [INFO]   -> Set field 'timedispatch' = "2026-01-27 21:21:07"
[2026-01-28 03:21:17] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-28 03:21:17] [INFO]   -> No value found (null or empty)
[2026-01-28 03:21:17] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-28 03:21:17] [INFO]   -> No value found (null or empty)
[2026-01-28 03:21:17] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-28 03:21:17] [INFO]   -> No value found (null or empty)
[2026-01-28 03:21:17] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-28 03:21:17] [INFO]   -> No value found (null or empty)
[2026-01-28 03:21:17] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-28 03:21:17] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-01-28 03:21:17] [INFO]   -> Found value: 20260010116
[2026-01-28 03:21:17] [INFO]   -> Set field 'policeReportNumber' = "20260010116"
[2026-01-28 03:21:17] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-28 03:21:17] [INFO]   -> Found value: [EMS] CALLER IS ENROUTE TO LOC - ETA 5 MINS - DODGE CALIBER  [01/27/26 21:21:02 TSCOTT] [LAW] UDTS: ...
[2026-01-28 03:21:17] [INFO]   -> Set field 'dispatchNotes' = "[EMS] CALLER IS ENROUTE TO LOC - ETA 5 MINS - DODGE CALIBER  [01\/27\/26 21:21:02 TSCOTT] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [01\/27\/26 21:20:39 CHERNANDEZ] [EMS] FEMALE IS THERE ALONE  [01\/27\/26 21:20:37 TSCOTT] [EMS] EMS STAGE FOR LAW  [01\/27\/26 21:20:30 TSCOTT] Event spawned from SUICIDE ATTEMPT.  [01\/27\/2026 21:20:23 TSCOTT] 31 YOF MADE SMALL CUTS ON HER WRIST  VERY EOTH  [01\/27\/26 21:20:19 TSCOTT]]"
[2026-01-28 03:21:17] [INFO]   -> Set field 'cADLog' = "[EMS] CALLER IS ENROUTE TO LOC - ETA 5 MINS - DODGE CALIBER  [01\/27\/26 21:21:02 TSCOTT] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [01\/27\/26 21:20:39 CHERNANDEZ] [EMS] FEMALE IS THERE ALONE  [01\/27\/26 21:20:37 TSCOTT] [EMS] EMS STAGE FOR LAW  [01\/27\/26 21:20:30 TSCOTT] Event spawned from SUICIDE ATTEMPT.  [01\/27\/2026 21:20:23 TSCOTT] 31 YOF MADE SMALL CUTS ON HER WRIST  VERY EOTH  [01\/27\/26 21:20:19 TSCOTT]]"
[2026-01-28 03:21:17] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-28 03:21:17] [INFO]   -> Found value: COOKEVILLE
[2026-01-28 03:21:17] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-01-28 03:21:17] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-28 03:21:17] [INFO]   -> Found value: DODSON BRANCH
[2026-01-28 03:21:17] [INFO]   -> Set field 'streetName' = "DODSON BRANCH"
[2026-01-28 03:21:17] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-28 03:21:17] [INFO]   -> Found value: RD
[2026-01-28 03:21:17] [INFO]   -> Set field 'streetType' = "RD"
[2026-01-28 03:21:17] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-28 03:21:17] [INFO]   -> Found value: 5344-4 DODSON BRANCH RD
[2026-01-28 03:21:17] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "5344-4 DODSON BRANCH RD"
[2026-01-28 03:21:17] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-01-28 03:21:17] [INFO] Concatenating street name and type
[2026-01-28 03:21:17] [INFO]   -> Combined street name: DODSON BRANCH RD
[2026-01-28 03:21:17] [INFO] Built locationCoordinates from lat/lng: 36.23415,-85.51038
[2026-01-28 03:21:17] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000250","dispatchRunNumber":"2026000250","incidentTypeValue1":"SUICIDE ATTEMPT","incidentLocationStreetNumber":5344,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"incidentLocationApt":4,"nERISIncidentLatitude":36.234149999999999636202119290828704833984375,"nERISIncidentLongitude":-85.51037999999999783540260978043079376220703125,"alarm":"2026-01-27 21:20:23","dispatched":"2026-01-27 21:21:07","incidentLocationCross":"EMERALD RD\/BOB LYNN RD","cADVehicleID":"PCFR","timedispatch":"2026-01-27 21:21:07","policeReportNumber":"20260010116","dispatchNotes":"[EMS] CALLER IS ENROUTE TO LOC - ETA 5 MINS - DODGE CALIBER  [01\/27\/26 21:21:02 TSCOTT] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [01\/27\/26 21:20:39 CHERNANDEZ] [EMS] FEMALE IS THERE ALONE  [01\/27\/26 21:20:37 TSCOTT] [EMS] EMS STAGE FOR LAW  [01\/27\/26 21:20:30 TSCOTT] Event spawned from SUICIDE ATTEMPT.  [01\/27\/2026 21:20:23 TSCOTT] 31 YOF MADE SMALL CUTS ON HER WRIST  VERY EOTH  [01\/27\/26 21:20:19 TSCOTT]]","cADLog":"[EMS] CALLER IS ENROUTE TO LOC - ETA 5 MINS - DODGE CALIBER  [01\/27\/26 21:21:02 TSCOTT] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [01\/27\/26 21:20:39 CHERNANDEZ] [EMS] FEMALE IS THERE ALONE  [01\/27\/26 21:20:37 TSCOTT] [EMS] EMS STAGE FOR LAW  [01\/27\/26 21:20:30 TSCOTT] Event spawned from SUICIDE ATTEMPT.  [01\/27\/2026 21:20:23 TSCOTT] 31 YOF MADE SMALL CUTS ON HER WRIST  VERY EOTH  [01\/27\/26 21:20:19 TSCOTT]]","incidentLocationCity":"COOKEVILLE","streetName":"DODSON BRANCH RD","incidentAddressTextVersionStreet":"5344-4 DODSON BRANCH RD","locationCoordinates":"36.23415,-85.51038"}
[2026-01-28 03:21:17] [INFO] Number of extracted fields: 22
[2026-01-28 03:21:17] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-01-28 03:21:17] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
PCSO
RESC', Parsed IDs = ["PCFD","EMS","PCSO","RESC"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-01-28 03:21:17] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-01-28 03:21:17] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-01-28 03:21:17] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-01-28 03:21:17] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-01-28 03:21:17] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-01-28 03:21:17] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-01-28 03:21:17] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-01-28 03:21:17] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-01-28 03:21:17] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-01-28 03:21:17] [INFO] Found existing IncidentTypeMapping with ID: 693cfe9be78889269
[2026-01-28 03:21:26] [INFO] Created new Dispatches record with ID: 697980add44dfcb16
[2026-01-28 03:21:26] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-01-28 03:21:26] [INFO] Using FTPS (SSL/TLS) connection
[2026-01-28 03:21:29] [INFO] Successfully uploaded file to V2 FTP server: /PCFD_20260010116_20260128_032116.XML
[2026-01-28 03:21:29] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010116_20260128_032116.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-01-28/PCFD_20260010116_20260128_032116.XML
[2026-01-28 03:21:29] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010116_20260128_032116.XML
[2026-01-28 03:49:53] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-02855.xml
[2026-01-28 03:49:53] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-02855.xml for user: 68d56363ec1209189
[2026-01-28 03:49:53] [INFO] File size: 1476 bytes
[2026-01-28 03:49:53] [INFO] Created FTPFiles record with ID: 6979876159ba7389f
[2026-01-28 03:49:53] [INFO] About to extract fields from XML. File size: 1476 bytes
[2026-01-28 03:49:53] [INFO] Number of mappings: 21
[2026-01-28 03:49:53] [INFO] Starting XML parsing. Content length: 1476
[2026-01-28 03:49:53] [INFO] XML parsed successfully. Root element: Incident
[2026-01-28 03:49:53] [INFO] Processing 21 field mappings
[2026-01-28 03:49:53] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-01-28 03:49:53] [INFO]   -> Found value: 26-02855
[2026-01-28 03:49:53] [INFO]   -> Set field 'dispatchRunNumber' = "26-02855"
[2026-01-28 03:49:53] [INFO]   -> Set field 'cADNumber' = "26-02855"
[2026-01-28 03:49:53] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-01-28 03:49:53] [INFO]   -> No value found (null or empty)
[2026-01-28 03:49:53] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-01-28 03:49:53] [INFO]   -> Found value: OKLAHOMA ST
[2026-01-28 03:49:53] [INFO]   -> Set field 'streetName' = "OKLAHOMA ST"
[2026-01-28 03:49:53] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-01-28 03:49:53] [INFO]   -> No value found (null or empty)
[2026-01-28 03:49:53] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-01-28 03:49:53] [INFO]   -> Found value: SIKESTON
[2026-01-28 03:49:53] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2026-01-28 03:49:53] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-01-28 03:49:53] [INFO]   -> No value found (null or empty)
[2026-01-28 03:49:53] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-01-28 03:49:53] [INFO]   -> Found value: MO
[2026-01-28 03:49:53] [INFO]   -> Set field 'incidentLocationStateName' = "MO"
[2026-01-28 03:49:53] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-01-28 03:49:53] [INFO]   -> Found value: 63801
[2026-01-28 03:49:53] [INFO]   -> Set field 'nERISIncidentPostalCode' = 63801
[2026-01-28 03:49:53] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-01-28 03:49:53] [INFO]   -> Found value: 0
[2026-01-28 03:49:53] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2026-01-28 03:49:53] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-01-28 03:49:53] [INFO]   -> Found value: 0
[2026-01-28 03:49:53] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2026-01-28 03:49:53] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-01-28 03:49:53] [INFO]   -> Found value: STRANDED MOTORIST
[2026-01-28 03:49:53] [INFO]   -> Set field 'incidentTypeValue1' = "STRANDED MOTORIST"
[2026-01-28 03:49:53] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-01-28 03:49:53] [INFO]   -> Found value: 01-27-2026 21:00:43|Call Received on 01/27/2026 @ 21:00
CALLER STATED HER VEHICLE IS STUCK IN THE SN...
[2026-01-28 03:49:53] [INFO]   -> Set field 'dispatchNotes' = "01-27-2026 21:00:43|Call Received on 01\/27\/2026 @ 21:00\nCALLER STATED HER VEHICLE IS STUCK IN THE SNOW \nBLK FORD FUSION\n 01-27-2026 21:08:41|LADDER 3 ADVISED PARTICAL ROADWAY BLOCKAGE"
[2026-01-28 03:49:53] [INFO]   -> Set field 'cADLog' = "01-27-2026 21:00:43|Call Received on 01\/27\/2026 @ 21:00\nCALLER STATED HER VEHICLE IS STUCK IN THE SNOW \nBLK FORD FUSION\n 01-27-2026 21:08:41|LADDER 3 ADVISED PARTICAL ROADWAY BLOCKAGE"
[2026-01-28 03:49:53] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-01-28 03:49:53] [INFO]   -> Found value: 01-27-2026T21:03:45
[2026-01-28 03:49:53] [INFO] Reformatted DD-MM-YYYY date '01-27-2026' (day=01, month=27) to ISO: 2026-27-01T21:03:45
[2026-01-28 03:49:53] [ERROR] Error formatting datetime '2026-27-01T21:03:45': Failed to parse time string (2026-27-01T21:03:45) at position 6 (7): Unexpected character
[2026-01-28 03:49:53] [INFO]   -> Set field 'alarm' = null
[2026-01-28 03:49:53] [INFO] Reformatted DD-MM-YYYY date '01-27-2026' (day=01, month=27) to ISO: 2026-27-01T21:03:45
[2026-01-28 03:49:53] [ERROR] Error formatting datetime '2026-27-01T21:03:45': Failed to parse time string (2026-27-01T21:03:45) at position 6 (7): Unexpected character
[2026-01-28 03:49:53] [INFO]   -> Set field 'dispatched' = null
[2026-01-28 03:49:53] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-01-28 03:49:53] [INFO]   -> Found value: 01-27-2026T21:08:13
[2026-01-28 03:49:53] [INFO] Reformatted DD-MM-YYYY date '01-27-2026' (day=01, month=27) to ISO: 2026-27-01T21:08:13
[2026-01-28 03:49:53] [ERROR] Error formatting datetime '2026-27-01T21:08:13': Failed to parse time string (2026-27-01T21:08:13) at position 6 (7): Unexpected character
[2026-01-28 03:49:53] [INFO]   -> Set field 'onScene' = null
[2026-01-28 03:49:53] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-01-28 03:49:53] [INFO]   -> No value found (null or empty)
[2026-01-28 03:49:53] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-01-28 03:49:53] [INFO]   -> Found value: L3
[2026-01-28 03:49:53] [INFO]   -> Set field 'cADVehicleID' = "L3"
[2026-01-28 03:49:53] [INFO]   -> Set field 'name' = "L3"
[2026-01-28 03:49:53] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-01-28 03:49:53] [INFO]   -> No value found (null or empty)
[2026-01-28 03:49:53] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-01-28 03:49:53] [INFO]   -> No value found (null or empty)
[2026-01-28 03:49:53] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-01-28 03:49:53] [INFO]   -> Found value: 01-27-2026T21:18:24
[2026-01-28 03:49:53] [INFO] Reformatted DD-MM-YYYY date '01-27-2026' (day=01, month=27) to ISO: 2026-27-01T21:18:24
[2026-01-28 03:49:53] [ERROR] Error formatting datetime '2026-27-01T21:18:24': Failed to parse time string (2026-27-01T21:18:24) at position 6 (7): Unexpected character
[2026-01-28 03:49:53] [INFO]   -> Set field 'timeunitclear' = null
[2026-01-28 03:49:53] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-01-28 03:49:53] [INFO]   -> No value found (null or empty)
[2026-01-28 03:49:53] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-01-28 03:49:53] [INFO]   -> Found value: SDPSFD
[2026-01-28 03:49:53] [INFO]   -> Set field 'cADAgencyIdentifier' = "SDPSFD"
[2026-01-28 03:49:53] [INFO] Finished extracting fields. Total fields extracted: 18
[2026-01-28 03:49:53] [INFO] Built locationCoordinates from lat/lng: 0,0
[2026-01-28 03:49:53] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-02855","cADNumber":"26-02855","streetName":"OKLAHOMA ST","incidentLocationCity":"SIKESTON","incidentLocationStateName":"MO","nERISIncidentPostalCode":63801,"nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"STRANDED MOTORIST","dispatchNotes":"01-27-2026 21:00:43|Call Received on 01\/27\/2026 @ 21:00\nCALLER STATED HER VEHICLE IS STUCK IN THE SNOW \nBLK FORD FUSION\n 01-27-2026 21:08:41|LADDER 3 ADVISED PARTICAL ROADWAY BLOCKAGE","cADLog":"01-27-2026 21:00:43|Call Received on 01\/27\/2026 @ 21:00\nCALLER STATED HER VEHICLE IS STUCK IN THE SNOW \nBLK FORD FUSION\n 01-27-2026 21:08:41|LADDER 3 ADVISED PARTICAL ROADWAY BLOCKAGE","alarm":null,"dispatched":null,"onScene":null,"cADVehicleID":"L3","name":"L3","timeunitclear":null,"cADAgencyIdentifier":"SDPSFD","locationCoordinates":"0,0"}
[2026-01-28 03:49:53] [INFO] Number of extracted fields: 19
[2026-01-28 03:49:53] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SDPSFD'
[2026-01-28 03:49:53] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SDPSFD', Parsed IDs = ["SDPSFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 2
[2026-01-28 03:49:53] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SDPSFD"]
[2026-01-28 03:49:53] [INFO] Attempting SAASClient lookup for AgencyCode 'SDPSFD' (index 0) within mailbox's assigned agencies
[2026-01-28 03:49:53] [INFO] SUCCESS: Routed to agency 'Sikeston DPS' (ID: 6772cab7157b2ebde) at INDEX 0 based on AgencyCode 'SDPSFD'
[2026-01-28 03:49:53] [INFO] Fetched 4 stations from Stations module for agency 'Sikeston DPS': ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"]
[2026-01-28 03:49:53] [INFO] Final routing: saasclientId = 6772cab7157b2ebde, dispatchStationsIds = ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"], matchedAgencyIndex = 0
[2026-01-28 03:49:53] [INFO] Multi-agency routing matched mailbox default agency: 6772cab7157b2ebde (no update needed)
[2026-01-28 03:49:53] [INFO] Created new IncidentTypeMapping Data: {"cADIncidentType":"STRANDED MOTORIST","saasclientId":"6772cab7157b2ebde","name":"STRANDED MOTORIST"}
[2026-01-28 03:49:54] [INFO] Created new IncidentTypeMapping with ID: 6979876205029b1ea
[2026-01-28 03:49:55] [INFO] Created new Dispatches record with ID: 6979876251e2a2020
[2026-01-28 03:49:55] [INFO] Created archive directory: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-01-28
[2026-01-28 03:49:55] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-02855.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-01-28/SDPSFD_26-02855.xml
[2026-01-28 03:49:55] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-02855.xml
[2026-01-28 04:31:56] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010133_20260128_043156.XML
[2026-01-28 04:31:56] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010133_20260128_043156.XML for user: 68f1466aed072ad4a
[2026-01-28 04:31:56] [INFO] File size: 5261 bytes
[2026-01-28 04:31:56] [INFO] Created FTPFiles record with ID: 6979913c951a6d783
[2026-01-28 04:31:56] [INFO] About to extract fields from XML. File size: 5261 bytes
[2026-01-28 04:31:56] [INFO] Number of mappings: 28
[2026-01-28 04:31:56] [INFO] Starting XML parsing. Content length: 5261
[2026-01-28 04:31:56] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-28 04:31:56] [INFO] Processing 28 field mappings
[2026-01-28 04:31:56] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-28 04:31:56] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-01-28 04:31:56] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-28 04:31:56] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-01-28 04:31:56] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-01-28 04:31:56] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-01-28 04:31:56] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-28 04:31:56] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-01-28 04:31:56] [INFO]   -> Found value: 2026000251
[2026-01-28 04:31:56] [INFO]   -> Set field 'incidentInternalId' = "2026000251"
[2026-01-28 04:31:56] [INFO]   -> Set field 'dispatchRunNumber' = "2026000251"
[2026-01-28 04:31:56] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-28 04:31:56] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-01-28 04:31:56] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-01-28 04:31:56] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-28 04:31:56] [INFO]   -> Found value: 159
[2026-01-28 04:31:56] [INFO]   -> Set field 'incidentLocationStreetNumber' = 159
[2026-01-28 04:31:56] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-28 04:31:56] [INFO]   -> Found value: TN
[2026-01-28 04:31:56] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-28 04:31:56] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-28 04:31:56] [INFO]   -> Found value: 38574
[2026-01-28 04:31:56] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-01-28 04:31:56] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-28 04:31:56] [INFO]   -> No value found (null or empty)
[2026-01-28 04:31:56] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-28 04:31:56] [INFO]   -> No value found (null or empty)
[2026-01-28 04:31:56] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-28 04:31:56] [INFO]   -> Found value: 36.12019
[2026-01-28 04:31:56] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.12019000000000090722096501849591732025146484375
[2026-01-28 04:31:56] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-28 04:31:56] [INFO]   -> Found value: -85.19685
[2026-01-28 04:31:56] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.1968499999999977490006131120026111602783203125
[2026-01-28 04:31:56] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-28 04:31:56] [INFO]   -> Found value: 2026-01-27 22:31:36
[2026-01-28 04:31:56] [INFO]   -> Set field 'alarm' = "2026-01-27 22:31:36"
[2026-01-28 04:31:56] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-28 04:31:56] [INFO]   -> Found value: 2026-01-27 22:31:51
[2026-01-28 04:31:56] [INFO]   -> Set field 'dispatched' = "2026-01-27 22:31:51"
[2026-01-28 04:31:56] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-28 04:31:56] [INFO]   -> No value found (null or empty)
[2026-01-28 04:31:56] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-28 04:31:56] [INFO]   -> No value found (null or empty)
[2026-01-28 04:31:56] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-28 04:31:56] [INFO]   -> No value found (null or empty)
[2026-01-28 04:31:56] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-28 04:31:56] [INFO]   -> Found value: CLARKRANGE HWY/DRIPPING SPRINGS RD
[2026-01-28 04:31:56] [INFO]   -> Set field 'incidentLocationCross' = "CLARKRANGE HWY\/DRIPPING SPRINGS RD"
[2026-01-28 04:31:56] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-28 04:31:56] [INFO]   -> Found value: PCFR
[2026-01-28 04:31:56] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-01-28 04:31:56] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-28 04:31:56] [INFO]   -> Found value: 2026-01-27 22:31:51
[2026-01-28 04:31:56] [INFO]   -> Set field 'timedispatch' = "2026-01-27 22:31:51"
[2026-01-28 04:31:56] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-28 04:31:56] [INFO]   -> No value found (null or empty)
[2026-01-28 04:31:56] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-28 04:31:56] [INFO]   -> No value found (null or empty)
[2026-01-28 04:31:56] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-28 04:31:56] [INFO]   -> No value found (null or empty)
[2026-01-28 04:31:56] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-28 04:31:56] [INFO]   -> No value found (null or empty)
[2026-01-28 04:31:56] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-28 04:31:56] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-01-28 04:31:56] [INFO]   -> Found value: 20260010133
[2026-01-28 04:31:56] [INFO]   -> Set field 'policeReportNumber' = "20260010133"
[2026-01-28 04:31:56] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-28 04:31:56] [INFO]   -> Found value: Event spawned from BREATHING PROBLEMS.  [01/27/2026 22:31:36 TSCOTT] MOTHER IN LAW IS HAVING TROUBLE...
[2026-01-28 04:31:56] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from BREATHING PROBLEMS.  [01\/27\/2026 22:31:36 TSCOTT] MOTHER IN LAW IS HAVING TROUBLE BREATHING  HX OF LUNG CANCER  PT IS AWAKE AND ALERT FRONT DOOR UNLOCKED  [01\/27\/26 22:31:34 TSCOTT]]"
[2026-01-28 04:31:56] [INFO]   -> Set field 'cADLog' = "Event spawned from BREATHING PROBLEMS.  [01\/27\/2026 22:31:36 TSCOTT] MOTHER IN LAW IS HAVING TROUBLE BREATHING  HX OF LUNG CANCER  PT IS AWAKE AND ALERT FRONT DOOR UNLOCKED  [01\/27\/26 22:31:34 TSCOTT]]"
[2026-01-28 04:31:56] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-28 04:31:56] [INFO]   -> Found value: MONTEREY
[2026-01-28 04:31:56] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-01-28 04:31:56] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-28 04:31:56] [INFO]   -> Found value: COPPERHEAD
[2026-01-28 04:31:56] [INFO]   -> Set field 'streetName' = "COPPERHEAD"
[2026-01-28 04:31:56] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-28 04:31:56] [INFO]   -> Found value: DR
[2026-01-28 04:31:56] [INFO]   -> Set field 'streetType' = "DR"
[2026-01-28 04:31:56] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-28 04:31:56] [INFO]   -> Found value: 159 COPPERHEAD DR
[2026-01-28 04:31:56] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "159 COPPERHEAD DR"
[2026-01-28 04:31:56] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-01-28 04:31:56] [INFO] Concatenating street name and type
[2026-01-28 04:31:56] [INFO]   -> Combined street name: COPPERHEAD DR
[2026-01-28 04:31:56] [INFO] Built locationCoordinates from lat/lng: 36.12019,-85.19685
[2026-01-28 04:31:56] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000251","dispatchRunNumber":"2026000251","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":159,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"nERISIncidentLatitude":36.12019000000000090722096501849591732025146484375,"nERISIncidentLongitude":-85.1968499999999977490006131120026111602783203125,"alarm":"2026-01-27 22:31:36","dispatched":"2026-01-27 22:31:51","incidentLocationCross":"CLARKRANGE HWY\/DRIPPING SPRINGS RD","cADVehicleID":"PCFR","timedispatch":"2026-01-27 22:31:51","policeReportNumber":"20260010133","dispatchNotes":"Event spawned from BREATHING PROBLEMS.  [01\/27\/2026 22:31:36 TSCOTT] MOTHER IN LAW IS HAVING TROUBLE BREATHING  HX OF LUNG CANCER  PT IS AWAKE AND ALERT FRONT DOOR UNLOCKED  [01\/27\/26 22:31:34 TSCOTT]]","cADLog":"Event spawned from BREATHING PROBLEMS.  [01\/27\/2026 22:31:36 TSCOTT] MOTHER IN LAW IS HAVING TROUBLE BREATHING  HX OF LUNG CANCER  PT IS AWAKE AND ALERT FRONT DOOR UNLOCKED  [01\/27\/26 22:31:34 TSCOTT]]","incidentLocationCity":"MONTEREY","streetName":"COPPERHEAD DR","incidentAddressTextVersionStreet":"159 COPPERHEAD DR","locationCoordinates":"36.12019,-85.19685"}
[2026-01-28 04:31:56] [INFO] Number of extracted fields: 21
[2026-01-28 04:31:56] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-01-28 04:31:56] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC', Parsed IDs = ["PCFD","EMS","RESC"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-01-28 04:31:56] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-01-28 04:31:56] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-01-28 04:31:56] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-01-28 04:31:56] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-01-28 04:31:56] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-01-28 04:31:56] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-01-28 04:31:56] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-01-28 04:31:56] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-01-28 04:31:56] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-01-28 04:31:57] [INFO] Found existing IncidentTypeMapping with ID: 693e326c3c0e41cb3
[2026-01-28 04:32:05] [INFO] Created new Dispatches record with ID: 6979913d5de7759c6
[2026-01-28 04:32:05] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-01-28 04:32:06] [INFO] Using FTPS (SSL/TLS) connection
[2026-01-28 04:32:09] [INFO] Successfully uploaded file to V2 FTP server: /PCFD_20260010133_20260128_043156.XML
[2026-01-28 04:32:09] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010133_20260128_043156.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-01-28/PCFD_20260010133_20260128_043156.XML
[2026-01-28 04:32:09] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010133_20260128_043156.XML
[2026-01-28 06:26:57] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-02870.xml
[2026-01-28 06:26:57] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-02870.xml for user: 68d56363ec1209189
[2026-01-28 06:26:57] [INFO] File size: 1458 bytes
[2026-01-28 06:26:58] [INFO] Created FTPFiles record with ID: 6979ac322de2ae9e1
[2026-01-28 06:26:58] [INFO] About to extract fields from XML. File size: 1458 bytes
[2026-01-28 06:26:58] [INFO] Number of mappings: 21
[2026-01-28 06:26:58] [INFO] Starting XML parsing. Content length: 1458
[2026-01-28 06:26:58] [INFO] XML parsed successfully. Root element: Incident
[2026-01-28 06:26:58] [INFO] Processing 21 field mappings
[2026-01-28 06:26:58] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-01-28 06:26:58] [INFO]   -> Found value: 26-02870
[2026-01-28 06:26:58] [INFO]   -> Set field 'dispatchRunNumber' = "26-02870"
[2026-01-28 06:26:58] [INFO]   -> Set field 'cADNumber' = "26-02870"
[2026-01-28 06:26:58] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-01-28 06:26:58] [INFO]   -> Found value: 1008
[2026-01-28 06:26:58] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1008
[2026-01-28 06:26:58] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-01-28 06:26:58] [INFO]   -> Found value: N MAIN ST
[2026-01-28 06:26:58] [INFO]   -> Set field 'streetName' = "N MAIN ST"
[2026-01-28 06:26:58] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-01-28 06:26:58] [INFO]   -> No value found (null or empty)
[2026-01-28 06:26:58] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-01-28 06:26:58] [INFO]   -> Found value: SIKESTON
[2026-01-28 06:26:58] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2026-01-28 06:26:58] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-01-28 06:26:58] [INFO]   -> Found value: MDMC
[2026-01-28 06:26:58] [INFO]   -> Set field 'businessName' = "MDMC"
[2026-01-28 06:26:58] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-01-28 06:26:58] [INFO]   -> Found value: MO
[2026-01-28 06:26:58] [INFO]   -> Set field 'incidentLocationStateName' = "MO"
[2026-01-28 06:26:58] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-01-28 06:26:58] [INFO]   -> Found value: 63801
[2026-01-28 06:26:58] [INFO]   -> Set field 'nERISIncidentPostalCode' = 63801
[2026-01-28 06:26:58] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-01-28 06:26:58] [INFO]   -> Found value: 0
[2026-01-28 06:26:58] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2026-01-28 06:26:58] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-01-28 06:26:58] [INFO]   -> Found value: 0
[2026-01-28 06:26:58] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2026-01-28 06:26:58] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-01-28 06:26:58] [INFO]   -> Found value: FIRE-AIRCRAFT STANDBY
[2026-01-28 06:26:58] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE-AIRCRAFT STANDBY"
[2026-01-28 06:26:58] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-01-28 06:26:58] [INFO]   -> Found value: 01-27-2026 23:36:06|ETA 50 MINS 01-27-2026 23:40:55|SOUTH SCOTT EMS ADVISED COPIED PAGE AND THEY WIL...
[2026-01-28 06:26:58] [INFO]   -> Set field 'dispatchNotes' = "01-27-2026 23:36:06|ETA 50 MINS 01-27-2026 23:40:55|SOUTH SCOTT EMS ADVISED COPIED PAGE AND THEY WILL HAVE A TRUCK ENROUTE SHORTLY 01-28-2026 00:25:48|CANCELLED BY ARCH"
[2026-01-28 06:26:58] [INFO]   -> Set field 'cADLog' = "01-27-2026 23:36:06|ETA 50 MINS 01-27-2026 23:40:55|SOUTH SCOTT EMS ADVISED COPIED PAGE AND THEY WILL HAVE A TRUCK ENROUTE SHORTLY 01-28-2026 00:25:48|CANCELLED BY ARCH"
[2026-01-28 06:26:58] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-01-28 06:26:58] [INFO]   -> Found value: 01-27-2026T23:38:53
[2026-01-28 06:26:58] [INFO] Reformatted DD-MM-YYYY date '01-27-2026' (day=01, month=27) to ISO: 2026-27-01T23:38:53
[2026-01-28 06:26:58] [ERROR] Error formatting datetime '2026-27-01T23:38:53': Failed to parse time string (2026-27-01T23:38:53) at position 6 (7): Unexpected character
[2026-01-28 06:26:58] [INFO]   -> Set field 'alarm' = null
[2026-01-28 06:26:58] [INFO] Reformatted DD-MM-YYYY date '01-27-2026' (day=01, month=27) to ISO: 2026-27-01T23:38:53
[2026-01-28 06:26:58] [ERROR] Error formatting datetime '2026-27-01T23:38:53': Failed to parse time string (2026-27-01T23:38:53) at position 6 (7): Unexpected character
[2026-01-28 06:26:58] [INFO]   -> Set field 'dispatched' = null
[2026-01-28 06:26:58] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-01-28 06:26:58] [INFO]   -> No value found (null or empty)
[2026-01-28 06:26:58] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-01-28 06:26:58] [INFO]   -> No value found (null or empty)
[2026-01-28 06:26:58] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-01-28 06:26:58] [INFO]   -> Found value: SIK STILL
[2026-01-28 06:26:58] [INFO]   -> Set field 'cADVehicleID' = "SIK STILL"
[2026-01-28 06:26:58] [INFO]   -> Set field 'name' = "SIK STILL"
[2026-01-28 06:26:58] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-01-28 06:26:58] [INFO]   -> No value found (null or empty)
[2026-01-28 06:26:58] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-01-28 06:26:58] [INFO]   -> No value found (null or empty)
[2026-01-28 06:26:58] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-01-28 06:26:58] [INFO]   -> Found value: 01-28-2026T00:26:01
[2026-01-28 06:26:58] [INFO] Reformatted DD-MM-YYYY date '01-28-2026' (day=01, month=28) to ISO: 2026-28-01T00:26:01
[2026-01-28 06:26:58] [ERROR] Error formatting datetime '2026-28-01T00:26:01': Failed to parse time string (2026-28-01T00:26:01) at position 6 (8): Unexpected character
[2026-01-28 06:26:58] [INFO]   -> Set field 'timeunitclear' = null
[2026-01-28 06:26:58] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-01-28 06:26:58] [INFO]   -> Found value: 01-27-2026T23:38:53
[2026-01-28 06:26:58] [INFO] Reformatted DD-MM-YYYY date '01-27-2026' (day=01, month=27) to ISO: 2026-27-01T23:38:53
[2026-01-28 06:26:58] [ERROR] Error formatting datetime '2026-27-01T23:38:53': Failed to parse time string (2026-27-01T23:38:53) at position 6 (7): Unexpected character
[2026-01-28 06:26:58] [INFO]   -> Set field 'timedispatch' = null
[2026-01-28 06:26:58] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-01-28 06:26:58] [INFO]   -> Found value: SDPSFD
[2026-01-28 06:26:58] [INFO]   -> Set field 'cADAgencyIdentifier' = "SDPSFD"
[2026-01-28 06:26:58] [INFO] Finished extracting fields. Total fields extracted: 20
[2026-01-28 06:26:58] [INFO] Built locationCoordinates from lat/lng: 0,0
[2026-01-28 06:26:58] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-02870","cADNumber":"26-02870","incidentLocationStreetNumber":1008,"streetName":"N MAIN ST","incidentLocationCity":"SIKESTON","businessName":"MDMC","incidentLocationStateName":"MO","nERISIncidentPostalCode":63801,"nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"FIRE-AIRCRAFT STANDBY","dispatchNotes":"01-27-2026 23:36:06|ETA 50 MINS 01-27-2026 23:40:55|SOUTH SCOTT EMS ADVISED COPIED PAGE AND THEY WILL HAVE A TRUCK ENROUTE SHORTLY 01-28-2026 00:25:48|CANCELLED BY ARCH","cADLog":"01-27-2026 23:36:06|ETA 50 MINS 01-27-2026 23:40:55|SOUTH SCOTT EMS ADVISED COPIED PAGE AND THEY WILL HAVE A TRUCK ENROUTE SHORTLY 01-28-2026 00:25:48|CANCELLED BY ARCH","alarm":null,"dispatched":null,"cADVehicleID":"SIK STILL","name":"SIK STILL","timeunitclear":null,"timedispatch":null,"cADAgencyIdentifier":"SDPSFD","locationCoordinates":"0,0"}
[2026-01-28 06:26:58] [INFO] Number of extracted fields: 21
[2026-01-28 06:26:58] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SDPSFD'
[2026-01-28 06:26:58] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SDPSFD', Parsed IDs = ["SDPSFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 2
[2026-01-28 06:26:58] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SDPSFD"]
[2026-01-28 06:26:58] [INFO] Attempting SAASClient lookup for AgencyCode 'SDPSFD' (index 0) within mailbox's assigned agencies
[2026-01-28 06:26:58] [INFO] SUCCESS: Routed to agency 'Sikeston DPS' (ID: 6772cab7157b2ebde) at INDEX 0 based on AgencyCode 'SDPSFD'
[2026-01-28 06:26:58] [INFO] Fetched 4 stations from Stations module for agency 'Sikeston DPS': ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"]
[2026-01-28 06:26:58] [INFO] Final routing: saasclientId = 6772cab7157b2ebde, dispatchStationsIds = ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"], matchedAgencyIndex = 0
[2026-01-28 06:26:58] [INFO] Multi-agency routing matched mailbox default agency: 6772cab7157b2ebde (no update needed)
[2026-01-28 06:26:58] [INFO] Found existing IncidentTypeMapping with ID: 68e4158e875662f9c
[2026-01-28 06:27:00] [INFO] Created new Dispatches record with ID: 6979ac32ee72e3590
[2026-01-28 06:27:00] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-02870.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-01-28/SDPSFD_26-02870.xml
[2026-01-28 06:27:00] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-02870.xml
[2026-01-28 07:31:48] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-02856.xml
[2026-01-28 07:31:48] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-02856.xml for user: 68d56363ec1209189
[2026-01-28 07:31:48] [INFO] File size: 4067 bytes
[2026-01-28 07:31:51] [INFO] Created FTPFiles record with ID: 6979bb674046ce5f6
[2026-01-28 07:31:51] [INFO] About to extract fields from XML. File size: 4067 bytes
[2026-01-28 07:31:51] [INFO] Number of mappings: 21
[2026-01-28 07:31:51] [INFO] Starting XML parsing. Content length: 4067
[2026-01-28 07:31:51] [INFO] XML parsed successfully. Root element: Incident
[2026-01-28 07:31:51] [INFO] Processing 21 field mappings
[2026-01-28 07:31:51] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-01-28 07:31:51] [INFO]   -> Found value: 26-02856
[2026-01-28 07:31:51] [INFO]   -> Set field 'dispatchRunNumber' = "26-02856"
[2026-01-28 07:31:51] [INFO]   -> Set field 'cADNumber' = "26-02856"
[2026-01-28 07:31:51] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-01-28 07:31:51] [INFO]   -> Found value: 627
[2026-01-28 07:31:51] [INFO]   -> Set field 'incidentLocationStreetNumber' = 627
[2026-01-28 07:31:51] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-01-28 07:31:51] [INFO]   -> Found value: E GLADYS ST
[2026-01-28 07:31:51] [INFO]   -> Set field 'streetName' = "E GLADYS ST"
[2026-01-28 07:31:51] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-01-28 07:31:51] [INFO]   -> No value found (null or empty)
[2026-01-28 07:31:51] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-01-28 07:31:51] [INFO]   -> Found value: SIKESTON
[2026-01-28 07:31:51] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2026-01-28 07:31:51] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-01-28 07:31:51] [INFO]   -> No value found (null or empty)
[2026-01-28 07:31:51] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-01-28 07:31:51] [INFO]   -> Found value: MO
[2026-01-28 07:31:51] [INFO]   -> Set field 'incidentLocationStateName' = "MO"
[2026-01-28 07:31:51] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-01-28 07:31:51] [INFO]   -> Found value: 63801
[2026-01-28 07:31:51] [INFO]   -> Set field 'nERISIncidentPostalCode' = 63801
[2026-01-28 07:31:51] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-01-28 07:31:51] [INFO]   -> Found value: 0
[2026-01-28 07:31:51] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2026-01-28 07:31:51] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-01-28 07:31:51] [INFO]   -> Found value: 0
[2026-01-28 07:31:51] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2026-01-28 07:31:51] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-01-28 07:31:51] [INFO]   -> Found value: FIRE-STRUCTURE
[2026-01-28 07:31:51] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE-STRUCTURE"
[2026-01-28 07:31:51] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-01-28 07:31:51] [INFO]   -> Found value: 01-27-2026 21:15:02|Call Received on 01/27/2026 @ 21:15

CALLER ADVISED HOUSE IS ON FIRE 
2 PEOPLE I...
[2026-01-28 07:31:51] [INFO]   -> Set field 'dispatchNotes' = "01-27-2026 21:15:02|Call Received on 01\/27\/2026 @ 21:15\n\nCALLER ADVISED HOUSE IS ON FIRE \n2 PEOPLE INSIDE THE RESIDENCE THAT CANNOT GET OUT \n 01-27-2026 21:17:53|BMU CONTACTED 01-27-2026 21:19:27|A24 ON SCENE ADVISED STRUCTURE FULLY INVOLVED 01-27-2026 21:19:45|CONACTED LIBERTY GAS THEY ARE SENDING SOMEONE 01-27-2026 21:20:29|A24 ADVISED ONE SUBJECT STUCK INSIDE THE RESIDENCE 01-27-2026 21:28:26|1512 REQUESTING AIR EVAC 01-27-2026 21:30:22|1707 EN ROUTE STATION 1 01-27-2026 21:30:28|1703 EN ROUTE 01-27-2026 21:33:25|AIR EVAC 3 ADVISED THEY WILL ACCEPT ETA 12 MINTUES 01-27-2026 21:34:15|VEHICLE HAS BEEN MOVED PER 556 01-27-2026 21:35:54|1791 X4 01-27-2026 21:38:24|C92 ADVISED ONE EXTRICATED 01-27-2026 21:41:21|1510 REQUESTED 2ND AIR EVAC 01-27-2026 21:47:42|AIR EVAC 24 OUT OF POPULAR WILL ACCEPT LESS THAN 30 MINUTE ETA 01-27-2026 22:01:47|10-51 REQUESTED PER 570 FOR KEYS LOCKED IN CAR 01-27-2026 22:02:28|OFFICER LOCKED KEYS 01-27-2026 22:02:49|E GLADYS AND S MAIN 01-27-2026 22:03:39|D&K CONTACTED 01-27-2026 22:14:50|A25 ADVISED UNDER CONTROL 01-27-2026 22:43:14|1510 TRANSPORTING FLIGHT CREW TO ER 01-27-2026 22:43:18|AR ER 01-27-2026 22:43:39|CORRECTION 1510 AT ER 01-27-2026 23:00:55|1791 ADVISED ALL SCOTT CO RURAL PERSONAL CLEAR FROM SCENE BY COMMAND 01-27-2026 23:10:36|1510 ADVISED BACK AT THE HELIPAD WITH FLIGHT CREW NO PATIENT 01-27-2026 23:13:03|PT STILL IN ER 01-27-2026 23:18:48|WRECKER ON CALL AND BMU NEEDED 01-27-2026 23:19:05|DISREGARD LAST NOTE 01-28-2026 00:19:02|Disposition - SSCA:  RPT 01-28-2026 01:19:08|Disposition - SDPS PD:  NRN 01-28-2026 01:31:11|1500 ADVISED PT 1 HAS BEEN FLOWN TO MERCY ST LOUIS BY ARCH"
[2026-01-28 07:31:51] [INFO]   -> Set field 'cADLog' = "01-27-2026 21:15:02|Call Received on 01\/27\/2026 @ 21:15\n\nCALLER ADVISED HOUSE IS ON FIRE \n2 PEOPLE INSIDE THE RESIDENCE THAT CANNOT GET OUT \n 01-27-2026 21:17:53|BMU CONTACTED 01-27-2026 21:19:27|A24 ON SCENE ADVISED STRUCTURE FULLY INVOLVED 01-27-2026 21:19:45|CONACTED LIBERTY GAS THEY ARE SENDING SOMEONE 01-27-2026 21:20:29|A24 ADVISED ONE SUBJECT STUCK INSIDE THE RESIDENCE 01-27-2026 21:28:26|1512 REQUESTING AIR EVAC 01-27-2026 21:30:22|1707 EN ROUTE STATION 1 01-27-2026 21:30:28|1703 EN ROUTE 01-27-2026 21:33:25|AIR EVAC 3 ADVISED THEY WILL ACCEPT ETA 12 MINTUES 01-27-2026 21:34:15|VEHICLE HAS BEEN MOVED PER 556 01-27-2026 21:35:54|1791 X4 01-27-2026 21:38:24|C92 ADVISED ONE EXTRICATED 01-27-2026 21:41:21|1510 REQUESTED 2ND AIR EVAC 01-27-2026 21:47:42|AIR EVAC 24 OUT OF POPULAR WILL ACCEPT LESS THAN 30 MINUTE ETA 01-27-2026 22:01:47|10-51 REQUESTED PER 570 FOR KEYS LOCKED IN CAR 01-27-2026 22:02:28|OFFICER LOCKED KEYS 01-27-2026 22:02:49|E GLADYS AND S MAIN 01-27-2026 22:03:39|D&K CONTACTED 01-27-2026 22:14:50|A25 ADVISED UNDER CONTROL 01-27-2026 22:43:14|1510 TRANSPORTING FLIGHT CREW TO ER 01-27-2026 22:43:18|AR ER 01-27-2026 22:43:39|CORRECTION 1510 AT ER 01-27-2026 23:00:55|1791 ADVISED ALL SCOTT CO RURAL PERSONAL CLEAR FROM SCENE BY COMMAND 01-27-2026 23:10:36|1510 ADVISED BACK AT THE HELIPAD WITH FLIGHT CREW NO PATIENT 01-27-2026 23:13:03|PT STILL IN ER 01-27-2026 23:18:48|WRECKER ON CALL AND BMU NEEDED 01-27-2026 23:19:05|DISREGARD LAST NOTE 01-28-2026 00:19:02|Disposition - SSCA:  RPT 01-28-2026 01:19:08|Disposition - SDPS PD:  NRN 01-28-2026 01:31:11|1500 ADVISED PT 1 HAS BEEN FLOWN TO MERCY ST LOUIS BY ARCH"
[2026-01-28 07:31:51] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-01-28 07:31:51] [INFO]   -> Found value: 01-27-2026T21:16:44
[2026-01-28 07:31:51] [INFO] Reformatted DD-MM-YYYY date '01-27-2026' (day=01, month=27) to ISO: 2026-27-01T21:16:44
[2026-01-28 07:31:51] [ERROR] Error formatting datetime '2026-27-01T21:16:44': Failed to parse time string (2026-27-01T21:16:44) at position 6 (7): Unexpected character
[2026-01-28 07:31:51] [INFO]   -> Set field 'alarm' = null
[2026-01-28 07:31:51] [INFO] Reformatted DD-MM-YYYY date '01-27-2026' (day=01, month=27) to ISO: 2026-27-01T21:16:44
[2026-01-28 07:31:51] [ERROR] Error formatting datetime '2026-27-01T21:16:44': Failed to parse time string (2026-27-01T21:16:44) at position 6 (7): Unexpected character
[2026-01-28 07:31:51] [INFO]   -> Set field 'dispatched' = null
[2026-01-28 07:31:51] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-01-28 07:31:51] [INFO]   -> Found value: 01-27-2026T21:20:00
[2026-01-28 07:31:51] [INFO] Reformatted DD-MM-YYYY date '01-27-2026' (day=01, month=27) to ISO: 2026-27-01T21:20:00
[2026-01-28 07:31:51] [ERROR] Error formatting datetime '2026-27-01T21:20:00': Failed to parse time string (2026-27-01T21:20:00) at position 6 (7): Unexpected character
[2026-01-28 07:31:51] [INFO]   -> Set field 'onScene' = null
[2026-01-28 07:31:51] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-01-28 07:31:51] [INFO]   -> Found value: 01-28-2026T01:31:20
[2026-01-28 07:31:51] [INFO] Reformatted DD-MM-YYYY date '01-28-2026' (day=01, month=28) to ISO: 2026-28-01T01:31:20
[2026-01-28 07:31:51] [ERROR] Error formatting datetime '2026-28-01T01:31:20': Failed to parse time string (2026-28-01T01:31:20) at position 6 (8): Unexpected character
[2026-01-28 07:31:51] [INFO]   -> Set field 'cleared' = null
[2026-01-28 07:31:51] [INFO] Reformatted DD-MM-YYYY date '01-28-2026' (day=01, month=28) to ISO: 2026-28-01T01:31:20
[2026-01-28 07:31:51] [ERROR] Error formatting datetime '2026-28-01T01:31:20': Failed to parse time string (2026-28-01T01:31:20) at position 6 (8): Unexpected character
[2026-01-28 07:31:51] [INFO]   -> Set field 'inService' = null
[2026-01-28 07:31:51] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-01-28 07:31:51] [INFO]   -> Found value: 1701
[2026-01-28 07:31:51] [INFO]   -> Set field 'cADVehicleID' = 1701
[2026-01-28 07:31:51] [INFO]   -> Set field 'name' = "1701"
[2026-01-28 07:31:51] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-01-28 07:31:51] [INFO]   -> Found value: 01-27-2026T21:30:01
[2026-01-28 07:31:51] [INFO] Reformatted DD-MM-YYYY date '01-27-2026' (day=01, month=27) to ISO: 2026-27-01T21:30:01
[2026-01-28 07:31:51] [ERROR] Error formatting datetime '2026-27-01T21:30:01': Failed to parse time string (2026-27-01T21:30:01) at position 6 (7): Unexpected character
[2026-01-28 07:31:51] [INFO]   -> Set field 'timeenroutetoscene' = null
[2026-01-28 07:31:51] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-01-28 07:31:51] [INFO]   -> Found value: 01-27-2026T21:59:50
[2026-01-28 07:31:51] [INFO] Reformatted DD-MM-YYYY date '01-27-2026' (day=01, month=27) to ISO: 2026-27-01T21:59:50
[2026-01-28 07:31:51] [ERROR] Error formatting datetime '2026-27-01T21:59:50': Failed to parse time string (2026-27-01T21:59:50) at position 6 (7): Unexpected character
[2026-01-28 07:31:51] [INFO]   -> Set field 'timeonscene' = null
[2026-01-28 07:31:51] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-01-28 07:31:51] [INFO]   -> Found value: 01-27-2026T23:54:03
[2026-01-28 07:31:51] [INFO] Reformatted DD-MM-YYYY date '01-27-2026' (day=01, month=27) to ISO: 2026-27-01T23:54:03
[2026-01-28 07:31:51] [ERROR] Error formatting datetime '2026-27-01T23:54:03': Failed to parse time string (2026-27-01T23:54:03) at position 6 (7): Unexpected character
[2026-01-28 07:31:51] [INFO]   -> Set field 'timeunitclear' = null
[2026-01-28 07:31:51] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-01-28 07:31:51] [INFO]   -> No value found (null or empty)
[2026-01-28 07:31:51] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-01-28 07:31:51] [INFO]   -> Found value: SCRFD
[2026-01-28 07:31:51] [INFO]   -> Set field 'cADAgencyIdentifier' = "SCRFD"
[2026-01-28 07:31:51] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-01-28 07:31:51] [INFO] Built locationCoordinates from lat/lng: 0,0
[2026-01-28 07:31:51] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-02856","cADNumber":"26-02856","incidentLocationStreetNumber":627,"streetName":"E GLADYS ST","incidentLocationCity":"SIKESTON","incidentLocationStateName":"MO","nERISIncidentPostalCode":63801,"nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"FIRE-STRUCTURE","dispatchNotes":"01-27-2026 21:15:02|Call Received on 01\/27\/2026 @ 21:15\n\nCALLER ADVISED HOUSE IS ON FIRE \n2 PEOPLE INSIDE THE RESIDENCE THAT CANNOT GET OUT \n 01-27-2026 21:17:53|BMU CONTACTED 01-27-2026 21:19:27|A24 ON SCENE ADVISED STRUCTURE FULLY INVOLVED 01-27-2026 21:19:45|CONACTED LIBERTY GAS THEY ARE SENDING SOMEONE 01-27-2026 21:20:29|A24 ADVISED ONE SUBJECT STUCK INSIDE THE RESIDENCE 01-27-2026 21:28:26|1512 REQUESTING AIR EVAC 01-27-2026 21:30:22|1707 EN ROUTE STATION 1 01-27-2026 21:30:28|1703 EN ROUTE 01-27-2026 21:33:25|AIR EVAC 3 ADVISED THEY WILL ACCEPT ETA 12 MINTUES 01-27-2026 21:34:15|VEHICLE HAS BEEN MOVED PER 556 01-27-2026 21:35:54|1791 X4 01-27-2026 21:38:24|C92 ADVISED ONE EXTRICATED 01-27-2026 21:41:21|1510 REQUESTED 2ND AIR EVAC 01-27-2026 21:47:42|AIR EVAC 24 OUT OF POPULAR WILL ACCEPT LESS THAN 30 MINUTE ETA 01-27-2026 22:01:47|10-51 REQUESTED PER 570 FOR KEYS LOCKED IN CAR 01-27-2026 22:02:28|OFFICER LOCKED KEYS 01-27-2026 22:02:49|E GLADYS AND S MAIN 01-27-2026 22:03:39|D&K CONTACTED 01-27-2026 22:14:50|A25 ADVISED UNDER CONTROL 01-27-2026 22:43:14|1510 TRANSPORTING FLIGHT CREW TO ER 01-27-2026 22:43:18|AR ER 01-27-2026 22:43:39|CORRECTION 1510 AT ER 01-27-2026 23:00:55|1791 ADVISED ALL SCOTT CO RURAL PERSONAL CLEAR FROM SCENE BY COMMAND 01-27-2026 23:10:36|1510 ADVISED BACK AT THE HELIPAD WITH FLIGHT CREW NO PATIENT 01-27-2026 23:13:03|PT STILL IN ER 01-27-2026 23:18:48|WRECKER ON CALL AND BMU NEEDED 01-27-2026 23:19:05|DISREGARD LAST NOTE 01-28-2026 00:19:02|Disposition - SSCA:  RPT 01-28-2026 01:19:08|Disposition - SDPS PD:  NRN 01-28-2026 01:31:11|1500 ADVISED PT 1 HAS BEEN FLOWN TO MERCY ST LOUIS BY ARCH","cADLog":"01-27-2026 21:15:02|Call Received on 01\/27\/2026 @ 21:15\n\nCALLER ADVISED HOUSE IS ON FIRE \n2 PEOPLE INSIDE THE RESIDENCE THAT CANNOT GET OUT \n 01-27-2026 21:17:53|BMU CONTACTED 01-27-2026 21:19:27|A24 ON SCENE ADVISED STRUCTURE FULLY INVOLVED 01-27-2026 21:19:45|CONACTED LIBERTY GAS THEY ARE SENDING SOMEONE 01-27-2026 21:20:29|A24 ADVISED ONE SUBJECT STUCK INSIDE THE RESIDENCE 01-27-2026 21:28:26|1512 REQUESTING AIR EVAC 01-27-2026 21:30:22|1707 EN ROUTE STATION 1 01-27-2026 21:30:28|1703 EN ROUTE 01-27-2026 21:33:25|AIR EVAC 3 ADVISED THEY WILL ACCEPT ETA 12 MINTUES 01-27-2026 21:34:15|VEHICLE HAS BEEN MOVED PER 556 01-27-2026 21:35:54|1791 X4 01-27-2026 21:38:24|C92 ADVISED ONE EXTRICATED 01-27-2026 21:41:21|1510 REQUESTED 2ND AIR EVAC 01-27-2026 21:47:42|AIR EVAC 24 OUT OF POPULAR WILL ACCEPT LESS THAN 30 MINUTE ETA 01-27-2026 22:01:47|10-51 REQUESTED PER 570 FOR KEYS LOCKED IN CAR 01-27-2026 22:02:28|OFFICER LOCKED KEYS 01-27-2026 22:02:49|E GLADYS AND S MAIN 01-27-2026 22:03:39|D&K CONTACTED 01-27-2026 22:14:50|A25 ADVISED UNDER CONTROL 01-27-2026 22:43:14|1510 TRANSPORTING FLIGHT CREW TO ER 01-27-2026 22:43:18|AR ER 01-27-2026 22:43:39|CORRECTION 1510 AT ER 01-27-2026 23:00:55|1791 ADVISED ALL SCOTT CO RURAL PERSONAL CLEAR FROM SCENE BY COMMAND 01-27-2026 23:10:36|1510 ADVISED BACK AT THE HELIPAD WITH FLIGHT CREW NO PATIENT 01-27-2026 23:13:03|PT STILL IN ER 01-27-2026 23:18:48|WRECKER ON CALL AND BMU NEEDED 01-27-2026 23:19:05|DISREGARD LAST NOTE 01-28-2026 00:19:02|Disposition - SSCA:  RPT 01-28-2026 01:19:08|Disposition - SDPS PD:  NRN 01-28-2026 01:31:11|1500 ADVISED PT 1 HAS BEEN FLOWN TO MERCY ST LOUIS BY ARCH","alarm":null,"dispatched":null,"onScene":null,"cleared":null,"inService":null,"cADVehicleID":1701,"name":"1701","timeenroutetoscene":null,"timeonscene":null,"timeunitclear":null,"cADAgencyIdentifier":"SCRFD","locationCoordinates":"0,0"}
[2026-01-28 07:31:51] [INFO] Number of extracted fields: 24
[2026-01-28 07:31:51] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SCRFD'
[2026-01-28 07:31:51] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SCRFD', Parsed IDs = ["SCRFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 2
[2026-01-28 07:31:51] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SCRFD"]
[2026-01-28 07:31:51] [INFO] Attempting SAASClient lookup for AgencyCode 'SCRFD' (index 0) within mailbox's assigned agencies
[2026-01-28 07:31:52] [INFO] SUCCESS: Routed to agency 'Scott County Rural Fire Protection District' (ID: 6643bdb30659f00d8) at INDEX 0 based on AgencyCode 'SCRFD'
[2026-01-28 07:31:52] [INFO] Fetched 6 stations from Stations module for agency 'Scott County Rural Fire Protection District': ["690279491710f7b8e","6644dbe7e17f1c3de","6644dbb3886c9768f","6644d0c9be0e4ec53","6644e2fe1572c01ae","69027d47e7c4fc65b"]
[2026-01-28 07:31:52] [INFO] Final routing: saasclientId = 6643bdb30659f00d8, dispatchStationsIds = ["690279491710f7b8e","6644dbe7e17f1c3de","6644dbb3886c9768f","6644d0c9be0e4ec53","6644e2fe1572c01ae","69027d47e7c4fc65b"], matchedAgencyIndex = 0
[2026-01-28 07:31:52] [INFO] Updated FTPFiles record saasclientId to routed agency: 6643bdb30659f00d8
[2026-01-28 07:31:52] [INFO] Found existing IncidentTypeMapping with ID: 6949a536db3ccf5b5
[2026-01-28 07:32:08] [INFO] Created new Dispatches record with ID: 6979bb68d43365fcd
[2026-01-28 07:32:08] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-02856.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-01-28/SCRFD_26-02856.xml
[2026-01-28 07:32:08] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-02856.xml
[2026-01-28 07:32:08] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-02856.xml
[2026-01-28 07:32:08] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-02856.xml for user: 68d56363ec1209189
[2026-01-28 07:32:08] [INFO] File size: 4113 bytes
[2026-01-28 07:32:08] [INFO] Created FTPFiles record with ID: 6979bb78aaeafa1a0
[2026-01-28 07:32:08] [INFO] About to extract fields from XML. File size: 4113 bytes
[2026-01-28 07:32:08] [INFO] Number of mappings: 21
[2026-01-28 07:32:08] [INFO] Starting XML parsing. Content length: 4113
[2026-01-28 07:32:08] [INFO] XML parsed successfully. Root element: Incident
[2026-01-28 07:32:08] [INFO] Processing 21 field mappings
[2026-01-28 07:32:08] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-01-28 07:32:08] [INFO]   -> Found value: 26-02856
[2026-01-28 07:32:08] [INFO]   -> Set field 'dispatchRunNumber' = "26-02856"
[2026-01-28 07:32:08] [INFO]   -> Set field 'cADNumber' = "26-02856"
[2026-01-28 07:32:08] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-01-28 07:32:08] [INFO]   -> Found value: 627
[2026-01-28 07:32:08] [INFO]   -> Set field 'incidentLocationStreetNumber' = 627
[2026-01-28 07:32:08] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-01-28 07:32:08] [INFO]   -> Found value: E GLADYS ST
[2026-01-28 07:32:08] [INFO]   -> Set field 'streetName' = "E GLADYS ST"
[2026-01-28 07:32:08] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-01-28 07:32:08] [INFO]   -> No value found (null or empty)
[2026-01-28 07:32:08] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-01-28 07:32:08] [INFO]   -> Found value: SIKESTON
[2026-01-28 07:32:08] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2026-01-28 07:32:08] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-01-28 07:32:08] [INFO]   -> No value found (null or empty)
[2026-01-28 07:32:08] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-01-28 07:32:08] [INFO]   -> Found value: MO
[2026-01-28 07:32:08] [INFO]   -> Set field 'incidentLocationStateName' = "MO"
[2026-01-28 07:32:08] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-01-28 07:32:08] [INFO]   -> Found value: 63801
[2026-01-28 07:32:08] [INFO]   -> Set field 'nERISIncidentPostalCode' = 63801
[2026-01-28 07:32:08] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-01-28 07:32:08] [INFO]   -> Found value: 0
[2026-01-28 07:32:08] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2026-01-28 07:32:08] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-01-28 07:32:08] [INFO]   -> Found value: 0
[2026-01-28 07:32:08] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2026-01-28 07:32:08] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-01-28 07:32:08] [INFO]   -> Found value: FIRE-STRUCTURE
[2026-01-28 07:32:08] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE-STRUCTURE"
[2026-01-28 07:32:08] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-01-28 07:32:08] [INFO]   -> Found value: 01-27-2026 21:15:02|Call Received on 01/27/2026 @ 21:15

CALLER ADVISED HOUSE IS ON FIRE 
2 PEOPLE I...
[2026-01-28 07:32:08] [INFO]   -> Set field 'dispatchNotes' = "01-27-2026 21:15:02|Call Received on 01\/27\/2026 @ 21:15\n\nCALLER ADVISED HOUSE IS ON FIRE \n2 PEOPLE INSIDE THE RESIDENCE THAT CANNOT GET OUT \n 01-27-2026 21:17:53|BMU CONTACTED 01-27-2026 21:19:27|A24 ON SCENE ADVISED STRUCTURE FULLY INVOLVED 01-27-2026 21:19:45|CONACTED LIBERTY GAS THEY ARE SENDING SOMEONE 01-27-2026 21:20:29|A24 ADVISED ONE SUBJECT STUCK INSIDE THE RESIDENCE 01-27-2026 21:28:26|1512 REQUESTING AIR EVAC 01-27-2026 21:30:22|1707 EN ROUTE STATION 1 01-27-2026 21:30:28|1703 EN ROUTE 01-27-2026 21:33:25|AIR EVAC 3 ADVISED THEY WILL ACCEPT ETA 12 MINTUES 01-27-2026 21:34:15|VEHICLE HAS BEEN MOVED PER 556 01-27-2026 21:35:54|1791 X4 01-27-2026 21:38:24|C92 ADVISED ONE EXTRICATED 01-27-2026 21:41:21|1510 REQUESTED 2ND AIR EVAC 01-27-2026 21:47:42|AIR EVAC 24 OUT OF POPULAR WILL ACCEPT LESS THAN 30 MINUTE ETA 01-27-2026 22:01:47|10-51 REQUESTED PER 570 FOR KEYS LOCKED IN CAR 01-27-2026 22:02:28|OFFICER LOCKED KEYS 01-27-2026 22:02:49|E GLADYS AND S MAIN 01-27-2026 22:03:39|D&K CONTACTED 01-27-2026 22:14:50|A25 ADVISED UNDER CONTROL 01-27-2026 22:43:14|1510 TRANSPORTING FLIGHT CREW TO ER 01-27-2026 22:43:18|AR ER 01-27-2026 22:43:39|CORRECTION 1510 AT ER 01-27-2026 23:00:55|1791 ADVISED ALL SCOTT CO RURAL PERSONAL CLEAR FROM SCENE BY COMMAND 01-27-2026 23:10:36|1510 ADVISED BACK AT THE HELIPAD WITH FLIGHT CREW NO PATIENT 01-27-2026 23:13:03|PT STILL IN ER 01-27-2026 23:18:48|WRECKER ON CALL AND BMU NEEDED 01-27-2026 23:19:05|DISREGARD LAST NOTE 01-28-2026 00:19:02|Disposition - SSCA:  RPT 01-28-2026 01:19:08|Disposition - SDPS PD:  NRN 01-28-2026 01:31:11|1500 ADVISED PT 1 HAS BEEN FLOWN TO MERCY ST LOUIS BY ARCH"
[2026-01-28 07:32:08] [INFO]   -> Set field 'cADLog' = "01-27-2026 21:15:02|Call Received on 01\/27\/2026 @ 21:15\n\nCALLER ADVISED HOUSE IS ON FIRE \n2 PEOPLE INSIDE THE RESIDENCE THAT CANNOT GET OUT \n 01-27-2026 21:17:53|BMU CONTACTED 01-27-2026 21:19:27|A24 ON SCENE ADVISED STRUCTURE FULLY INVOLVED 01-27-2026 21:19:45|CONACTED LIBERTY GAS THEY ARE SENDING SOMEONE 01-27-2026 21:20:29|A24 ADVISED ONE SUBJECT STUCK INSIDE THE RESIDENCE 01-27-2026 21:28:26|1512 REQUESTING AIR EVAC 01-27-2026 21:30:22|1707 EN ROUTE STATION 1 01-27-2026 21:30:28|1703 EN ROUTE 01-27-2026 21:33:25|AIR EVAC 3 ADVISED THEY WILL ACCEPT ETA 12 MINTUES 01-27-2026 21:34:15|VEHICLE HAS BEEN MOVED PER 556 01-27-2026 21:35:54|1791 X4 01-27-2026 21:38:24|C92 ADVISED ONE EXTRICATED 01-27-2026 21:41:21|1510 REQUESTED 2ND AIR EVAC 01-27-2026 21:47:42|AIR EVAC 24 OUT OF POPULAR WILL ACCEPT LESS THAN 30 MINUTE ETA 01-27-2026 22:01:47|10-51 REQUESTED PER 570 FOR KEYS LOCKED IN CAR 01-27-2026 22:02:28|OFFICER LOCKED KEYS 01-27-2026 22:02:49|E GLADYS AND S MAIN 01-27-2026 22:03:39|D&K CONTACTED 01-27-2026 22:14:50|A25 ADVISED UNDER CONTROL 01-27-2026 22:43:14|1510 TRANSPORTING FLIGHT CREW TO ER 01-27-2026 22:43:18|AR ER 01-27-2026 22:43:39|CORRECTION 1510 AT ER 01-27-2026 23:00:55|1791 ADVISED ALL SCOTT CO RURAL PERSONAL CLEAR FROM SCENE BY COMMAND 01-27-2026 23:10:36|1510 ADVISED BACK AT THE HELIPAD WITH FLIGHT CREW NO PATIENT 01-27-2026 23:13:03|PT STILL IN ER 01-27-2026 23:18:48|WRECKER ON CALL AND BMU NEEDED 01-27-2026 23:19:05|DISREGARD LAST NOTE 01-28-2026 00:19:02|Disposition - SSCA:  RPT 01-28-2026 01:19:08|Disposition - SDPS PD:  NRN 01-28-2026 01:31:11|1500 ADVISED PT 1 HAS BEEN FLOWN TO MERCY ST LOUIS BY ARCH"
[2026-01-28 07:32:08] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-01-28 07:32:08] [INFO]   -> Found value: 01-27-2026T21:16:44
[2026-01-28 07:32:08] [INFO] Reformatted DD-MM-YYYY date '01-27-2026' (day=01, month=27) to ISO: 2026-27-01T21:16:44
[2026-01-28 07:32:08] [ERROR] Error formatting datetime '2026-27-01T21:16:44': Failed to parse time string (2026-27-01T21:16:44) at position 6 (7): Unexpected character
[2026-01-28 07:32:08] [INFO]   -> Set field 'alarm' = null
[2026-01-28 07:32:08] [INFO] Reformatted DD-MM-YYYY date '01-27-2026' (day=01, month=27) to ISO: 2026-27-01T21:16:44
[2026-01-28 07:32:08] [ERROR] Error formatting datetime '2026-27-01T21:16:44': Failed to parse time string (2026-27-01T21:16:44) at position 6 (7): Unexpected character
[2026-01-28 07:32:08] [INFO]   -> Set field 'dispatched' = null
[2026-01-28 07:32:08] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-01-28 07:32:08] [INFO]   -> Found value: 01-27-2026T21:20:00
[2026-01-28 07:32:08] [INFO] Reformatted DD-MM-YYYY date '01-27-2026' (day=01, month=27) to ISO: 2026-27-01T21:20:00
[2026-01-28 07:32:08] [ERROR] Error formatting datetime '2026-27-01T21:20:00': Failed to parse time string (2026-27-01T21:20:00) at position 6 (7): Unexpected character
[2026-01-28 07:32:08] [INFO]   -> Set field 'onScene' = null
[2026-01-28 07:32:08] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-01-28 07:32:08] [INFO]   -> Found value: 01-28-2026T01:31:20
[2026-01-28 07:32:08] [INFO] Reformatted DD-MM-YYYY date '01-28-2026' (day=01, month=28) to ISO: 2026-28-01T01:31:20
[2026-01-28 07:32:08] [ERROR] Error formatting datetime '2026-28-01T01:31:20': Failed to parse time string (2026-28-01T01:31:20) at position 6 (8): Unexpected character
[2026-01-28 07:32:08] [INFO]   -> Set field 'cleared' = null
[2026-01-28 07:32:08] [INFO] Reformatted DD-MM-YYYY date '01-28-2026' (day=01, month=28) to ISO: 2026-28-01T01:31:20
[2026-01-28 07:32:08] [ERROR] Error formatting datetime '2026-28-01T01:31:20': Failed to parse time string (2026-28-01T01:31:20) at position 6 (8): Unexpected character
[2026-01-28 07:32:08] [INFO]   -> Set field 'inService' = null
[2026-01-28 07:32:08] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-01-28 07:32:08] [INFO]   -> Found value: ADD PERSONEL
[2026-01-28 07:32:08] [INFO]   -> Set field 'cADVehicleID' = "ADD PERSONEL"
[2026-01-28 07:32:08] [INFO]   -> Set field 'name' = "ADD PERSONEL"
[2026-01-28 07:32:08] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-01-28 07:32:08] [INFO]   -> No value found (null or empty)
[2026-01-28 07:32:08] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-01-28 07:32:08] [INFO]   -> No value found (null or empty)
[2026-01-28 07:32:08] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-01-28 07:32:08] [INFO]   -> Found value: 01-28-2026T01:31:20
[2026-01-28 07:32:08] [INFO] Reformatted DD-MM-YYYY date '01-28-2026' (day=01, month=28) to ISO: 2026-28-01T01:31:20
[2026-01-28 07:32:08] [ERROR] Error formatting datetime '2026-28-01T01:31:20': Failed to parse time string (2026-28-01T01:31:20) at position 6 (8): Unexpected character
[2026-01-28 07:32:08] [INFO]   -> Set field 'timeunitclear' = null
[2026-01-28 07:32:08] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-01-28 07:32:08] [INFO]   -> Found value: 01-27-2026T21:26:32
[2026-01-28 07:32:08] [INFO] Reformatted DD-MM-YYYY date '01-27-2026' (day=01, month=27) to ISO: 2026-27-01T21:26:32
[2026-01-28 07:32:08] [ERROR] Error formatting datetime '2026-27-01T21:26:32': Failed to parse time string (2026-27-01T21:26:32) at position 6 (7): Unexpected character
[2026-01-28 07:32:08] [INFO]   -> Set field 'timedispatch' = null
[2026-01-28 07:32:08] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-01-28 07:32:08] [INFO]   -> Found value: SDPSFD
[2026-01-28 07:32:08] [INFO]   -> Set field 'cADAgencyIdentifier' = "SDPSFD"
[2026-01-28 07:32:08] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-01-28 07:32:08] [INFO] Built locationCoordinates from lat/lng: 0,0
[2026-01-28 07:32:08] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-02856","cADNumber":"26-02856","incidentLocationStreetNumber":627,"streetName":"E GLADYS ST","incidentLocationCity":"SIKESTON","incidentLocationStateName":"MO","nERISIncidentPostalCode":63801,"nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"FIRE-STRUCTURE","dispatchNotes":"01-27-2026 21:15:02|Call Received on 01\/27\/2026 @ 21:15\n\nCALLER ADVISED HOUSE IS ON FIRE \n2 PEOPLE INSIDE THE RESIDENCE THAT CANNOT GET OUT \n 01-27-2026 21:17:53|BMU CONTACTED 01-27-2026 21:19:27|A24 ON SCENE ADVISED STRUCTURE FULLY INVOLVED 01-27-2026 21:19:45|CONACTED LIBERTY GAS THEY ARE SENDING SOMEONE 01-27-2026 21:20:29|A24 ADVISED ONE SUBJECT STUCK INSIDE THE RESIDENCE 01-27-2026 21:28:26|1512 REQUESTING AIR EVAC 01-27-2026 21:30:22|1707 EN ROUTE STATION 1 01-27-2026 21:30:28|1703 EN ROUTE 01-27-2026 21:33:25|AIR EVAC 3 ADVISED THEY WILL ACCEPT ETA 12 MINTUES 01-27-2026 21:34:15|VEHICLE HAS BEEN MOVED PER 556 01-27-2026 21:35:54|1791 X4 01-27-2026 21:38:24|C92 ADVISED ONE EXTRICATED 01-27-2026 21:41:21|1510 REQUESTED 2ND AIR EVAC 01-27-2026 21:47:42|AIR EVAC 24 OUT OF POPULAR WILL ACCEPT LESS THAN 30 MINUTE ETA 01-27-2026 22:01:47|10-51 REQUESTED PER 570 FOR KEYS LOCKED IN CAR 01-27-2026 22:02:28|OFFICER LOCKED KEYS 01-27-2026 22:02:49|E GLADYS AND S MAIN 01-27-2026 22:03:39|D&K CONTACTED 01-27-2026 22:14:50|A25 ADVISED UNDER CONTROL 01-27-2026 22:43:14|1510 TRANSPORTING FLIGHT CREW TO ER 01-27-2026 22:43:18|AR ER 01-27-2026 22:43:39|CORRECTION 1510 AT ER 01-27-2026 23:00:55|1791 ADVISED ALL SCOTT CO RURAL PERSONAL CLEAR FROM SCENE BY COMMAND 01-27-2026 23:10:36|1510 ADVISED BACK AT THE HELIPAD WITH FLIGHT CREW NO PATIENT 01-27-2026 23:13:03|PT STILL IN ER 01-27-2026 23:18:48|WRECKER ON CALL AND BMU NEEDED 01-27-2026 23:19:05|DISREGARD LAST NOTE 01-28-2026 00:19:02|Disposition - SSCA:  RPT 01-28-2026 01:19:08|Disposition - SDPS PD:  NRN 01-28-2026 01:31:11|1500 ADVISED PT 1 HAS BEEN FLOWN TO MERCY ST LOUIS BY ARCH","cADLog":"01-27-2026 21:15:02|Call Received on 01\/27\/2026 @ 21:15\n\nCALLER ADVISED HOUSE IS ON FIRE \n2 PEOPLE INSIDE THE RESIDENCE THAT CANNOT GET OUT \n 01-27-2026 21:17:53|BMU CONTACTED 01-27-2026 21:19:27|A24 ON SCENE ADVISED STRUCTURE FULLY INVOLVED 01-27-2026 21:19:45|CONACTED LIBERTY GAS THEY ARE SENDING SOMEONE 01-27-2026 21:20:29|A24 ADVISED ONE SUBJECT STUCK INSIDE THE RESIDENCE 01-27-2026 21:28:26|1512 REQUESTING AIR EVAC 01-27-2026 21:30:22|1707 EN ROUTE STATION 1 01-27-2026 21:30:28|1703 EN ROUTE 01-27-2026 21:33:25|AIR EVAC 3 ADVISED THEY WILL ACCEPT ETA 12 MINTUES 01-27-2026 21:34:15|VEHICLE HAS BEEN MOVED PER 556 01-27-2026 21:35:54|1791 X4 01-27-2026 21:38:24|C92 ADVISED ONE EXTRICATED 01-27-2026 21:41:21|1510 REQUESTED 2ND AIR EVAC 01-27-2026 21:47:42|AIR EVAC 24 OUT OF POPULAR WILL ACCEPT LESS THAN 30 MINUTE ETA 01-27-2026 22:01:47|10-51 REQUESTED PER 570 FOR KEYS LOCKED IN CAR 01-27-2026 22:02:28|OFFICER LOCKED KEYS 01-27-2026 22:02:49|E GLADYS AND S MAIN 01-27-2026 22:03:39|D&K CONTACTED 01-27-2026 22:14:50|A25 ADVISED UNDER CONTROL 01-27-2026 22:43:14|1510 TRANSPORTING FLIGHT CREW TO ER 01-27-2026 22:43:18|AR ER 01-27-2026 22:43:39|CORRECTION 1510 AT ER 01-27-2026 23:00:55|1791 ADVISED ALL SCOTT CO RURAL PERSONAL CLEAR FROM SCENE BY COMMAND 01-27-2026 23:10:36|1510 ADVISED BACK AT THE HELIPAD WITH FLIGHT CREW NO PATIENT 01-27-2026 23:13:03|PT STILL IN ER 01-27-2026 23:18:48|WRECKER ON CALL AND BMU NEEDED 01-27-2026 23:19:05|DISREGARD LAST NOTE 01-28-2026 00:19:02|Disposition - SSCA:  RPT 01-28-2026 01:19:08|Disposition - SDPS PD:  NRN 01-28-2026 01:31:11|1500 ADVISED PT 1 HAS BEEN FLOWN TO MERCY ST LOUIS BY ARCH","alarm":null,"dispatched":null,"onScene":null,"cleared":null,"inService":null,"cADVehicleID":"ADD PERSONEL","name":"ADD PERSONEL","timeunitclear":null,"timedispatch":null,"cADAgencyIdentifier":"SDPSFD","locationCoordinates":"0,0"}
[2026-01-28 07:32:08] [INFO] Number of extracted fields: 23
[2026-01-28 07:32:08] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SDPSFD'
[2026-01-28 07:32:08] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SDPSFD', Parsed IDs = ["SDPSFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 2
[2026-01-28 07:32:08] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SDPSFD"]
[2026-01-28 07:32:08] [INFO] Attempting SAASClient lookup for AgencyCode 'SDPSFD' (index 0) within mailbox's assigned agencies
[2026-01-28 07:32:08] [INFO] SUCCESS: Routed to agency 'Sikeston DPS' (ID: 6772cab7157b2ebde) at INDEX 0 based on AgencyCode 'SDPSFD'
[2026-01-28 07:32:09] [INFO] Fetched 4 stations from Stations module for agency 'Sikeston DPS': ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"]
[2026-01-28 07:32:09] [INFO] Final routing: saasclientId = 6772cab7157b2ebde, dispatchStationsIds = ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"], matchedAgencyIndex = 0
[2026-01-28 07:32:09] [INFO] Multi-agency routing matched mailbox default agency: 6772cab7157b2ebde (no update needed)
[2026-01-28 07:32:09] [INFO] Found existing IncidentTypeMapping with ID: 68e4158e868e55c0c
[2026-01-28 07:32:10] [INFO] Created new Dispatches record with ID: 6979bb7979e570270
[2026-01-28 07:32:10] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-02856.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-01-28/SDPSFD_26-02856.xml
[2026-01-28 07:32:10] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-02856.xml
[2026-01-28 08:58:46] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010154_20260128_085846.XML
[2026-01-28 08:58:46] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010154_20260128_085846.XML for user: 68f1466aed072ad4a
[2026-01-28 08:58:46] [INFO] File size: 5521 bytes
[2026-01-28 08:58:47] [INFO] Created FTPFiles record with ID: 6979cfc72a3cdcb46
[2026-01-28 08:58:47] [INFO] About to extract fields from XML. File size: 5521 bytes
[2026-01-28 08:58:47] [INFO] Number of mappings: 28
[2026-01-28 08:58:47] [INFO] Starting XML parsing. Content length: 5521
[2026-01-28 08:58:47] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-28 08:58:47] [INFO] Processing 28 field mappings
[2026-01-28 08:58:47] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-28 08:58:47] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-01-28 08:58:47] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-28 08:58:47] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-01-28 08:58:47] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-01-28 08:58:47] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-01-28 08:58:47] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-28 08:58:47] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-01-28 08:58:47] [INFO]   -> Found value: 2026000252
[2026-01-28 08:58:47] [INFO]   -> Set field 'incidentInternalId' = "2026000252"
[2026-01-28 08:58:47] [INFO]   -> Set field 'dispatchRunNumber' = "2026000252"
[2026-01-28 08:58:47] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-28 08:58:47] [INFO]   -> Found value: CHEST PAIN
[2026-01-28 08:58:47] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-01-28 08:58:47] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-28 08:58:47] [INFO]   -> Found value: 882
[2026-01-28 08:58:47] [INFO]   -> Set field 'incidentLocationStreetNumber' = 882
[2026-01-28 08:58:47] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-28 08:58:47] [INFO]   -> Found value: TN
[2026-01-28 08:58:47] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-28 08:58:47] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-28 08:58:47] [INFO]   -> Found value: 38544
[2026-01-28 08:58:47] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-01-28 08:58:47] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-28 08:58:47] [INFO]   -> No value found (null or empty)
[2026-01-28 08:58:47] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-28 08:58:47] [INFO]   -> No value found (null or empty)
[2026-01-28 08:58:47] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-28 08:58:47] [INFO]   -> Found value: 36.16422
[2026-01-28 08:58:47] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1642200000000002546585164964199066162109375
[2026-01-28 08:58:47] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-28 08:58:47] [INFO]   -> Found value: -85.61968
[2026-01-28 08:58:47] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6196800000000024510882212780416011810302734375
[2026-01-28 08:58:47] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-28 08:58:47] [INFO]   -> Found value: 2026-01-28 02:57:49
[2026-01-28 08:58:47] [INFO]   -> Set field 'alarm' = "2026-01-28 02:57:49"
[2026-01-28 08:58:47] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-28 08:58:47] [INFO]   -> Found value: 2026-01-28 02:58:43
[2026-01-28 08:58:47] [INFO]   -> Set field 'dispatched' = "2026-01-28 02:58:43"
[2026-01-28 08:58:47] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-28 08:58:47] [INFO]   -> No value found (null or empty)
[2026-01-28 08:58:47] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-28 08:58:47] [INFO]   -> No value found (null or empty)
[2026-01-28 08:58:47] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-28 08:58:47] [INFO]   -> No value found (null or empty)
[2026-01-28 08:58:47] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-28 08:58:47] [INFO]   -> Found value: WARD MILL RD
[2026-01-28 08:58:47] [INFO]   -> Set field 'incidentLocationCross' = "WARD MILL RD"
[2026-01-28 08:58:47] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-28 08:58:47] [INFO]   -> Found value: PCFR
[2026-01-28 08:58:47] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-01-28 08:58:47] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-28 08:58:47] [INFO]   -> Found value: 2026-01-28 02:58:43
[2026-01-28 08:58:47] [INFO]   -> Set field 'timedispatch' = "2026-01-28 02:58:43"
[2026-01-28 08:58:47] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-28 08:58:47] [INFO]   -> No value found (null or empty)
[2026-01-28 08:58:47] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-28 08:58:47] [INFO]   -> No value found (null or empty)
[2026-01-28 08:58:47] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-28 08:58:47] [INFO]   -> No value found (null or empty)
[2026-01-28 08:58:47] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-28 08:58:47] [INFO]   -> No value found (null or empty)
[2026-01-28 08:58:47] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-28 08:58:47] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-01-28 08:58:47] [INFO]   -> Found value: 20260010154
[2026-01-28 08:58:47] [INFO]   -> Set field 'policeReportNumber' = "20260010154"
[2026-01-28 08:58:47] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-28 08:58:47] [INFO]   -> Found value: [EMS] NO CARDIAC HX  [01/28/26 02:58:35 EROACH] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [01/28/26 02:...
[2026-01-28 08:58:47] [INFO]   -> Set field 'dispatchNotes' = "[EMS] NO CARDIAC HX  [01\/28\/26 02:58:35 EROACH] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [01\/28\/26 02:58:34 ECLEMENS] [EMS] SHORTNESS OF BREATH  [01\/28\/26 02:58:25 EROACH] [EMS] 72 YO FEMALE CHEST PAINS WOKE HER UP  [01\/28\/26 02:58:17 EROACH] Event spawned from CHEST PAIN.  [01\/28\/2026 02:57:49 EROACH]"
[2026-01-28 08:58:47] [INFO]   -> Set field 'cADLog' = "[EMS] NO CARDIAC HX  [01\/28\/26 02:58:35 EROACH] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [01\/28\/26 02:58:34 ECLEMENS] [EMS] SHORTNESS OF BREATH  [01\/28\/26 02:58:25 EROACH] [EMS] 72 YO FEMALE CHEST PAINS WOKE HER UP  [01\/28\/26 02:58:17 EROACH] Event spawned from CHEST PAIN.  [01\/28\/2026 02:57:49 EROACH]"
[2026-01-28 08:58:47] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-28 08:58:47] [INFO]   -> Found value: BAXTER
[2026-01-28 08:58:47] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-01-28 08:58:47] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-28 08:58:47] [INFO]   -> Found value: JACK LEWIS
[2026-01-28 08:58:47] [INFO]   -> Set field 'streetName' = "JACK LEWIS"
[2026-01-28 08:58:47] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-28 08:58:47] [INFO]   -> Found value: RD
[2026-01-28 08:58:47] [INFO]   -> Set field 'streetType' = "RD"
[2026-01-28 08:58:47] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-28 08:58:47] [INFO]   -> Found value: 882 JACK LEWIS RD
[2026-01-28 08:58:47] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "882 JACK LEWIS RD"
[2026-01-28 08:58:47] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-01-28 08:58:47] [INFO] Concatenating street name and type
[2026-01-28 08:58:47] [INFO]   -> Combined street name: JACK LEWIS RD
[2026-01-28 08:58:47] [INFO] Built locationCoordinates from lat/lng: 36.16422,-85.61968
[2026-01-28 08:58:47] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000252","dispatchRunNumber":"2026000252","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":882,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.1642200000000002546585164964199066162109375,"nERISIncidentLongitude":-85.6196800000000024510882212780416011810302734375,"alarm":"2026-01-28 02:57:49","dispatched":"2026-01-28 02:58:43","incidentLocationCross":"WARD MILL RD","cADVehicleID":"PCFR","timedispatch":"2026-01-28 02:58:43","policeReportNumber":"20260010154","dispatchNotes":"[EMS] NO CARDIAC HX  [01\/28\/26 02:58:35 EROACH] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [01\/28\/26 02:58:34 ECLEMENS] [EMS] SHORTNESS OF BREATH  [01\/28\/26 02:58:25 EROACH] [EMS] 72 YO FEMALE CHEST PAINS WOKE HER UP  [01\/28\/26 02:58:17 EROACH] Event spawned from CHEST PAIN.  [01\/28\/2026 02:57:49 EROACH]","cADLog":"[EMS] NO CARDIAC HX  [01\/28\/26 02:58:35 EROACH] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [01\/28\/26 02:58:34 ECLEMENS] [EMS] SHORTNESS OF BREATH  [01\/28\/26 02:58:25 EROACH] [EMS] 72 YO FEMALE CHEST PAINS WOKE HER UP  [01\/28\/26 02:58:17 EROACH] Event spawned from CHEST PAIN.  [01\/28\/2026 02:57:49 EROACH]","incidentLocationCity":"BAXTER","streetName":"JACK LEWIS RD","incidentAddressTextVersionStreet":"882 JACK LEWIS RD","locationCoordinates":"36.16422,-85.61968"}
[2026-01-28 08:58:47] [INFO] Number of extracted fields: 21
[2026-01-28 08:58:47] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-01-28 08:58:47] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
PCSO
RESC', Parsed IDs = ["PCFD","EMS","PCSO","RESC"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-01-28 08:58:47] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-01-28 08:58:47] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-01-28 08:58:47] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-01-28 08:58:47] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-01-28 08:58:47] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-01-28 08:58:47] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-01-28 08:58:47] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-01-28 08:58:47] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-01-28 08:58:47] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-01-28 08:58:47] [INFO] Found existing IncidentTypeMapping with ID: 6939c33d3eae65119
[2026-01-28 08:58:56] [INFO] Created new Dispatches record with ID: 6979cfc7e03373bf5
[2026-01-28 08:58:56] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-01-28 08:58:56] [INFO] Using FTPS (SSL/TLS) connection
[2026-01-28 08:59:00] [INFO] Successfully uploaded file to V2 FTP server: /PCFD_20260010154_20260128_085846.XML
[2026-01-28 08:59:00] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010154_20260128_085846.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-01-28/PCFD_20260010154_20260128_085846.XML
[2026-01-28 08:59:00] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010154_20260128_085846.XML
[2026-01-28 11:30:56] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010171_20260128_113056.XML
[2026-01-28 11:30:56] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010171_20260128_113056.XML for user: 68f1466aed072ad4a
[2026-01-28 11:30:56] [INFO] File size: 5384 bytes
[2026-01-28 11:30:57] [INFO] Created FTPFiles record with ID: 6979f371079910c91
[2026-01-28 11:30:57] [INFO] About to extract fields from XML. File size: 5384 bytes
[2026-01-28 11:30:57] [INFO] Number of mappings: 28
[2026-01-28 11:30:57] [INFO] Starting XML parsing. Content length: 5384
[2026-01-28 11:30:57] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-28 11:30:57] [INFO] Processing 28 field mappings
[2026-01-28 11:30:57] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-28 11:30:57] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-01-28 11:30:57] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-28 11:30:57] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-01-28 11:30:57] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-01-28 11:30:57] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-01-28 11:30:57] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-28 11:30:57] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-01-28 11:30:57] [INFO]   -> Found value: 2026000253
[2026-01-28 11:30:57] [INFO]   -> Set field 'incidentInternalId' = "2026000253"
[2026-01-28 11:30:57] [INFO]   -> Set field 'dispatchRunNumber' = "2026000253"
[2026-01-28 11:30:57] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-28 11:30:57] [INFO]   -> Found value: MVC WITH INJURY
[2026-01-28 11:30:57] [INFO]   -> Set field 'incidentTypeValue1' = "MVC WITH INJURY"
[2026-01-28 11:30:57] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-28 11:30:57] [INFO]   -> Found value: 293
[2026-01-28 11:30:57] [INFO]   -> Set field 'incidentLocationStreetNumber' = 293
[2026-01-28 11:30:57] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-28 11:30:57] [INFO]   -> Found value: TN
[2026-01-28 11:30:57] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-28 11:30:57] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-28 11:30:57] [INFO]   -> No value found (null or empty)
[2026-01-28 11:30:57] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-28 11:30:57] [INFO]   -> Found value: MM293W
[2026-01-28 11:30:57] [INFO]   -> Set field 'businessName' = "MM293W"
[2026-01-28 11:30:57] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-28 11:30:57] [INFO]   -> No value found (null or empty)
[2026-01-28 11:30:57] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-28 11:30:57] [INFO]   -> Found value: 36.14560
[2026-01-28 11:30:57] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.14560000000000172803993336856365203857421875
[2026-01-28 11:30:57] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-28 11:30:57] [INFO]   -> Found value: -85.40114
[2026-01-28 11:30:57] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.40113999999999805368133820593357086181640625
[2026-01-28 11:30:57] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-28 11:30:57] [INFO]   -> Found value: 2026-01-28 05:29:33
[2026-01-28 11:30:57] [INFO]   -> Set field 'alarm' = "2026-01-28 05:29:33"
[2026-01-28 11:30:57] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-28 11:30:57] [INFO]   -> Found value: 2026-01-28 05:30:46
[2026-01-28 11:30:57] [INFO]   -> Set field 'dispatched' = "2026-01-28 05:30:46"
[2026-01-28 11:30:57] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-28 11:30:57] [INFO]   -> No value found (null or empty)
[2026-01-28 11:30:57] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-28 11:30:57] [INFO]   -> No value found (null or empty)
[2026-01-28 11:30:57] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-28 11:30:57] [INFO]   -> No value found (null or empty)
[2026-01-28 11:30:57] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-28 11:30:57] [INFO]   -> No value found (null or empty)
[2026-01-28 11:30:57] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-28 11:30:57] [INFO]   -> Found value: EN24
[2026-01-28 11:30:57] [INFO]   -> Set field 'cADVehicleID' = "EN24"
[2026-01-28 11:30:57] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-28 11:30:57] [INFO]   -> Found value: 2026-01-28 05:30:46
[2026-01-28 11:30:57] [INFO]   -> Set field 'timedispatch' = "2026-01-28 05:30:46"
[2026-01-28 11:30:57] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-28 11:30:57] [INFO]   -> No value found (null or empty)
[2026-01-28 11:30:57] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-28 11:30:57] [INFO]   -> No value found (null or empty)
[2026-01-28 11:30:57] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-28 11:30:57] [INFO]   -> No value found (null or empty)
[2026-01-28 11:30:57] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-28 11:30:57] [INFO]   -> No value found (null or empty)
[2026-01-28 11:30:57] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-28 11:30:57] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-01-28 11:30:57] [INFO]   -> Found value: 20260010171
[2026-01-28 11:30:57] [INFO]   -> Set field 'policeReportNumber' = "20260010171"
[2026-01-28 11:30:57] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-28 11:30:57] [INFO]   -> Found value: [EMS] UNKNOWN INJURIES AND UNKNOWN HAZARDS  [01/28/26 05:29:48 TSCOTT] Event spawned from MVC WITH I...
[2026-01-28 11:30:57] [INFO]   -> Set field 'dispatchNotes' = "[EMS] UNKNOWN INJURIES AND UNKNOWN HAZARDS  [01\/28\/26 05:29:48 TSCOTT] Event spawned from MVC WITH INJURY.  [01\/28\/2026 05:29:33 TSCOTT] SINGLE VEHICLE LOST CONTROL AND WENT INTO THE GAURDRAIL  POSS BLK 4 DOOR PASSENGER VEHICLE  [01\/28\/26 05:29:23 TSCOTT]"
[2026-01-28 11:30:57] [INFO]   -> Set field 'cADLog' = "[EMS] UNKNOWN INJURIES AND UNKNOWN HAZARDS  [01\/28\/26 05:29:48 TSCOTT] Event spawned from MVC WITH INJURY.  [01\/28\/2026 05:29:33 TSCOTT] SINGLE VEHICLE LOST CONTROL AND WENT INTO THE GAURDRAIL  POSS BLK 4 DOOR PASSENGER VEHICLE  [01\/28\/26 05:29:23 TSCOTT]"
[2026-01-28 11:30:57] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-28 11:30:57] [INFO]   -> Found value: COOKEVILLE
[2026-01-28 11:30:57] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-01-28 11:30:57] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-28 11:30:57] [INFO]   -> Found value: I 40
[2026-01-28 11:30:57] [INFO]   -> Set field 'streetName' = "I 40"
[2026-01-28 11:30:57] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-28 11:30:57] [INFO]   -> No value found (null or empty)
[2026-01-28 11:30:57] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-28 11:30:57] [INFO]   -> Found value: 293 W I 40
[2026-01-28 11:30:57] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "293 W I 40"
[2026-01-28 11:30:57] [INFO] Finished extracting fields. Total fields extracted: 19
[2026-01-28 11:30:57] [INFO] Built locationCoordinates from lat/lng: 36.1456,-85.40114
[2026-01-28 11:30:57] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000253","dispatchRunNumber":"2026000253","incidentTypeValue1":"MVC WITH INJURY","incidentLocationStreetNumber":293,"incidentLocationStateName":"TN","businessName":"MM293W","nERISIncidentLatitude":36.14560000000000172803993336856365203857421875,"nERISIncidentLongitude":-85.40113999999999805368133820593357086181640625,"alarm":"2026-01-28 05:29:33","dispatched":"2026-01-28 05:30:46","cADVehicleID":"EN24","timedispatch":"2026-01-28 05:30:46","policeReportNumber":"20260010171","dispatchNotes":"[EMS] UNKNOWN INJURIES AND UNKNOWN HAZARDS  [01\/28\/26 05:29:48 TSCOTT] Event spawned from MVC WITH INJURY.  [01\/28\/2026 05:29:33 TSCOTT] SINGLE VEHICLE LOST CONTROL AND WENT INTO THE GAURDRAIL  POSS BLK 4 DOOR PASSENGER VEHICLE  [01\/28\/26 05:29:23 TSCOTT]","cADLog":"[EMS] UNKNOWN INJURIES AND UNKNOWN HAZARDS  [01\/28\/26 05:29:48 TSCOTT] Event spawned from MVC WITH INJURY.  [01\/28\/2026 05:29:33 TSCOTT] SINGLE VEHICLE LOST CONTROL AND WENT INTO THE GAURDRAIL  POSS BLK 4 DOOR PASSENGER VEHICLE  [01\/28\/26 05:29:23 TSCOTT]","incidentLocationCity":"COOKEVILLE","streetName":"I 40","incidentAddressTextVersionStreet":"293 W I 40","locationCoordinates":"36.1456,-85.40114"}
[2026-01-28 11:30:57] [INFO] Number of extracted fields: 20
[2026-01-28 11:30:57] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-01-28 11:30:57] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
PCSO
RESC', Parsed IDs = ["PCFD","EMS","PCSO","RESC"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-01-28 11:30:57] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-01-28 11:30:57] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-01-28 11:30:57] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-01-28 11:30:57] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-01-28 11:30:57] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-01-28 11:30:57] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-01-28 11:30:57] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-01-28 11:30:57] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-01-28 11:30:57] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-01-28 11:30:57] [INFO] Found existing IncidentTypeMapping with ID: 69380b1bd578b1eb3
[2026-01-28 11:31:06] [INFO] Created new Dispatches record with ID: 6979f371b8b80f971
[2026-01-28 11:31:06] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-01-28 11:31:06] [INFO] Using FTPS (SSL/TLS) connection
[2026-01-28 11:31:09] [INFO] Successfully uploaded file to V2 FTP server: /PCFD_20260010171_20260128_113056.XML
[2026-01-28 11:31:09] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010171_20260128_113056.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-01-28/PCFD_20260010171_20260128_113056.XML
[2026-01-28 11:31:09] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010171_20260128_113056.XML
[2026-01-28 13:02:37] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010183_20260128_130237.XML
[2026-01-28 13:02:37] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010183_20260128_130237.XML for user: 68f1466aed072ad4a
[2026-01-28 13:02:37] [INFO] File size: 5367 bytes
[2026-01-28 13:02:37] [INFO] Created FTPFiles record with ID: 697a08ed71658c4e4
[2026-01-28 13:02:37] [INFO] About to extract fields from XML. File size: 5367 bytes
[2026-01-28 13:02:37] [INFO] Number of mappings: 28
[2026-01-28 13:02:37] [INFO] Starting XML parsing. Content length: 5367
[2026-01-28 13:02:37] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-28 13:02:37] [INFO] Processing 28 field mappings
[2026-01-28 13:02:37] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-28 13:02:37] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-01-28 13:02:37] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-28 13:02:37] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-01-28 13:02:37] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-01-28 13:02:37] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-01-28 13:02:37] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-28 13:02:37] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-01-28 13:02:37] [INFO]   -> Found value: 2026000254
[2026-01-28 13:02:37] [INFO]   -> Set field 'incidentInternalId' = "2026000254"
[2026-01-28 13:02:37] [INFO]   -> Set field 'dispatchRunNumber' = "2026000254"
[2026-01-28 13:02:37] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-28 13:02:37] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-01-28 13:02:37] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-01-28 13:02:37] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-28 13:02:37] [INFO]   -> Found value: 1555
[2026-01-28 13:02:37] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1555
[2026-01-28 13:02:37] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-28 13:02:37] [INFO]   -> Found value: TN
[2026-01-28 13:02:37] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-28 13:02:37] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-28 13:02:37] [INFO]   -> Found value: 38506
[2026-01-28 13:02:37] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-01-28 13:02:37] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-28 13:02:37] [INFO]   -> No value found (null or empty)
[2026-01-28 13:02:37] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-28 13:02:37] [INFO]   -> No value found (null or empty)
[2026-01-28 13:02:37] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-28 13:02:37] [INFO]   -> Found value: 36.19741
[2026-01-28 13:02:37] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.19740999999999786496118758805096149444580078125
[2026-01-28 13:02:37] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-28 13:02:37] [INFO]   -> Found value: -85.32768
[2026-01-28 13:02:37] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.3276800000000008594724931754171848297119140625
[2026-01-28 13:02:37] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-28 13:02:37] [INFO]   -> Found value: 2026-01-28 07:01:31
[2026-01-28 13:02:37] [INFO]   -> Set field 'alarm' = "2026-01-28 07:01:31"
[2026-01-28 13:02:37] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-28 13:02:37] [INFO]   -> Found value: 2026-01-28 07:02:33
[2026-01-28 13:02:37] [INFO]   -> Set field 'dispatched' = "2026-01-28 07:02:33"
[2026-01-28 13:02:37] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-28 13:02:37] [INFO]   -> No value found (null or empty)
[2026-01-28 13:02:37] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-28 13:02:37] [INFO]   -> No value found (null or empty)
[2026-01-28 13:02:37] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-28 13:02:37] [INFO]   -> No value found (null or empty)
[2026-01-28 13:02:37] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-28 13:02:37] [INFO]   -> Found value: N BLAYLOCK MOUNTAIN RD/MORGAN HANEY RD
[2026-01-28 13:02:37] [INFO]   -> Set field 'incidentLocationCross' = "N BLAYLOCK MOUNTAIN RD\/MORGAN HANEY RD"
[2026-01-28 13:02:37] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-28 13:02:37] [INFO]   -> Found value: PCFR
[2026-01-28 13:02:37] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-01-28 13:02:37] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-28 13:02:37] [INFO]   -> Found value: 2026-01-28 07:02:33
[2026-01-28 13:02:37] [INFO]   -> Set field 'timedispatch' = "2026-01-28 07:02:33"
[2026-01-28 13:02:37] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-28 13:02:37] [INFO]   -> No value found (null or empty)
[2026-01-28 13:02:37] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-28 13:02:37] [INFO]   -> No value found (null or empty)
[2026-01-28 13:02:37] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-28 13:02:37] [INFO]   -> No value found (null or empty)
[2026-01-28 13:02:37] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-28 13:02:37] [INFO]   -> No value found (null or empty)
[2026-01-28 13:02:37] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-28 13:02:37] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-01-28 13:02:37] [INFO]   -> Found value: 20260010183
[2026-01-28 13:02:37] [INFO]   -> Set field 'policeReportNumber' = "20260010183"
[2026-01-28 13:02:37] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-28 13:02:37] [INFO]   -> Found value: [EMS] PATIENT JAMES HARVILL  [01/28/26 07:02:25 KHILL] [EMS] DOB 11/15/1946---FRONT DOOR ENTRANCE  [...
[2026-01-28 13:02:37] [INFO]   -> Set field 'dispatchNotes' = "[EMS] PATIENT JAMES HARVILL  [01\/28\/26 07:02:25 KHILL] [EMS] DOB 11\/15\/1946---FRONT DOOR ENTRANCE  [01\/28\/26 07:02:07 KHILL] Event spawned from BREATHING PROBLEMS.  [01\/28\/2026 07:01:31 KHILL] HAS SOME SHORTNESS OF BREATH DUE TO SOME FLUID BUILD UP FROM MUCUS HAD X RAYS DONE LAST NIGHT  [01\/28\/26 07:01:25 KHILL]]"
[2026-01-28 13:02:37] [INFO]   -> Set field 'cADLog' = "[EMS] PATIENT JAMES HARVILL  [01\/28\/26 07:02:25 KHILL] [EMS] DOB 11\/15\/1946---FRONT DOOR ENTRANCE  [01\/28\/26 07:02:07 KHILL] Event spawned from BREATHING PROBLEMS.  [01\/28\/2026 07:01:31 KHILL] HAS SOME SHORTNESS OF BREATH DUE TO SOME FLUID BUILD UP FROM MUCUS HAD X RAYS DONE LAST NIGHT  [01\/28\/26 07:01:25 KHILL]]"
[2026-01-28 13:02:37] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-28 13:02:37] [INFO]   -> Found value: COOKEVILLE
[2026-01-28 13:02:37] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-01-28 13:02:37] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-28 13:02:37] [INFO]   -> Found value: THORN GAP
[2026-01-28 13:02:37] [INFO]   -> Set field 'streetName' = "THORN GAP"
[2026-01-28 13:02:37] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-28 13:02:37] [INFO]   -> Found value: RD
[2026-01-28 13:02:37] [INFO]   -> Set field 'streetType' = "RD"
[2026-01-28 13:02:37] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-28 13:02:37] [INFO]   -> Found value: 1555 THORN GAP RD
[2026-01-28 13:02:37] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1555 THORN GAP RD"
[2026-01-28 13:02:37] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-01-28 13:02:37] [INFO] Concatenating street name and type
[2026-01-28 13:02:37] [INFO]   -> Combined street name: THORN GAP RD
[2026-01-28 13:02:37] [INFO] Built locationCoordinates from lat/lng: 36.19741,-85.32768
[2026-01-28 13:02:37] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000254","dispatchRunNumber":"2026000254","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":1555,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.19740999999999786496118758805096149444580078125,"nERISIncidentLongitude":-85.3276800000000008594724931754171848297119140625,"alarm":"2026-01-28 07:01:31","dispatched":"2026-01-28 07:02:33","incidentLocationCross":"N BLAYLOCK MOUNTAIN RD\/MORGAN HANEY RD","cADVehicleID":"PCFR","timedispatch":"2026-01-28 07:02:33","policeReportNumber":"20260010183","dispatchNotes":"[EMS] PATIENT JAMES HARVILL  [01\/28\/26 07:02:25 KHILL] [EMS] DOB 11\/15\/1946---FRONT DOOR ENTRANCE  [01\/28\/26 07:02:07 KHILL] Event spawned from BREATHING PROBLEMS.  [01\/28\/2026 07:01:31 KHILL] HAS SOME SHORTNESS OF BREATH DUE TO SOME FLUID BUILD UP FROM MUCUS HAD X RAYS DONE LAST NIGHT  [01\/28\/26 07:01:25 KHILL]]","cADLog":"[EMS] PATIENT JAMES HARVILL  [01\/28\/26 07:02:25 KHILL] [EMS] DOB 11\/15\/1946---FRONT DOOR ENTRANCE  [01\/28\/26 07:02:07 KHILL] Event spawned from BREATHING PROBLEMS.  [01\/28\/2026 07:01:31 KHILL] HAS SOME SHORTNESS OF BREATH DUE TO SOME FLUID BUILD UP FROM MUCUS HAD X RAYS DONE LAST NIGHT  [01\/28\/26 07:01:25 KHILL]]","incidentLocationCity":"COOKEVILLE","streetName":"THORN GAP RD","incidentAddressTextVersionStreet":"1555 THORN GAP RD","locationCoordinates":"36.19741,-85.32768"}
[2026-01-28 13:02:37] [INFO] Number of extracted fields: 21
[2026-01-28 13:02:37] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-01-28 13:02:37] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC', Parsed IDs = ["PCFD","EMS","RESC"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-01-28 13:02:37] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-01-28 13:02:37] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-01-28 13:02:37] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-01-28 13:02:37] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-01-28 13:02:37] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-01-28 13:02:37] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-01-28 13:02:37] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-01-28 13:02:37] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-01-28 13:02:37] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-01-28 13:02:37] [INFO] Found existing IncidentTypeMapping with ID: 693e326c3c0e41cb3
[2026-01-28 13:02:46] [INFO] Created new Dispatches record with ID: 697a08ee326045d94
[2026-01-28 13:02:46] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-01-28 13:02:46] [INFO] Using FTPS (SSL/TLS) connection
[2026-01-28 13:02:49] [INFO] Successfully uploaded file to V2 FTP server: /PCFD_20260010183_20260128_130237.XML
[2026-01-28 13:02:49] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010183_20260128_130237.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-01-28/PCFD_20260010183_20260128_130237.XML
[2026-01-28 13:02:49] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010183_20260128_130237.XML
[2026-01-28 13:54:15] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-02885.xml
[2026-01-28 13:54:15] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-02885.xml for user: 68d56363ec1209189
[2026-01-28 13:54:15] [INFO] File size: 2135 bytes
[2026-01-28 13:54:15] [INFO] Created FTPFiles record with ID: 697a150787f0ea398
[2026-01-28 13:54:15] [INFO] About to extract fields from XML. File size: 2135 bytes
[2026-01-28 13:54:15] [INFO] Number of mappings: 21
[2026-01-28 13:54:15] [INFO] Starting XML parsing. Content length: 2135
[2026-01-28 13:54:15] [INFO] XML parsed successfully. Root element: Incident
[2026-01-28 13:54:15] [INFO] Processing 21 field mappings
[2026-01-28 13:54:15] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-01-28 13:54:15] [INFO]   -> Found value: 26-02885
[2026-01-28 13:54:15] [INFO]   -> Set field 'dispatchRunNumber' = "26-02885"
[2026-01-28 13:54:15] [INFO]   -> Set field 'cADNumber' = "26-02885"
[2026-01-28 13:54:15] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-01-28 13:54:15] [INFO]   -> Found value: 1
[2026-01-28 13:54:15] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1
[2026-01-28 13:54:15] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-01-28 13:54:15] [INFO]   -> Found value: S SPRIGG ST
[2026-01-28 13:54:15] [INFO]   -> Set field 'streetName' = "S SPRIGG ST"
[2026-01-28 13:54:15] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-01-28 13:54:15] [INFO]   -> No value found (null or empty)
[2026-01-28 13:54:15] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-01-28 13:54:15] [INFO]   -> Found value: CAPE GIRARDEAU
[2026-01-28 13:54:15] [INFO]   -> Set field 'incidentLocationCity' = "CAPE GIRARDEAU"
[2026-01-28 13:54:15] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-01-28 13:54:15] [INFO]   -> No value found (null or empty)
[2026-01-28 13:54:15] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-01-28 13:54:15] [INFO]   -> No value found (null or empty)
[2026-01-28 13:54:15] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-01-28 13:54:15] [INFO]   -> No value found (null or empty)
[2026-01-28 13:54:15] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-01-28 13:54:15] [INFO]   -> Found value: 0
[2026-01-28 13:54:15] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2026-01-28 13:54:15] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-01-28 13:54:15] [INFO]   -> Found value: 0
[2026-01-28 13:54:15] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2026-01-28 13:54:15] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-01-28 13:54:15] [INFO]   -> Found value: FIRE-MUTUAL AID
[2026-01-28 13:54:15] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE-MUTUAL AID"
[2026-01-28 13:54:15] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-01-28 13:54:15] [INFO]   -> Found value: 01-28-2026 07:33:14|CAPE CITY REQ BFD TO STATION
NBC TO STATION 3 1975 N SPRIGG FOR COVERAGE 01-28-2...
[2026-01-28 13:54:15] [INFO]   -> Set field 'dispatchNotes' = "01-28-2026 07:33:14|CAPE CITY REQ BFD TO STATION\nNBC TO STATION 3 1975 N SPRIGG FOR COVERAGE 01-28-2026 07:33:26|COMMUNICATE ON E FIRE 1 01-28-2026 07:36:03|SCOTT CO RURAL NEEDED AT STA 1 WITH LADDER ON EFIRE1 CHANNEL 01-28-2026 07:38:20|1701 ON AIR,GATHERING CREW 01-28-2026 07:53:32|JOSH FROM CAPE CITY CALLED AND ADVISED TO DISREGARD SCOTT COUNTY RURAL"
[2026-01-28 13:54:15] [INFO]   -> Set field 'cADLog' = "01-28-2026 07:33:14|CAPE CITY REQ BFD TO STATION\nNBC TO STATION 3 1975 N SPRIGG FOR COVERAGE 01-28-2026 07:33:26|COMMUNICATE ON E FIRE 1 01-28-2026 07:36:03|SCOTT CO RURAL NEEDED AT STA 1 WITH LADDER ON EFIRE1 CHANNEL 01-28-2026 07:38:20|1701 ON AIR,GATHERING CREW 01-28-2026 07:53:32|JOSH FROM CAPE CITY CALLED AND ADVISED TO DISREGARD SCOTT COUNTY RURAL"
[2026-01-28 13:54:15] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-01-28 13:54:15] [INFO]   -> Found value: 01-28-2026T07:36:34
[2026-01-28 13:54:15] [INFO] Reformatted DD-MM-YYYY date '01-28-2026' (day=01, month=28) to ISO: 2026-28-01T07:36:34
[2026-01-28 13:54:15] [ERROR] Error formatting datetime '2026-28-01T07:36:34': Failed to parse time string (2026-28-01T07:36:34) at position 6 (8): Unexpected character
[2026-01-28 13:54:15] [INFO]   -> Set field 'alarm' = null
[2026-01-28 13:54:15] [INFO] Reformatted DD-MM-YYYY date '01-28-2026' (day=01, month=28) to ISO: 2026-28-01T07:36:34
[2026-01-28 13:54:15] [ERROR] Error formatting datetime '2026-28-01T07:36:34': Failed to parse time string (2026-28-01T07:36:34) at position 6 (8): Unexpected character
[2026-01-28 13:54:15] [INFO]   -> Set field 'dispatched' = null
[2026-01-28 13:54:15] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-01-28 13:54:15] [INFO]   -> No value found (null or empty)
[2026-01-28 13:54:15] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-01-28 13:54:15] [INFO]   -> No value found (null or empty)
[2026-01-28 13:54:15] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-01-28 13:54:15] [INFO]   -> Found value: 1701
[2026-01-28 13:54:15] [INFO]   -> Set field 'cADVehicleID' = 1701
[2026-01-28 13:54:15] [INFO]   -> Set field 'name' = "1701"
[2026-01-28 13:54:15] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-01-28 13:54:15] [INFO]   -> No value found (null or empty)
[2026-01-28 13:54:15] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-01-28 13:54:15] [INFO]   -> No value found (null or empty)
[2026-01-28 13:54:15] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-01-28 13:54:15] [INFO]   -> Found value: 01-28-2026T07:53:37
[2026-01-28 13:54:15] [INFO] Reformatted DD-MM-YYYY date '01-28-2026' (day=01, month=28) to ISO: 2026-28-01T07:53:37
[2026-01-28 13:54:15] [ERROR] Error formatting datetime '2026-28-01T07:53:37': Failed to parse time string (2026-28-01T07:53:37) at position 6 (8): Unexpected character
[2026-01-28 13:54:15] [INFO]   -> Set field 'timeunitclear' = null
[2026-01-28 13:54:15] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-01-28 13:54:15] [INFO]   -> Found value: 01-28-2026T07:37:53
[2026-01-28 13:54:15] [INFO] Reformatted DD-MM-YYYY date '01-28-2026' (day=01, month=28) to ISO: 2026-28-01T07:37:53
[2026-01-28 13:54:15] [ERROR] Error formatting datetime '2026-28-01T07:37:53': Failed to parse time string (2026-28-01T07:37:53) at position 6 (8): Unexpected character
[2026-01-28 13:54:15] [INFO]   -> Set field 'timedispatch' = null
[2026-01-28 13:54:15] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-01-28 13:54:15] [INFO]   -> Found value: SCRFD
[2026-01-28 13:54:15] [INFO]   -> Set field 'cADAgencyIdentifier' = "SCRFD"
[2026-01-28 13:54:15] [INFO] Finished extracting fields. Total fields extracted: 17
[2026-01-28 13:54:15] [INFO] Built locationCoordinates from lat/lng: 0,0
[2026-01-28 13:54:15] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-02885","cADNumber":"26-02885","incidentLocationStreetNumber":1,"streetName":"S SPRIGG ST","incidentLocationCity":"CAPE GIRARDEAU","nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"FIRE-MUTUAL AID","dispatchNotes":"01-28-2026 07:33:14|CAPE CITY REQ BFD TO STATION\nNBC TO STATION 3 1975 N SPRIGG FOR COVERAGE 01-28-2026 07:33:26|COMMUNICATE ON E FIRE 1 01-28-2026 07:36:03|SCOTT CO RURAL NEEDED AT STA 1 WITH LADDER ON EFIRE1 CHANNEL 01-28-2026 07:38:20|1701 ON AIR,GATHERING CREW 01-28-2026 07:53:32|JOSH FROM CAPE CITY CALLED AND ADVISED TO DISREGARD SCOTT COUNTY RURAL","cADLog":"01-28-2026 07:33:14|CAPE CITY REQ BFD TO STATION\nNBC TO STATION 3 1975 N SPRIGG FOR COVERAGE 01-28-2026 07:33:26|COMMUNICATE ON E FIRE 1 01-28-2026 07:36:03|SCOTT CO RURAL NEEDED AT STA 1 WITH LADDER ON EFIRE1 CHANNEL 01-28-2026 07:38:20|1701 ON AIR,GATHERING CREW 01-28-2026 07:53:32|JOSH FROM CAPE CITY CALLED AND ADVISED TO DISREGARD SCOTT COUNTY RURAL","alarm":null,"dispatched":null,"cADVehicleID":1701,"name":"1701","timeunitclear":null,"timedispatch":null,"cADAgencyIdentifier":"SCRFD","locationCoordinates":"0,0"}
[2026-01-28 13:54:15] [INFO] Number of extracted fields: 18
[2026-01-28 13:54:15] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SCRFD'
[2026-01-28 13:54:15] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SCRFD', Parsed IDs = ["SCRFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 2
[2026-01-28 13:54:15] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SCRFD"]
[2026-01-28 13:54:15] [INFO] Attempting SAASClient lookup for AgencyCode 'SCRFD' (index 0) within mailbox's assigned agencies
[2026-01-28 13:54:15] [INFO] SUCCESS: Routed to agency 'Scott County Rural Fire Protection District' (ID: 6643bdb30659f00d8) at INDEX 0 based on AgencyCode 'SCRFD'
[2026-01-28 13:54:15] [INFO] Fetched 6 stations from Stations module for agency 'Scott County Rural Fire Protection District': ["690279491710f7b8e","6644dbe7e17f1c3de","6644dbb3886c9768f","6644d0c9be0e4ec53","6644e2fe1572c01ae","69027d47e7c4fc65b"]
[2026-01-28 13:54:15] [INFO] Final routing: saasclientId = 6643bdb30659f00d8, dispatchStationsIds = ["690279491710f7b8e","6644dbe7e17f1c3de","6644dbb3886c9768f","6644d0c9be0e4ec53","6644e2fe1572c01ae","69027d47e7c4fc65b"], matchedAgencyIndex = 0
[2026-01-28 13:54:16] [INFO] Updated FTPFiles record saasclientId to routed agency: 6643bdb30659f00d8
[2026-01-28 13:54:16] [INFO] Found existing IncidentTypeMapping with ID: 697202f4ed4b628a9
[2026-01-28 13:54:16] [INFO] Found existing Dispatch with cADNumber '26-02885', ID: 697a10e8f38767d35 - will update instead of create
[2026-01-28 13:54:16] [INFO] Updated existing Dispatches record with ID: 697a10e8f38767d35
[2026-01-28 13:54:16] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-02885.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-01-28/SCRFD_26-02885.xml
[2026-01-28 13:54:16] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-02885.xml
[2026-01-28 14:33:07] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010200_20260128_143307.XML
[2026-01-28 14:33:07] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010200_20260128_143307.XML for user: 68f1466aed072ad4a
[2026-01-28 14:33:07] [INFO] File size: 6489 bytes
[2026-01-28 14:34:21] [INFO] Created FTPFiles record with ID: 697a1e6d99a7e00a2
[2026-01-28 14:34:21] [INFO] About to extract fields from XML. File size: 6489 bytes
[2026-01-28 14:34:21] [INFO] Number of mappings: 28
[2026-01-28 14:34:21] [INFO] Starting XML parsing. Content length: 6489
[2026-01-28 14:34:21] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-28 14:34:21] [INFO] Processing 28 field mappings
[2026-01-28 14:34:21] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-28 14:34:21] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-01-28 14:34:21] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-28 14:34:21] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-01-28 14:34:21] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-01-28 14:34:21] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-01-28 14:34:21] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-28 14:34:21] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-01-28 14:34:21] [INFO]   -> Found value: 2026000255
[2026-01-28 14:34:21] [INFO]   -> Set field 'incidentInternalId' = "2026000255"
[2026-01-28 14:34:21] [INFO]   -> Set field 'dispatchRunNumber' = "2026000255"
[2026-01-28 14:34:21] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-28 14:34:21] [INFO]   -> Found value: MVC WITH INJURY
[2026-01-28 14:34:21] [INFO]   -> Set field 'incidentTypeValue1' = "MVC WITH INJURY"
[2026-01-28 14:34:21] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-28 14:34:21] [INFO]   -> Found value: 294
[2026-01-28 14:34:21] [INFO]   -> Set field 'incidentLocationStreetNumber' = 294
[2026-01-28 14:34:21] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-28 14:34:21] [INFO]   -> Found value: TN
[2026-01-28 14:34:21] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-28 14:34:21] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-28 14:34:21] [INFO]   -> No value found (null or empty)
[2026-01-28 14:34:21] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-28 14:34:21] [INFO]   -> Found value: MM294W
[2026-01-28 14:34:21] [INFO]   -> Set field 'businessName' = "MM294W"
[2026-01-28 14:34:21] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-28 14:34:21] [INFO]   -> No value found (null or empty)
[2026-01-28 14:34:21] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-28 14:34:21] [INFO]   -> Found value: 36.14412
[2026-01-28 14:34:21] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1441200000000009140421752817928791046142578125
[2026-01-28 14:34:21] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-28 14:34:21] [INFO]   -> Found value: -85.38341
[2026-01-28 14:34:21] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.383409999999997808117768727242946624755859375
[2026-01-28 14:34:21] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-28 14:34:21] [INFO]   -> Found value: 2026-01-28 08:30:49
[2026-01-28 14:34:21] [INFO]   -> Set field 'alarm' = "2026-01-28 08:30:49"
[2026-01-28 14:34:21] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-28 14:34:21] [INFO]   -> Found value: 2026-01-28 08:32:55
[2026-01-28 14:34:21] [INFO]   -> Set field 'dispatched' = "2026-01-28 08:32:55"
[2026-01-28 14:34:21] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-28 14:34:21] [INFO]   -> Found value: 2026-01-28 08:33:04
[2026-01-28 14:34:21] [INFO]   -> Set field 'enroute' = "2026-01-28 08:33:04"
[2026-01-28 14:34:21] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-28 14:34:21] [INFO]   -> No value found (null or empty)
[2026-01-28 14:34:21] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-28 14:34:21] [INFO]   -> No value found (null or empty)
[2026-01-28 14:34:21] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-28 14:34:21] [INFO]   -> No value found (null or empty)
[2026-01-28 14:34:21] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-28 14:34:21] [INFO]   -> Found value: EN21
[2026-01-28 14:34:21] [INFO]   -> Set field 'cADVehicleID' = "EN21"
[2026-01-28 14:34:21] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-28 14:34:21] [INFO]   -> Found value: 2026-01-28 08:33:04
[2026-01-28 14:34:21] [INFO]   -> Set field 'timedispatch' = "2026-01-28 08:33:04"
[2026-01-28 14:34:21] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-28 14:34:21] [INFO]   -> Found value: 2026-01-28 08:33:04
[2026-01-28 14:34:21] [INFO]   -> Set field 'timeenroutetoscene' = "2026-01-28 08:33:04"
[2026-01-28 14:34:21] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-28 14:34:21] [INFO]   -> No value found (null or empty)
[2026-01-28 14:34:21] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-28 14:34:21] [INFO]   -> No value found (null or empty)
[2026-01-28 14:34:21] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-28 14:34:21] [INFO]   -> No value found (null or empty)
[2026-01-28 14:34:21] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-28 14:34:21] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-01-28 14:34:21] [INFO]   -> Found value: 20260010200
[2026-01-28 14:34:21] [INFO]   -> Set field 'policeReportNumber' = "20260010200"
[2026-01-28 14:34:21] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-28 14:34:21] [INFO]   -> Found value: [LAW] 2 COUNTY UNITS ENROUTE  [01/28/26 08:32:55 SBALLARD] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [0...
[2026-01-28 14:34:21] [INFO]   -> Set field 'dispatchNotes' = "[LAW] 2 COUNTY UNITS ENROUTE  [01\/28\/26 08:32:55 SBALLARD] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [01\/28\/26 08:31:42 SBALLARD] [EMS] UNK INJURIES\/\/THP NOT ON SCENE YET  [01\/28\/26 08:31:37 KMORGAN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [01\/28\/26 08:31:13 SBALLARD] [EMS] THP ENRT  [01\/28\/26 08:30:55 KMORGAN2] Event spawned from MVC WITH INJURY.  [01\/28\/2026 08:30:49 KMORGAN2] 2 VEHS ONE IN WOODLINE\/\/1 ON SHOULDER  [01\/28\/26 08:30:47 KMORGAN2]]"
[2026-01-28 14:34:21] [INFO]   -> Set field 'cADLog' = "[LAW] 2 COUNTY UNITS ENROUTE  [01\/28\/26 08:32:55 SBALLARD] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [01\/28\/26 08:31:42 SBALLARD] [EMS] UNK INJURIES\/\/THP NOT ON SCENE YET  [01\/28\/26 08:31:37 KMORGAN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [01\/28\/26 08:31:13 SBALLARD] [EMS] THP ENRT  [01\/28\/26 08:30:55 KMORGAN2] Event spawned from MVC WITH INJURY.  [01\/28\/2026 08:30:49 KMORGAN2] 2 VEHS ONE IN WOODLINE\/\/1 ON SHOULDER  [01\/28\/26 08:30:47 KMORGAN2]]"
[2026-01-28 14:34:21] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-28 14:34:21] [INFO]   -> Found value: COOKEVILLE
[2026-01-28 14:34:21] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-01-28 14:34:21] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-28 14:34:21] [INFO]   -> Found value: I 40
[2026-01-28 14:34:21] [INFO]   -> Set field 'streetName' = "I 40"
[2026-01-28 14:34:21] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-28 14:34:21] [INFO]   -> No value found (null or empty)
[2026-01-28 14:34:21] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-28 14:34:21] [INFO]   -> Found value: 294 W I 40
[2026-01-28 14:34:21] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "294 W I 40"
[2026-01-28 14:34:21] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-01-28 14:34:21] [INFO] Built locationCoordinates from lat/lng: 36.14412,-85.38341
[2026-01-28 14:34:21] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000255","dispatchRunNumber":"2026000255","incidentTypeValue1":"MVC WITH INJURY","incidentLocationStreetNumber":294,"incidentLocationStateName":"TN","businessName":"MM294W","nERISIncidentLatitude":36.1441200000000009140421752817928791046142578125,"nERISIncidentLongitude":-85.383409999999997808117768727242946624755859375,"alarm":"2026-01-28 08:30:49","dispatched":"2026-01-28 08:32:55","enroute":"2026-01-28 08:33:04","cADVehicleID":"EN21","timedispatch":"2026-01-28 08:33:04","timeenroutetoscene":"2026-01-28 08:33:04","policeReportNumber":"20260010200","dispatchNotes":"[LAW] 2 COUNTY UNITS ENROUTE  [01\/28\/26 08:32:55 SBALLARD] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [01\/28\/26 08:31:42 SBALLARD] [EMS] UNK INJURIES\/\/THP NOT ON SCENE YET  [01\/28\/26 08:31:37 KMORGAN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [01\/28\/26 08:31:13 SBALLARD] [EMS] THP ENRT  [01\/28\/26 08:30:55 KMORGAN2] Event spawned from MVC WITH INJURY.  [01\/28\/2026 08:30:49 KMORGAN2] 2 VEHS ONE IN WOODLINE\/\/1 ON SHOULDER  [01\/28\/26 08:30:47 KMORGAN2]]","cADLog":"[LAW] 2 COUNTY UNITS ENROUTE  [01\/28\/26 08:32:55 SBALLARD] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [01\/28\/26 08:31:42 SBALLARD] [EMS] UNK INJURIES\/\/THP NOT ON SCENE YET  [01\/28\/26 08:31:37 KMORGAN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [01\/28\/26 08:31:13 SBALLARD] [EMS] THP ENRT  [01\/28\/26 08:30:55 KMORGAN2] Event spawned from MVC WITH INJURY.  [01\/28\/2026 08:30:49 KMORGAN2] 2 VEHS ONE IN WOODLINE\/\/1 ON SHOULDER  [01\/28\/26 08:30:47 KMORGAN2]]","incidentLocationCity":"COOKEVILLE","streetName":"I 40","incidentAddressTextVersionStreet":"294 W I 40","locationCoordinates":"36.14412,-85.38341"}
[2026-01-28 14:34:21] [INFO] Number of extracted fields: 22
[2026-01-28 14:34:21] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-01-28 14:34:21] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
PCSO
RESC', Parsed IDs = ["PCFD","EMS","PCSO","RESC"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-01-28 14:34:21] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-01-28 14:34:21] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-01-28 14:34:21] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-01-28 14:34:21] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-01-28 14:34:22] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-01-28 14:34:22] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-01-28 14:34:22] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-01-28 14:34:22] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-01-28 14:34:22] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-01-28 14:34:22] [INFO] Found existing IncidentTypeMapping with ID: 69380b1bd578b1eb3
[2026-01-28 14:34:49] [INFO] Created new Dispatches record with ID: 697a1e7f5e513c1b2
[2026-01-28 14:34:49] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-01-28 14:34:49] [INFO] Using FTPS (SSL/TLS) connection
[2026-01-28 14:34:53] [INFO] Successfully uploaded file to V2 FTP server: /PCFD_20260010200_20260128_143307.XML
[2026-01-28 14:34:53] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010200_20260128_143307.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-01-28/PCFD_20260010200_20260128_143307.XML
[2026-01-28 14:34:53] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010200_20260128_143307.XML
[2026-01-28 14:53:07] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010207_20260128_145307.XML
[2026-01-28 14:53:07] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010207_20260128_145307.XML for user: 68f1466aed072ad4a
[2026-01-28 14:53:07] [INFO] File size: 5202 bytes
[2026-01-28 14:53:07] [INFO] Created FTPFiles record with ID: 697a22d3ab2197c64
[2026-01-28 14:53:07] [INFO] About to extract fields from XML. File size: 5202 bytes
[2026-01-28 14:53:07] [INFO] Number of mappings: 28
[2026-01-28 14:53:07] [INFO] Starting XML parsing. Content length: 5202
[2026-01-28 14:53:07] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-28 14:53:07] [INFO] Processing 28 field mappings
[2026-01-28 14:53:07] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-28 14:53:07] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-01-28 14:53:07] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-28 14:53:07] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-01-28 14:53:07] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-01-28 14:53:07] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-01-28 14:53:07] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-28 14:53:07] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-01-28 14:53:07] [INFO]   -> Found value: 2026000256
[2026-01-28 14:53:07] [INFO]   -> Set field 'incidentInternalId' = "2026000256"
[2026-01-28 14:53:07] [INFO]   -> Set field 'dispatchRunNumber' = "2026000256"
[2026-01-28 14:53:07] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-28 14:53:07] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-01-28 14:53:07] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-01-28 14:53:07] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-28 14:53:07] [INFO]   -> Found value: 735
[2026-01-28 14:53:07] [INFO]   -> Set field 'incidentLocationStreetNumber' = 735
[2026-01-28 14:53:07] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-28 14:53:07] [INFO]   -> Found value: TN
[2026-01-28 14:53:07] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-28 14:53:07] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-28 14:53:07] [INFO]   -> Found value: 38501
[2026-01-28 14:53:07] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-01-28 14:53:07] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-28 14:53:07] [INFO]   -> No value found (null or empty)
[2026-01-28 14:53:07] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-28 14:53:07] [INFO]   -> Found value: A
[2026-01-28 14:53:07] [INFO]   -> Set field 'incidentLocationApt' = "A"
[2026-01-28 14:53:07] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-28 14:53:07] [INFO]   -> Found value: 36.20846
[2026-01-28 14:53:07] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.20846000000000231011654250323772430419921875
[2026-01-28 14:53:07] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-28 14:53:07] [INFO]   -> Found value: -85.50828
[2026-01-28 14:53:07] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.5082799999999991769072948954999446868896484375
[2026-01-28 14:53:07] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-28 14:53:07] [INFO]   -> Found value: 2026-01-28 08:51:49
[2026-01-28 14:53:07] [INFO]   -> Set field 'alarm' = "2026-01-28 08:51:49"
[2026-01-28 14:53:07] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-28 14:53:07] [INFO]   -> Found value: 2026-01-28 08:52:55
[2026-01-28 14:53:07] [INFO]   -> Set field 'dispatched' = "2026-01-28 08:52:55"
[2026-01-28 14:53:07] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-28 14:53:07] [INFO]   -> No value found (null or empty)
[2026-01-28 14:53:07] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-28 14:53:07] [INFO]   -> No value found (null or empty)
[2026-01-28 14:53:07] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-28 14:53:07] [INFO]   -> No value found (null or empty)
[2026-01-28 14:53:07] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-28 14:53:07] [INFO]   -> Found value: FREEHILL RD/DODSON BRANCH RD
[2026-01-28 14:53:07] [INFO]   -> Set field 'incidentLocationCross' = "FREEHILL RD\/DODSON BRANCH RD"
[2026-01-28 14:53:07] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-28 14:53:07] [INFO]   -> Found value: PCFR
[2026-01-28 14:53:07] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-01-28 14:53:07] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-28 14:53:07] [INFO]   -> Found value: 2026-01-28 08:52:55
[2026-01-28 14:53:07] [INFO]   -> Set field 'timedispatch' = "2026-01-28 08:52:55"
[2026-01-28 14:53:07] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-28 14:53:07] [INFO]   -> No value found (null or empty)
[2026-01-28 14:53:07] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-28 14:53:07] [INFO]   -> No value found (null or empty)
[2026-01-28 14:53:07] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-28 14:53:07] [INFO]   -> No value found (null or empty)
[2026-01-28 14:53:07] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-28 14:53:07] [INFO]   -> No value found (null or empty)
[2026-01-28 14:53:07] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-28 14:53:07] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-01-28 14:53:07] [INFO]   -> Found value: 20260010207
[2026-01-28 14:53:07] [INFO]   -> Set field 'policeReportNumber' = "20260010207"
[2026-01-28 14:53:07] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-28 14:53:07] [INFO]   -> Found value: Event spawned from BREATHING PROBLEMS.  [01/28/2026 08:51:49 DSTEPHENS]
[2026-01-28 14:53:07] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from BREATHING PROBLEMS.  [01\/28\/2026 08:51:49 DSTEPHENS]"
[2026-01-28 14:53:07] [INFO]   -> Set field 'cADLog' = "Event spawned from BREATHING PROBLEMS.  [01\/28\/2026 08:51:49 DSTEPHENS]"
[2026-01-28 14:53:07] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-28 14:53:07] [INFO]   -> Found value: COOKEVILLE
[2026-01-28 14:53:07] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-01-28 14:53:07] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-28 14:53:07] [INFO]   -> Found value: KINNIARD
[2026-01-28 14:53:07] [INFO]   -> Set field 'streetName' = "KINNIARD"
[2026-01-28 14:53:07] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-28 14:53:07] [INFO]   -> Found value: RD
[2026-01-28 14:53:07] [INFO]   -> Set field 'streetType' = "RD"
[2026-01-28 14:53:07] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-28 14:53:07] [INFO]   -> Found value: 735-A KINNIARD RD
[2026-01-28 14:53:07] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "735-A KINNIARD RD"
[2026-01-28 14:53:07] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-01-28 14:53:07] [INFO] Concatenating street name and type
[2026-01-28 14:53:07] [INFO]   -> Combined street name: KINNIARD RD
[2026-01-28 14:53:07] [INFO] Built locationCoordinates from lat/lng: 36.20846,-85.50828
[2026-01-28 14:53:07] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000256","dispatchRunNumber":"2026000256","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":735,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"incidentLocationApt":"A","nERISIncidentLatitude":36.20846000000000231011654250323772430419921875,"nERISIncidentLongitude":-85.5082799999999991769072948954999446868896484375,"alarm":"2026-01-28 08:51:49","dispatched":"2026-01-28 08:52:55","incidentLocationCross":"FREEHILL RD\/DODSON BRANCH RD","cADVehicleID":"PCFR","timedispatch":"2026-01-28 08:52:55","policeReportNumber":"20260010207","dispatchNotes":"Event spawned from BREATHING PROBLEMS.  [01\/28\/2026 08:51:49 DSTEPHENS]","cADLog":"Event spawned from BREATHING PROBLEMS.  [01\/28\/2026 08:51:49 DSTEPHENS]","incidentLocationCity":"COOKEVILLE","streetName":"KINNIARD RD","incidentAddressTextVersionStreet":"735-A KINNIARD RD","locationCoordinates":"36.20846,-85.50828"}
[2026-01-28 14:53:07] [INFO] Number of extracted fields: 22
[2026-01-28 14:53:07] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-01-28 14:53:07] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC', Parsed IDs = ["PCFD","EMS","RESC"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-01-28 14:53:07] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-01-28 14:53:07] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-01-28 14:53:07] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-01-28 14:53:07] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-01-28 14:53:08] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-01-28 14:53:08] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-01-28 14:53:08] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-01-28 14:53:08] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-01-28 14:53:08] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-01-28 14:53:08] [INFO] Found existing IncidentTypeMapping with ID: 693e326c3c0e41cb3
[2026-01-28 14:53:18] [INFO] Created new Dispatches record with ID: 697a22d476e54330e
[2026-01-28 14:53:18] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-01-28 14:53:18] [INFO] Using FTPS (SSL/TLS) connection
[2026-01-28 14:53:20] [INFO] Successfully uploaded file to V2 FTP server: /PCFD_20260010207_20260128_145307.XML
[2026-01-28 14:53:20] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010207_20260128_145307.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-01-28/PCFD_20260010207_20260128_145307.XML
[2026-01-28 14:53:20] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010207_20260128_145307.XML
[2026-01-28 15:19:27] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010215_20260128_151927.XML
[2026-01-28 15:19:27] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010215_20260128_151927.XML for user: 68f1466aed072ad4a
[2026-01-28 15:19:27] [INFO] File size: 5148 bytes
[2026-01-28 15:19:28] [INFO] Created FTPFiles record with ID: 697a290029adda15e
[2026-01-28 15:19:28] [INFO] About to extract fields from XML. File size: 5148 bytes
[2026-01-28 15:19:28] [INFO] Number of mappings: 28
[2026-01-28 15:19:28] [INFO] Starting XML parsing. Content length: 5148
[2026-01-28 15:19:28] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-28 15:19:28] [INFO] Processing 28 field mappings
[2026-01-28 15:19:28] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-28 15:19:28] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-01-28 15:19:28] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-28 15:19:28] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-01-28 15:19:28] [INFO]   -> Found value: PCFD
EMS
[2026-01-28 15:19:28] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS"
[2026-01-28 15:19:28] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-28 15:19:28] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-01-28 15:19:28] [INFO]   -> Found value: 2026000257
[2026-01-28 15:19:28] [INFO]   -> Set field 'incidentInternalId' = "2026000257"
[2026-01-28 15:19:28] [INFO]   -> Set field 'dispatchRunNumber' = "2026000257"
[2026-01-28 15:19:28] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-28 15:19:28] [INFO]   -> Found value: MANPOWER - EMS ASSIST
[2026-01-28 15:19:28] [INFO]   -> Set field 'incidentTypeValue1' = "MANPOWER - EMS ASSIST"
[2026-01-28 15:19:28] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-28 15:19:28] [INFO]   -> Found value: 3010
[2026-01-28 15:19:28] [INFO]   -> Set field 'incidentLocationStreetNumber' = 3010
[2026-01-28 15:19:28] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-28 15:19:28] [INFO]   -> Found value: TN
[2026-01-28 15:19:28] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-28 15:19:28] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-28 15:19:28] [INFO]   -> Found value: 38506
[2026-01-28 15:19:28] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-01-28 15:19:28] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-28 15:19:28] [INFO]   -> Found value: ERNIE BURGESS
[2026-01-28 15:19:28] [INFO]   -> Set field 'businessName' = "ERNIE BURGESS"
[2026-01-28 15:19:28] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-28 15:19:28] [INFO]   -> No value found (null or empty)
[2026-01-28 15:19:28] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-28 15:19:28] [INFO]   -> Found value: 36.24147
[2026-01-28 15:19:28] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.24146999999999962938090902753174304962158203125
[2026-01-28 15:19:28] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-28 15:19:28] [INFO]   -> Found value: -85.43627
[2026-01-28 15:19:28] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4362699999999932742866803891956806182861328125
[2026-01-28 15:19:28] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-28 15:19:28] [INFO]   -> Found value: 2026-01-28 09:17:22
[2026-01-28 15:19:28] [INFO]   -> Set field 'alarm' = "2026-01-28 09:17:22"
[2026-01-28 15:19:28] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-28 15:19:28] [INFO]   -> Found value: 2026-01-28 09:19:23
[2026-01-28 15:19:28] [INFO]   -> Set field 'dispatched' = "2026-01-28 09:19:23"
[2026-01-28 15:19:28] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-28 15:19:28] [INFO]   -> No value found (null or empty)
[2026-01-28 15:19:28] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-28 15:19:28] [INFO]   -> No value found (null or empty)
[2026-01-28 15:19:28] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-28 15:19:28] [INFO]   -> No value found (null or empty)
[2026-01-28 15:19:28] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-28 15:19:28] [INFO]   -> Found value: POSTON WHITEAKER RD/PRESLEY LN
[2026-01-28 15:19:28] [INFO]   -> Set field 'incidentLocationCross' = "POSTON WHITEAKER RD\/PRESLEY LN"
[2026-01-28 15:19:28] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-28 15:19:28] [INFO]   -> Found value: TK12
[2026-01-28 15:19:28] [INFO]   -> Set field 'cADVehicleID' = "TK12"
[2026-01-28 15:19:28] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-28 15:19:28] [INFO]   -> Found value: 2026-01-28 09:19:23
[2026-01-28 15:19:28] [INFO]   -> Set field 'timedispatch' = "2026-01-28 09:19:23"
[2026-01-28 15:19:28] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-28 15:19:28] [INFO]   -> No value found (null or empty)
[2026-01-28 15:19:28] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-28 15:19:28] [INFO]   -> No value found (null or empty)
[2026-01-28 15:19:28] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-28 15:19:28] [INFO]   -> No value found (null or empty)
[2026-01-28 15:19:28] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-28 15:19:28] [INFO]   -> No value found (null or empty)
[2026-01-28 15:19:28] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-28 15:19:28] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-01-28 15:19:28] [INFO]   -> Found value: 20260010215
[2026-01-28 15:19:28] [INFO]   -> Set field 'policeReportNumber' = "20260010215"
[2026-01-28 15:19:28] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-28 15:19:28] [INFO]   -> Found value: Event spawned from EMS NON-EMERGENCY.  [01/28/2026 09:17:22 KHILL] MANPOWER NEEDED  [01/28/26 09:16:...
[2026-01-28 15:19:28] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from EMS NON-EMERGENCY.  [01\/28\/2026 09:17:22 KHILL] MANPOWER NEEDED  [01\/28\/26 09:16:56 KMORGAN2] LIFT ASSIST  [01\/28\/26 09:16:51 KMORGAN2] FELL OUT OF BED  310LBS  [01\/28\/26 09:15:54 KMORGAN2]"
[2026-01-28 15:19:28] [INFO]   -> Set field 'cADLog' = "Event spawned from EMS NON-EMERGENCY.  [01\/28\/2026 09:17:22 KHILL] MANPOWER NEEDED  [01\/28\/26 09:16:56 KMORGAN2] LIFT ASSIST  [01\/28\/26 09:16:51 KMORGAN2] FELL OUT OF BED  310LBS  [01\/28\/26 09:15:54 KMORGAN2]"
[2026-01-28 15:19:28] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-28 15:19:28] [INFO]   -> Found value: COOKEVILLE
[2026-01-28 15:19:28] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-01-28 15:19:28] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-28 15:19:28] [INFO]   -> Found value: PARAN
[2026-01-28 15:19:28] [INFO]   -> Set field 'streetName' = "PARAN"
[2026-01-28 15:19:28] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-28 15:19:28] [INFO]   -> Found value: RD
[2026-01-28 15:19:28] [INFO]   -> Set field 'streetType' = "RD"
[2026-01-28 15:19:28] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-28 15:19:28] [INFO]   -> Found value: 3010 PARAN RD
[2026-01-28 15:19:28] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "3010 PARAN RD"
[2026-01-28 15:19:28] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-01-28 15:19:28] [INFO] Concatenating street name and type
[2026-01-28 15:19:28] [INFO]   -> Combined street name: PARAN RD
[2026-01-28 15:19:28] [INFO] Built locationCoordinates from lat/lng: 36.24147,-85.43627
[2026-01-28 15:19:28] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS","incidentInternalId":"2026000257","dispatchRunNumber":"2026000257","incidentTypeValue1":"MANPOWER - EMS ASSIST","incidentLocationStreetNumber":3010,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"businessName":"ERNIE BURGESS","nERISIncidentLatitude":36.24146999999999962938090902753174304962158203125,"nERISIncidentLongitude":-85.4362699999999932742866803891956806182861328125,"alarm":"2026-01-28 09:17:22","dispatched":"2026-01-28 09:19:23","incidentLocationCross":"POSTON WHITEAKER RD\/PRESLEY LN","cADVehicleID":"TK12","timedispatch":"2026-01-28 09:19:23","policeReportNumber":"20260010215","dispatchNotes":"Event spawned from EMS NON-EMERGENCY.  [01\/28\/2026 09:17:22 KHILL] MANPOWER NEEDED  [01\/28\/26 09:16:56 KMORGAN2] LIFT ASSIST  [01\/28\/26 09:16:51 KMORGAN2] FELL OUT OF BED  310LBS  [01\/28\/26 09:15:54 KMORGAN2]","cADLog":"Event spawned from EMS NON-EMERGENCY.  [01\/28\/2026 09:17:22 KHILL] MANPOWER NEEDED  [01\/28\/26 09:16:56 KMORGAN2] LIFT ASSIST  [01\/28\/26 09:16:51 KMORGAN2] FELL OUT OF BED  310LBS  [01\/28\/26 09:15:54 KMORGAN2]","incidentLocationCity":"COOKEVILLE","streetName":"PARAN RD","incidentAddressTextVersionStreet":"3010 PARAN RD","locationCoordinates":"36.24147,-85.43627"}
[2026-01-28 15:19:28] [INFO] Number of extracted fields: 22
[2026-01-28 15:19:28] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS'
[2026-01-28 15:19:28] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS', Parsed IDs = ["PCFD","EMS"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-01-28 15:19:28] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS"]
[2026-01-28 15:19:28] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-01-28 15:19:28] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-01-28 15:19:28] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS"]
[2026-01-28 15:19:28] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-01-28 15:19:28] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-01-28 15:19:28] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-01-28 15:19:28] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-01-28 15:19:28] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-01-28 15:19:28] [INFO] Found existing IncidentTypeMapping with ID: 6938bcc5e565c9852
[2026-01-28 15:19:38] [INFO] Created new Dispatches record with ID: 697a2900f27293045
[2026-01-28 15:19:38] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-01-28 15:19:38] [INFO] Using FTPS (SSL/TLS) connection
[2026-01-28 15:19:41] [INFO] Successfully uploaded file to V2 FTP server: /PCFD_20260010215_20260128_151927.XML
[2026-01-28 15:19:41] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010215_20260128_151927.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-01-28/PCFD_20260010215_20260128_151927.XML
[2026-01-28 15:19:41] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010215_20260128_151927.XML
[2026-01-28 17:12:54] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-02902.xml
[2026-01-28 17:12:54] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-02902.xml for user: 68d56363ec1209189
[2026-01-28 17:12:54] [INFO] File size: 2624 bytes
[2026-01-28 17:12:54] [INFO] Created FTPFiles record with ID: 697a43967b7890cad
[2026-01-28 17:12:54] [INFO] About to extract fields from XML. File size: 2624 bytes
[2026-01-28 17:12:54] [INFO] Number of mappings: 21
[2026-01-28 17:12:54] [INFO] Starting XML parsing. Content length: 2624
[2026-01-28 17:12:54] [INFO] XML parsed successfully. Root element: Incident
[2026-01-28 17:12:54] [INFO] Processing 21 field mappings
[2026-01-28 17:12:54] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-01-28 17:12:54] [INFO]   -> Found value: 26-02902
[2026-01-28 17:12:54] [INFO]   -> Set field 'dispatchRunNumber' = "26-02902"
[2026-01-28 17:12:54] [INFO]   -> Set field 'cADNumber' = "26-02902"
[2026-01-28 17:12:54] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-01-28 17:12:54] [INFO]   -> Found value: 100
[2026-01-28 17:12:54] [INFO]   -> Set field 'incidentLocationStreetNumber' = 100
[2026-01-28 17:12:54] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-01-28 17:12:54] [INFO]   -> Found value: MATT ST
[2026-01-28 17:12:54] [INFO]   -> Set field 'streetName' = "MATT ST"
[2026-01-28 17:12:54] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-01-28 17:12:54] [INFO]   -> No value found (null or empty)
[2026-01-28 17:12:54] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-01-28 17:12:54] [INFO]   -> Found value: SIKESTON
[2026-01-28 17:12:54] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2026-01-28 17:12:54] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-01-28 17:12:54] [INFO]   -> No value found (null or empty)
[2026-01-28 17:12:54] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-01-28 17:12:54] [INFO]   -> Found value: MO
[2026-01-28 17:12:54] [INFO]   -> Set field 'incidentLocationStateName' = "MO"
[2026-01-28 17:12:54] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-01-28 17:12:54] [INFO]   -> Found value: 63801
[2026-01-28 17:12:54] [INFO]   -> Set field 'nERISIncidentPostalCode' = 63801
[2026-01-28 17:12:54] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-01-28 17:12:54] [INFO]   -> Found value: 0
[2026-01-28 17:12:54] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2026-01-28 17:12:54] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-01-28 17:12:54] [INFO]   -> Found value: 0
[2026-01-28 17:12:54] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2026-01-28 17:12:54] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-01-28 17:12:54] [INFO]   -> Found value: FIRE-OUT OF TOWN
[2026-01-28 17:12:54] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE-OUT OF TOWN"
[2026-01-28 17:12:54] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-01-28 17:12:54] [INFO]   -> Found value: 01-28-2026 10:35:07|STRUCTURE FIRE    ANIMALS STILL INSIDE 01-28-2026 10:37:40|NOTIFIED 3413 01-28-2...
[2026-01-28 17:12:54] [INFO]   -> Set field 'dispatchNotes' = "01-28-2026 10:35:07|STRUCTURE FIRE    ANIMALS STILL INSIDE 01-28-2026 10:37:40|NOTIFIED 3413 01-28-2026 10:38:49|LAD 3 RESPONDING TO STA 3 01-28-2026 10:45:39|NOTHING SHOWING 01-28-2026 10:46:08|OWNER STATED FIRE IN BEDROOM WITH SPACE HEATER 01-28-2026 10:46:16|INVESTIGATING 01-28-2026 10:47:53|LIGHT SMOKE IN RESIDENCE 01-28-2026 10:54:54|DOWNGRADE PER A25 01-28-2026 11:11:08|Disposition - SSCA UNIT:  NRN 01-28-2026 11:11:25|Disposition - SSCA:  RPT"
[2026-01-28 17:12:54] [INFO]   -> Set field 'cADLog' = "01-28-2026 10:35:07|STRUCTURE FIRE    ANIMALS STILL INSIDE 01-28-2026 10:37:40|NOTIFIED 3413 01-28-2026 10:38:49|LAD 3 RESPONDING TO STA 3 01-28-2026 10:45:39|NOTHING SHOWING 01-28-2026 10:46:08|OWNER STATED FIRE IN BEDROOM WITH SPACE HEATER 01-28-2026 10:46:16|INVESTIGATING 01-28-2026 10:47:53|LIGHT SMOKE IN RESIDENCE 01-28-2026 10:54:54|DOWNGRADE PER A25 01-28-2026 11:11:08|Disposition - SSCA UNIT:  NRN 01-28-2026 11:11:25|Disposition - SSCA:  RPT"
[2026-01-28 17:12:54] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-01-28 17:12:54] [INFO]   -> Found value: 01-28-2026T10:36:48
[2026-01-28 17:12:54] [INFO] Reformatted DD-MM-YYYY date '01-28-2026' (day=01, month=28) to ISO: 2026-28-01T10:36:48
[2026-01-28 17:12:54] [ERROR] Error formatting datetime '2026-28-01T10:36:48': Failed to parse time string (2026-28-01T10:36:48) at position 6 (8): Unexpected character
[2026-01-28 17:12:54] [INFO]   -> Set field 'alarm' = null
[2026-01-28 17:12:54] [INFO] Reformatted DD-MM-YYYY date '01-28-2026' (day=01, month=28) to ISO: 2026-28-01T10:36:48
[2026-01-28 17:12:54] [ERROR] Error formatting datetime '2026-28-01T10:36:48': Failed to parse time string (2026-28-01T10:36:48) at position 6 (8): Unexpected character
[2026-01-28 17:12:54] [INFO]   -> Set field 'dispatched' = null
[2026-01-28 17:12:54] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-01-28 17:12:54] [INFO]   -> Found value: 01-28-2026T10:45:32
[2026-01-28 17:12:54] [INFO] Reformatted DD-MM-YYYY date '01-28-2026' (day=01, month=28) to ISO: 2026-28-01T10:45:32
[2026-01-28 17:12:54] [ERROR] Error formatting datetime '2026-28-01T10:45:32': Failed to parse time string (2026-28-01T10:45:32) at position 6 (8): Unexpected character
[2026-01-28 17:12:54] [INFO]   -> Set field 'onScene' = null
[2026-01-28 17:12:54] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-01-28 17:12:54] [INFO]   -> Found value: 01-28-2026T11:11:43
[2026-01-28 17:12:54] [INFO] Reformatted DD-MM-YYYY date '01-28-2026' (day=01, month=28) to ISO: 2026-28-01T11:11:43
[2026-01-28 17:12:54] [ERROR] Error formatting datetime '2026-28-01T11:11:43': Failed to parse time string (2026-28-01T11:11:43) at position 6 (8): Unexpected character
[2026-01-28 17:12:54] [INFO]   -> Set field 'cleared' = null
[2026-01-28 17:12:54] [INFO] Reformatted DD-MM-YYYY date '01-28-2026' (day=01, month=28) to ISO: 2026-28-01T11:11:43
[2026-01-28 17:12:54] [ERROR] Error formatting datetime '2026-28-01T11:11:43': Failed to parse time string (2026-28-01T11:11:43) at position 6 (8): Unexpected character
[2026-01-28 17:12:54] [INFO]   -> Set field 'inService' = null
[2026-01-28 17:12:54] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-01-28 17:12:54] [INFO]   -> Found value: DOWNGRADE
[2026-01-28 17:12:54] [INFO]   -> Set field 'cADVehicleID' = "DOWNGRADE"
[2026-01-28 17:12:54] [INFO]   -> Set field 'name' = "DOWNGRADE"
[2026-01-28 17:12:54] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-01-28 17:12:54] [INFO]   -> No value found (null or empty)
[2026-01-28 17:12:54] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-01-28 17:12:54] [INFO]   -> No value found (null or empty)
[2026-01-28 17:12:54] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-01-28 17:12:54] [INFO]   -> Found value: 01-28-2026T11:11:43
[2026-01-28 17:12:54] [INFO] Reformatted DD-MM-YYYY date '01-28-2026' (day=01, month=28) to ISO: 2026-28-01T11:11:43
[2026-01-28 17:12:54] [ERROR] Error formatting datetime '2026-28-01T11:11:43': Failed to parse time string (2026-28-01T11:11:43) at position 6 (8): Unexpected character
[2026-01-28 17:12:54] [INFO]   -> Set field 'timeunitclear' = null
[2026-01-28 17:12:54] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-01-28 17:12:54] [INFO]   -> Found value: 01-28-2026T10:54:14
[2026-01-28 17:12:54] [INFO] Reformatted DD-MM-YYYY date '01-28-2026' (day=01, month=28) to ISO: 2026-28-01T10:54:14
[2026-01-28 17:12:54] [ERROR] Error formatting datetime '2026-28-01T10:54:14': Failed to parse time string (2026-28-01T10:54:14) at position 6 (8): Unexpected character
[2026-01-28 17:12:54] [INFO]   -> Set field 'timedispatch' = null
[2026-01-28 17:12:54] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-01-28 17:12:54] [INFO]   -> Found value: SDPSFD
[2026-01-28 17:12:54] [INFO]   -> Set field 'cADAgencyIdentifier' = "SDPSFD"
[2026-01-28 17:12:54] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-01-28 17:12:54] [INFO] Built locationCoordinates from lat/lng: 0,0
[2026-01-28 17:12:54] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-02902","cADNumber":"26-02902","incidentLocationStreetNumber":100,"streetName":"MATT ST","incidentLocationCity":"SIKESTON","incidentLocationStateName":"MO","nERISIncidentPostalCode":63801,"nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"FIRE-OUT OF TOWN","dispatchNotes":"01-28-2026 10:35:07|STRUCTURE FIRE    ANIMALS STILL INSIDE 01-28-2026 10:37:40|NOTIFIED 3413 01-28-2026 10:38:49|LAD 3 RESPONDING TO STA 3 01-28-2026 10:45:39|NOTHING SHOWING 01-28-2026 10:46:08|OWNER STATED FIRE IN BEDROOM WITH SPACE HEATER 01-28-2026 10:46:16|INVESTIGATING 01-28-2026 10:47:53|LIGHT SMOKE IN RESIDENCE 01-28-2026 10:54:54|DOWNGRADE PER A25 01-28-2026 11:11:08|Disposition - SSCA UNIT:  NRN 01-28-2026 11:11:25|Disposition - SSCA:  RPT","cADLog":"01-28-2026 10:35:07|STRUCTURE FIRE    ANIMALS STILL INSIDE 01-28-2026 10:37:40|NOTIFIED 3413 01-28-2026 10:38:49|LAD 3 RESPONDING TO STA 3 01-28-2026 10:45:39|NOTHING SHOWING 01-28-2026 10:46:08|OWNER STATED FIRE IN BEDROOM WITH SPACE HEATER 01-28-2026 10:46:16|INVESTIGATING 01-28-2026 10:47:53|LIGHT SMOKE IN RESIDENCE 01-28-2026 10:54:54|DOWNGRADE PER A25 01-28-2026 11:11:08|Disposition - SSCA UNIT:  NRN 01-28-2026 11:11:25|Disposition - SSCA:  RPT","alarm":null,"dispatched":null,"onScene":null,"cleared":null,"inService":null,"cADVehicleID":"DOWNGRADE","name":"DOWNGRADE","timeunitclear":null,"timedispatch":null,"cADAgencyIdentifier":"SDPSFD","locationCoordinates":"0,0"}
[2026-01-28 17:12:54] [INFO] Number of extracted fields: 23
[2026-01-28 17:12:54] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SDPSFD'
[2026-01-28 17:12:54] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SDPSFD', Parsed IDs = ["SDPSFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 2
[2026-01-28 17:12:54] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SDPSFD"]
[2026-01-28 17:12:54] [INFO] Attempting SAASClient lookup for AgencyCode 'SDPSFD' (index 0) within mailbox's assigned agencies
[2026-01-28 17:12:54] [INFO] SUCCESS: Routed to agency 'Sikeston DPS' (ID: 6772cab7157b2ebde) at INDEX 0 based on AgencyCode 'SDPSFD'
[2026-01-28 17:12:54] [INFO] Fetched 4 stations from Stations module for agency 'Sikeston DPS': ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"]
[2026-01-28 17:12:54] [INFO] Final routing: saasclientId = 6772cab7157b2ebde, dispatchStationsIds = ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"], matchedAgencyIndex = 0
[2026-01-28 17:12:54] [INFO] Multi-agency routing matched mailbox default agency: 6772cab7157b2ebde (no update needed)
[2026-01-28 17:12:55] [INFO] Found existing IncidentTypeMapping with ID: 68e4158e878336f04
[2026-01-28 17:12:56] [INFO] Created new Dispatches record with ID: 697a43975bb42917f
[2026-01-28 17:12:56] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-02902.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-01-28/SDPSFD_26-02902.xml
[2026-01-28 17:12:56] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-02902.xml
[2026-01-28 17:35:38] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-005878.xml
[2026-01-28 17:35:38] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-005878.xml for user: 69320e6a9e3e5ef71
[2026-01-28 17:35:38] [INFO] File size: 16080 bytes
[2026-01-28 17:35:38] [INFO] Created FTPFiles record with ID: 697a48ea5a9427edc
[2026-01-28 17:35:38] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-28 17:35:38] [INFO] Created archive directory: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-01-28
[2026-01-28 17:35:38] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-005878.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-01-28/cfs_2026-005878.xml
[2026-01-28 17:35:38] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-005878.xml
[2026-01-28 17:35:47] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-005878.xml
[2026-01-28 17:35:47] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-005878.xml for user: 69320e6a9e3e5ef71
[2026-01-28 17:35:47] [INFO] File size: 16082 bytes
[2026-01-28 17:35:47] [INFO] Created FTPFiles record with ID: 697a48f38e81311d9
[2026-01-28 17:35:47] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-28 17:35:47] [INFO] File already exists in archive, using unique name: cfs_2026-005878_1769621747.xml
[2026-01-28 17:35:47] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-005878.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-01-28/cfs_2026-005878_1769621747.xml
[2026-01-28 17:35:47] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-005878.xml
[2026-01-28 17:37:55] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-005878.xml
[2026-01-28 17:37:55] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-005878.xml for user: 69320e6a9e3e5ef71
[2026-01-28 17:37:55] [INFO] File size: 18329 bytes
[2026-01-28 17:37:55] [INFO] Created FTPFiles record with ID: 697a4973e71f9b156
[2026-01-28 17:37:55] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-28 17:37:55] [INFO] File already exists in archive, using unique name: cfs_2026-005878_1769621875.xml
[2026-01-28 17:37:55] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-005878.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-01-28/cfs_2026-005878_1769621875.xml
[2026-01-28 17:37:55] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-005878.xml
[2026-01-28 17:44:16] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-005878.xml
[2026-01-28 17:44:16] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-005878.xml for user: 69320e6a9e3e5ef71
[2026-01-28 17:44:16] [INFO] File size: 20579 bytes
[2026-01-28 17:44:17] [INFO] Created FTPFiles record with ID: 697a4af10593a79ed
[2026-01-28 17:44:17] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-28 17:44:17] [INFO] File already exists in archive, using unique name: cfs_2026-005878_1769622257.xml
[2026-01-28 17:44:17] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-005878.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-01-28/cfs_2026-005878_1769622257.xml
[2026-01-28 17:44:17] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-005878.xml
[2026-01-28 17:46:54] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-005878.xml
[2026-01-28 17:46:54] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-005878.xml for user: 69320e6a9e3e5ef71
[2026-01-28 17:46:54] [INFO] File size: 22827 bytes
[2026-01-28 17:46:54] [INFO] Created FTPFiles record with ID: 697a4b8ed80b6acaa
[2026-01-28 17:46:54] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-28 17:46:54] [INFO] File already exists in archive, using unique name: cfs_2026-005878_1769622414.xml
[2026-01-28 17:46:54] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-005878.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-01-28/cfs_2026-005878_1769622414.xml
[2026-01-28 17:46:54] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-005878.xml
[2026-01-28 17:47:28] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-005878.xml
[2026-01-28 17:47:28] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-005878.xml for user: 69320e6a9e3e5ef71
[2026-01-28 17:47:28] [INFO] File size: 23830 bytes
[2026-01-28 17:47:29] [INFO] Created FTPFiles record with ID: 697a4bb108d3b304d
[2026-01-28 17:47:29] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-28 17:47:29] [INFO] File already exists in archive, using unique name: cfs_2026-005878_1769622449.xml
[2026-01-28 17:47:29] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-005878.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-01-28/cfs_2026-005878_1769622449.xml
[2026-01-28 17:47:29] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-005878.xml
[2026-01-28 17:47:55] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-005878.xml
[2026-01-28 17:47:56] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-005878.xml for user: 69320e6a9e3e5ef71
[2026-01-28 17:47:56] [INFO] File size: 24843 bytes
[2026-01-28 17:47:56] [INFO] Created FTPFiles record with ID: 697a4bcc50ece8e49
[2026-01-28 17:47:56] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-28 17:47:56] [INFO] File already exists in archive, using unique name: cfs_2026-005878_1769622476.xml
[2026-01-28 17:47:56] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-005878.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-01-28/cfs_2026-005878_1769622476.xml
[2026-01-28 17:47:56] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-005878.xml
[2026-01-28 17:48:08] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-005878.xml
[2026-01-28 17:48:08] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-005878.xml for user: 69320e6a9e3e5ef71
[2026-01-28 17:48:08] [INFO] File size: 25832 bytes
[2026-01-28 17:48:08] [INFO] Created FTPFiles record with ID: 697a4bd8b98edf249
[2026-01-28 17:48:08] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-28 17:48:08] [INFO] File already exists in archive, using unique name: cfs_2026-005878_1769622488.xml
[2026-01-28 17:48:08] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-005878.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-01-28/cfs_2026-005878_1769622488.xml
[2026-01-28 17:48:08] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-005878.xml
[2026-01-28 17:55:37] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010286_20260128_175537.XML
[2026-01-28 17:55:37] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010286_20260128_175537.XML for user: 68f1466aed072ad4a
[2026-01-28 17:55:37] [INFO] File size: 5318 bytes
[2026-01-28 17:56:07] [INFO] Created FTPFiles record with ID: 697a4db79c6328629
[2026-01-28 17:56:07] [INFO] About to extract fields from XML. File size: 5318 bytes
[2026-01-28 17:56:07] [INFO] Number of mappings: 28
[2026-01-28 17:56:07] [INFO] Starting XML parsing. Content length: 5318
[2026-01-28 17:56:07] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-28 17:56:07] [INFO] Processing 28 field mappings
[2026-01-28 17:56:07] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-28 17:56:07] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-01-28 17:56:07] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-28 17:56:07] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-01-28 17:56:07] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-01-28 17:56:07] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-01-28 17:56:07] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-28 17:56:07] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-01-28 17:56:07] [INFO]   -> Found value: 2026000258
[2026-01-28 17:56:07] [INFO]   -> Set field 'incidentInternalId' = "2026000258"
[2026-01-28 17:56:07] [INFO]   -> Set field 'dispatchRunNumber' = "2026000258"
[2026-01-28 17:56:07] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-28 17:56:07] [INFO]   -> Found value: FALL VICTIM
[2026-01-28 17:56:07] [INFO]   -> Set field 'incidentTypeValue1' = "FALL VICTIM"
[2026-01-28 17:56:07] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-28 17:56:07] [INFO]   -> Found value: 17951
[2026-01-28 17:56:07] [INFO]   -> Set field 'incidentLocationStreetNumber' = 17951
[2026-01-28 17:56:07] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-28 17:56:07] [INFO]   -> Found value: TN
[2026-01-28 17:56:07] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-28 17:56:07] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-28 17:56:07] [INFO]   -> Found value: 38548
[2026-01-28 17:56:07] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38548
[2026-01-28 17:56:07] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-28 17:56:07] [INFO]   -> No value found (null or empty)
[2026-01-28 17:56:07] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-28 17:56:07] [INFO]   -> No value found (null or empty)
[2026-01-28 17:56:07] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-28 17:56:07] [INFO]   -> Found value: 36.18146
[2026-01-28 17:56:07] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1814600000000012869350030086934566497802734375
[2026-01-28 17:56:07] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-28 17:56:07] [INFO]   -> Found value: -85.80347
[2026-01-28 17:56:07] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.80347000000000434738467447459697723388671875
[2026-01-28 17:56:07] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-28 17:56:07] [INFO]   -> Found value: 2026-01-28 11:54:45
[2026-01-28 17:56:07] [INFO]   -> Set field 'alarm' = "2026-01-28 11:54:45"
[2026-01-28 17:56:07] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-28 17:56:07] [INFO]   -> Found value: 2026-01-28 11:55:30
[2026-01-28 17:56:07] [INFO]   -> Set field 'dispatched' = "2026-01-28 11:55:30"
[2026-01-28 17:56:07] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-28 17:56:07] [INFO]   -> No value found (null or empty)
[2026-01-28 17:56:07] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-28 17:56:07] [INFO]   -> No value found (null or empty)
[2026-01-28 17:56:07] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-28 17:56:07] [INFO]   -> No value found (null or empty)
[2026-01-28 17:56:07] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-28 17:56:07] [INFO]   -> Found value: W WALTON CIR
[2026-01-28 17:56:07] [INFO]   -> Set field 'incidentLocationCross' = "W WALTON CIR"
[2026-01-28 17:56:07] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-28 17:56:07] [INFO]   -> Found value: PCFR
[2026-01-28 17:56:07] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-01-28 17:56:07] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-28 17:56:07] [INFO]   -> Found value: 2026-01-28 11:55:30
[2026-01-28 17:56:07] [INFO]   -> Set field 'timedispatch' = "2026-01-28 11:55:30"
[2026-01-28 17:56:07] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-28 17:56:07] [INFO]   -> No value found (null or empty)
[2026-01-28 17:56:07] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-28 17:56:07] [INFO]   -> No value found (null or empty)
[2026-01-28 17:56:07] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-28 17:56:07] [INFO]   -> No value found (null or empty)
[2026-01-28 17:56:07] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-28 17:56:07] [INFO]   -> No value found (null or empty)
[2026-01-28 17:56:07] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-28 17:56:07] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-01-28 17:56:07] [INFO]   -> Found value: 20260010286
[2026-01-28 17:56:07] [INFO]   -> Set field 'policeReportNumber' = "20260010286"
[2026-01-28 17:56:07] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-28 17:56:07] [INFO]   -> Found value: [EMS] PALE//SLURRED SPEECH  [01/28/26 11:55:21 KMORGAN2] [EMS] LOST CONSCIOUSNESS  [01/28/26 11:55:0...
[2026-01-28 17:56:07] [INFO]   -> Set field 'dispatchNotes' = "[EMS] PALE\/\/SLURRED SPEECH  [01\/28\/26 11:55:21 KMORGAN2] [EMS] LOST CONSCIOUSNESS  [01\/28\/26 11:55:09 KMORGAN2] Event spawned from FALL VICTIM.  [01\/28\/2026 11:54:45 KMORGAN2] FELL OUT OF BED UNABLE TO MOVE  [01\/28\/26 11:54:41 KMORGAN2]]"
[2026-01-28 17:56:07] [INFO]   -> Set field 'cADLog' = "[EMS] PALE\/\/SLURRED SPEECH  [01\/28\/26 11:55:21 KMORGAN2] [EMS] LOST CONSCIOUSNESS  [01\/28\/26 11:55:09 KMORGAN2] Event spawned from FALL VICTIM.  [01\/28\/2026 11:54:45 KMORGAN2] FELL OUT OF BED UNABLE TO MOVE  [01\/28\/26 11:54:41 KMORGAN2]]"
[2026-01-28 17:56:07] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-28 17:56:07] [INFO]   -> Found value: BUFFALO VALLEY
[2026-01-28 17:56:07] [INFO]   -> Set field 'incidentLocationCity' = "BUFFALO VALLEY"
[2026-01-28 17:56:07] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-28 17:56:07] [INFO]   -> Found value: NASHVILLE
[2026-01-28 17:56:07] [INFO]   -> Set field 'streetName' = "NASHVILLE"
[2026-01-28 17:56:07] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-28 17:56:07] [INFO]   -> Found value: HWY
[2026-01-28 17:56:07] [INFO]   -> Set field 'streetType' = "HWY"
[2026-01-28 17:56:07] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-28 17:56:07] [INFO]   -> Found value: 17951 NASHVILLE HWY
[2026-01-28 17:56:07] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "17951 NASHVILLE HWY"
[2026-01-28 17:56:07] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-01-28 17:56:07] [INFO] Concatenating street name and type
[2026-01-28 17:56:07] [INFO]   -> Combined street name: NASHVILLE HWY
[2026-01-28 17:56:07] [INFO] Built locationCoordinates from lat/lng: 36.18146,-85.80347
[2026-01-28 17:56:07] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000258","dispatchRunNumber":"2026000258","incidentTypeValue1":"FALL VICTIM","incidentLocationStreetNumber":17951,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38548,"nERISIncidentLatitude":36.1814600000000012869350030086934566497802734375,"nERISIncidentLongitude":-85.80347000000000434738467447459697723388671875,"alarm":"2026-01-28 11:54:45","dispatched":"2026-01-28 11:55:30","incidentLocationCross":"W WALTON CIR","cADVehicleID":"PCFR","timedispatch":"2026-01-28 11:55:30","policeReportNumber":"20260010286","dispatchNotes":"[EMS] PALE\/\/SLURRED SPEECH  [01\/28\/26 11:55:21 KMORGAN2] [EMS] LOST CONSCIOUSNESS  [01\/28\/26 11:55:09 KMORGAN2] Event spawned from FALL VICTIM.  [01\/28\/2026 11:54:45 KMORGAN2] FELL OUT OF BED UNABLE TO MOVE  [01\/28\/26 11:54:41 KMORGAN2]]","cADLog":"[EMS] PALE\/\/SLURRED SPEECH  [01\/28\/26 11:55:21 KMORGAN2] [EMS] LOST CONSCIOUSNESS  [01\/28\/26 11:55:09 KMORGAN2] Event spawned from FALL VICTIM.  [01\/28\/2026 11:54:45 KMORGAN2] FELL OUT OF BED UNABLE TO MOVE  [01\/28\/26 11:54:41 KMORGAN2]]","incidentLocationCity":"BUFFALO VALLEY","streetName":"NASHVILLE HWY","incidentAddressTextVersionStreet":"17951 NASHVILLE HWY","locationCoordinates":"36.18146,-85.80347"}
[2026-01-28 17:56:07] [INFO] Number of extracted fields: 21
[2026-01-28 17:56:07] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-01-28 17:56:07] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC', Parsed IDs = ["PCFD","EMS","RESC"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-01-28 17:56:07] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-01-28 17:56:07] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-01-28 17:56:28] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-01-28 17:56:28] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-01-28 17:56:55] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-01-28 17:56:55] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-01-28 17:56:55] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-01-28 17:56:55] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-01-28 17:56:55] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-01-28 17:57:23] [INFO] Found existing IncidentTypeMapping with ID: 69372a143f466ddae
[2026-01-28 17:57:32] [INFO] Created new Dispatches record with ID: 697a4e03e5f90ed4c
[2026-01-28 17:57:32] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-01-28 17:57:33] [INFO] Using FTPS (SSL/TLS) connection
[2026-01-28 17:57:36] [INFO] Successfully uploaded file to V2 FTP server: /PCFD_20260010286_20260128_175537.XML
[2026-01-28 17:57:36] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010286_20260128_175537.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-01-28/PCFD_20260010286_20260128_175537.XML
[2026-01-28 17:57:36] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010286_20260128_175537.XML
[2026-01-28 17:57:36] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-005878.xml
[2026-01-28 17:57:36] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-005878.xml for user: 69320e6a9e3e5ef71
[2026-01-28 17:57:36] [INFO] File size: 27826 bytes
[2026-01-28 17:57:36] [INFO] Created FTPFiles record with ID: 697a4e10980bd0286
[2026-01-28 17:57:36] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-28 17:57:36] [INFO] File already exists in archive, using unique name: cfs_2026-005878_1769623056.xml
[2026-01-28 17:57:36] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-005878.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-01-28/cfs_2026-005878_1769623056.xml
[2026-01-28 17:57:36] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-005878.xml
[2026-01-28 18:03:14] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-005878.xml
[2026-01-28 18:03:14] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-005878.xml for user: 69320e6a9e3e5ef71
[2026-01-28 18:03:14] [INFO] File size: 28810 bytes
[2026-01-28 18:03:14] [INFO] Created FTPFiles record with ID: 697a4f62b70359210
[2026-01-28 18:03:14] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-28 18:03:14] [INFO] File already exists in archive, using unique name: cfs_2026-005878_1769623394.xml
[2026-01-28 18:03:14] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-005878.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-01-28/cfs_2026-005878_1769623394.xml
[2026-01-28 18:03:14] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-005878.xml
[2026-01-28 18:03:44] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-005878.xml
[2026-01-28 18:03:44] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-005878.xml for user: 69320e6a9e3e5ef71
[2026-01-28 18:03:44] [INFO] File size: 30405 bytes
[2026-01-28 18:03:48] [INFO] Created FTPFiles record with ID: 697a4f8478d82ecf1
[2026-01-28 18:03:48] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-28 18:03:48] [INFO] File already exists in archive, using unique name: cfs_2026-005878_1769623428.xml
[2026-01-28 18:03:48] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-005878.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-01-28/cfs_2026-005878_1769623428.xml
[2026-01-28 18:03:48] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-005878.xml
[2026-01-28 18:03:50] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-005878.xml
[2026-01-28 18:03:50] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-005878.xml for user: 69320e6a9e3e5ef71
[2026-01-28 18:03:50] [INFO] File size: 30405 bytes
[2026-01-28 18:03:50] [INFO] Created FTPFiles record with ID: 697a4f86def0cf42c
[2026-01-28 18:03:50] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-28 18:03:50] [INFO] File already exists in archive, using unique name: cfs_2026-005878_1769623430.xml
[2026-01-28 18:03:50] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-005878.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-01-28/cfs_2026-005878_1769623430.xml
[2026-01-28 18:03:50] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-005878.xml
[2026-01-28 18:09:07] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010299_20260128_180907.XML
[2026-01-28 18:09:07] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010299_20260128_180907.XML for user: 68f1466aed072ad4a
[2026-01-28 18:09:07] [INFO] File size: 5430 bytes
[2026-01-28 18:09:08] [INFO] Created FTPFiles record with ID: 697a50c46516a19e3
[2026-01-28 18:09:08] [INFO] About to extract fields from XML. File size: 5430 bytes
[2026-01-28 18:09:08] [INFO] Number of mappings: 28
[2026-01-28 18:09:08] [INFO] Starting XML parsing. Content length: 5430
[2026-01-28 18:09:08] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-28 18:09:08] [INFO] Processing 28 field mappings
[2026-01-28 18:09:08] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-28 18:09:08] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-01-28 18:09:08] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-28 18:09:08] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-01-28 18:09:08] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-01-28 18:09:08] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-01-28 18:09:08] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-28 18:09:08] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-01-28 18:09:08] [INFO]   -> Found value: 2026000259
[2026-01-28 18:09:08] [INFO]   -> Set field 'incidentInternalId' = "2026000259"
[2026-01-28 18:09:08] [INFO]   -> Set field 'dispatchRunNumber' = "2026000259"
[2026-01-28 18:09:08] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-28 18:09:08] [INFO]   -> Found value: HEMMORHAGE / BLEEDING
[2026-01-28 18:09:08] [INFO]   -> Set field 'incidentTypeValue1' = "HEMMORHAGE \/ BLEEDING"
[2026-01-28 18:09:08] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-28 18:09:08] [INFO]   -> Found value: 102
[2026-01-28 18:09:08] [INFO]   -> Set field 'incidentLocationStreetNumber' = 102
[2026-01-28 18:09:08] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-28 18:09:08] [INFO]   -> Found value: TN
[2026-01-28 18:09:08] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-28 18:09:08] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-28 18:09:08] [INFO]   -> Found value: 38544
[2026-01-28 18:09:08] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-01-28 18:09:08] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-28 18:09:08] [INFO]   -> No value found (null or empty)
[2026-01-28 18:09:08] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-28 18:09:08] [INFO]   -> Found value: B
[2026-01-28 18:09:08] [INFO]   -> Set field 'incidentLocationApt' = "B"
[2026-01-28 18:09:08] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-28 18:09:08] [INFO]   -> Found value: 36.17118
[2026-01-28 18:09:08] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.17117999999999966576069709844887256622314453125
[2026-01-28 18:09:08] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-28 18:09:08] [INFO]   -> Found value: -85.61366
[2026-01-28 18:09:08] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6136599999999958754415274597704410552978515625
[2026-01-28 18:09:08] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-28 18:09:08] [INFO]   -> Found value: 2026-01-28 12:08:15
[2026-01-28 18:09:08] [INFO]   -> Set field 'alarm' = "2026-01-28 12:08:15"
[2026-01-28 18:09:08] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-28 18:09:08] [INFO]   -> Found value: 2026-01-28 12:09:05
[2026-01-28 18:09:08] [INFO]   -> Set field 'dispatched' = "2026-01-28 12:09:05"
[2026-01-28 18:09:08] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-28 18:09:08] [INFO]   -> No value found (null or empty)
[2026-01-28 18:09:08] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-28 18:09:08] [INFO]   -> No value found (null or empty)
[2026-01-28 18:09:08] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-28 18:09:08] [INFO]   -> No value found (null or empty)
[2026-01-28 18:09:08] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-28 18:09:08] [INFO]   -> Found value: NASHVILLE HWY/PROSPERITY DR
[2026-01-28 18:09:08] [INFO]   -> Set field 'incidentLocationCross' = "NASHVILLE HWY\/PROSPERITY DR"
[2026-01-28 18:09:08] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-28 18:09:08] [INFO]   -> Found value: PCFR
[2026-01-28 18:09:08] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-01-28 18:09:08] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-28 18:09:08] [INFO]   -> Found value: 2026-01-28 12:09:05
[2026-01-28 18:09:08] [INFO]   -> Set field 'timedispatch' = "2026-01-28 12:09:05"
[2026-01-28 18:09:08] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-28 18:09:08] [INFO]   -> No value found (null or empty)
[2026-01-28 18:09:08] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-28 18:09:08] [INFO]   -> No value found (null or empty)
[2026-01-28 18:09:08] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-28 18:09:08] [INFO]   -> No value found (null or empty)
[2026-01-28 18:09:08] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-28 18:09:08] [INFO]   -> No value found (null or empty)
[2026-01-28 18:09:08] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-28 18:09:08] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-01-28 18:09:08] [INFO]   -> Found value: 20260010299
[2026-01-28 18:09:08] [INFO]   -> Set field 'policeReportNumber' = "20260010299"
[2026-01-28 18:09:08] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-28 18:09:08] [INFO]   -> Found value: [EMS] 1 YO AND 4 YO  [01/28/26 12:09:01 KMORGAN2] [EMS] HAS 2KIDS IN HOME WITH HER  [01/28/26 12:08:...
[2026-01-28 18:09:08] [INFO]   -> Set field 'dispatchNotes' = "[EMS] 1 YO AND 4 YO  [01\/28\/26 12:09:01 KMORGAN2] [EMS] HAS 2KIDS IN HOME WITH HER  [01\/28\/26 12:08:45 KMORGAN2] [EMS] CANT GET AN ANSWER WEHN HE CALLS HER BACK  [01\/28\/26 12:08:33 KMORGAN2] Event spawned from HEMMORHAGE \/ BLEEDING.  [01\/28\/2026 12:08:15 KMORGAN2] DUPLEX  CALLER IS OUT OF TOWN\/\/WIFE IS HOME SHE CALLED HIM AND SAID SHE WAS BLEEDING AND HE LOST CONTACT WITH HER  [01\/28\/26 12:08:11 KMORGAN2]]"
[2026-01-28 18:09:08] [INFO]   -> Set field 'cADLog' = "[EMS] 1 YO AND 4 YO  [01\/28\/26 12:09:01 KMORGAN2] [EMS] HAS 2KIDS IN HOME WITH HER  [01\/28\/26 12:08:45 KMORGAN2] [EMS] CANT GET AN ANSWER WEHN HE CALLS HER BACK  [01\/28\/26 12:08:33 KMORGAN2] Event spawned from HEMMORHAGE \/ BLEEDING.  [01\/28\/2026 12:08:15 KMORGAN2] DUPLEX  CALLER IS OUT OF TOWN\/\/WIFE IS HOME SHE CALLED HIM AND SAID SHE WAS BLEEDING AND HE LOST CONTACT WITH HER  [01\/28\/26 12:08:11 KMORGAN2]]"
[2026-01-28 18:09:08] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-28 18:09:08] [INFO]   -> Found value: BAXTER
[2026-01-28 18:09:08] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-01-28 18:09:08] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-28 18:09:08] [INFO]   -> Found value: FALCON
[2026-01-28 18:09:08] [INFO]   -> Set field 'streetName' = "FALCON"
[2026-01-28 18:09:08] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-28 18:09:08] [INFO]   -> Found value: PT
[2026-01-28 18:09:08] [INFO]   -> Set field 'streetType' = "PT"
[2026-01-28 18:09:08] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-28 18:09:08] [INFO]   -> Found value: 102-B FALCON PT
[2026-01-28 18:09:08] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "102-B FALCON PT"
[2026-01-28 18:09:08] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-01-28 18:09:08] [INFO] Concatenating street name and type
[2026-01-28 18:09:08] [INFO]   -> Combined street name: FALCON PT
[2026-01-28 18:09:08] [INFO] Built locationCoordinates from lat/lng: 36.17118,-85.61366
[2026-01-28 18:09:08] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000259","dispatchRunNumber":"2026000259","incidentTypeValue1":"HEMMORHAGE \/ BLEEDING","incidentLocationStreetNumber":102,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"incidentLocationApt":"B","nERISIncidentLatitude":36.17117999999999966576069709844887256622314453125,"nERISIncidentLongitude":-85.6136599999999958754415274597704410552978515625,"alarm":"2026-01-28 12:08:15","dispatched":"2026-01-28 12:09:05","incidentLocationCross":"NASHVILLE HWY\/PROSPERITY DR","cADVehicleID":"PCFR","timedispatch":"2026-01-28 12:09:05","policeReportNumber":"20260010299","dispatchNotes":"[EMS] 1 YO AND 4 YO  [01\/28\/26 12:09:01 KMORGAN2] [EMS] HAS 2KIDS IN HOME WITH HER  [01\/28\/26 12:08:45 KMORGAN2] [EMS] CANT GET AN ANSWER WEHN HE CALLS HER BACK  [01\/28\/26 12:08:33 KMORGAN2] Event spawned from HEMMORHAGE \/ BLEEDING.  [01\/28\/2026 12:08:15 KMORGAN2] DUPLEX  CALLER IS OUT OF TOWN\/\/WIFE IS HOME SHE CALLED HIM AND SAID SHE WAS BLEEDING AND HE LOST CONTACT WITH HER  [01\/28\/26 12:08:11 KMORGAN2]]","cADLog":"[EMS] 1 YO AND 4 YO  [01\/28\/26 12:09:01 KMORGAN2] [EMS] HAS 2KIDS IN HOME WITH HER  [01\/28\/26 12:08:45 KMORGAN2] [EMS] CANT GET AN ANSWER WEHN HE CALLS HER BACK  [01\/28\/26 12:08:33 KMORGAN2] Event spawned from HEMMORHAGE \/ BLEEDING.  [01\/28\/2026 12:08:15 KMORGAN2] DUPLEX  CALLER IS OUT OF TOWN\/\/WIFE IS HOME SHE CALLED HIM AND SAID SHE WAS BLEEDING AND HE LOST CONTACT WITH HER  [01\/28\/26 12:08:11 KMORGAN2]]","incidentLocationCity":"BAXTER","streetName":"FALCON PT","incidentAddressTextVersionStreet":"102-B FALCON PT","locationCoordinates":"36.17118,-85.61366"}
[2026-01-28 18:09:08] [INFO] Number of extracted fields: 22
[2026-01-28 18:09:08] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-01-28 18:09:08] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC', Parsed IDs = ["PCFD","EMS","RESC"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-01-28 18:09:08] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-01-28 18:09:08] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-01-28 18:09:08] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-01-28 18:09:08] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-01-28 18:09:08] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-01-28 18:09:08] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-01-28 18:09:08] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-01-28 18:09:08] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-01-28 18:09:08] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-01-28 18:09:16] [INFO] Found existing IncidentTypeMapping with ID: 694c9ff41a37c4612
[2026-01-28 18:09:31] [INFO] Created new Dispatches record with ID: 697a50d33ac85a4b5
[2026-01-28 18:09:31] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-01-28 18:09:31] [INFO] Using FTPS (SSL/TLS) connection
[2026-01-28 18:09:35] [INFO] Successfully uploaded file to V2 FTP server: /PCFD_20260010299_20260128_180907.XML
[2026-01-28 18:09:35] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010299_20260128_180907.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-01-28/PCFD_20260010299_20260128_180907.XML
[2026-01-28 18:09:35] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010299_20260128_180907.XML
[2026-01-28 18:20:27] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010307_20260128_182027.XML
[2026-01-28 18:20:27] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010307_20260128_182027.XML for user: 68f1466aed072ad4a
[2026-01-28 18:20:27] [INFO] File size: 5439 bytes
[2026-01-28 18:20:28] [INFO] Created FTPFiles record with ID: 697a536c2e89c695f
[2026-01-28 18:20:28] [INFO] About to extract fields from XML. File size: 5439 bytes
[2026-01-28 18:20:28] [INFO] Number of mappings: 28
[2026-01-28 18:20:28] [INFO] Starting XML parsing. Content length: 5439
[2026-01-28 18:20:28] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-28 18:20:28] [INFO] Processing 28 field mappings
[2026-01-28 18:20:28] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-28 18:20:28] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-01-28 18:20:28] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-28 18:20:28] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-01-28 18:20:28] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-01-28 18:20:28] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-01-28 18:20:28] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-28 18:20:28] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-01-28 18:20:28] [INFO]   -> Found value: 2026000260
[2026-01-28 18:20:28] [INFO]   -> Set field 'incidentInternalId' = "2026000260"
[2026-01-28 18:20:28] [INFO]   -> Set field 'dispatchRunNumber' = "2026000260"
[2026-01-28 18:20:28] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-28 18:20:28] [INFO]   -> Found value: CHEST PAIN
[2026-01-28 18:20:28] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-01-28 18:20:28] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-28 18:20:28] [INFO]   -> Found value: 1644
[2026-01-28 18:20:28] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1644
[2026-01-28 18:20:28] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-28 18:20:28] [INFO]   -> Found value: TN
[2026-01-28 18:20:28] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-28 18:20:28] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-28 18:20:28] [INFO]   -> Found value: 38501
[2026-01-28 18:20:28] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-01-28 18:20:28] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-28 18:20:28] [INFO]   -> No value found (null or empty)
[2026-01-28 18:20:28] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-28 18:20:28] [INFO]   -> No value found (null or empty)
[2026-01-28 18:20:28] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-28 18:20:28] [INFO]   -> Found value: 36.19292
[2026-01-28 18:20:28] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1929200000000008685674401931464672088623046875
[2026-01-28 18:20:28] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-28 18:20:28] [INFO]   -> Found value: -85.60032
[2026-01-28 18:20:28] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6003199999999964120434015057981014251708984375
[2026-01-28 18:20:28] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-28 18:20:28] [INFO]   -> Found value: 2026-01-28 12:19:12
[2026-01-28 18:20:28] [INFO]   -> Set field 'alarm' = "2026-01-28 12:19:12"
[2026-01-28 18:20:28] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-28 18:20:28] [INFO]   -> Found value: 2026-01-28 12:20:17
[2026-01-28 18:20:28] [INFO]   -> Set field 'dispatched' = "2026-01-28 12:20:17"
[2026-01-28 18:20:28] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-28 18:20:28] [INFO]   -> No value found (null or empty)
[2026-01-28 18:20:28] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-28 18:20:28] [INFO]   -> No value found (null or empty)
[2026-01-28 18:20:28] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-28 18:20:28] [INFO]   -> No value found (null or empty)
[2026-01-28 18:20:28] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-28 18:20:28] [INFO]   -> Found value: COUNTRY LN/CEDAR CREEK CIR
[2026-01-28 18:20:28] [INFO]   -> Set field 'incidentLocationCross' = "COUNTRY LN\/CEDAR CREEK CIR"
[2026-01-28 18:20:28] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-28 18:20:28] [INFO]   -> Found value: PCFR
[2026-01-28 18:20:28] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-01-28 18:20:28] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-28 18:20:28] [INFO]   -> Found value: 2026-01-28 12:20:17
[2026-01-28 18:20:28] [INFO]   -> Set field 'timedispatch' = "2026-01-28 12:20:17"
[2026-01-28 18:20:28] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-28 18:20:28] [INFO]   -> No value found (null or empty)
[2026-01-28 18:20:28] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-28 18:20:28] [INFO]   -> No value found (null or empty)
[2026-01-28 18:20:28] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-28 18:20:28] [INFO]   -> No value found (null or empty)
[2026-01-28 18:20:28] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-28 18:20:28] [INFO]   -> No value found (null or empty)
[2026-01-28 18:20:28] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-28 18:20:28] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-01-28 18:20:28] [INFO]   -> Found value: 20260010307
[2026-01-28 18:20:28] [INFO]   -> Set field 'policeReportNumber' = "20260010307"
[2026-01-28 18:20:28] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-28 18:20:28] [INFO]   -> Found value: [EMS] LANG BARRIER  [01/28/26 12:19:52 KMORGAN2] Event spawned from CHEST PAIN.  [01/28/2026 12:19:1...
[2026-01-28 18:20:28] [INFO]   -> Set field 'dispatchNotes' = "[EMS] LANG BARRIER  [01\/28\/26 12:19:52 KMORGAN2] Event spawned from CHEST PAIN.  [01\/28\/2026 12:19:12 KMORGAN2] EMPLOYEE HOLDING CHEST\/\/SOB  [01\/28\/26 12:18:54 KMORGAN2]]"
[2026-01-28 18:20:28] [INFO]   -> Set field 'cADLog' = "[EMS] LANG BARRIER  [01\/28\/26 12:19:52 KMORGAN2] Event spawned from CHEST PAIN.  [01\/28\/2026 12:19:12 KMORGAN2] EMPLOYEE HOLDING CHEST\/\/SOB  [01\/28\/26 12:18:54 KMORGAN2]]"
[2026-01-28 18:20:28] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-28 18:20:28] [INFO]   -> Found value: COOKEVILLE
[2026-01-28 18:20:28] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-01-28 18:20:28] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-28 18:20:28] [INFO]   -> Found value: CLEMMONS
[2026-01-28 18:20:28] [INFO]   -> Set field 'streetName' = "CLEMMONS"
[2026-01-28 18:20:28] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-28 18:20:28] [INFO]   -> Found value: RD
[2026-01-28 18:20:28] [INFO]   -> Set field 'streetType' = "RD"
[2026-01-28 18:20:28] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-28 18:20:28] [INFO]   -> Found value: 1644 CLEMMONS RD
[2026-01-28 18:20:28] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1644 CLEMMONS RD"
[2026-01-28 18:20:28] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-01-28 18:20:28] [INFO] Concatenating street name and type
[2026-01-28 18:20:28] [INFO]   -> Combined street name: CLEMMONS RD
[2026-01-28 18:20:28] [INFO] Built locationCoordinates from lat/lng: 36.19292,-85.60032
[2026-01-28 18:20:28] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000260","dispatchRunNumber":"2026000260","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":1644,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.1929200000000008685674401931464672088623046875,"nERISIncidentLongitude":-85.6003199999999964120434015057981014251708984375,"alarm":"2026-01-28 12:19:12","dispatched":"2026-01-28 12:20:17","incidentLocationCross":"COUNTRY LN\/CEDAR CREEK CIR","cADVehicleID":"PCFR","timedispatch":"2026-01-28 12:20:17","policeReportNumber":"20260010307","dispatchNotes":"[EMS] LANG BARRIER  [01\/28\/26 12:19:52 KMORGAN2] Event spawned from CHEST PAIN.  [01\/28\/2026 12:19:12 KMORGAN2] EMPLOYEE HOLDING CHEST\/\/SOB  [01\/28\/26 12:18:54 KMORGAN2]]","cADLog":"[EMS] LANG BARRIER  [01\/28\/26 12:19:52 KMORGAN2] Event spawned from CHEST PAIN.  [01\/28\/2026 12:19:12 KMORGAN2] EMPLOYEE HOLDING CHEST\/\/SOB  [01\/28\/26 12:18:54 KMORGAN2]]","incidentLocationCity":"COOKEVILLE","streetName":"CLEMMONS RD","incidentAddressTextVersionStreet":"1644 CLEMMONS RD","locationCoordinates":"36.19292,-85.60032"}
[2026-01-28 18:20:28] [INFO] Number of extracted fields: 21
[2026-01-28 18:20:28] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-01-28 18:20:28] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
PCSO
RESC', Parsed IDs = ["PCFD","EMS","PCSO","RESC"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-01-28 18:20:28] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-01-28 18:20:28] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-01-28 18:20:28] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-01-28 18:20:28] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-01-28 18:20:28] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-01-28 18:20:28] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-01-28 18:20:28] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-01-28 18:20:28] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-01-28 18:20:28] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-01-28 18:20:28] [INFO] Found existing IncidentTypeMapping with ID: 6939c33d3eae65119
[2026-01-28 18:20:38] [INFO] Created new Dispatches record with ID: 697a536cefabafe5a
[2026-01-28 18:20:38] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-01-28 18:20:38] [INFO] Using FTPS (SSL/TLS) connection
[2026-01-28 18:20:41] [INFO] Successfully uploaded file to V2 FTP server: /PCFD_20260010307_20260128_182027.XML
[2026-01-28 18:20:41] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010307_20260128_182027.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-01-28/PCFD_20260010307_20260128_182027.XML
[2026-01-28 18:20:41] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010307_20260128_182027.XML
[2026-01-28 20:17:58] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010381_20260128_201758.XML
[2026-01-28 20:17:58] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010381_20260128_201758.XML for user: 68f1466aed072ad4a
[2026-01-28 20:17:58] [INFO] File size: 4787 bytes
[2026-01-28 20:17:59] [INFO] Created FTPFiles record with ID: 697a6ef734fb87ea5
[2026-01-28 20:17:59] [INFO] About to extract fields from XML. File size: 4787 bytes
[2026-01-28 20:17:59] [INFO] Number of mappings: 28
[2026-01-28 20:17:59] [INFO] Starting XML parsing. Content length: 4787
[2026-01-28 20:17:59] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-28 20:17:59] [INFO] Processing 28 field mappings
[2026-01-28 20:17:59] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-28 20:17:59] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-01-28 20:17:59] [INFO]   -> Found value: PCFD
[2026-01-28 20:17:59] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-01-28 20:17:59] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-28 20:17:59] [INFO]   -> Found value: 2026000261
[2026-01-28 20:17:59] [INFO]   -> Set field 'incidentInternalId' = "2026000261"
[2026-01-28 20:17:59] [INFO]   -> Set field 'dispatchRunNumber' = "2026000261"
[2026-01-28 20:17:59] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-28 20:17:59] [INFO]   -> Found value: SMOKE ALARM INSTALL
[2026-01-28 20:17:59] [INFO]   -> Set field 'incidentTypeValue1' = "SMOKE ALARM INSTALL"
[2026-01-28 20:17:59] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-28 20:17:59] [INFO]   -> Found value: 1539
[2026-01-28 20:17:59] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1539
[2026-01-28 20:17:59] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-28 20:17:59] [INFO]   -> Found value: TN
[2026-01-28 20:17:59] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-28 20:17:59] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-28 20:17:59] [INFO]   -> Found value: 38506
[2026-01-28 20:17:59] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-01-28 20:17:59] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-28 20:17:59] [INFO]   -> No value found (null or empty)
[2026-01-28 20:17:59] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-28 20:17:59] [INFO]   -> No value found (null or empty)
[2026-01-28 20:17:59] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-28 20:17:59] [INFO]   -> Found value: 36.12809
[2026-01-28 20:17:59] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1280900000000002592059900052845478057861328125
[2026-01-28 20:17:59] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-28 20:17:59] [INFO]   -> Found value: -85.44759
[2026-01-28 20:17:59] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4475900000000052614268497563898563385009765625
[2026-01-28 20:17:59] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-28 20:17:59] [INFO]   -> Found value: 2026-01-28 14:16:59
[2026-01-28 20:17:59] [INFO]   -> Set field 'alarm' = "2026-01-28 14:16:59"
[2026-01-28 20:17:59] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-28 20:17:59] [INFO]   -> Found value: 2026-01-28 14:17:47
[2026-01-28 20:17:59] [INFO]   -> Set field 'dispatched' = "2026-01-28 14:17:47"
[2026-01-28 20:17:59] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-28 20:17:59] [INFO]   -> Found value: 2026-01-28 14:17:47
[2026-01-28 20:17:59] [INFO]   -> Set field 'enroute' = "2026-01-28 14:17:47"
[2026-01-28 20:17:59] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-28 20:17:59] [INFO]   -> Found value: 2026-01-28 14:17:47
[2026-01-28 20:17:59] [INFO]   -> Set field 'onScene' = "2026-01-28 14:17:47"
[2026-01-28 20:17:59] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-28 20:17:59] [INFO]   -> No value found (null or empty)
[2026-01-28 20:17:59] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-28 20:17:59] [INFO]   -> Found value: /LAKE VALLEY DR
[2026-01-28 20:17:59] [INFO]   -> Set field 'incidentLocationCross' = "\/LAKE VALLEY DR"
[2026-01-28 20:17:59] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-28 20:17:59] [INFO]   -> Found value: EN11
[2026-01-28 20:17:59] [INFO]   -> Set field 'cADVehicleID' = "EN11"
[2026-01-28 20:17:59] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-28 20:17:59] [INFO]   -> Found value: 2026-01-28 14:17:47
[2026-01-28 20:17:59] [INFO]   -> Set field 'timedispatch' = "2026-01-28 14:17:47"
[2026-01-28 20:17:59] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-28 20:17:59] [INFO]   -> Found value: 2026-01-28 14:17:47
[2026-01-28 20:17:59] [INFO]   -> Set field 'timeenroutetoscene' = "2026-01-28 14:17:47"
[2026-01-28 20:17:59] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-28 20:17:59] [INFO]   -> Found value: 2026-01-28 14:17:47
[2026-01-28 20:17:59] [INFO]   -> Set field 'timeonscene' = "2026-01-28 14:17:47"
[2026-01-28 20:17:59] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-28 20:17:59] [INFO]   -> No value found (null or empty)
[2026-01-28 20:17:59] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-28 20:17:59] [INFO]   -> No value found (null or empty)
[2026-01-28 20:17:59] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-28 20:17:59] [INFO]   -> Found value: 20260010381
[2026-01-28 20:17:59] [INFO]   -> Set field 'policeReportNumber' = "20260010381"
[2026-01-28 20:17:59] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-28 20:17:59] [INFO]   -> Found value: CHECKING SMOKE DETECTORS  [01/28/26 14:17:43 KHILL]
[2026-01-28 20:17:59] [INFO]   -> Set field 'dispatchNotes' = "CHECKING SMOKE DETECTORS  [01\/28\/26 14:17:43 KHILL]"
[2026-01-28 20:17:59] [INFO]   -> Set field 'cADLog' = "CHECKING SMOKE DETECTORS  [01\/28\/26 14:17:43 KHILL]"
[2026-01-28 20:17:59] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-28 20:17:59] [INFO]   -> Found value: COOKEVILLE
[2026-01-28 20:17:59] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-01-28 20:17:59] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-28 20:17:59] [INFO]   -> Found value: LAKE VIEW
[2026-01-28 20:17:59] [INFO]   -> Set field 'streetName' = "LAKE VIEW"
[2026-01-28 20:17:59] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-28 20:17:59] [INFO]   -> Found value: DR
[2026-01-28 20:17:59] [INFO]   -> Set field 'streetType' = "DR"
[2026-01-28 20:17:59] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-28 20:17:59] [INFO]   -> Found value: 1539 LAKE VIEW DR
[2026-01-28 20:17:59] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1539 LAKE VIEW DR"
[2026-01-28 20:17:59] [INFO] Finished extracting fields. Total fields extracted: 25
[2026-01-28 20:17:59] [INFO] Concatenating street name and type
[2026-01-28 20:17:59] [INFO]   -> Combined street name: LAKE VIEW DR
[2026-01-28 20:17:59] [INFO] Built locationCoordinates from lat/lng: 36.12809,-85.44759
[2026-01-28 20:17:59] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000261","dispatchRunNumber":"2026000261","incidentTypeValue1":"SMOKE ALARM INSTALL","incidentLocationStreetNumber":1539,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.1280900000000002592059900052845478057861328125,"nERISIncidentLongitude":-85.4475900000000052614268497563898563385009765625,"alarm":"2026-01-28 14:16:59","dispatched":"2026-01-28 14:17:47","enroute":"2026-01-28 14:17:47","onScene":"2026-01-28 14:17:47","incidentLocationCross":"\/LAKE VALLEY DR","cADVehicleID":"EN11","timedispatch":"2026-01-28 14:17:47","timeenroutetoscene":"2026-01-28 14:17:47","timeonscene":"2026-01-28 14:17:47","policeReportNumber":"20260010381","dispatchNotes":"CHECKING SMOKE DETECTORS  [01\/28\/26 14:17:43 KHILL]","cADLog":"CHECKING SMOKE DETECTORS  [01\/28\/26 14:17:43 KHILL]","incidentLocationCity":"COOKEVILLE","streetName":"LAKE VIEW DR","incidentAddressTextVersionStreet":"1539 LAKE VIEW DR","locationCoordinates":"36.12809,-85.44759"}
[2026-01-28 20:17:59] [INFO] Number of extracted fields: 25
[2026-01-28 20:17:59] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-01-28 20:17:59] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD', Parsed IDs = ["PCFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2026-01-28 20:17:59] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-01-28 20:17:59] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-01-28 20:17:59] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-01-28 20:18:33] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-01-28 20:18:33] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-01-28 20:18:33] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-01-28 20:18:33] [INFO] Found existing IncidentTypeMapping with ID: 69384adcd7833eaa3
[2026-01-28 20:18:43] [INFO] Created new Dispatches record with ID: 697a6f199f12f2812
[2026-01-28 20:18:43] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-01-28 20:18:43] [INFO] Using FTPS (SSL/TLS) connection
[2026-01-28 20:18:46] [INFO] Successfully uploaded file to V2 FTP server: /PCFD_20260010381_20260128_201758.XML
[2026-01-28 20:18:46] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010381_20260128_201758.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-01-28/PCFD_20260010381_20260128_201758.XML
[2026-01-28 20:18:46] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010381_20260128_201758.XML
[2026-01-28 22:54:27] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260010440_20260128_225427.XML
[2026-01-28 22:54:27] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260010440_20260128_225427.XML for user: 68f1466aed072ad4a
[2026-01-28 22:54:27] [INFO] File size: 5407 bytes
[2026-01-28 22:54:27] [INFO] Created FTPFiles record with ID: 697a93a3e379548fa
[2026-01-28 22:54:27] [INFO] About to extract fields from XML. File size: 5407 bytes
[2026-01-28 22:54:27] [INFO] Number of mappings: 28
[2026-01-28 22:54:27] [INFO] Starting XML parsing. Content length: 5407
[2026-01-28 22:54:27] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-28 22:54:27] [INFO] Processing 28 field mappings
[2026-01-28 22:54:27] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-28 22:54:27] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-01-28 22:54:27] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-28 22:54:27] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-01-28 22:54:27] [INFO]   -> Found value: MFD
EMS
MPD
[2026-01-28 22:54:27] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD\nEMS\nMPD"
[2026-01-28 22:54:27] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-28 22:54:27] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-01-28 22:54:27] [INFO]   -> Found value: 2026000038
[2026-01-28 22:54:27] [INFO]   -> Set field 'incidentInternalId' = "2026000038"
[2026-01-28 22:54:27] [INFO]   -> Set field 'dispatchRunNumber' = "2026000038"
[2026-01-28 22:54:27] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-28 22:54:27] [INFO]   -> Found value: CHEST PAIN
[2026-01-28 22:54:27] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-01-28 22:54:27] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-28 22:54:27] [INFO]   -> Found value: 816
[2026-01-28 22:54:27] [INFO]   -> Set field 'incidentLocationStreetNumber' = 816
[2026-01-28 22:54:27] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-28 22:54:27] [INFO]   -> Found value: TN
[2026-01-28 22:54:27] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-28 22:54:27] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-28 22:54:27] [INFO]   -> Found value: 38574
[2026-01-28 22:54:27] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-01-28 22:54:27] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-28 22:54:27] [INFO]   -> No value found (null or empty)
[2026-01-28 22:54:27] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-28 22:54:27] [INFO]   -> No value found (null or empty)
[2026-01-28 22:54:27] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-28 22:54:27] [INFO]   -> Found value: 36.13759
[2026-01-28 22:54:27] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1375900000000029876900953240692615509033203125
[2026-01-28 22:54:27] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-28 22:54:27] [INFO]   -> Found value: -85.26349
[2026-01-28 22:54:27] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2634900000000044428816181607544422149658203125
[2026-01-28 22:54:27] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-28 22:54:27] [INFO]   -> Found value: 2026-01-28 16:52:52
[2026-01-28 22:54:27] [INFO]   -> Set field 'alarm' = "2026-01-28 16:52:52"
[2026-01-28 22:54:27] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-28 22:54:27] [INFO]   -> Found value: 2026-01-28 16:54:17
[2026-01-28 22:54:27] [INFO]   -> Set field 'dispatched' = "2026-01-28 16:54:17"
[2026-01-28 22:54:27] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-28 22:54:27] [INFO]   -> No value found (null or empty)
[2026-01-28 22:54:27] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-28 22:54:27] [INFO]   -> No value found (null or empty)
[2026-01-28 22:54:27] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-28 22:54:27] [INFO]   -> No value found (null or empty)
[2026-01-28 22:54:27] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-28 22:54:27] [INFO]   -> Found value: CROSSVILLE ST/JACKSON AVE
[2026-01-28 22:54:27] [INFO]   -> Set field 'incidentLocationCross' = "CROSSVILLE ST\/JACKSON AVE"
[2026-01-28 22:54:27] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-28 22:54:27] [INFO]   -> Found value: MFR
[2026-01-28 22:54:27] [INFO]   -> Set field 'cADVehicleID' = "MFR"
[2026-01-28 22:54:27] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-28 22:54:27] [INFO]   -> Found value: 2026-01-28 16:54:17
[2026-01-28 22:54:27] [INFO]   -> Set field 'timedispatch' = "2026-01-28 16:54:17"
[2026-01-28 22:54:27] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-28 22:54:27] [INFO]   -> No value found (null or empty)
[2026-01-28 22:54:27] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-28 22:54:27] [INFO]   -> No value found (null or empty)
[2026-01-28 22:54:27] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-28 22:54:27] [INFO]   -> No value found (null or empty)
[2026-01-28 22:54:27] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-28 22:54:27] [INFO]   -> No value found (null or empty)
[2026-01-28 22:54:27] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-28 22:54:27] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-01-28 22:54:27] [INFO]   -> Found value: 20260010440
[2026-01-28 22:54:27] [INFO]   -> Set field 'policeReportNumber' = "20260010440"
[2026-01-28 22:54:27] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-28 22:54:27] [INFO]   -> Found value: [EMS] IS BY HERSELF AT THIS TIME  [01/28/26 16:54:16 KHILL] [EMS] PATIENTS NUMBER 931-252-0860  [01/...
[2026-01-28 22:54:27] [INFO]   -> Set field 'dispatchNotes' = "[EMS] IS BY HERSELF AT THIS TIME  [01\/28\/26 16:54:16 KHILL] [EMS] PATIENTS NUMBER 931-252-0860  [01\/28\/26 16:54:03 KHILL] [EMS] 2 HEART ATTACKS AND 3 STROKES IN THE PAST - IN 2023 FRONT DOOR ENTRANCE  GATE WILL BE OPEN  [01\/28\/26 16:53:31 KHILL] Event spawned from CHEST PAIN.  [01\/28\/2026 16:52:52 KHILL]"
[2026-01-28 22:54:27] [INFO]   -> Set field 'cADLog' = "[EMS] IS BY HERSELF AT THIS TIME  [01\/28\/26 16:54:16 KHILL] [EMS] PATIENTS NUMBER 931-252-0860  [01\/28\/26 16:54:03 KHILL] [EMS] 2 HEART ATTACKS AND 3 STROKES IN THE PAST - IN 2023 FRONT DOOR ENTRANCE  GATE WILL BE OPEN  [01\/28\/26 16:53:31 KHILL] Event spawned from CHEST PAIN.  [01\/28\/2026 16:52:52 KHILL]"
[2026-01-28 22:54:27] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-28 22:54:27] [INFO]   -> Found value: MONTEREY
[2026-01-28 22:54:27] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-01-28 22:54:27] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-28 22:54:27] [INFO]   -> Found value: INDUSTRIAL
[2026-01-28 22:54:27] [INFO]   -> Set field 'streetName' = "INDUSTRIAL"
[2026-01-28 22:54:27] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-28 22:54:27] [INFO]   -> Found value: DR
[2026-01-28 22:54:27] [INFO]   -> Set field 'streetType' = "DR"
[2026-01-28 22:54:27] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-28 22:54:27] [INFO]   -> Found value: 816 INDUSTRIAL DR
[2026-01-28 22:54:27] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "816 INDUSTRIAL DR"
[2026-01-28 22:54:27] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-01-28 22:54:27] [INFO] Concatenating street name and type
[2026-01-28 22:54:27] [INFO]   -> Combined street name: INDUSTRIAL DR
[2026-01-28 22:54:27] [INFO] Built locationCoordinates from lat/lng: 36.13759,-85.26349
[2026-01-28 22:54:27] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"MFD\nEMS\nMPD","incidentInternalId":"2026000038","dispatchRunNumber":"2026000038","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":816,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"nERISIncidentLatitude":36.1375900000000029876900953240692615509033203125,"nERISIncidentLongitude":-85.2634900000000044428816181607544422149658203125,"alarm":"2026-01-28 16:52:52","dispatched":"2026-01-28 16:54:17","incidentLocationCross":"CROSSVILLE ST\/JACKSON AVE","cADVehicleID":"MFR","timedispatch":"2026-01-28 16:54:17","policeReportNumber":"20260010440","dispatchNotes":"[EMS] IS BY HERSELF AT THIS TIME  [01\/28\/26 16:54:16 KHILL] [EMS] PATIENTS NUMBER 931-252-0860  [01\/28\/26 16:54:03 KHILL] [EMS] 2 HEART ATTACKS AND 3 STROKES IN THE PAST - IN 2023 FRONT DOOR ENTRANCE  GATE WILL BE OPEN  [01\/28\/26 16:53:31 KHILL] Event spawned from CHEST PAIN.  [01\/28\/2026 16:52:52 KHILL]","cADLog":"[EMS] IS BY HERSELF AT THIS TIME  [01\/28\/26 16:54:16 KHILL] [EMS] PATIENTS NUMBER 931-252-0860  [01\/28\/26 16:54:03 KHILL] [EMS] 2 HEART ATTACKS AND 3 STROKES IN THE PAST - IN 2023 FRONT DOOR ENTRANCE  GATE WILL BE OPEN  [01\/28\/26 16:53:31 KHILL] Event spawned from CHEST PAIN.  [01\/28\/2026 16:52:52 KHILL]","incidentLocationCity":"MONTEREY","streetName":"INDUSTRIAL DR","incidentAddressTextVersionStreet":"816 INDUSTRIAL DR","locationCoordinates":"36.13759,-85.26349"}
[2026-01-28 22:54:27] [INFO] Number of extracted fields: 21
[2026-01-28 22:54:27] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD
EMS
MPD'
[2026-01-28 22:54:27] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD
EMS
MPD', Parsed IDs = ["MFD","EMS","MPD"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-01-28 22:54:27] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD","EMS","MPD"]
[2026-01-28 22:54:27] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-01-28 22:54:28] [INFO] SUCCESS: Routed to agency 'Monterey Fire Department' (ID: 68e67aaba2bb4565e) at INDEX 0 based on AgencyCode 'MFD'
[2026-01-28 22:54:28] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","MPD"]
[2026-01-28 22:54:28] [INFO] Fetched 1 stations from Stations module for agency 'Monterey Fire Department': ["68ffe49c256b67300"]
[2026-01-28 22:54:28] [INFO] Final routing: saasclientId = 68e67aaba2bb4565e, dispatchStationsIds = ["68ffe49c256b67300"], matchedAgencyIndex = 0
[2026-01-28 22:54:28] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-01-28 22:54:28] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-01-28 22:54:28] [INFO] Updated FTPFiles record saasclientId to routed agency: 68e67aaba2bb4565e
[2026-01-28 22:54:28] [INFO] Found existing IncidentTypeMapping with ID: 694ff5f932f4685e7
[2026-01-28 22:54:31] [INFO] Created new Dispatches record with ID: 697a93a4d26b75d06
[2026-01-28 22:54:31] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-01-28 22:54:32] [INFO] Using FTPS (SSL/TLS) connection
[2026-01-28 22:54:35] [INFO] Successfully uploaded file to V2 FTP server: /MFD_20260010440_20260128_225427.XML
[2026-01-28 22:54:35] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260010440_20260128_225427.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-01-28/MFD_20260010440_20260128_225427.XML
[2026-01-28 22:54:35] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260010440_20260128_225427.XML
[2026-01-28 22:55:27] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010442_20260128_225527.XML
[2026-01-28 22:55:27] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010442_20260128_225527.XML for user: 68f1466aed072ad4a
[2026-01-28 22:55:27] [INFO] File size: 6076 bytes
[2026-01-28 22:55:28] [INFO] Created FTPFiles record with ID: 697a93e00ba046922
[2026-01-28 22:55:28] [INFO] About to extract fields from XML. File size: 6076 bytes
[2026-01-28 22:55:28] [INFO] Number of mappings: 28
[2026-01-28 22:55:28] [INFO] Starting XML parsing. Content length: 6076
[2026-01-28 22:55:28] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-28 22:55:28] [INFO] Processing 28 field mappings
[2026-01-28 22:55:28] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-28 22:55:28] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-01-28 22:55:28] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-28 22:55:28] [INFO] Found 5 elements for 'AgencyCode', concatenating 5 non-empty values
[2026-01-28 22:55:28] [INFO]   -> Found value: PCFD
EMS
MPD
MFD
RESC
[2026-01-28 22:55:28] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nMPD\nMFD\nRESC"
[2026-01-28 22:55:28] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-28 22:55:28] [INFO] Found 5 elements for 'ReportNumber', using FIRST value only
[2026-01-28 22:55:28] [INFO]   -> Found value: 2026000262
[2026-01-28 22:55:28] [INFO]   -> Set field 'incidentInternalId' = "2026000262"
[2026-01-28 22:55:28] [INFO]   -> Set field 'dispatchRunNumber' = "2026000262"
[2026-01-28 22:55:28] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-28 22:55:28] [INFO]   -> Found value: CHEST PAIN
[2026-01-28 22:55:28] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-01-28 22:55:28] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-28 22:55:28] [INFO]   -> Found value: 816
[2026-01-28 22:55:28] [INFO]   -> Set field 'incidentLocationStreetNumber' = 816
[2026-01-28 22:55:28] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-28 22:55:28] [INFO]   -> Found value: TN
[2026-01-28 22:55:28] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-28 22:55:28] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-28 22:55:28] [INFO]   -> Found value: 38574
[2026-01-28 22:55:28] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-01-28 22:55:28] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-28 22:55:28] [INFO]   -> No value found (null or empty)
[2026-01-28 22:55:28] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-28 22:55:28] [INFO]   -> No value found (null or empty)
[2026-01-28 22:55:28] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-28 22:55:28] [INFO]   -> Found value: 36.13759
[2026-01-28 22:55:28] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1375900000000029876900953240692615509033203125
[2026-01-28 22:55:28] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-28 22:55:28] [INFO]   -> Found value: -85.26349
[2026-01-28 22:55:28] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2634900000000044428816181607544422149658203125
[2026-01-28 22:55:28] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-28 22:55:28] [INFO]   -> Found value: 2026-01-28 16:55:17
[2026-01-28 22:55:28] [INFO]   -> Set field 'alarm' = "2026-01-28 16:55:17"
[2026-01-28 22:55:28] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-28 22:55:28] [INFO]   -> Found value: 2026-01-28 16:55:24
[2026-01-28 22:55:28] [INFO]   -> Set field 'dispatched' = "2026-01-28 16:55:24"
[2026-01-28 22:55:28] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-28 22:55:28] [INFO]   -> No value found (null or empty)
[2026-01-28 22:55:28] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-28 22:55:28] [INFO]   -> No value found (null or empty)
[2026-01-28 22:55:28] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-28 22:55:28] [INFO]   -> No value found (null or empty)
[2026-01-28 22:55:28] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-28 22:55:28] [INFO]   -> Found value: CROSSVILLE ST/JACKSON AVE
[2026-01-28 22:55:28] [INFO]   -> Set field 'incidentLocationCross' = "CROSSVILLE ST\/JACKSON AVE"
[2026-01-28 22:55:28] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-28 22:55:28] [INFO]   -> Found value: PCFR
[2026-01-28 22:55:28] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-01-28 22:55:28] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-28 22:55:28] [INFO]   -> Found value: 2026-01-28 16:55:24
[2026-01-28 22:55:28] [INFO]   -> Set field 'timedispatch' = "2026-01-28 16:55:24"
[2026-01-28 22:55:28] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-28 22:55:28] [INFO]   -> No value found (null or empty)
[2026-01-28 22:55:28] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-28 22:55:28] [INFO]   -> No value found (null or empty)
[2026-01-28 22:55:28] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-28 22:55:28] [INFO]   -> No value found (null or empty)
[2026-01-28 22:55:28] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-28 22:55:28] [INFO]   -> No value found (null or empty)
[2026-01-28 22:55:28] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-28 22:55:28] [INFO] Found 5 elements for 'CadInciNumber', using FIRST value only
[2026-01-28 22:55:28] [INFO]   -> Found value: 20260010442
[2026-01-28 22:55:28] [INFO]   -> Set field 'policeReportNumber' = "20260010442"
[2026-01-28 22:55:28] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-28 22:55:28] [INFO]   -> Found value: [EMS] SHAKING HANDS  LIGHT HEADED WHILE WALKING  ARM IS BOTHERING HER AS WELL AS HER SHOULDERS  [01/...
[2026-01-28 22:55:28] [INFO]   -> Set field 'dispatchNotes' = "[EMS] SHAKING HANDS  LIGHT HEADED WHILE WALKING  ARM IS BOTHERING HER AS WELL AS HER SHOULDERS  [01\/28\/26 16:55:21 KHILL] Event spawned from CHEST PAIN.  [01\/28\/2026 16:55:17 KELLIS] [LAW] M102 DIRECT  [01\/28\/26 16:55:00 BAHARRIS] [EMS] UDTS: UNIT DIRECT  [01\/28\/26 16:54:28 KMORGAN2] [EMS] IS BY HERSELF AT THIS TIME  [01\/28\/26 16:54:16 KHILL] [EMS] PATIENTS NUMBER 931-252-0860  [01\/28\/26 16:54:03 KHILL] [EMS] 2 HEART ATTACKS AND 3 STROKES IN THE PAST - IN 2023 FRONT DOOR ENTRANCE  GATE WILL BE OPEN  [01\/28\/26 16:53:31 KHILL] Event spawned from CHEST PAIN.  [01\/28\/2026 16:52:52 KHILL]"
[2026-01-28 22:55:28] [INFO]   -> Set field 'cADLog' = "[EMS] SHAKING HANDS  LIGHT HEADED WHILE WALKING  ARM IS BOTHERING HER AS WELL AS HER SHOULDERS  [01\/28\/26 16:55:21 KHILL] Event spawned from CHEST PAIN.  [01\/28\/2026 16:55:17 KELLIS] [LAW] M102 DIRECT  [01\/28\/26 16:55:00 BAHARRIS] [EMS] UDTS: UNIT DIRECT  [01\/28\/26 16:54:28 KMORGAN2] [EMS] IS BY HERSELF AT THIS TIME  [01\/28\/26 16:54:16 KHILL] [EMS] PATIENTS NUMBER 931-252-0860  [01\/28\/26 16:54:03 KHILL] [EMS] 2 HEART ATTACKS AND 3 STROKES IN THE PAST - IN 2023 FRONT DOOR ENTRANCE  GATE WILL BE OPEN  [01\/28\/26 16:53:31 KHILL] Event spawned from CHEST PAIN.  [01\/28\/2026 16:52:52 KHILL]"
[2026-01-28 22:55:28] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-28 22:55:28] [INFO]   -> Found value: MONTEREY
[2026-01-28 22:55:28] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-01-28 22:55:28] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-28 22:55:28] [INFO]   -> Found value: INDUSTRIAL
[2026-01-28 22:55:28] [INFO]   -> Set field 'streetName' = "INDUSTRIAL"
[2026-01-28 22:55:28] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-28 22:55:28] [INFO]   -> Found value: DR
[2026-01-28 22:55:28] [INFO]   -> Set field 'streetType' = "DR"
[2026-01-28 22:55:28] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-28 22:55:28] [INFO]   -> Found value: 816 INDUSTRIAL DR
[2026-01-28 22:55:28] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "816 INDUSTRIAL DR"
[2026-01-28 22:55:28] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-01-28 22:55:28] [INFO] Concatenating street name and type
[2026-01-28 22:55:28] [INFO]   -> Combined street name: INDUSTRIAL DR
[2026-01-28 22:55:28] [INFO] Built locationCoordinates from lat/lng: 36.13759,-85.26349
[2026-01-28 22:55:28] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nMPD\nMFD\nRESC","incidentInternalId":"2026000262","dispatchRunNumber":"2026000262","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":816,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"nERISIncidentLatitude":36.1375900000000029876900953240692615509033203125,"nERISIncidentLongitude":-85.2634900000000044428816181607544422149658203125,"alarm":"2026-01-28 16:55:17","dispatched":"2026-01-28 16:55:24","incidentLocationCross":"CROSSVILLE ST\/JACKSON AVE","cADVehicleID":"PCFR","timedispatch":"2026-01-28 16:55:24","policeReportNumber":"20260010442","dispatchNotes":"[EMS] SHAKING HANDS  LIGHT HEADED WHILE WALKING  ARM IS BOTHERING HER AS WELL AS HER SHOULDERS  [01\/28\/26 16:55:21 KHILL] Event spawned from CHEST PAIN.  [01\/28\/2026 16:55:17 KELLIS] [LAW] M102 DIRECT  [01\/28\/26 16:55:00 BAHARRIS] [EMS] UDTS: UNIT DIRECT  [01\/28\/26 16:54:28 KMORGAN2] [EMS] IS BY HERSELF AT THIS TIME  [01\/28\/26 16:54:16 KHILL] [EMS] PATIENTS NUMBER 931-252-0860  [01\/28\/26 16:54:03 KHILL] [EMS] 2 HEART ATTACKS AND 3 STROKES IN THE PAST - IN 2023 FRONT DOOR ENTRANCE  GATE WILL BE OPEN  [01\/28\/26 16:53:31 KHILL] Event spawned from CHEST PAIN.  [01\/28\/2026 16:52:52 KHILL]","cADLog":"[EMS] SHAKING HANDS  LIGHT HEADED WHILE WALKING  ARM IS BOTHERING HER AS WELL AS HER SHOULDERS  [01\/28\/26 16:55:21 KHILL] Event spawned from CHEST PAIN.  [01\/28\/2026 16:55:17 KELLIS] [LAW] M102 DIRECT  [01\/28\/26 16:55:00 BAHARRIS] [EMS] UDTS: UNIT DIRECT  [01\/28\/26 16:54:28 KMORGAN2] [EMS] IS BY HERSELF AT THIS TIME  [01\/28\/26 16:54:16 KHILL] [EMS] PATIENTS NUMBER 931-252-0860  [01\/28\/26 16:54:03 KHILL] [EMS] 2 HEART ATTACKS AND 3 STROKES IN THE PAST - IN 2023 FRONT DOOR ENTRANCE  GATE WILL BE OPEN  [01\/28\/26 16:53:31 KHILL] Event spawned from CHEST PAIN.  [01\/28\/2026 16:52:52 KHILL]","incidentLocationCity":"MONTEREY","streetName":"INDUSTRIAL DR","incidentAddressTextVersionStreet":"816 INDUSTRIAL DR","locationCoordinates":"36.13759,-85.26349"}
[2026-01-28 22:55:28] [INFO] Number of extracted fields: 21
[2026-01-28 22:55:28] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
MPD
MFD
RESC'
[2026-01-28 22:55:28] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
MPD
MFD
RESC', Parsed IDs = ["PCFD","EMS","MPD","MFD","RESC"], Non-empty count = 5, Total agency count = 5, Assigned Agencies count = 4
[2026-01-28 22:55:28] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","MPD","MFD","RESC"]
[2026-01-28 22:55:28] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-01-28 22:55:28] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-01-28 22:55:28] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","MPD","MFD","RESC"]
[2026-01-28 22:55:28] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-01-28 22:55:28] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-01-28 22:55:28] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 5)
[2026-01-28 22:55:28] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-01-28 22:55:28] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-01-28 22:55:28] [INFO] Found existing IncidentTypeMapping with ID: 6939c33d3eae65119
[2026-01-28 22:55:37] [INFO] Created new Dispatches record with ID: 697a93e0bfb827d7e
[2026-01-28 22:55:37] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-01-28 22:55:37] [INFO] Using FTPS (SSL/TLS) connection
[2026-01-28 22:55:41] [INFO] Successfully uploaded file to V2 FTP server: /PCFD_20260010442_20260128_225527.XML
[2026-01-28 22:55:41] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010442_20260128_225527.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-01-28/PCFD_20260010442_20260128_225527.XML
[2026-01-28 22:55:41] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260010442_20260128_225527.XML
[2026-01-28 23:02:48] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-02942.xml
[2026-01-28 23:02:48] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-02942.xml for user: 68d56363ec1209189
[2026-01-28 23:02:48] [INFO] File size: 1921 bytes
[2026-01-28 23:02:49] [INFO] Created FTPFiles record with ID: 697a95992b52d69bd
[2026-01-28 23:02:49] [INFO] About to extract fields from XML. File size: 1921 bytes
[2026-01-28 23:02:49] [INFO] Number of mappings: 21
[2026-01-28 23:02:49] [INFO] Starting XML parsing. Content length: 1921
[2026-01-28 23:02:49] [INFO] XML parsed successfully. Root element: Incident
[2026-01-28 23:02:49] [INFO] Processing 21 field mappings
[2026-01-28 23:02:49] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-01-28 23:02:49] [INFO]   -> Found value: 26-02942
[2026-01-28 23:02:49] [INFO]   -> Set field 'dispatchRunNumber' = "26-02942"
[2026-01-28 23:02:49] [INFO]   -> Set field 'cADNumber' = "26-02942"
[2026-01-28 23:02:49] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-01-28 23:02:49] [INFO]   -> Found value: 1644
[2026-01-28 23:02:49] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1644
[2026-01-28 23:02:49] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-01-28 23:02:49] [INFO]   -> Found value: E COUNTY HIGHWAY 820
[2026-01-28 23:02:49] [INFO]   -> Set field 'streetName' = "E COUNTY HIGHWAY 820"
[2026-01-28 23:02:49] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-01-28 23:02:49] [INFO]   -> No value found (null or empty)
[2026-01-28 23:02:49] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-01-28 23:02:49] [INFO]   -> Found value: MATTHEWS
[2026-01-28 23:02:49] [INFO]   -> Set field 'incidentLocationCity' = "MATTHEWS"
[2026-01-28 23:02:49] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-01-28 23:02:49] [INFO]   -> No value found (null or empty)
[2026-01-28 23:02:49] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-01-28 23:02:49] [INFO]   -> No value found (null or empty)
[2026-01-28 23:02:49] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-01-28 23:02:49] [INFO]   -> No value found (null or empty)
[2026-01-28 23:02:49] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-01-28 23:02:49] [INFO]   -> Found value: 0
[2026-01-28 23:02:49] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2026-01-28 23:02:49] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-01-28 23:02:49] [INFO]   -> Found value: 0
[2026-01-28 23:02:49] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2026-01-28 23:02:49] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-01-28 23:02:49] [INFO]   -> Found value: RESCUE
[2026-01-28 23:02:49] [INFO]   -> Set field 'incidentTypeValue1' = "RESCUE"
[2026-01-28 23:02:49] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-01-28 23:02:49] [INFO]   -> Found value: 01-28-2026 16:55:33|UNKNOWN WRECK INFORMATION

RECEIVED FROM LIFE 360 ALERT

RYAN SANDERS
573-620-14...
[2026-01-28 23:02:49] [INFO]   -> Set field 'dispatchNotes' = "01-28-2026 16:55:33|UNKNOWN WRECK INFORMATION\n\nRECEIVED FROM LIFE 360 ALERT\n\nRYAN SANDERS\n573-620-1413 IS THE SUBSCRIBER 01-28-2026 17:01:40|MADE CONTACT WITH RYAN SANDERS BY PHONE.  HE CONFIRMED HIS NAME AND HIS ADDRESS.  SAID HE GOT HIS 4-WHEELER STUCK IN THE SNOW BUT THERE WAS NO ACCIDENT 01-28-2026 17:02:26|NMCO 911 AND MSHP UPDATED 01-28-2026 17:02:32|SIKESTON RESCUE CANCELLED"
[2026-01-28 23:02:49] [INFO]   -> Set field 'cADLog' = "01-28-2026 16:55:33|UNKNOWN WRECK INFORMATION\n\nRECEIVED FROM LIFE 360 ALERT\n\nRYAN SANDERS\n573-620-1413 IS THE SUBSCRIBER 01-28-2026 17:01:40|MADE CONTACT WITH RYAN SANDERS BY PHONE.  HE CONFIRMED HIS NAME AND HIS ADDRESS.  SAID HE GOT HIS 4-WHEELER STUCK IN THE SNOW BUT THERE WAS NO ACCIDENT 01-28-2026 17:02:26|NMCO 911 AND MSHP UPDATED 01-28-2026 17:02:32|SIKESTON RESCUE CANCELLED"
[2026-01-28 23:02:49] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-01-28 23:02:49] [INFO]   -> Found value: 01-28-2026T16:55:41
[2026-01-28 23:02:49] [INFO] Reformatted DD-MM-YYYY date '01-28-2026' (day=01, month=28) to ISO: 2026-28-01T16:55:41
[2026-01-28 23:02:49] [ERROR] Error formatting datetime '2026-28-01T16:55:41': Failed to parse time string (2026-28-01T16:55:41) at position 6 (8): Unexpected character
[2026-01-28 23:02:49] [INFO]   -> Set field 'alarm' = null
[2026-01-28 23:02:49] [INFO] Reformatted DD-MM-YYYY date '01-28-2026' (day=01, month=28) to ISO: 2026-28-01T16:55:41
[2026-01-28 23:02:49] [ERROR] Error formatting datetime '2026-28-01T16:55:41': Failed to parse time string (2026-28-01T16:55:41) at position 6 (8): Unexpected character
[2026-01-28 23:02:49] [INFO]   -> Set field 'dispatched' = null
[2026-01-28 23:02:49] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-01-28 23:02:49] [INFO]   -> No value found (null or empty)
[2026-01-28 23:02:49] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-01-28 23:02:49] [INFO]   -> No value found (null or empty)
[2026-01-28 23:02:49] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-01-28 23:02:49] [INFO]   -> Found value: CANCEL
[2026-01-28 23:02:49] [INFO]   -> Set field 'cADVehicleID' = "CANCEL"
[2026-01-28 23:02:49] [INFO]   -> Set field 'name' = "CANCEL"
[2026-01-28 23:02:49] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-01-28 23:02:49] [INFO]   -> No value found (null or empty)
[2026-01-28 23:02:49] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-01-28 23:02:49] [INFO]   -> No value found (null or empty)
[2026-01-28 23:02:49] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-01-28 23:02:49] [INFO]   -> Found value: 01-28-2026T17:02:38
[2026-01-28 23:02:49] [INFO] Reformatted DD-MM-YYYY date '01-28-2026' (day=01, month=28) to ISO: 2026-28-01T17:02:38
[2026-01-28 23:02:49] [ERROR] Error formatting datetime '2026-28-01T17:02:38': Failed to parse time string (2026-28-01T17:02:38) at position 6 (8): Unexpected character
[2026-01-28 23:02:49] [INFO]   -> Set field 'timeunitclear' = null
[2026-01-28 23:02:49] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-01-28 23:02:49] [INFO]   -> Found value: 01-28-2026T17:00:04
[2026-01-28 23:02:49] [INFO] Reformatted DD-MM-YYYY date '01-28-2026' (day=01, month=28) to ISO: 2026-28-01T17:00:04
[2026-01-28 23:02:49] [ERROR] Error formatting datetime '2026-28-01T17:00:04': Failed to parse time string (2026-28-01T17:00:04) at position 6 (8): Unexpected character
[2026-01-28 23:02:49] [INFO]   -> Set field 'timedispatch' = null
[2026-01-28 23:02:49] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-01-28 23:02:49] [INFO]   -> Found value: SDPSFD
[2026-01-28 23:02:49] [INFO]   -> Set field 'cADAgencyIdentifier' = "SDPSFD"
[2026-01-28 23:02:49] [INFO] Finished extracting fields. Total fields extracted: 17
[2026-01-28 23:02:49] [INFO] Built locationCoordinates from lat/lng: 0,0
[2026-01-28 23:02:49] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-02942","cADNumber":"26-02942","incidentLocationStreetNumber":1644,"streetName":"E COUNTY HIGHWAY 820","incidentLocationCity":"MATTHEWS","nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"RESCUE","dispatchNotes":"01-28-2026 16:55:33|UNKNOWN WRECK INFORMATION\n\nRECEIVED FROM LIFE 360 ALERT\n\nRYAN SANDERS\n573-620-1413 IS THE SUBSCRIBER 01-28-2026 17:01:40|MADE CONTACT WITH RYAN SANDERS BY PHONE.  HE CONFIRMED HIS NAME AND HIS ADDRESS.  SAID HE GOT HIS 4-WHEELER STUCK IN THE SNOW BUT THERE WAS NO ACCIDENT 01-28-2026 17:02:26|NMCO 911 AND MSHP UPDATED 01-28-2026 17:02:32|SIKESTON RESCUE CANCELLED","cADLog":"01-28-2026 16:55:33|UNKNOWN WRECK INFORMATION\n\nRECEIVED FROM LIFE 360 ALERT\n\nRYAN SANDERS\n573-620-1413 IS THE SUBSCRIBER 01-28-2026 17:01:40|MADE CONTACT WITH RYAN SANDERS BY PHONE.  HE CONFIRMED HIS NAME AND HIS ADDRESS.  SAID HE GOT HIS 4-WHEELER STUCK IN THE SNOW BUT THERE WAS NO ACCIDENT 01-28-2026 17:02:26|NMCO 911 AND MSHP UPDATED 01-28-2026 17:02:32|SIKESTON RESCUE CANCELLED","alarm":null,"dispatched":null,"cADVehicleID":"CANCEL","name":"CANCEL","timeunitclear":null,"timedispatch":null,"cADAgencyIdentifier":"SDPSFD","locationCoordinates":"0,0"}
[2026-01-28 23:02:49] [INFO] Number of extracted fields: 18
[2026-01-28 23:02:49] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SDPSFD'
[2026-01-28 23:02:49] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SDPSFD', Parsed IDs = ["SDPSFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 2
[2026-01-28 23:02:49] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SDPSFD"]
[2026-01-28 23:02:49] [INFO] Attempting SAASClient lookup for AgencyCode 'SDPSFD' (index 0) within mailbox's assigned agencies
[2026-01-28 23:02:50] [INFO] SUCCESS: Routed to agency 'Sikeston DPS' (ID: 6772cab7157b2ebde) at INDEX 0 based on AgencyCode 'SDPSFD'
[2026-01-28 23:02:51] [INFO] Fetched 4 stations from Stations module for agency 'Sikeston DPS': ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"]
[2026-01-28 23:02:51] [INFO] Final routing: saasclientId = 6772cab7157b2ebde, dispatchStationsIds = ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"], matchedAgencyIndex = 0
[2026-01-28 23:02:51] [INFO] Multi-agency routing matched mailbox default agency: 6772cab7157b2ebde (no update needed)
[2026-01-28 23:02:51] [INFO] Found existing IncidentTypeMapping with ID: 68e4158e86df03b7f
[2026-01-28 23:02:52] [INFO] Created new Dispatches record with ID: 697a959b894e54f17
[2026-01-28 23:02:52] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-02942.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-01-28/SDPSFD_26-02942.xml
[2026-01-28 23:02:52] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-02942.xml
