[2026-03-04 00:13:53] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023581_20260304_001353.XML
[2026-03-04 00:13:53] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023581_20260304_001353.XML for user: 68f1466aed072ad4a
[2026-03-04 00:13:53] [INFO] File size: 5487 bytes
[2026-03-04 00:13:53] [INFO] Created FTPFiles record with ID: 69a77941db9784c76
[2026-03-04 00:13:53] [INFO] About to extract fields from XML. File size: 5487 bytes
[2026-03-04 00:13:53] [INFO] Number of mappings: 28
[2026-03-04 00:13:53] [INFO] Starting XML parsing. Content length: 5487
[2026-03-04 00:13:53] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-04 00:13:53] [INFO] Processing 28 field mappings
[2026-03-04 00:13:53] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-04 00:13:53] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-04 00:13:53] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-04 00:13:53] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-04 00:13:53] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-04 00:13:53] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-04 00:13:53] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-04 00:13:53] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-04 00:13:53] [INFO]   -> Found value: 2026000587
[2026-03-04 00:13:53] [INFO]   -> Set field 'incidentInternalId' = "2026000587"
[2026-03-04 00:13:53] [INFO]   -> Set field 'dispatchRunNumber' = "2026000587"
[2026-03-04 00:13:53] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-04 00:13:53] [INFO]   -> Found value: UNCONSCIOUS
[2026-03-04 00:13:53] [INFO]   -> Set field 'incidentTypeValue1' = "UNCONSCIOUS"
[2026-03-04 00:13:53] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-04 00:13:53] [INFO]   -> Found value: 3011
[2026-03-04 00:13:53] [INFO]   -> Set field 'incidentLocationStreetNumber' = 3011
[2026-03-04 00:13:53] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-04 00:13:53] [INFO]   -> Found value: TN
[2026-03-04 00:13:53] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-04 00:13:53] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-04 00:13:53] [INFO]   -> Found value: 38506
[2026-03-04 00:13:53] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-04 00:13:53] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-04 00:13:53] [INFO]   -> No value found (null or empty)
[2026-03-04 00:13:53] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-04 00:13:53] [INFO]   -> No value found (null or empty)
[2026-03-04 00:13:53] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-04 00:13:53] [INFO]   -> Found value: 36.17588
[2026-03-04 00:13:53] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.17587999999999937017491902224719524383544921875
[2026-03-04 00:13:53] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-04 00:13:53] [INFO]   -> Found value: -85.44627
[2026-03-04 00:13:53] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.446269999999998390194377861917018890380859375
[2026-03-04 00:13:53] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-04 00:13:53] [INFO]   -> Found value: 2026-03-03 18:13:13
[2026-03-04 00:13:53] [INFO]   -> Set field 'alarm' = "2026-03-03 18:13:13"
[2026-03-04 00:13:53] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-04 00:13:53] [INFO]   -> Found value: 2026-03-03 18:13:48
[2026-03-04 00:13:53] [INFO]   -> Set field 'dispatched' = "2026-03-03 18:13:48"
[2026-03-04 00:13:53] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-04 00:13:53] [INFO]   -> No value found (null or empty)
[2026-03-04 00:13:53] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-04 00:13:53] [INFO]   -> No value found (null or empty)
[2026-03-04 00:13:53] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-04 00:13:53] [INFO]   -> No value found (null or empty)
[2026-03-04 00:13:53] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-04 00:13:53] [INFO]   -> Found value: DECK MOUNTAIN RD/BURTON COVE RD
[2026-03-04 00:13:53] [INFO]   -> Set field 'incidentLocationCross' = "DECK MOUNTAIN RD\/BURTON COVE RD"
[2026-03-04 00:13:53] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-04 00:13:53] [INFO]   -> Found value: PCFR
[2026-03-04 00:13:53] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-04 00:13:53] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-04 00:13:53] [INFO]   -> Found value: 2026-03-03 18:13:48
[2026-03-04 00:13:53] [INFO]   -> Set field 'timedispatch' = "2026-03-03 18:13:48"
[2026-03-04 00:13:53] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-04 00:13:53] [INFO]   -> No value found (null or empty)
[2026-03-04 00:13:53] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-04 00:13:53] [INFO]   -> No value found (null or empty)
[2026-03-04 00:13:53] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-04 00:13:53] [INFO]   -> No value found (null or empty)
[2026-03-04 00:13:53] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-04 00:13:53] [INFO]   -> No value found (null or empty)
[2026-03-04 00:13:53] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-04 00:13:53] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-04 00:13:53] [INFO]   -> Found value: 20260023581
[2026-03-04 00:13:53] [INFO]   -> Set field 'policeReportNumber' = "20260023581"
[2026-03-04 00:13:53] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-04 00:13:53] [INFO]   -> Found value: [EMS] CPR IN PROGRESS  [03/03/26 18:13:32 EROACH] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03/03/26 1...
[2026-03-04 00:13:53] [INFO]   -> Set field 'dispatchNotes' = "[EMS] CPR IN PROGRESS  [03\/03\/26 18:13:32 EROACH] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/03\/26 18:13:30 RJGIPSON] Event spawned from UNCONSCIOUS.  [03\/03\/2026 18:13:13 EROACH]"
[2026-03-04 00:13:53] [INFO]   -> Set field 'cADLog' = "[EMS] CPR IN PROGRESS  [03\/03\/26 18:13:32 EROACH] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/03\/26 18:13:30 RJGIPSON] Event spawned from UNCONSCIOUS.  [03\/03\/2026 18:13:13 EROACH]"
[2026-03-04 00:13:53] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-04 00:13:53] [INFO]   -> Found value: COOKEVILLE
[2026-03-04 00:13:53] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-04 00:13:53] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-04 00:13:53] [INFO]   -> Found value: OLD WALTON
[2026-03-04 00:13:53] [INFO]   -> Set field 'streetName' = "OLD WALTON"
[2026-03-04 00:13:53] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-04 00:13:53] [INFO]   -> Found value: RD
[2026-03-04 00:13:53] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-04 00:13:53] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-04 00:13:53] [INFO]   -> Found value: 3011 OLD WALTON RD
[2026-03-04 00:13:53] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "3011 OLD WALTON RD"
[2026-03-04 00:13:53] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-04 00:13:53] [INFO] Concatenating street name and type
[2026-03-04 00:13:53] [INFO]   -> Combined street name: OLD WALTON RD
[2026-03-04 00:13:53] [INFO] Built locationCoordinates from lat/lng: 36.17588,-85.44627
[2026-03-04 00:13:53] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000587","dispatchRunNumber":"2026000587","incidentTypeValue1":"UNCONSCIOUS","incidentLocationStreetNumber":3011,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.17587999999999937017491902224719524383544921875,"nERISIncidentLongitude":-85.446269999999998390194377861917018890380859375,"alarm":"2026-03-03 18:13:13","dispatched":"2026-03-03 18:13:48","incidentLocationCross":"DECK MOUNTAIN RD\/BURTON COVE RD","cADVehicleID":"PCFR","timedispatch":"2026-03-03 18:13:48","policeReportNumber":"20260023581","dispatchNotes":"[EMS] CPR IN PROGRESS  [03\/03\/26 18:13:32 EROACH] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/03\/26 18:13:30 RJGIPSON] Event spawned from UNCONSCIOUS.  [03\/03\/2026 18:13:13 EROACH]","cADLog":"[EMS] CPR IN PROGRESS  [03\/03\/26 18:13:32 EROACH] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/03\/26 18:13:30 RJGIPSON] Event spawned from UNCONSCIOUS.  [03\/03\/2026 18:13:13 EROACH]","incidentLocationCity":"COOKEVILLE","streetName":"OLD WALTON RD","incidentAddressTextVersionStreet":"3011 OLD WALTON RD","locationCoordinates":"36.17588,-85.44627"}
[2026-03-04 00:13:53] [INFO] Number of extracted fields: 21
[2026-03-04 00:13:53] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-04 00:13:53] [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-03-04 00:13:53] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-04 00:13:53] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-04 00:13:54] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-04 00:13:54] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-04 00:13:54] [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-03-04 00:13:54] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-04 00:13:54] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-04 00:13:54] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-04 00:13:54] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-04 00:13:54] [INFO] Found existing IncidentTypeMapping with ID: 693976706d4f7fb2e
[2026-03-04 00:14:04] [INFO] Created new Dispatches record with ID: 69a77942bea5dbb5a
[2026-03-04 00:14:04] [INFO] Created archive directory: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-04
[2026-03-04 00:14:04] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023581_20260304_001353.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-04/PCFD_20260023581_20260304_001353.XML
[2026-03-04 00:14:04] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023581_20260304_001353.XML
[2026-03-04 00:15:04] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023581_20260304_001504.XML
[2026-03-04 00:15:04] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023581_20260304_001504.XML for user: 68f1466aed072ad4a
[2026-03-04 00:15:04] [INFO] File size: 6551 bytes
[2026-03-04 00:15:04] [INFO] Created FTPFiles record with ID: 69a77988b80447c61
[2026-03-04 00:15:04] [INFO] About to extract fields from XML. File size: 6551 bytes
[2026-03-04 00:15:04] [INFO] Number of mappings: 28
[2026-03-04 00:15:04] [INFO] Starting XML parsing. Content length: 6551
[2026-03-04 00:15:04] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-04 00:15:04] [INFO] Processing 28 field mappings
[2026-03-04 00:15:04] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-04 00:15:04] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-04 00:15:04] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-04 00:15:04] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-04 00:15:04] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-04 00:15:04] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-04 00:15:04] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-04 00:15:04] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-04 00:15:04] [INFO]   -> Found value: 2026000587
[2026-03-04 00:15:04] [INFO]   -> Set field 'incidentInternalId' = "2026000587"
[2026-03-04 00:15:04] [INFO]   -> Set field 'dispatchRunNumber' = "2026000587"
[2026-03-04 00:15:04] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-04 00:15:04] [INFO]   -> Found value: UNCONSCIOUS
[2026-03-04 00:15:04] [INFO]   -> Set field 'incidentTypeValue1' = "UNCONSCIOUS"
[2026-03-04 00:15:04] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-04 00:15:04] [INFO]   -> Found value: 3011
[2026-03-04 00:15:04] [INFO]   -> Set field 'incidentLocationStreetNumber' = 3011
[2026-03-04 00:15:04] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-04 00:15:04] [INFO]   -> Found value: TN
[2026-03-04 00:15:04] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-04 00:15:04] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-04 00:15:04] [INFO]   -> Found value: 38506
[2026-03-04 00:15:04] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-04 00:15:04] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-04 00:15:04] [INFO]   -> No value found (null or empty)
[2026-03-04 00:15:04] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-04 00:15:04] [INFO]   -> No value found (null or empty)
[2026-03-04 00:15:04] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-04 00:15:04] [INFO]   -> Found value: 36.17588
[2026-03-04 00:15:04] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.17587999999999937017491902224719524383544921875
[2026-03-04 00:15:04] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-04 00:15:04] [INFO]   -> Found value: -85.44627
[2026-03-04 00:15:04] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.446269999999998390194377861917018890380859375
[2026-03-04 00:15:04] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-04 00:15:04] [INFO]   -> Found value: 2026-03-03 18:13:13
[2026-03-04 00:15:04] [INFO]   -> Set field 'alarm' = "2026-03-03 18:13:13"
[2026-03-04 00:15:04] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-04 00:15:04] [INFO]   -> Found value: 2026-03-03 18:13:48
[2026-03-04 00:15:04] [INFO]   -> Set field 'dispatched' = "2026-03-03 18:13:48"
[2026-03-04 00:15:04] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-04 00:15:04] [INFO]   -> No value found (null or empty)
[2026-03-04 00:15:04] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-04 00:15:04] [INFO]   -> No value found (null or empty)
[2026-03-04 00:15:04] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-04 00:15:04] [INFO]   -> No value found (null or empty)
[2026-03-04 00:15:04] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-04 00:15:04] [INFO]   -> Found value: DECK MOUNTAIN RD/BURTON COVE RD
[2026-03-04 00:15:04] [INFO]   -> Set field 'incidentLocationCross' = "DECK MOUNTAIN RD\/BURTON COVE RD"
[2026-03-04 00:15:04] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-04 00:15:04] [INFO]   -> Found value: PCFR
[2026-03-04 00:15:04] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-04 00:15:04] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-04 00:15:04] [INFO]   -> Found value: 2026-03-03 18:13:48
[2026-03-04 00:15:04] [INFO]   -> Set field 'timedispatch' = "2026-03-03 18:13:48"
[2026-03-04 00:15:04] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-04 00:15:04] [INFO]   -> No value found (null or empty)
[2026-03-04 00:15:04] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-04 00:15:04] [INFO]   -> No value found (null or empty)
[2026-03-04 00:15:04] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-04 00:15:04] [INFO]   -> Found value: 2026-03-03 18:15:01
[2026-03-04 00:15:04] [INFO]   -> Set field 'timeunitclear' = "2026-03-03 18:15:01"
[2026-03-04 00:15:04] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-04 00:15:04] [INFO]   -> Found value: 2026-03-03 18:15:01
[2026-03-04 00:15:04] [INFO]   -> Set field 'timecanceledenroute' = "2026-03-03 18:15:01"
[2026-03-04 00:15:04] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-04 00:15:04] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-04 00:15:04] [INFO]   -> Found value: 20260023581
[2026-03-04 00:15:04] [INFO]   -> Set field 'policeReportNumber' = "20260023581"
[2026-03-04 00:15:04] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-04 00:15:04] [INFO]   -> Found value: [EMS] NATHAN MARSH  31 YO MALE  [03/03/26 18:14:38 EROACH] [EMS] UNKOWN MEDICAL HISTORY  [03/03/26 1...
[2026-03-04 00:15:04] [INFO]   -> Set field 'dispatchNotes' = "[EMS] NATHAN MARSH  31 YO MALE  [03\/03\/26 18:14:38 EROACH] [EMS] UNKOWN MEDICAL HISTORY  [03\/03\/26 18:14:16 EROACH] [EMS] COLD STIFF UNRESPONSIVE LAST SEEN EARLIER TODAY  [03\/03\/26 18:14:02 EROACH] [LAW] PCSO ENRT  [03\/03\/26 18:13:53 RJGIPSON] [EMS] CPR IN PROGRESS  [03\/03\/26 18:13:32 EROACH] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/03\/26 18:13:30 RJGIPSON] Event spawned from UNCONSCIOUS.  [03\/03\/2026 18:13:13 EROACH]"
[2026-03-04 00:15:04] [INFO]   -> Set field 'cADLog' = "[EMS] NATHAN MARSH  31 YO MALE  [03\/03\/26 18:14:38 EROACH] [EMS] UNKOWN MEDICAL HISTORY  [03\/03\/26 18:14:16 EROACH] [EMS] COLD STIFF UNRESPONSIVE LAST SEEN EARLIER TODAY  [03\/03\/26 18:14:02 EROACH] [LAW] PCSO ENRT  [03\/03\/26 18:13:53 RJGIPSON] [EMS] CPR IN PROGRESS  [03\/03\/26 18:13:32 EROACH] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/03\/26 18:13:30 RJGIPSON] Event spawned from UNCONSCIOUS.  [03\/03\/2026 18:13:13 EROACH]"
[2026-03-04 00:15:04] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-04 00:15:04] [INFO]   -> Found value: COOKEVILLE
[2026-03-04 00:15:04] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-04 00:15:04] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-04 00:15:04] [INFO]   -> Found value: OLD WALTON
[2026-03-04 00:15:04] [INFO]   -> Set field 'streetName' = "OLD WALTON"
[2026-03-04 00:15:04] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-04 00:15:04] [INFO]   -> Found value: RD
[2026-03-04 00:15:04] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-04 00:15:04] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-04 00:15:04] [INFO]   -> Found value: 3011 OLD WALTON RD
[2026-03-04 00:15:04] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "3011 OLD WALTON RD"
[2026-03-04 00:15:04] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-04 00:15:04] [INFO] Concatenating street name and type
[2026-03-04 00:15:04] [INFO]   -> Combined street name: OLD WALTON RD
[2026-03-04 00:15:04] [INFO] Built locationCoordinates from lat/lng: 36.17588,-85.44627
[2026-03-04 00:15:04] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000587","dispatchRunNumber":"2026000587","incidentTypeValue1":"UNCONSCIOUS","incidentLocationStreetNumber":3011,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.17587999999999937017491902224719524383544921875,"nERISIncidentLongitude":-85.446269999999998390194377861917018890380859375,"alarm":"2026-03-03 18:13:13","dispatched":"2026-03-03 18:13:48","incidentLocationCross":"DECK MOUNTAIN RD\/BURTON COVE RD","cADVehicleID":"PCFR","timedispatch":"2026-03-03 18:13:48","timeunitclear":"2026-03-03 18:15:01","timecanceledenroute":"2026-03-03 18:15:01","policeReportNumber":"20260023581","dispatchNotes":"[EMS] NATHAN MARSH  31 YO MALE  [03\/03\/26 18:14:38 EROACH] [EMS] UNKOWN MEDICAL HISTORY  [03\/03\/26 18:14:16 EROACH] [EMS] COLD STIFF UNRESPONSIVE LAST SEEN EARLIER TODAY  [03\/03\/26 18:14:02 EROACH] [LAW] PCSO ENRT  [03\/03\/26 18:13:53 RJGIPSON] [EMS] CPR IN PROGRESS  [03\/03\/26 18:13:32 EROACH] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/03\/26 18:13:30 RJGIPSON] Event spawned from UNCONSCIOUS.  [03\/03\/2026 18:13:13 EROACH]","cADLog":"[EMS] NATHAN MARSH  31 YO MALE  [03\/03\/26 18:14:38 EROACH] [EMS] UNKOWN MEDICAL HISTORY  [03\/03\/26 18:14:16 EROACH] [EMS] COLD STIFF UNRESPONSIVE LAST SEEN EARLIER TODAY  [03\/03\/26 18:14:02 EROACH] [LAW] PCSO ENRT  [03\/03\/26 18:13:53 RJGIPSON] [EMS] CPR IN PROGRESS  [03\/03\/26 18:13:32 EROACH] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/03\/26 18:13:30 RJGIPSON] Event spawned from UNCONSCIOUS.  [03\/03\/2026 18:13:13 EROACH]","incidentLocationCity":"COOKEVILLE","streetName":"OLD WALTON RD","incidentAddressTextVersionStreet":"3011 OLD WALTON RD","locationCoordinates":"36.17588,-85.44627"}
[2026-03-04 00:15:04] [INFO] Number of extracted fields: 23
[2026-03-04 00:15:04] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-04 00:15:04] [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-03-04 00:15:04] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-04 00:15:04] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-04 00:15:04] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-04 00:15:04] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-04 00:15:05] [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-03-04 00:15:05] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-04 00:15:05] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-04 00:15:05] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-04 00:15:05] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-04 00:15:05] [INFO] Found existing IncidentTypeMapping with ID: 693976706d4f7fb2e
[2026-03-04 00:15:05] [INFO] Found existing Dispatch with cADNumber '2026000587', ID: 69a77942bea5dbb5a - will update instead of create
[2026-03-04 00:15:05] [INFO] Updated existing Dispatches record with ID: 69a77942bea5dbb5a
[2026-03-04 00:15:05] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023581_20260304_001504.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-04/PCFD_20260023581_20260304_001504.XML
[2026-03-04 00:15:05] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023581_20260304_001504.XML
[2026-03-04 00:15:05] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023581_20260304_001504_1.XML
[2026-03-04 00:15:05] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023581_20260304_001504_1.XML for user: 68f1466aed072ad4a
[2026-03-04 00:15:05] [INFO] File size: 6551 bytes
[2026-03-04 00:15:07] [INFO] Created FTPFiles record with ID: 69a7798b29aee2dcf
[2026-03-04 00:15:07] [INFO] About to extract fields from XML. File size: 6551 bytes
[2026-03-04 00:15:07] [INFO] Number of mappings: 28
[2026-03-04 00:15:07] [INFO] Starting XML parsing. Content length: 6551
[2026-03-04 00:15:07] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-04 00:15:07] [INFO] Processing 28 field mappings
[2026-03-04 00:15:07] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-04 00:15:07] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-04 00:15:07] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-04 00:15:07] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-04 00:15:07] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-04 00:15:07] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-04 00:15:07] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-04 00:15:07] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-04 00:15:07] [INFO]   -> Found value: 2026000587
[2026-03-04 00:15:07] [INFO]   -> Set field 'incidentInternalId' = "2026000587"
[2026-03-04 00:15:07] [INFO]   -> Set field 'dispatchRunNumber' = "2026000587"
[2026-03-04 00:15:07] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-04 00:15:07] [INFO]   -> Found value: UNCONSCIOUS
[2026-03-04 00:15:07] [INFO]   -> Set field 'incidentTypeValue1' = "UNCONSCIOUS"
[2026-03-04 00:15:07] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-04 00:15:07] [INFO]   -> Found value: 3011
[2026-03-04 00:15:07] [INFO]   -> Set field 'incidentLocationStreetNumber' = 3011
[2026-03-04 00:15:07] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-04 00:15:07] [INFO]   -> Found value: TN
[2026-03-04 00:15:07] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-04 00:15:07] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-04 00:15:07] [INFO]   -> Found value: 38506
[2026-03-04 00:15:07] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-04 00:15:07] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-04 00:15:07] [INFO]   -> No value found (null or empty)
[2026-03-04 00:15:07] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-04 00:15:07] [INFO]   -> No value found (null or empty)
[2026-03-04 00:15:07] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-04 00:15:07] [INFO]   -> Found value: 36.17588
[2026-03-04 00:15:07] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.17587999999999937017491902224719524383544921875
[2026-03-04 00:15:07] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-04 00:15:07] [INFO]   -> Found value: -85.44627
[2026-03-04 00:15:07] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.446269999999998390194377861917018890380859375
[2026-03-04 00:15:07] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-04 00:15:07] [INFO]   -> Found value: 2026-03-03 18:13:13
[2026-03-04 00:15:07] [INFO]   -> Set field 'alarm' = "2026-03-03 18:13:13"
[2026-03-04 00:15:07] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-04 00:15:07] [INFO]   -> Found value: 2026-03-03 18:13:48
[2026-03-04 00:15:07] [INFO]   -> Set field 'dispatched' = "2026-03-03 18:13:48"
[2026-03-04 00:15:07] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-04 00:15:07] [INFO]   -> No value found (null or empty)
[2026-03-04 00:15:07] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-04 00:15:07] [INFO]   -> No value found (null or empty)
[2026-03-04 00:15:07] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-04 00:15:07] [INFO]   -> No value found (null or empty)
[2026-03-04 00:15:07] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-04 00:15:07] [INFO]   -> Found value: DECK MOUNTAIN RD/BURTON COVE RD
[2026-03-04 00:15:07] [INFO]   -> Set field 'incidentLocationCross' = "DECK MOUNTAIN RD\/BURTON COVE RD"
[2026-03-04 00:15:07] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-04 00:15:07] [INFO]   -> Found value: PCFR
[2026-03-04 00:15:07] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-04 00:15:07] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-04 00:15:07] [INFO]   -> Found value: 2026-03-03 18:13:48
[2026-03-04 00:15:07] [INFO]   -> Set field 'timedispatch' = "2026-03-03 18:13:48"
[2026-03-04 00:15:07] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-04 00:15:07] [INFO]   -> No value found (null or empty)
[2026-03-04 00:15:07] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-04 00:15:07] [INFO]   -> No value found (null or empty)
[2026-03-04 00:15:07] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-04 00:15:07] [INFO]   -> Found value: 2026-03-03 18:15:01
[2026-03-04 00:15:07] [INFO]   -> Set field 'timeunitclear' = "2026-03-03 18:15:01"
[2026-03-04 00:15:07] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-04 00:15:07] [INFO]   -> Found value: 2026-03-03 18:15:01
[2026-03-04 00:15:07] [INFO]   -> Set field 'timecanceledenroute' = "2026-03-03 18:15:01"
[2026-03-04 00:15:07] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-04 00:15:07] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-04 00:15:07] [INFO]   -> Found value: 20260023581
[2026-03-04 00:15:07] [INFO]   -> Set field 'policeReportNumber' = "20260023581"
[2026-03-04 00:15:07] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-04 00:15:07] [INFO]   -> Found value: [EMS] NATHAN MARSH  31 YO MALE  [03/03/26 18:14:38 EROACH] [EMS] UNKOWN MEDICAL HISTORY  [03/03/26 1...
[2026-03-04 00:15:07] [INFO]   -> Set field 'dispatchNotes' = "[EMS] NATHAN MARSH  31 YO MALE  [03\/03\/26 18:14:38 EROACH] [EMS] UNKOWN MEDICAL HISTORY  [03\/03\/26 18:14:16 EROACH] [EMS] COLD STIFF UNRESPONSIVE LAST SEEN EARLIER TODAY  [03\/03\/26 18:14:02 EROACH] [LAW] PCSO ENRT  [03\/03\/26 18:13:53 RJGIPSON] [EMS] CPR IN PROGRESS  [03\/03\/26 18:13:32 EROACH] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/03\/26 18:13:30 RJGIPSON] Event spawned from UNCONSCIOUS.  [03\/03\/2026 18:13:13 EROACH]"
[2026-03-04 00:15:07] [INFO]   -> Set field 'cADLog' = "[EMS] NATHAN MARSH  31 YO MALE  [03\/03\/26 18:14:38 EROACH] [EMS] UNKOWN MEDICAL HISTORY  [03\/03\/26 18:14:16 EROACH] [EMS] COLD STIFF UNRESPONSIVE LAST SEEN EARLIER TODAY  [03\/03\/26 18:14:02 EROACH] [LAW] PCSO ENRT  [03\/03\/26 18:13:53 RJGIPSON] [EMS] CPR IN PROGRESS  [03\/03\/26 18:13:32 EROACH] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/03\/26 18:13:30 RJGIPSON] Event spawned from UNCONSCIOUS.  [03\/03\/2026 18:13:13 EROACH]"
[2026-03-04 00:15:07] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-04 00:15:07] [INFO]   -> Found value: COOKEVILLE
[2026-03-04 00:15:07] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-04 00:15:07] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-04 00:15:07] [INFO]   -> Found value: OLD WALTON
[2026-03-04 00:15:07] [INFO]   -> Set field 'streetName' = "OLD WALTON"
[2026-03-04 00:15:07] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-04 00:15:07] [INFO]   -> Found value: RD
[2026-03-04 00:15:07] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-04 00:15:07] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-04 00:15:07] [INFO]   -> Found value: 3011 OLD WALTON RD
[2026-03-04 00:15:07] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "3011 OLD WALTON RD"
[2026-03-04 00:15:07] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-04 00:15:07] [INFO] Concatenating street name and type
[2026-03-04 00:15:07] [INFO]   -> Combined street name: OLD WALTON RD
[2026-03-04 00:15:07] [INFO] Built locationCoordinates from lat/lng: 36.17588,-85.44627
[2026-03-04 00:15:07] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000587","dispatchRunNumber":"2026000587","incidentTypeValue1":"UNCONSCIOUS","incidentLocationStreetNumber":3011,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.17587999999999937017491902224719524383544921875,"nERISIncidentLongitude":-85.446269999999998390194377861917018890380859375,"alarm":"2026-03-03 18:13:13","dispatched":"2026-03-03 18:13:48","incidentLocationCross":"DECK MOUNTAIN RD\/BURTON COVE RD","cADVehicleID":"PCFR","timedispatch":"2026-03-03 18:13:48","timeunitclear":"2026-03-03 18:15:01","timecanceledenroute":"2026-03-03 18:15:01","policeReportNumber":"20260023581","dispatchNotes":"[EMS] NATHAN MARSH  31 YO MALE  [03\/03\/26 18:14:38 EROACH] [EMS] UNKOWN MEDICAL HISTORY  [03\/03\/26 18:14:16 EROACH] [EMS] COLD STIFF UNRESPONSIVE LAST SEEN EARLIER TODAY  [03\/03\/26 18:14:02 EROACH] [LAW] PCSO ENRT  [03\/03\/26 18:13:53 RJGIPSON] [EMS] CPR IN PROGRESS  [03\/03\/26 18:13:32 EROACH] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/03\/26 18:13:30 RJGIPSON] Event spawned from UNCONSCIOUS.  [03\/03\/2026 18:13:13 EROACH]","cADLog":"[EMS] NATHAN MARSH  31 YO MALE  [03\/03\/26 18:14:38 EROACH] [EMS] UNKOWN MEDICAL HISTORY  [03\/03\/26 18:14:16 EROACH] [EMS] COLD STIFF UNRESPONSIVE LAST SEEN EARLIER TODAY  [03\/03\/26 18:14:02 EROACH] [LAW] PCSO ENRT  [03\/03\/26 18:13:53 RJGIPSON] [EMS] CPR IN PROGRESS  [03\/03\/26 18:13:32 EROACH] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/03\/26 18:13:30 RJGIPSON] Event spawned from UNCONSCIOUS.  [03\/03\/2026 18:13:13 EROACH]","incidentLocationCity":"COOKEVILLE","streetName":"OLD WALTON RD","incidentAddressTextVersionStreet":"3011 OLD WALTON RD","locationCoordinates":"36.17588,-85.44627"}
[2026-03-04 00:15:07] [INFO] Number of extracted fields: 23
[2026-03-04 00:15:07] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-04 00:15:07] [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-03-04 00:15:07] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-04 00:15:07] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-04 00:15:07] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-04 00:15:07] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-04 00:15:07] [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-03-04 00:15:07] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-04 00:15:07] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-04 00:15:07] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-04 00:15:07] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-04 00:15:07] [INFO] Found existing IncidentTypeMapping with ID: 693976706d4f7fb2e
[2026-03-04 00:15:07] [INFO] Found existing Dispatch with cADNumber '2026000587', ID: 69a77942bea5dbb5a - will update instead of create
[2026-03-04 00:15:08] [INFO] Updated existing Dispatches record with ID: 69a77942bea5dbb5a
[2026-03-04 00:15:08] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023581_20260304_001504_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-04/PCFD_20260023581_20260304_001504_1.XML
[2026-03-04 00:15:08] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023581_20260304_001504_1.XML
[2026-03-04 00:15:08] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023581_20260304_001505.XML
[2026-03-04 00:15:08] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023581_20260304_001505.XML for user: 68f1466aed072ad4a
[2026-03-04 00:15:08] [INFO] File size: 6551 bytes
[2026-03-04 00:15:08] [INFO] Created FTPFiles record with ID: 69a7798c7c1efa635
[2026-03-04 00:15:08] [INFO] About to extract fields from XML. File size: 6551 bytes
[2026-03-04 00:15:08] [INFO] Number of mappings: 28
[2026-03-04 00:15:08] [INFO] Starting XML parsing. Content length: 6551
[2026-03-04 00:15:08] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-04 00:15:08] [INFO] Processing 28 field mappings
[2026-03-04 00:15:08] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-04 00:15:08] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-04 00:15:08] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-04 00:15:08] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-04 00:15:08] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-04 00:15:08] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-04 00:15:08] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-04 00:15:08] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-04 00:15:08] [INFO]   -> Found value: 2026000587
[2026-03-04 00:15:08] [INFO]   -> Set field 'incidentInternalId' = "2026000587"
[2026-03-04 00:15:08] [INFO]   -> Set field 'dispatchRunNumber' = "2026000587"
[2026-03-04 00:15:08] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-04 00:15:08] [INFO]   -> Found value: UNCONSCIOUS
[2026-03-04 00:15:08] [INFO]   -> Set field 'incidentTypeValue1' = "UNCONSCIOUS"
[2026-03-04 00:15:08] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-04 00:15:08] [INFO]   -> Found value: 3011
[2026-03-04 00:15:08] [INFO]   -> Set field 'incidentLocationStreetNumber' = 3011
[2026-03-04 00:15:08] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-04 00:15:08] [INFO]   -> Found value: TN
[2026-03-04 00:15:08] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-04 00:15:08] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-04 00:15:08] [INFO]   -> Found value: 38506
[2026-03-04 00:15:08] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-04 00:15:08] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-04 00:15:08] [INFO]   -> No value found (null or empty)
[2026-03-04 00:15:08] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-04 00:15:08] [INFO]   -> No value found (null or empty)
[2026-03-04 00:15:08] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-04 00:15:08] [INFO]   -> Found value: 36.17588
[2026-03-04 00:15:08] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.17587999999999937017491902224719524383544921875
[2026-03-04 00:15:08] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-04 00:15:08] [INFO]   -> Found value: -85.44627
[2026-03-04 00:15:08] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.446269999999998390194377861917018890380859375
[2026-03-04 00:15:08] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-04 00:15:08] [INFO]   -> Found value: 2026-03-03 18:13:13
[2026-03-04 00:15:08] [INFO]   -> Set field 'alarm' = "2026-03-03 18:13:13"
[2026-03-04 00:15:08] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-04 00:15:08] [INFO]   -> Found value: 2026-03-03 18:13:48
[2026-03-04 00:15:08] [INFO]   -> Set field 'dispatched' = "2026-03-03 18:13:48"
[2026-03-04 00:15:08] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-04 00:15:08] [INFO]   -> No value found (null or empty)
[2026-03-04 00:15:08] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-04 00:15:08] [INFO]   -> No value found (null or empty)
[2026-03-04 00:15:08] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-04 00:15:08] [INFO]   -> No value found (null or empty)
[2026-03-04 00:15:08] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-04 00:15:08] [INFO]   -> Found value: DECK MOUNTAIN RD/BURTON COVE RD
[2026-03-04 00:15:08] [INFO]   -> Set field 'incidentLocationCross' = "DECK MOUNTAIN RD\/BURTON COVE RD"
[2026-03-04 00:15:08] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-04 00:15:08] [INFO]   -> Found value: PCFR
[2026-03-04 00:15:08] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-04 00:15:08] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-04 00:15:08] [INFO]   -> Found value: 2026-03-03 18:13:48
[2026-03-04 00:15:08] [INFO]   -> Set field 'timedispatch' = "2026-03-03 18:13:48"
[2026-03-04 00:15:08] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-04 00:15:08] [INFO]   -> No value found (null or empty)
[2026-03-04 00:15:08] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-04 00:15:08] [INFO]   -> No value found (null or empty)
[2026-03-04 00:15:08] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-04 00:15:08] [INFO]   -> Found value: 2026-03-03 18:15:01
[2026-03-04 00:15:08] [INFO]   -> Set field 'timeunitclear' = "2026-03-03 18:15:01"
[2026-03-04 00:15:08] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-04 00:15:08] [INFO]   -> Found value: 2026-03-03 18:15:01
[2026-03-04 00:15:08] [INFO]   -> Set field 'timecanceledenroute' = "2026-03-03 18:15:01"
[2026-03-04 00:15:08] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-04 00:15:08] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-04 00:15:08] [INFO]   -> Found value: 20260023581
[2026-03-04 00:15:08] [INFO]   -> Set field 'policeReportNumber' = "20260023581"
[2026-03-04 00:15:08] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-04 00:15:08] [INFO]   -> Found value: [EMS] NATHAN MARSH  31 YO MALE  [03/03/26 18:14:38 EROACH] [EMS] UNKOWN MEDICAL HISTORY  [03/03/26 1...
[2026-03-04 00:15:08] [INFO]   -> Set field 'dispatchNotes' = "[EMS] NATHAN MARSH  31 YO MALE  [03\/03\/26 18:14:38 EROACH] [EMS] UNKOWN MEDICAL HISTORY  [03\/03\/26 18:14:16 EROACH] [EMS] COLD STIFF UNRESPONSIVE LAST SEEN EARLIER TODAY  [03\/03\/26 18:14:02 EROACH] [LAW] PCSO ENRT  [03\/03\/26 18:13:53 RJGIPSON] [EMS] CPR IN PROGRESS  [03\/03\/26 18:13:32 EROACH] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/03\/26 18:13:30 RJGIPSON] Event spawned from UNCONSCIOUS.  [03\/03\/2026 18:13:13 EROACH]"
[2026-03-04 00:15:08] [INFO]   -> Set field 'cADLog' = "[EMS] NATHAN MARSH  31 YO MALE  [03\/03\/26 18:14:38 EROACH] [EMS] UNKOWN MEDICAL HISTORY  [03\/03\/26 18:14:16 EROACH] [EMS] COLD STIFF UNRESPONSIVE LAST SEEN EARLIER TODAY  [03\/03\/26 18:14:02 EROACH] [LAW] PCSO ENRT  [03\/03\/26 18:13:53 RJGIPSON] [EMS] CPR IN PROGRESS  [03\/03\/26 18:13:32 EROACH] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/03\/26 18:13:30 RJGIPSON] Event spawned from UNCONSCIOUS.  [03\/03\/2026 18:13:13 EROACH]"
[2026-03-04 00:15:08] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-04 00:15:08] [INFO]   -> Found value: COOKEVILLE
[2026-03-04 00:15:08] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-04 00:15:08] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-04 00:15:08] [INFO]   -> Found value: OLD WALTON
[2026-03-04 00:15:08] [INFO]   -> Set field 'streetName' = "OLD WALTON"
[2026-03-04 00:15:08] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-04 00:15:08] [INFO]   -> Found value: RD
[2026-03-04 00:15:08] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-04 00:15:08] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-04 00:15:08] [INFO]   -> Found value: 3011 OLD WALTON RD
[2026-03-04 00:15:08] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "3011 OLD WALTON RD"
[2026-03-04 00:15:08] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-04 00:15:08] [INFO] Concatenating street name and type
[2026-03-04 00:15:08] [INFO]   -> Combined street name: OLD WALTON RD
[2026-03-04 00:15:08] [INFO] Built locationCoordinates from lat/lng: 36.17588,-85.44627
[2026-03-04 00:15:08] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000587","dispatchRunNumber":"2026000587","incidentTypeValue1":"UNCONSCIOUS","incidentLocationStreetNumber":3011,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.17587999999999937017491902224719524383544921875,"nERISIncidentLongitude":-85.446269999999998390194377861917018890380859375,"alarm":"2026-03-03 18:13:13","dispatched":"2026-03-03 18:13:48","incidentLocationCross":"DECK MOUNTAIN RD\/BURTON COVE RD","cADVehicleID":"PCFR","timedispatch":"2026-03-03 18:13:48","timeunitclear":"2026-03-03 18:15:01","timecanceledenroute":"2026-03-03 18:15:01","policeReportNumber":"20260023581","dispatchNotes":"[EMS] NATHAN MARSH  31 YO MALE  [03\/03\/26 18:14:38 EROACH] [EMS] UNKOWN MEDICAL HISTORY  [03\/03\/26 18:14:16 EROACH] [EMS] COLD STIFF UNRESPONSIVE LAST SEEN EARLIER TODAY  [03\/03\/26 18:14:02 EROACH] [LAW] PCSO ENRT  [03\/03\/26 18:13:53 RJGIPSON] [EMS] CPR IN PROGRESS  [03\/03\/26 18:13:32 EROACH] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/03\/26 18:13:30 RJGIPSON] Event spawned from UNCONSCIOUS.  [03\/03\/2026 18:13:13 EROACH]","cADLog":"[EMS] NATHAN MARSH  31 YO MALE  [03\/03\/26 18:14:38 EROACH] [EMS] UNKOWN MEDICAL HISTORY  [03\/03\/26 18:14:16 EROACH] [EMS] COLD STIFF UNRESPONSIVE LAST SEEN EARLIER TODAY  [03\/03\/26 18:14:02 EROACH] [LAW] PCSO ENRT  [03\/03\/26 18:13:53 RJGIPSON] [EMS] CPR IN PROGRESS  [03\/03\/26 18:13:32 EROACH] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/03\/26 18:13:30 RJGIPSON] Event spawned from UNCONSCIOUS.  [03\/03\/2026 18:13:13 EROACH]","incidentLocationCity":"COOKEVILLE","streetName":"OLD WALTON RD","incidentAddressTextVersionStreet":"3011 OLD WALTON RD","locationCoordinates":"36.17588,-85.44627"}
[2026-03-04 00:15:08] [INFO] Number of extracted fields: 23
[2026-03-04 00:15:08] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-04 00:15:08] [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-03-04 00:15:08] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-04 00:15:08] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-04 00:15:08] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-04 00:15:08] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-04 00:15: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-03-04 00:15:08] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-04 00:15:08] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-04 00:15:08] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-04 00:15:08] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-04 00:15:09] [INFO] Found existing IncidentTypeMapping with ID: 693976706d4f7fb2e
[2026-03-04 00:15:09] [INFO] Found existing Dispatch with cADNumber '2026000587', ID: 69a77942bea5dbb5a - will update instead of create
[2026-03-04 00:15:09] [INFO] Updated existing Dispatches record with ID: 69a77942bea5dbb5a
[2026-03-04 00:15:09] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023581_20260304_001505.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-04/PCFD_20260023581_20260304_001505.XML
[2026-03-04 00:15:09] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023581_20260304_001505.XML
[2026-03-04 00:15:09] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023581_20260304_001508.XML
[2026-03-04 00:15:09] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023581_20260304_001508.XML for user: 68f1466aed072ad4a
[2026-03-04 00:15:09] [INFO] File size: 6618 bytes
[2026-03-04 00:15:09] [INFO] Created FTPFiles record with ID: 69a7798dbe8ad9279
[2026-03-04 00:15:09] [INFO] About to extract fields from XML. File size: 6618 bytes
[2026-03-04 00:15:09] [INFO] Number of mappings: 28
[2026-03-04 00:15:09] [INFO] Starting XML parsing. Content length: 6618
[2026-03-04 00:15:09] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-04 00:15:09] [INFO] Processing 28 field mappings
[2026-03-04 00:15:09] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-04 00:15:09] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-04 00:15:09] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-04 00:15:09] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-04 00:15:09] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-04 00:15:09] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-04 00:15:09] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-04 00:15:09] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-04 00:15:09] [INFO]   -> Found value: 2026000587
[2026-03-04 00:15:09] [INFO]   -> Set field 'incidentInternalId' = "2026000587"
[2026-03-04 00:15:09] [INFO]   -> Set field 'dispatchRunNumber' = "2026000587"
[2026-03-04 00:15:09] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-04 00:15:09] [INFO]   -> Found value: UNCONSCIOUS
[2026-03-04 00:15:09] [INFO]   -> Set field 'incidentTypeValue1' = "UNCONSCIOUS"
[2026-03-04 00:15:09] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-04 00:15:09] [INFO]   -> Found value: 3011
[2026-03-04 00:15:09] [INFO]   -> Set field 'incidentLocationStreetNumber' = 3011
[2026-03-04 00:15:09] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-04 00:15:09] [INFO]   -> Found value: TN
[2026-03-04 00:15:09] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-04 00:15:09] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-04 00:15:09] [INFO]   -> Found value: 38506
[2026-03-04 00:15:09] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-04 00:15:09] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-04 00:15:09] [INFO]   -> No value found (null or empty)
[2026-03-04 00:15:09] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-04 00:15:09] [INFO]   -> No value found (null or empty)
[2026-03-04 00:15:09] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-04 00:15:09] [INFO]   -> Found value: 36.17588
[2026-03-04 00:15:09] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.17587999999999937017491902224719524383544921875
[2026-03-04 00:15:09] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-04 00:15:09] [INFO]   -> Found value: -85.44627
[2026-03-04 00:15:09] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.446269999999998390194377861917018890380859375
[2026-03-04 00:15:09] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-04 00:15:09] [INFO]   -> Found value: 2026-03-03 18:13:13
[2026-03-04 00:15:09] [INFO]   -> Set field 'alarm' = "2026-03-03 18:13:13"
[2026-03-04 00:15:09] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-04 00:15:09] [INFO]   -> Found value: 2026-03-03 18:13:48
[2026-03-04 00:15:09] [INFO]   -> Set field 'dispatched' = "2026-03-03 18:13:48"
[2026-03-04 00:15:09] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-04 00:15:09] [INFO]   -> Found value: 2026-03-03 18:15:03
[2026-03-04 00:15:09] [INFO]   -> Set field 'enroute' = "2026-03-03 18:15:03"
[2026-03-04 00:15:09] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-04 00:15:09] [INFO]   -> No value found (null or empty)
[2026-03-04 00:15:09] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-04 00:15:09] [INFO]   -> No value found (null or empty)
[2026-03-04 00:15:09] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-04 00:15:09] [INFO]   -> Found value: DECK MOUNTAIN RD/BURTON COVE RD
[2026-03-04 00:15:09] [INFO]   -> Set field 'incidentLocationCross' = "DECK MOUNTAIN RD\/BURTON COVE RD"
[2026-03-04 00:15:09] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-04 00:15:09] [INFO]   -> Found value: TK12
[2026-03-04 00:15:09] [INFO]   -> Set field 'cADVehicleID' = "TK12"
[2026-03-04 00:15:09] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-04 00:15:09] [INFO]   -> Found value: 2026-03-03 18:15:01
[2026-03-04 00:15:09] [INFO]   -> Set field 'timedispatch' = "2026-03-03 18:15:01"
[2026-03-04 00:15:09] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-04 00:15:09] [INFO]   -> Found value: 2026-03-03 18:15:03
[2026-03-04 00:15:09] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-03 18:15:03"
[2026-03-04 00:15:09] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-04 00:15:09] [INFO]   -> No value found (null or empty)
[2026-03-04 00:15:09] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-04 00:15:09] [INFO]   -> No value found (null or empty)
[2026-03-04 00:15:09] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-04 00:15:09] [INFO]   -> No value found (null or empty)
[2026-03-04 00:15:09] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-04 00:15:09] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-04 00:15:09] [INFO]   -> Found value: 20260023581
[2026-03-04 00:15:09] [INFO]   -> Set field 'policeReportNumber' = "20260023581"
[2026-03-04 00:15:09] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-04 00:15:09] [INFO]   -> Found value: [EMS] NATHAN MARSH  31 YO MALE  [03/03/26 18:14:38 EROACH] [EMS] UNKOWN MEDICAL HISTORY  [03/03/26 1...
[2026-03-04 00:15:09] [INFO]   -> Set field 'dispatchNotes' = "[EMS] NATHAN MARSH  31 YO MALE  [03\/03\/26 18:14:38 EROACH] [EMS] UNKOWN MEDICAL HISTORY  [03\/03\/26 18:14:16 EROACH] [EMS] COLD STIFF UNRESPONSIVE LAST SEEN EARLIER TODAY  [03\/03\/26 18:14:02 EROACH] [LAW] PCSO ENRT  [03\/03\/26 18:13:53 RJGIPSON] [EMS] CPR IN PROGRESS  [03\/03\/26 18:13:32 EROACH] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/03\/26 18:13:30 RJGIPSON] Event spawned from UNCONSCIOUS.  [03\/03\/2026 18:13:13 EROACH]"
[2026-03-04 00:15:09] [INFO]   -> Set field 'cADLog' = "[EMS] NATHAN MARSH  31 YO MALE  [03\/03\/26 18:14:38 EROACH] [EMS] UNKOWN MEDICAL HISTORY  [03\/03\/26 18:14:16 EROACH] [EMS] COLD STIFF UNRESPONSIVE LAST SEEN EARLIER TODAY  [03\/03\/26 18:14:02 EROACH] [LAW] PCSO ENRT  [03\/03\/26 18:13:53 RJGIPSON] [EMS] CPR IN PROGRESS  [03\/03\/26 18:13:32 EROACH] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/03\/26 18:13:30 RJGIPSON] Event spawned from UNCONSCIOUS.  [03\/03\/2026 18:13:13 EROACH]"
[2026-03-04 00:15:09] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-04 00:15:09] [INFO]   -> Found value: COOKEVILLE
[2026-03-04 00:15:09] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-04 00:15:09] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-04 00:15:09] [INFO]   -> Found value: OLD WALTON
[2026-03-04 00:15:09] [INFO]   -> Set field 'streetName' = "OLD WALTON"
[2026-03-04 00:15:09] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-04 00:15:09] [INFO]   -> Found value: RD
[2026-03-04 00:15:09] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-04 00:15:09] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-04 00:15:09] [INFO]   -> Found value: 3011 OLD WALTON RD
[2026-03-04 00:15:09] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "3011 OLD WALTON RD"
[2026-03-04 00:15:09] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-04 00:15:09] [INFO] Concatenating street name and type
[2026-03-04 00:15:09] [INFO]   -> Combined street name: OLD WALTON RD
[2026-03-04 00:15:09] [INFO] Built locationCoordinates from lat/lng: 36.17588,-85.44627
[2026-03-04 00:15:09] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000587","dispatchRunNumber":"2026000587","incidentTypeValue1":"UNCONSCIOUS","incidentLocationStreetNumber":3011,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.17587999999999937017491902224719524383544921875,"nERISIncidentLongitude":-85.446269999999998390194377861917018890380859375,"alarm":"2026-03-03 18:13:13","dispatched":"2026-03-03 18:13:48","enroute":"2026-03-03 18:15:03","incidentLocationCross":"DECK MOUNTAIN RD\/BURTON COVE RD","cADVehicleID":"TK12","timedispatch":"2026-03-03 18:15:01","timeenroutetoscene":"2026-03-03 18:15:03","policeReportNumber":"20260023581","dispatchNotes":"[EMS] NATHAN MARSH  31 YO MALE  [03\/03\/26 18:14:38 EROACH] [EMS] UNKOWN MEDICAL HISTORY  [03\/03\/26 18:14:16 EROACH] [EMS] COLD STIFF UNRESPONSIVE LAST SEEN EARLIER TODAY  [03\/03\/26 18:14:02 EROACH] [LAW] PCSO ENRT  [03\/03\/26 18:13:53 RJGIPSON] [EMS] CPR IN PROGRESS  [03\/03\/26 18:13:32 EROACH] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/03\/26 18:13:30 RJGIPSON] Event spawned from UNCONSCIOUS.  [03\/03\/2026 18:13:13 EROACH]","cADLog":"[EMS] NATHAN MARSH  31 YO MALE  [03\/03\/26 18:14:38 EROACH] [EMS] UNKOWN MEDICAL HISTORY  [03\/03\/26 18:14:16 EROACH] [EMS] COLD STIFF UNRESPONSIVE LAST SEEN EARLIER TODAY  [03\/03\/26 18:14:02 EROACH] [LAW] PCSO ENRT  [03\/03\/26 18:13:53 RJGIPSON] [EMS] CPR IN PROGRESS  [03\/03\/26 18:13:32 EROACH] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/03\/26 18:13:30 RJGIPSON] Event spawned from UNCONSCIOUS.  [03\/03\/2026 18:13:13 EROACH]","incidentLocationCity":"COOKEVILLE","streetName":"OLD WALTON RD","incidentAddressTextVersionStreet":"3011 OLD WALTON RD","locationCoordinates":"36.17588,-85.44627"}
[2026-03-04 00:15:09] [INFO] Number of extracted fields: 23
[2026-03-04 00:15:09] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-04 00:15:09] [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-03-04 00:15:09] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-04 00:15:09] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-04 00:15:09] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-04 00:15:09] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-04 00:15:10] [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-03-04 00:15:10] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-04 00:15:10] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-04 00:15:10] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-04 00:15:10] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-04 00:15:10] [INFO] Found existing IncidentTypeMapping with ID: 693976706d4f7fb2e
[2026-03-04 00:15:10] [INFO] Found existing Dispatch with cADNumber '2026000587', ID: 69a77942bea5dbb5a - will update instead of create
[2026-03-04 00:15:10] [INFO] Updated existing Dispatches record with ID: 69a77942bea5dbb5a
[2026-03-04 00:15:10] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023581_20260304_001508.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-04/PCFD_20260023581_20260304_001508.XML
[2026-03-04 00:15:10] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023581_20260304_001508.XML
[2026-03-04 00:41:08] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023590_20260304_004108.XML
[2026-03-04 00:41:08] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023590_20260304_004108.XML for user: 68f1466aed072ad4a
[2026-03-04 00:41:08] [INFO] File size: 6441 bytes
[2026-03-04 00:41:08] [INFO] Created FTPFiles record with ID: 69a77fa4b2144133d
[2026-03-04 00:41:08] [INFO] About to extract fields from XML. File size: 6441 bytes
[2026-03-04 00:41:08] [INFO] Number of mappings: 28
[2026-03-04 00:41:08] [INFO] Starting XML parsing. Content length: 6441
[2026-03-04 00:41:08] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-04 00:41:08] [INFO] Processing 28 field mappings
[2026-03-04 00:41:08] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-04 00:41:08] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-04 00:41:08] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-04 00:41:08] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-04 00:41:08] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-04 00:41:08] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-04 00:41:08] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-04 00:41:08] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-04 00:41:08] [INFO]   -> Found value: 2026000588
[2026-03-04 00:41:08] [INFO]   -> Set field 'incidentInternalId' = "2026000588"
[2026-03-04 00:41:08] [INFO]   -> Set field 'dispatchRunNumber' = "2026000588"
[2026-03-04 00:41:08] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-04 00:41:08] [INFO]   -> Found value: CHEST PAIN
[2026-03-04 00:41:08] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-03-04 00:41:08] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-04 00:41:08] [INFO]   -> Found value: 8899
[2026-03-04 00:41:08] [INFO]   -> Set field 'incidentLocationStreetNumber' = 8899
[2026-03-04 00:41:08] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-04 00:41:08] [INFO]   -> Found value: TN
[2026-03-04 00:41:08] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-04 00:41:08] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-04 00:41:08] [INFO]   -> Found value: 38544
[2026-03-04 00:41:08] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-04 00:41:08] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-04 00:41:08] [INFO]   -> Found value: 8899 NASHVILLE HWY
[2026-03-04 00:41:08] [INFO]   -> Set field 'businessName' = "8899 NASHVILLE HWY"
[2026-03-04 00:41:08] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-04 00:41:08] [INFO]   -> No value found (null or empty)
[2026-03-04 00:41:08] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-04 00:41:08] [INFO]   -> Found value: 36.17537
[2026-03-04 00:41:08] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1753700000000009140421752817928791046142578125
[2026-03-04 00:41:08] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-04 00:41:08] [INFO]   -> Found value: -85.66854
[2026-03-04 00:41:08] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6685399999999930287231109105050563812255859375
[2026-03-04 00:41:08] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-04 00:41:08] [INFO]   -> Found value: 2026-03-03 18:39:30
[2026-03-04 00:41:08] [INFO]   -> Set field 'alarm' = "2026-03-03 18:39:30"
[2026-03-04 00:41:08] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-04 00:41:08] [INFO]   -> Found value: 2026-03-03 18:39:47
[2026-03-04 00:41:08] [INFO]   -> Set field 'dispatched' = "2026-03-03 18:39:47"
[2026-03-04 00:41:08] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-04 00:41:08] [INFO]   -> No value found (null or empty)
[2026-03-04 00:41:08] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-04 00:41:08] [INFO]   -> No value found (null or empty)
[2026-03-04 00:41:08] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-04 00:41:08] [INFO]   -> No value found (null or empty)
[2026-03-04 00:41:08] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-04 00:41:08] [INFO]   -> Found value: THOMPSON RIDGE RD/BRYANT RIDGE RD
[2026-03-04 00:41:08] [INFO]   -> Set field 'incidentLocationCross' = "THOMPSON RIDGE RD\/BRYANT RIDGE RD"
[2026-03-04 00:41:08] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-04 00:41:08] [INFO]   -> Found value: PCFR
[2026-03-04 00:41:08] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-04 00:41:08] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-04 00:41:08] [INFO]   -> Found value: 2026-03-03 18:39:47
[2026-03-04 00:41:08] [INFO]   -> Set field 'timedispatch' = "2026-03-03 18:39:47"
[2026-03-04 00:41:08] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-04 00:41:08] [INFO]   -> No value found (null or empty)
[2026-03-04 00:41:08] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-04 00:41:08] [INFO]   -> No value found (null or empty)
[2026-03-04 00:41:08] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-04 00:41:08] [INFO]   -> Found value: 2026-03-03 18:41:04
[2026-03-04 00:41:08] [INFO]   -> Set field 'timeunitclear' = "2026-03-03 18:41:04"
[2026-03-04 00:41:08] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-04 00:41:08] [INFO]   -> Found value: 2026-03-03 18:41:04
[2026-03-04 00:41:08] [INFO]   -> Set field 'timecanceledenroute' = "2026-03-03 18:41:04"
[2026-03-04 00:41:08] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-04 00:41:08] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-04 00:41:08] [INFO]   -> Found value: 20260023590
[2026-03-04 00:41:08] [INFO]   -> Set field 'policeReportNumber' = "20260023590"
[2026-03-04 00:41:08] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-04 00:41:08] [INFO]   -> Found value: [LAW] LE NOT RESPONDING AT THIS TIME UNLESS NEEDED  [03/03/26 18:41:07 BAHARRIS] [EMS] 47 YO MALE CH...
[2026-03-04 00:41:08] [INFO]   -> Set field 'dispatchNotes' = "[LAW] LE NOT RESPONDING AT THIS TIME UNLESS NEEDED  [03\/03\/26 18:41:07 BAHARRIS] [EMS] 47 YO MALE CHEST PAIN  NO HX OF CARDIAC HX  ENTER THROUGH THE FRONT  PETER JOHANSON  [03\/03\/26 18:40:23 EROACH] Event spawned from CHEST PAIN.  [03\/03\/2026 18:39:30 EROACH]"
[2026-03-04 00:41:08] [INFO]   -> Set field 'cADLog' = "[LAW] LE NOT RESPONDING AT THIS TIME UNLESS NEEDED  [03\/03\/26 18:41:07 BAHARRIS] [EMS] 47 YO MALE CHEST PAIN  NO HX OF CARDIAC HX  ENTER THROUGH THE FRONT  PETER JOHANSON  [03\/03\/26 18:40:23 EROACH] Event spawned from CHEST PAIN.  [03\/03\/2026 18:39:30 EROACH]"
[2026-03-04 00:41:08] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-04 00:41:08] [INFO]   -> Found value: BAXTER
[2026-03-04 00:41:08] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-04 00:41:08] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-04 00:41:08] [INFO]   -> Found value: NASHVILLE
[2026-03-04 00:41:08] [INFO]   -> Set field 'streetName' = "NASHVILLE"
[2026-03-04 00:41:08] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-04 00:41:08] [INFO]   -> Found value: HWY
[2026-03-04 00:41:08] [INFO]   -> Set field 'streetType' = "HWY"
[2026-03-04 00:41:08] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-04 00:41:08] [INFO]   -> Found value: 8899 NASHVILLE HWY
[2026-03-04 00:41:08] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "8899 NASHVILLE HWY"
[2026-03-04 00:41:08] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-04 00:41:08] [INFO] Concatenating street name and type
[2026-03-04 00:41:08] [INFO]   -> Combined street name: NASHVILLE HWY
[2026-03-04 00:41:08] [INFO] Built locationCoordinates from lat/lng: 36.17537,-85.66854
[2026-03-04 00:41:08] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000588","dispatchRunNumber":"2026000588","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":8899,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"businessName":"8899 NASHVILLE HWY","nERISIncidentLatitude":36.1753700000000009140421752817928791046142578125,"nERISIncidentLongitude":-85.6685399999999930287231109105050563812255859375,"alarm":"2026-03-03 18:39:30","dispatched":"2026-03-03 18:39:47","incidentLocationCross":"THOMPSON RIDGE RD\/BRYANT RIDGE RD","cADVehicleID":"PCFR","timedispatch":"2026-03-03 18:39:47","timeunitclear":"2026-03-03 18:41:04","timecanceledenroute":"2026-03-03 18:41:04","policeReportNumber":"20260023590","dispatchNotes":"[LAW] LE NOT RESPONDING AT THIS TIME UNLESS NEEDED  [03\/03\/26 18:41:07 BAHARRIS] [EMS] 47 YO MALE CHEST PAIN  NO HX OF CARDIAC HX  ENTER THROUGH THE FRONT  PETER JOHANSON  [03\/03\/26 18:40:23 EROACH] Event spawned from CHEST PAIN.  [03\/03\/2026 18:39:30 EROACH]","cADLog":"[LAW] LE NOT RESPONDING AT THIS TIME UNLESS NEEDED  [03\/03\/26 18:41:07 BAHARRIS] [EMS] 47 YO MALE CHEST PAIN  NO HX OF CARDIAC HX  ENTER THROUGH THE FRONT  PETER JOHANSON  [03\/03\/26 18:40:23 EROACH] Event spawned from CHEST PAIN.  [03\/03\/2026 18:39:30 EROACH]","incidentLocationCity":"BAXTER","streetName":"NASHVILLE HWY","incidentAddressTextVersionStreet":"8899 NASHVILLE HWY","locationCoordinates":"36.17537,-85.66854"}
[2026-03-04 00:41:08] [INFO] Number of extracted fields: 24
[2026-03-04 00:41:08] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-04 00:41:08] [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-03-04 00:41:08] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-04 00:41:08] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-04 00:41:08] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-04 00:41:08] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-04 00:41:09] [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-03-04 00:41:09] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-04 00:41:09] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-04 00:41:09] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-04 00:41:09] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-04 00:41:09] [INFO] Found existing IncidentTypeMapping with ID: 6939c33d3eae65119
[2026-03-04 00:41:19] [INFO] Created new Dispatches record with ID: 69a77fa582d3b8103
[2026-03-04 00:41:19] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023590_20260304_004108.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-04/PCFD_20260023590_20260304_004108.XML
[2026-03-04 00:41:19] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023590_20260304_004108.XML
[2026-03-04 00:41:19] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023590_20260304_004113.XML
[2026-03-04 00:41:19] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023590_20260304_004113.XML for user: 68f1466aed072ad4a
[2026-03-04 00:41:19] [INFO] File size: 6508 bytes
[2026-03-04 00:41:20] [INFO] Created FTPFiles record with ID: 69a77fb04878b3a04
[2026-03-04 00:41:20] [INFO] About to extract fields from XML. File size: 6508 bytes
[2026-03-04 00:41:20] [INFO] Number of mappings: 28
[2026-03-04 00:41:20] [INFO] Starting XML parsing. Content length: 6508
[2026-03-04 00:41:20] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-04 00:41:20] [INFO] Processing 28 field mappings
[2026-03-04 00:41:20] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-04 00:41:20] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-04 00:41:20] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-04 00:41:20] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-04 00:41:20] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-04 00:41:20] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-04 00:41:20] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-04 00:41:20] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-04 00:41:20] [INFO]   -> Found value: 2026000588
[2026-03-04 00:41:20] [INFO]   -> Set field 'incidentInternalId' = "2026000588"
[2026-03-04 00:41:20] [INFO]   -> Set field 'dispatchRunNumber' = "2026000588"
[2026-03-04 00:41:20] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-04 00:41:20] [INFO]   -> Found value: CHEST PAIN
[2026-03-04 00:41:20] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-03-04 00:41:20] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-04 00:41:20] [INFO]   -> Found value: 8899
[2026-03-04 00:41:20] [INFO]   -> Set field 'incidentLocationStreetNumber' = 8899
[2026-03-04 00:41:20] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-04 00:41:20] [INFO]   -> Found value: TN
[2026-03-04 00:41:20] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-04 00:41:20] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-04 00:41:20] [INFO]   -> Found value: 38544
[2026-03-04 00:41:20] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-04 00:41:20] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-04 00:41:20] [INFO]   -> Found value: 8899 NASHVILLE HWY
[2026-03-04 00:41:20] [INFO]   -> Set field 'businessName' = "8899 NASHVILLE HWY"
[2026-03-04 00:41:20] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-04 00:41:20] [INFO]   -> No value found (null or empty)
[2026-03-04 00:41:20] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-04 00:41:20] [INFO]   -> Found value: 36.17537
[2026-03-04 00:41:20] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1753700000000009140421752817928791046142578125
[2026-03-04 00:41:20] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-04 00:41:20] [INFO]   -> Found value: -85.66854
[2026-03-04 00:41:20] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6685399999999930287231109105050563812255859375
[2026-03-04 00:41:20] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-04 00:41:20] [INFO]   -> Found value: 2026-03-03 18:39:30
[2026-03-04 00:41:20] [INFO]   -> Set field 'alarm' = "2026-03-03 18:39:30"
[2026-03-04 00:41:20] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-04 00:41:20] [INFO]   -> Found value: 2026-03-03 18:39:47
[2026-03-04 00:41:20] [INFO]   -> Set field 'dispatched' = "2026-03-03 18:39:47"
[2026-03-04 00:41:20] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-04 00:41:20] [INFO]   -> Found value: 2026-03-03 18:41:08
[2026-03-04 00:41:20] [INFO]   -> Set field 'enroute' = "2026-03-03 18:41:08"
[2026-03-04 00:41:20] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-04 00:41:20] [INFO]   -> No value found (null or empty)
[2026-03-04 00:41:20] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-04 00:41:20] [INFO]   -> No value found (null or empty)
[2026-03-04 00:41:20] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-04 00:41:20] [INFO]   -> Found value: THOMPSON RIDGE RD/BRYANT RIDGE RD
[2026-03-04 00:41:20] [INFO]   -> Set field 'incidentLocationCross' = "THOMPSON RIDGE RD\/BRYANT RIDGE RD"
[2026-03-04 00:41:20] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-04 00:41:20] [INFO]   -> Found value: TK31
[2026-03-04 00:41:20] [INFO]   -> Set field 'cADVehicleID' = "TK31"
[2026-03-04 00:41:20] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-04 00:41:20] [INFO]   -> Found value: 2026-03-03 18:41:04
[2026-03-04 00:41:20] [INFO]   -> Set field 'timedispatch' = "2026-03-03 18:41:04"
[2026-03-04 00:41:20] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-04 00:41:20] [INFO]   -> Found value: 2026-03-03 18:41:08
[2026-03-04 00:41:20] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-03 18:41:08"
[2026-03-04 00:41:20] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-04 00:41:20] [INFO]   -> No value found (null or empty)
[2026-03-04 00:41:20] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-04 00:41:20] [INFO]   -> No value found (null or empty)
[2026-03-04 00:41:20] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-04 00:41:20] [INFO]   -> No value found (null or empty)
[2026-03-04 00:41:20] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-04 00:41:20] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-04 00:41:20] [INFO]   -> Found value: 20260023590
[2026-03-04 00:41:20] [INFO]   -> Set field 'policeReportNumber' = "20260023590"
[2026-03-04 00:41:20] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-04 00:41:20] [INFO]   -> Found value: [LAW] LE NOT RESPONDING AT THIS TIME UNLESS NEEDED  [03/03/26 18:41:07 BAHARRIS] [EMS] 47 YO MALE CH...
[2026-03-04 00:41:20] [INFO]   -> Set field 'dispatchNotes' = "[LAW] LE NOT RESPONDING AT THIS TIME UNLESS NEEDED  [03\/03\/26 18:41:07 BAHARRIS] [EMS] 47 YO MALE CHEST PAIN  NO HX OF CARDIAC HX  ENTER THROUGH THE FRONT  PETER JOHANSON  [03\/03\/26 18:40:23 EROACH] Event spawned from CHEST PAIN.  [03\/03\/2026 18:39:30 EROACH]"
[2026-03-04 00:41:20] [INFO]   -> Set field 'cADLog' = "[LAW] LE NOT RESPONDING AT THIS TIME UNLESS NEEDED  [03\/03\/26 18:41:07 BAHARRIS] [EMS] 47 YO MALE CHEST PAIN  NO HX OF CARDIAC HX  ENTER THROUGH THE FRONT  PETER JOHANSON  [03\/03\/26 18:40:23 EROACH] Event spawned from CHEST PAIN.  [03\/03\/2026 18:39:30 EROACH]"
[2026-03-04 00:41:20] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-04 00:41:20] [INFO]   -> Found value: BAXTER
[2026-03-04 00:41:20] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-04 00:41:20] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-04 00:41:20] [INFO]   -> Found value: NASHVILLE
[2026-03-04 00:41:20] [INFO]   -> Set field 'streetName' = "NASHVILLE"
[2026-03-04 00:41:20] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-04 00:41:20] [INFO]   -> Found value: HWY
[2026-03-04 00:41:20] [INFO]   -> Set field 'streetType' = "HWY"
[2026-03-04 00:41:20] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-04 00:41:20] [INFO]   -> Found value: 8899 NASHVILLE HWY
[2026-03-04 00:41:20] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "8899 NASHVILLE HWY"
[2026-03-04 00:41:20] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-04 00:41:20] [INFO] Concatenating street name and type
[2026-03-04 00:41:20] [INFO]   -> Combined street name: NASHVILLE HWY
[2026-03-04 00:41:20] [INFO] Built locationCoordinates from lat/lng: 36.17537,-85.66854
[2026-03-04 00:41:20] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000588","dispatchRunNumber":"2026000588","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":8899,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"businessName":"8899 NASHVILLE HWY","nERISIncidentLatitude":36.1753700000000009140421752817928791046142578125,"nERISIncidentLongitude":-85.6685399999999930287231109105050563812255859375,"alarm":"2026-03-03 18:39:30","dispatched":"2026-03-03 18:39:47","enroute":"2026-03-03 18:41:08","incidentLocationCross":"THOMPSON RIDGE RD\/BRYANT RIDGE RD","cADVehicleID":"TK31","timedispatch":"2026-03-03 18:41:04","timeenroutetoscene":"2026-03-03 18:41:08","policeReportNumber":"20260023590","dispatchNotes":"[LAW] LE NOT RESPONDING AT THIS TIME UNLESS NEEDED  [03\/03\/26 18:41:07 BAHARRIS] [EMS] 47 YO MALE CHEST PAIN  NO HX OF CARDIAC HX  ENTER THROUGH THE FRONT  PETER JOHANSON  [03\/03\/26 18:40:23 EROACH] Event spawned from CHEST PAIN.  [03\/03\/2026 18:39:30 EROACH]","cADLog":"[LAW] LE NOT RESPONDING AT THIS TIME UNLESS NEEDED  [03\/03\/26 18:41:07 BAHARRIS] [EMS] 47 YO MALE CHEST PAIN  NO HX OF CARDIAC HX  ENTER THROUGH THE FRONT  PETER JOHANSON  [03\/03\/26 18:40:23 EROACH] Event spawned from CHEST PAIN.  [03\/03\/2026 18:39:30 EROACH]","incidentLocationCity":"BAXTER","streetName":"NASHVILLE HWY","incidentAddressTextVersionStreet":"8899 NASHVILLE HWY","locationCoordinates":"36.17537,-85.66854"}
[2026-03-04 00:41:20] [INFO] Number of extracted fields: 24
[2026-03-04 00:41:20] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-04 00:41:20] [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-03-04 00:41:20] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-04 00:41:20] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-04 00:41:20] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-04 00:41:20] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-04 00:41:20] [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-03-04 00:41:20] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-04 00:41:20] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-04 00:41:20] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-04 00:41:20] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-04 00:41:20] [INFO] Found existing IncidentTypeMapping with ID: 6939c33d3eae65119
[2026-03-04 00:41:20] [INFO] Found existing Dispatch with cADNumber '2026000588', ID: 69a77fa582d3b8103 - will update instead of create
[2026-03-04 00:41:21] [INFO] Updated existing Dispatches record with ID: 69a77fa582d3b8103
[2026-03-04 00:41:21] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023590_20260304_004113.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-04/PCFD_20260023590_20260304_004113.XML
[2026-03-04 00:41:21] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023590_20260304_004113.XML
[2026-03-04 00:41:21] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023590_20260304_004114.XML
[2026-03-04 00:41:21] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023590_20260304_004114.XML for user: 68f1466aed072ad4a
[2026-03-04 00:41:21] [INFO] File size: 6508 bytes
[2026-03-04 00:41:21] [INFO] Created FTPFiles record with ID: 69a77fb17a78b3f25
[2026-03-04 00:41:21] [INFO] About to extract fields from XML. File size: 6508 bytes
[2026-03-04 00:41:21] [INFO] Number of mappings: 28
[2026-03-04 00:41:21] [INFO] Starting XML parsing. Content length: 6508
[2026-03-04 00:41:21] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-04 00:41:21] [INFO] Processing 28 field mappings
[2026-03-04 00:41:21] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-04 00:41:21] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-04 00:41:21] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-04 00:41:21] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-04 00:41:21] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-04 00:41:21] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-04 00:41:21] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-04 00:41:21] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-04 00:41:21] [INFO]   -> Found value: 2026000588
[2026-03-04 00:41:21] [INFO]   -> Set field 'incidentInternalId' = "2026000588"
[2026-03-04 00:41:21] [INFO]   -> Set field 'dispatchRunNumber' = "2026000588"
[2026-03-04 00:41:21] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-04 00:41:21] [INFO]   -> Found value: CHEST PAIN
[2026-03-04 00:41:21] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-03-04 00:41:21] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-04 00:41:21] [INFO]   -> Found value: 8899
[2026-03-04 00:41:21] [INFO]   -> Set field 'incidentLocationStreetNumber' = 8899
[2026-03-04 00:41:21] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-04 00:41:21] [INFO]   -> Found value: TN
[2026-03-04 00:41:21] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-04 00:41:21] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-04 00:41:21] [INFO]   -> Found value: 38544
[2026-03-04 00:41:21] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-04 00:41:21] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-04 00:41:21] [INFO]   -> Found value: 8899 NASHVILLE HWY
[2026-03-04 00:41:21] [INFO]   -> Set field 'businessName' = "8899 NASHVILLE HWY"
[2026-03-04 00:41:21] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-04 00:41:21] [INFO]   -> No value found (null or empty)
[2026-03-04 00:41:21] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-04 00:41:21] [INFO]   -> Found value: 36.17537
[2026-03-04 00:41:21] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1753700000000009140421752817928791046142578125
[2026-03-04 00:41:21] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-04 00:41:21] [INFO]   -> Found value: -85.66854
[2026-03-04 00:41:21] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6685399999999930287231109105050563812255859375
[2026-03-04 00:41:21] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-04 00:41:21] [INFO]   -> Found value: 2026-03-03 18:39:30
[2026-03-04 00:41:21] [INFO]   -> Set field 'alarm' = "2026-03-03 18:39:30"
[2026-03-04 00:41:21] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-04 00:41:21] [INFO]   -> Found value: 2026-03-03 18:39:47
[2026-03-04 00:41:21] [INFO]   -> Set field 'dispatched' = "2026-03-03 18:39:47"
[2026-03-04 00:41:21] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-04 00:41:21] [INFO]   -> Found value: 2026-03-03 18:41:08
[2026-03-04 00:41:21] [INFO]   -> Set field 'enroute' = "2026-03-03 18:41:08"
[2026-03-04 00:41:21] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-04 00:41:21] [INFO]   -> No value found (null or empty)
[2026-03-04 00:41:21] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-04 00:41:21] [INFO]   -> No value found (null or empty)
[2026-03-04 00:41:21] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-04 00:41:21] [INFO]   -> Found value: THOMPSON RIDGE RD/BRYANT RIDGE RD
[2026-03-04 00:41:21] [INFO]   -> Set field 'incidentLocationCross' = "THOMPSON RIDGE RD\/BRYANT RIDGE RD"
[2026-03-04 00:41:21] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-04 00:41:21] [INFO]   -> Found value: TK31
[2026-03-04 00:41:21] [INFO]   -> Set field 'cADVehicleID' = "TK31"
[2026-03-04 00:41:21] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-04 00:41:21] [INFO]   -> Found value: 2026-03-03 18:41:04
[2026-03-04 00:41:21] [INFO]   -> Set field 'timedispatch' = "2026-03-03 18:41:04"
[2026-03-04 00:41:21] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-04 00:41:21] [INFO]   -> Found value: 2026-03-03 18:41:08
[2026-03-04 00:41:21] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-03 18:41:08"
[2026-03-04 00:41:21] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-04 00:41:21] [INFO]   -> No value found (null or empty)
[2026-03-04 00:41:21] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-04 00:41:21] [INFO]   -> No value found (null or empty)
[2026-03-04 00:41:21] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-04 00:41:21] [INFO]   -> No value found (null or empty)
[2026-03-04 00:41:21] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-04 00:41:21] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-04 00:41:21] [INFO]   -> Found value: 20260023590
[2026-03-04 00:41:21] [INFO]   -> Set field 'policeReportNumber' = "20260023590"
[2026-03-04 00:41:21] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-04 00:41:21] [INFO]   -> Found value: [LAW] LE NOT RESPONDING AT THIS TIME UNLESS NEEDED  [03/03/26 18:41:07 BAHARRIS] [EMS] 47 YO MALE CH...
[2026-03-04 00:41:21] [INFO]   -> Set field 'dispatchNotes' = "[LAW] LE NOT RESPONDING AT THIS TIME UNLESS NEEDED  [03\/03\/26 18:41:07 BAHARRIS] [EMS] 47 YO MALE CHEST PAIN  NO HX OF CARDIAC HX  ENTER THROUGH THE FRONT  PETER JOHANSON  [03\/03\/26 18:40:23 EROACH] Event spawned from CHEST PAIN.  [03\/03\/2026 18:39:30 EROACH]"
[2026-03-04 00:41:21] [INFO]   -> Set field 'cADLog' = "[LAW] LE NOT RESPONDING AT THIS TIME UNLESS NEEDED  [03\/03\/26 18:41:07 BAHARRIS] [EMS] 47 YO MALE CHEST PAIN  NO HX OF CARDIAC HX  ENTER THROUGH THE FRONT  PETER JOHANSON  [03\/03\/26 18:40:23 EROACH] Event spawned from CHEST PAIN.  [03\/03\/2026 18:39:30 EROACH]"
[2026-03-04 00:41:21] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-04 00:41:21] [INFO]   -> Found value: BAXTER
[2026-03-04 00:41:21] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-04 00:41:21] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-04 00:41:21] [INFO]   -> Found value: NASHVILLE
[2026-03-04 00:41:21] [INFO]   -> Set field 'streetName' = "NASHVILLE"
[2026-03-04 00:41:21] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-04 00:41:21] [INFO]   -> Found value: HWY
[2026-03-04 00:41:21] [INFO]   -> Set field 'streetType' = "HWY"
[2026-03-04 00:41:21] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-04 00:41:21] [INFO]   -> Found value: 8899 NASHVILLE HWY
[2026-03-04 00:41:21] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "8899 NASHVILLE HWY"
[2026-03-04 00:41:21] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-04 00:41:21] [INFO] Concatenating street name and type
[2026-03-04 00:41:21] [INFO]   -> Combined street name: NASHVILLE HWY
[2026-03-04 00:41:21] [INFO] Built locationCoordinates from lat/lng: 36.17537,-85.66854
[2026-03-04 00:41:21] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000588","dispatchRunNumber":"2026000588","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":8899,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"businessName":"8899 NASHVILLE HWY","nERISIncidentLatitude":36.1753700000000009140421752817928791046142578125,"nERISIncidentLongitude":-85.6685399999999930287231109105050563812255859375,"alarm":"2026-03-03 18:39:30","dispatched":"2026-03-03 18:39:47","enroute":"2026-03-03 18:41:08","incidentLocationCross":"THOMPSON RIDGE RD\/BRYANT RIDGE RD","cADVehicleID":"TK31","timedispatch":"2026-03-03 18:41:04","timeenroutetoscene":"2026-03-03 18:41:08","policeReportNumber":"20260023590","dispatchNotes":"[LAW] LE NOT RESPONDING AT THIS TIME UNLESS NEEDED  [03\/03\/26 18:41:07 BAHARRIS] [EMS] 47 YO MALE CHEST PAIN  NO HX OF CARDIAC HX  ENTER THROUGH THE FRONT  PETER JOHANSON  [03\/03\/26 18:40:23 EROACH] Event spawned from CHEST PAIN.  [03\/03\/2026 18:39:30 EROACH]","cADLog":"[LAW] LE NOT RESPONDING AT THIS TIME UNLESS NEEDED  [03\/03\/26 18:41:07 BAHARRIS] [EMS] 47 YO MALE CHEST PAIN  NO HX OF CARDIAC HX  ENTER THROUGH THE FRONT  PETER JOHANSON  [03\/03\/26 18:40:23 EROACH] Event spawned from CHEST PAIN.  [03\/03\/2026 18:39:30 EROACH]","incidentLocationCity":"BAXTER","streetName":"NASHVILLE HWY","incidentAddressTextVersionStreet":"8899 NASHVILLE HWY","locationCoordinates":"36.17537,-85.66854"}
[2026-03-04 00:41:21] [INFO] Number of extracted fields: 24
[2026-03-04 00:41:21] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-04 00:41: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-03-04 00:41:21] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-04 00:41:21] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-04 00:41:21] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-04 00:41:21] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-04 00:41:21] [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-03-04 00:41:21] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-04 00:41:21] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-04 00:41:21] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-04 00:41:21] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-04 00:41:21] [INFO] Found existing IncidentTypeMapping with ID: 6939c33d3eae65119
[2026-03-04 00:41:22] [INFO] Found existing Dispatch with cADNumber '2026000588', ID: 69a77fa582d3b8103 - will update instead of create
[2026-03-04 00:41:22] [INFO] Updated existing Dispatches record with ID: 69a77fa582d3b8103
[2026-03-04 00:41:22] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023590_20260304_004114.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-04/PCFD_20260023590_20260304_004114.XML
[2026-03-04 00:41:22] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023590_20260304_004114.XML
[2026-03-04 00:41:22] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023590_20260304_004115.XML
[2026-03-04 00:41:22] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023590_20260304_004115.XML for user: 68f1466aed072ad4a
[2026-03-04 00:41:22] [INFO] File size: 6508 bytes
[2026-03-04 00:41:24] [INFO] Created FTPFiles record with ID: 69a77fb452f4dbe8b
[2026-03-04 00:41:24] [INFO] About to extract fields from XML. File size: 6508 bytes
[2026-03-04 00:41:24] [INFO] Number of mappings: 28
[2026-03-04 00:41:24] [INFO] Starting XML parsing. Content length: 6508
[2026-03-04 00:41:24] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-04 00:41:24] [INFO] Processing 28 field mappings
[2026-03-04 00:41:24] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-04 00:41:24] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-04 00:41:24] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-04 00:41:24] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-04 00:41:24] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-04 00:41:24] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-04 00:41:24] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-04 00:41:24] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-04 00:41:24] [INFO]   -> Found value: 2026000588
[2026-03-04 00:41:24] [INFO]   -> Set field 'incidentInternalId' = "2026000588"
[2026-03-04 00:41:24] [INFO]   -> Set field 'dispatchRunNumber' = "2026000588"
[2026-03-04 00:41:24] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-04 00:41:24] [INFO]   -> Found value: CHEST PAIN
[2026-03-04 00:41:24] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-03-04 00:41:24] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-04 00:41:24] [INFO]   -> Found value: 8899
[2026-03-04 00:41:24] [INFO]   -> Set field 'incidentLocationStreetNumber' = 8899
[2026-03-04 00:41:24] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-04 00:41:24] [INFO]   -> Found value: TN
[2026-03-04 00:41:24] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-04 00:41:24] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-04 00:41:24] [INFO]   -> Found value: 38544
[2026-03-04 00:41:24] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-04 00:41:24] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-04 00:41:24] [INFO]   -> Found value: 8899 NASHVILLE HWY
[2026-03-04 00:41:24] [INFO]   -> Set field 'businessName' = "8899 NASHVILLE HWY"
[2026-03-04 00:41:24] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-04 00:41:24] [INFO]   -> No value found (null or empty)
[2026-03-04 00:41:24] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-04 00:41:24] [INFO]   -> Found value: 36.17537
[2026-03-04 00:41:24] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1753700000000009140421752817928791046142578125
[2026-03-04 00:41:24] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-04 00:41:24] [INFO]   -> Found value: -85.66854
[2026-03-04 00:41:24] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6685399999999930287231109105050563812255859375
[2026-03-04 00:41:24] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-04 00:41:24] [INFO]   -> Found value: 2026-03-03 18:39:30
[2026-03-04 00:41:24] [INFO]   -> Set field 'alarm' = "2026-03-03 18:39:30"
[2026-03-04 00:41:24] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-04 00:41:24] [INFO]   -> Found value: 2026-03-03 18:39:47
[2026-03-04 00:41:24] [INFO]   -> Set field 'dispatched' = "2026-03-03 18:39:47"
[2026-03-04 00:41:24] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-04 00:41:24] [INFO]   -> Found value: 2026-03-03 18:41:08
[2026-03-04 00:41:24] [INFO]   -> Set field 'enroute' = "2026-03-03 18:41:08"
[2026-03-04 00:41:24] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-04 00:41:24] [INFO]   -> No value found (null or empty)
[2026-03-04 00:41:24] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-04 00:41:24] [INFO]   -> No value found (null or empty)
[2026-03-04 00:41:24] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-04 00:41:24] [INFO]   -> Found value: THOMPSON RIDGE RD/BRYANT RIDGE RD
[2026-03-04 00:41:24] [INFO]   -> Set field 'incidentLocationCross' = "THOMPSON RIDGE RD\/BRYANT RIDGE RD"
[2026-03-04 00:41:24] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-04 00:41:24] [INFO]   -> Found value: TK31
[2026-03-04 00:41:24] [INFO]   -> Set field 'cADVehicleID' = "TK31"
[2026-03-04 00:41:24] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-04 00:41:24] [INFO]   -> Found value: 2026-03-03 18:41:04
[2026-03-04 00:41:24] [INFO]   -> Set field 'timedispatch' = "2026-03-03 18:41:04"
[2026-03-04 00:41:24] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-04 00:41:24] [INFO]   -> Found value: 2026-03-03 18:41:08
[2026-03-04 00:41:24] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-03 18:41:08"
[2026-03-04 00:41:24] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-04 00:41:24] [INFO]   -> No value found (null or empty)
[2026-03-04 00:41:24] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-04 00:41:24] [INFO]   -> No value found (null or empty)
[2026-03-04 00:41:24] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-04 00:41:24] [INFO]   -> No value found (null or empty)
[2026-03-04 00:41:24] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-04 00:41:24] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-04 00:41:24] [INFO]   -> Found value: 20260023590
[2026-03-04 00:41:24] [INFO]   -> Set field 'policeReportNumber' = "20260023590"
[2026-03-04 00:41:24] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-04 00:41:24] [INFO]   -> Found value: [LAW] LE NOT RESPONDING AT THIS TIME UNLESS NEEDED  [03/03/26 18:41:07 BAHARRIS] [EMS] 47 YO MALE CH...
[2026-03-04 00:41:24] [INFO]   -> Set field 'dispatchNotes' = "[LAW] LE NOT RESPONDING AT THIS TIME UNLESS NEEDED  [03\/03\/26 18:41:07 BAHARRIS] [EMS] 47 YO MALE CHEST PAIN  NO HX OF CARDIAC HX  ENTER THROUGH THE FRONT  PETER JOHANSON  [03\/03\/26 18:40:23 EROACH] Event spawned from CHEST PAIN.  [03\/03\/2026 18:39:30 EROACH]"
[2026-03-04 00:41:24] [INFO]   -> Set field 'cADLog' = "[LAW] LE NOT RESPONDING AT THIS TIME UNLESS NEEDED  [03\/03\/26 18:41:07 BAHARRIS] [EMS] 47 YO MALE CHEST PAIN  NO HX OF CARDIAC HX  ENTER THROUGH THE FRONT  PETER JOHANSON  [03\/03\/26 18:40:23 EROACH] Event spawned from CHEST PAIN.  [03\/03\/2026 18:39:30 EROACH]"
[2026-03-04 00:41:24] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-04 00:41:24] [INFO]   -> Found value: BAXTER
[2026-03-04 00:41:24] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-04 00:41:24] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-04 00:41:24] [INFO]   -> Found value: NASHVILLE
[2026-03-04 00:41:24] [INFO]   -> Set field 'streetName' = "NASHVILLE"
[2026-03-04 00:41:24] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-04 00:41:24] [INFO]   -> Found value: HWY
[2026-03-04 00:41:24] [INFO]   -> Set field 'streetType' = "HWY"
[2026-03-04 00:41:24] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-04 00:41:24] [INFO]   -> Found value: 8899 NASHVILLE HWY
[2026-03-04 00:41:24] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "8899 NASHVILLE HWY"
[2026-03-04 00:41:24] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-04 00:41:24] [INFO] Concatenating street name and type
[2026-03-04 00:41:24] [INFO]   -> Combined street name: NASHVILLE HWY
[2026-03-04 00:41:24] [INFO] Built locationCoordinates from lat/lng: 36.17537,-85.66854
[2026-03-04 00:41:24] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000588","dispatchRunNumber":"2026000588","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":8899,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"businessName":"8899 NASHVILLE HWY","nERISIncidentLatitude":36.1753700000000009140421752817928791046142578125,"nERISIncidentLongitude":-85.6685399999999930287231109105050563812255859375,"alarm":"2026-03-03 18:39:30","dispatched":"2026-03-03 18:39:47","enroute":"2026-03-03 18:41:08","incidentLocationCross":"THOMPSON RIDGE RD\/BRYANT RIDGE RD","cADVehicleID":"TK31","timedispatch":"2026-03-03 18:41:04","timeenroutetoscene":"2026-03-03 18:41:08","policeReportNumber":"20260023590","dispatchNotes":"[LAW] LE NOT RESPONDING AT THIS TIME UNLESS NEEDED  [03\/03\/26 18:41:07 BAHARRIS] [EMS] 47 YO MALE CHEST PAIN  NO HX OF CARDIAC HX  ENTER THROUGH THE FRONT  PETER JOHANSON  [03\/03\/26 18:40:23 EROACH] Event spawned from CHEST PAIN.  [03\/03\/2026 18:39:30 EROACH]","cADLog":"[LAW] LE NOT RESPONDING AT THIS TIME UNLESS NEEDED  [03\/03\/26 18:41:07 BAHARRIS] [EMS] 47 YO MALE CHEST PAIN  NO HX OF CARDIAC HX  ENTER THROUGH THE FRONT  PETER JOHANSON  [03\/03\/26 18:40:23 EROACH] Event spawned from CHEST PAIN.  [03\/03\/2026 18:39:30 EROACH]","incidentLocationCity":"BAXTER","streetName":"NASHVILLE HWY","incidentAddressTextVersionStreet":"8899 NASHVILLE HWY","locationCoordinates":"36.17537,-85.66854"}
[2026-03-04 00:41:24] [INFO] Number of extracted fields: 24
[2026-03-04 00:41:24] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-04 00:41:24] [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-03-04 00:41:24] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-04 00:41:24] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-04 00:41:24] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-04 00:41:24] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-04 00:41:24] [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-03-04 00:41:24] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-04 00:41:24] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-04 00:41:24] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-04 00:41:24] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-04 00:41:24] [INFO] Found existing IncidentTypeMapping with ID: 6939c33d3eae65119
[2026-03-04 00:41:24] [INFO] Found existing Dispatch with cADNumber '2026000588', ID: 69a77fa582d3b8103 - will update instead of create
[2026-03-04 00:41:25] [INFO] Updated existing Dispatches record with ID: 69a77fa582d3b8103
[2026-03-04 00:41:25] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023590_20260304_004115.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-04/PCFD_20260023590_20260304_004115.XML
[2026-03-04 00:41:25] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023590_20260304_004115.XML
[2026-03-04 00:41:25] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023590_20260304_004115_1.XML
[2026-03-04 00:41:25] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023590_20260304_004115_1.XML for user: 68f1466aed072ad4a
[2026-03-04 00:41:25] [INFO] File size: 6508 bytes
[2026-03-04 00:41:25] [INFO] Created FTPFiles record with ID: 69a77fb5893395095
[2026-03-04 00:41:25] [INFO] About to extract fields from XML. File size: 6508 bytes
[2026-03-04 00:41:25] [INFO] Number of mappings: 28
[2026-03-04 00:41:25] [INFO] Starting XML parsing. Content length: 6508
[2026-03-04 00:41:25] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-04 00:41:25] [INFO] Processing 28 field mappings
[2026-03-04 00:41:25] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-04 00:41:25] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-04 00:41:25] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-04 00:41:25] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-04 00:41:25] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-04 00:41:25] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-04 00:41:25] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-04 00:41:25] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-04 00:41:25] [INFO]   -> Found value: 2026000588
[2026-03-04 00:41:25] [INFO]   -> Set field 'incidentInternalId' = "2026000588"
[2026-03-04 00:41:25] [INFO]   -> Set field 'dispatchRunNumber' = "2026000588"
[2026-03-04 00:41:25] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-04 00:41:25] [INFO]   -> Found value: CHEST PAIN
[2026-03-04 00:41:25] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-03-04 00:41:25] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-04 00:41:25] [INFO]   -> Found value: 8899
[2026-03-04 00:41:25] [INFO]   -> Set field 'incidentLocationStreetNumber' = 8899
[2026-03-04 00:41:25] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-04 00:41:25] [INFO]   -> Found value: TN
[2026-03-04 00:41:25] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-04 00:41:25] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-04 00:41:25] [INFO]   -> Found value: 38544
[2026-03-04 00:41:25] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-04 00:41:25] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-04 00:41:25] [INFO]   -> Found value: 8899 NASHVILLE HWY
[2026-03-04 00:41:25] [INFO]   -> Set field 'businessName' = "8899 NASHVILLE HWY"
[2026-03-04 00:41:25] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-04 00:41:25] [INFO]   -> No value found (null or empty)
[2026-03-04 00:41:25] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-04 00:41:25] [INFO]   -> Found value: 36.17537
[2026-03-04 00:41:25] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1753700000000009140421752817928791046142578125
[2026-03-04 00:41:25] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-04 00:41:25] [INFO]   -> Found value: -85.66854
[2026-03-04 00:41:25] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6685399999999930287231109105050563812255859375
[2026-03-04 00:41:25] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-04 00:41:25] [INFO]   -> Found value: 2026-03-03 18:39:30
[2026-03-04 00:41:25] [INFO]   -> Set field 'alarm' = "2026-03-03 18:39:30"
[2026-03-04 00:41:25] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-04 00:41:25] [INFO]   -> Found value: 2026-03-03 18:39:47
[2026-03-04 00:41:25] [INFO]   -> Set field 'dispatched' = "2026-03-03 18:39:47"
[2026-03-04 00:41:25] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-04 00:41:25] [INFO]   -> Found value: 2026-03-03 18:41:08
[2026-03-04 00:41:25] [INFO]   -> Set field 'enroute' = "2026-03-03 18:41:08"
[2026-03-04 00:41:25] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-04 00:41:25] [INFO]   -> No value found (null or empty)
[2026-03-04 00:41:25] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-04 00:41:25] [INFO]   -> No value found (null or empty)
[2026-03-04 00:41:25] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-04 00:41:25] [INFO]   -> Found value: THOMPSON RIDGE RD/BRYANT RIDGE RD
[2026-03-04 00:41:25] [INFO]   -> Set field 'incidentLocationCross' = "THOMPSON RIDGE RD\/BRYANT RIDGE RD"
[2026-03-04 00:41:25] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-04 00:41:25] [INFO]   -> Found value: TK31
[2026-03-04 00:41:25] [INFO]   -> Set field 'cADVehicleID' = "TK31"
[2026-03-04 00:41:25] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-04 00:41:25] [INFO]   -> Found value: 2026-03-03 18:41:04
[2026-03-04 00:41:25] [INFO]   -> Set field 'timedispatch' = "2026-03-03 18:41:04"
[2026-03-04 00:41:25] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-04 00:41:25] [INFO]   -> Found value: 2026-03-03 18:41:08
[2026-03-04 00:41:25] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-03 18:41:08"
[2026-03-04 00:41:25] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-04 00:41:25] [INFO]   -> No value found (null or empty)
[2026-03-04 00:41:25] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-04 00:41:25] [INFO]   -> No value found (null or empty)
[2026-03-04 00:41:25] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-04 00:41:25] [INFO]   -> No value found (null or empty)
[2026-03-04 00:41:25] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-04 00:41:25] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-04 00:41:25] [INFO]   -> Found value: 20260023590
[2026-03-04 00:41:25] [INFO]   -> Set field 'policeReportNumber' = "20260023590"
[2026-03-04 00:41:25] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-04 00:41:25] [INFO]   -> Found value: [LAW] LE NOT RESPONDING AT THIS TIME UNLESS NEEDED  [03/03/26 18:41:07 BAHARRIS] [EMS] 47 YO MALE CH...
[2026-03-04 00:41:25] [INFO]   -> Set field 'dispatchNotes' = "[LAW] LE NOT RESPONDING AT THIS TIME UNLESS NEEDED  [03\/03\/26 18:41:07 BAHARRIS] [EMS] 47 YO MALE CHEST PAIN  NO HX OF CARDIAC HX  ENTER THROUGH THE FRONT  PETER JOHANSON  [03\/03\/26 18:40:23 EROACH] Event spawned from CHEST PAIN.  [03\/03\/2026 18:39:30 EROACH]"
[2026-03-04 00:41:25] [INFO]   -> Set field 'cADLog' = "[LAW] LE NOT RESPONDING AT THIS TIME UNLESS NEEDED  [03\/03\/26 18:41:07 BAHARRIS] [EMS] 47 YO MALE CHEST PAIN  NO HX OF CARDIAC HX  ENTER THROUGH THE FRONT  PETER JOHANSON  [03\/03\/26 18:40:23 EROACH] Event spawned from CHEST PAIN.  [03\/03\/2026 18:39:30 EROACH]"
[2026-03-04 00:41:25] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-04 00:41:25] [INFO]   -> Found value: BAXTER
[2026-03-04 00:41:25] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-04 00:41:25] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-04 00:41:25] [INFO]   -> Found value: NASHVILLE
[2026-03-04 00:41:25] [INFO]   -> Set field 'streetName' = "NASHVILLE"
[2026-03-04 00:41:25] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-04 00:41:25] [INFO]   -> Found value: HWY
[2026-03-04 00:41:25] [INFO]   -> Set field 'streetType' = "HWY"
[2026-03-04 00:41:25] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-04 00:41:25] [INFO]   -> Found value: 8899 NASHVILLE HWY
[2026-03-04 00:41:25] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "8899 NASHVILLE HWY"
[2026-03-04 00:41:25] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-04 00:41:25] [INFO] Concatenating street name and type
[2026-03-04 00:41:25] [INFO]   -> Combined street name: NASHVILLE HWY
[2026-03-04 00:41:25] [INFO] Built locationCoordinates from lat/lng: 36.17537,-85.66854
[2026-03-04 00:41:25] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000588","dispatchRunNumber":"2026000588","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":8899,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"businessName":"8899 NASHVILLE HWY","nERISIncidentLatitude":36.1753700000000009140421752817928791046142578125,"nERISIncidentLongitude":-85.6685399999999930287231109105050563812255859375,"alarm":"2026-03-03 18:39:30","dispatched":"2026-03-03 18:39:47","enroute":"2026-03-03 18:41:08","incidentLocationCross":"THOMPSON RIDGE RD\/BRYANT RIDGE RD","cADVehicleID":"TK31","timedispatch":"2026-03-03 18:41:04","timeenroutetoscene":"2026-03-03 18:41:08","policeReportNumber":"20260023590","dispatchNotes":"[LAW] LE NOT RESPONDING AT THIS TIME UNLESS NEEDED  [03\/03\/26 18:41:07 BAHARRIS] [EMS] 47 YO MALE CHEST PAIN  NO HX OF CARDIAC HX  ENTER THROUGH THE FRONT  PETER JOHANSON  [03\/03\/26 18:40:23 EROACH] Event spawned from CHEST PAIN.  [03\/03\/2026 18:39:30 EROACH]","cADLog":"[LAW] LE NOT RESPONDING AT THIS TIME UNLESS NEEDED  [03\/03\/26 18:41:07 BAHARRIS] [EMS] 47 YO MALE CHEST PAIN  NO HX OF CARDIAC HX  ENTER THROUGH THE FRONT  PETER JOHANSON  [03\/03\/26 18:40:23 EROACH] Event spawned from CHEST PAIN.  [03\/03\/2026 18:39:30 EROACH]","incidentLocationCity":"BAXTER","streetName":"NASHVILLE HWY","incidentAddressTextVersionStreet":"8899 NASHVILLE HWY","locationCoordinates":"36.17537,-85.66854"}
[2026-03-04 00:41:25] [INFO] Number of extracted fields: 24
[2026-03-04 00:41:25] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-04 00:41:25] [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-03-04 00:41:25] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-04 00:41:25] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-04 00:41:25] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-04 00:41:25] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-04 00:41:25] [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-03-04 00:41:25] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-04 00:41:25] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-04 00:41:25] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-04 00:41:25] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-04 00:41:26] [INFO] Found existing IncidentTypeMapping with ID: 6939c33d3eae65119
[2026-03-04 00:41:26] [INFO] Found existing Dispatch with cADNumber '2026000588', ID: 69a77fa582d3b8103 - will update instead of create
[2026-03-04 00:41:26] [INFO] Updated existing Dispatches record with ID: 69a77fa582d3b8103
[2026-03-04 00:41:26] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023590_20260304_004115_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-04/PCFD_20260023590_20260304_004115_1.XML
[2026-03-04 00:41:26] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023590_20260304_004115_1.XML
[2026-03-04 01:12:25] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014171.xml
[2026-03-04 01:12:25] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014171.xml for user: 69320e6a9e3e5ef71
[2026-03-04 01:12:25] [INFO] File size: 17577 bytes
[2026-03-04 01:12:26] [INFO] Created FTPFiles record with ID: 69a786fa082678d83
[2026-03-04 01:12:26] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-04 01:12:26] [INFO] Created archive directory: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-04
[2026-03-04 01:12:26] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014171.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-04/cfs_2026-014171.xml
[2026-03-04 01:12:26] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014171.xml
[2026-03-04 01:18:38] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014171.xml
[2026-03-04 01:18:38] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014171.xml for user: 69320e6a9e3e5ef71
[2026-03-04 01:18:38] [INFO] File size: 18520 bytes
[2026-03-04 01:18:39] [INFO] Created FTPFiles record with ID: 69a7886f40f6418d2
[2026-03-04 01:18:39] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-04 01:18:39] [INFO] File already exists in archive, using unique name: cfs_2026-014171_1772587119.xml
[2026-03-04 01:18:39] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014171.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-04/cfs_2026-014171_1772587119.xml
[2026-03-04 01:18:39] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014171.xml
[2026-03-04 01:43:28] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010027_2026-03-03 19:43:25Z.xml
[2026-03-04 01:43:28] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010027_2026-03-03 19:43:25Z.xml
[2026-03-04 01:43:29] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010027_2026-03-03 19:43:28Z.xml
[2026-03-04 01:43:29] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010027_2026-03-03 19:43:28Z.xml
[2026-03-04 01:43:29] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010027_2026-03-03 19:43:28Z.xml
[2026-03-04 01:43:29] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010027_2026-03-03 19:43:28Z.xml
[2026-03-04 01:43:30] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010027_2026-03-03 19:43:29Z.xml
[2026-03-04 01:43:30] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010027_2026-03-03 19:43:29Z.xml
[2026-03-04 01:43:30] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010027_2026-03-03 19:43:30Z.xml
[2026-03-04 01:43:30] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010027_2026-03-03 19:43:30Z.xml
[2026-03-04 01:43:31] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010027_2026-03-03 19:43:31Z.xml
[2026-03-04 01:43:31] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010027_2026-03-03 19:43:31Z.xml
[2026-03-04 01:44:42] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010027_2026-03-03 19:44:41Z.xml
[2026-03-04 01:44:42] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010027_2026-03-03 19:44:41Z.xml
[2026-03-04 01:44:43] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010027_2026-03-03 19:44:42Z.xml
[2026-03-04 01:44:43] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010027_2026-03-03 19:44:42Z.xml
[2026-03-04 01:44:43] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010027_2026-03-03 19:44:42Z.xml
[2026-03-04 01:44:43] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010027_2026-03-03 19:44:42Z.xml
[2026-03-04 01:44:44] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010027_2026-03-03 19:44:43Z.xml
[2026-03-04 01:44:44] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010027_2026-03-03 19:44:43Z.xml
[2026-03-04 01:44:45] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010027_2026-03-03 19:44:44Z.xml
[2026-03-04 01:44:45] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010027_2026-03-03 19:44:44Z.xml
[2026-03-04 01:44:48] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010027_2026-03-03 19:44:48Z.xml
[2026-03-04 01:44:48] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010027_2026-03-03 19:44:48Z.xml
[2026-03-04 01:44:49] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010027_2026-03-03 19:44:48Z.xml
[2026-03-04 01:44:49] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010027_2026-03-03 19:44:48Z.xml
[2026-03-04 01:44:49] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010027_2026-03-03 19:44:49Z.xml
[2026-03-04 01:44:49] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010027_2026-03-03 19:44:49Z.xml
[2026-03-04 01:50:20] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010027_2026-03-03 19:50:20Z.xml
[2026-03-04 01:50:20] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010027_2026-03-03 19:50:20Z.xml
[2026-03-04 01:50:21] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010027_2026-03-03 19:50:20Z.xml
[2026-03-04 01:50:21] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010027_2026-03-03 19:50:20Z.xml
[2026-03-04 01:50:21] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010027_2026-03-03 19:50:21Z.xml
[2026-03-04 01:50:21] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010027_2026-03-03 19:50:21Z.xml
[2026-03-04 01:50:22] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010027_2026-03-03 19:50:21Z.xml
[2026-03-04 01:50:22] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010027_2026-03-03 19:50:21Z.xml
[2026-03-04 01:50:22] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010027_2026-03-03 19:50:22Z.xml
[2026-03-04 01:50:22] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010027_2026-03-03 19:50:22Z.xml
[2026-03-04 01:50:25] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010027_2026-03-03 19:50:24Z.xml
[2026-03-04 01:50:25] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010027_2026-03-03 19:50:24Z.xml
[2026-03-04 01:51:45] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010027_2026-03-03 19:51:44Z.xml
[2026-03-04 01:51:45] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010027_2026-03-03 19:51:44Z.xml
[2026-03-04 01:51:45] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010027_2026-03-03 19:51:44Z.xml
[2026-03-04 01:51:45] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010027_2026-03-03 19:51:44Z.xml
[2026-03-04 01:51:55] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010027_2026-03-03 19:51:54Z.xml
[2026-03-04 01:51:55] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010027_2026-03-03 19:51:54Z.xml
[2026-03-04 02:21:53] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010027_2026-03-03 20:21:52Z.xml
[2026-03-04 02:21:53] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010027_2026-03-03 20:21:52Z.xml
[2026-03-04 02:22:01] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010027_2026-03-03 20:22:00Z.xml
[2026-03-04 02:22:01] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010027_2026-03-03 20:22:00Z.xml
[2026-03-04 02:35:51] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010027_2026-03-03 20:35:48Z.xml
[2026-03-04 02:35:51] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010027_2026-03-03 20:35:48Z.xml for user: 66a7b78a47817ab30
[2026-03-04 02:35:51] [INFO] File size: 10220 bytes
[2026-03-04 02:35:52] [INFO] Created FTPFiles record with ID: 69a79a88305508438
[2026-03-04 02:35:52] [INFO] About to extract fields from XML. File size: 10220 bytes
[2026-03-04 02:35:52] [INFO] Number of mappings: 14
[2026-03-04 02:35:52] [INFO] Starting XML parsing. Content length: 10220
[2026-03-04 02:35:52] [ERROR] XML Parse Error: Namespace prefix s for id on CADServiceCall is not defined on line 1
[2026-03-04 02:35:52] [ERROR] XML Parse Error: expected '>' on line 1
[2026-03-04 02:35:52] [ERROR] XML Parse Error: Opening and ending tag mismatch: CallNoteID line 1 and CallNot on line 1
[2026-03-04 02:35:52] [ERROR] Error extracting XML fields: Failed to parse XML content - see errors above
[2026-03-04 02:35:52] [ERROR] Error location: /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php:96
[2026-03-04 02:35:52] [ERROR] Stack trace: #0 /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php(685): extractMappedFieldsFromXML('<CADServiceCall...', Array)
#1 {main}
[2026-03-04 02:35:52] [ERROR] EXCEPTION during field extraction: Failed to parse XML content - see errors above
[2026-03-04 02:35:52] [ERROR] Exception file: /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php line: 96
[2026-03-04 02:35:52] [ERROR] Exception trace: #0 /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php(685): extractMappedFieldsFromXML('<CADServiceCall...', Array)
#1 {main}
[2026-03-04 02:35:52] [ERROR] Processing failed for /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010027_2026-03-03 20:35:48Z.xml: Failed to parse XML content - see errors above
[2026-03-04 02:35:52] [INFO] Error occurred at: /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php:96
[2026-03-04 02:35:53] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010027_2026-03-03 20:35:52Z.xml
[2026-03-04 02:35:53] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010027_2026-03-03 20:35:52Z.xml
[2026-03-04 02:36:14] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023631_20260304_023614.XML
[2026-03-04 02:36:14] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023631_20260304_023614.XML for user: 68f1466aed072ad4a
[2026-03-04 02:36:14] [INFO] File size: 5504 bytes
[2026-03-04 02:36:14] [INFO] Created FTPFiles record with ID: 69a79a9ed5f50bad1
[2026-03-04 02:36:14] [INFO] About to extract fields from XML. File size: 5504 bytes
[2026-03-04 02:36:14] [INFO] Number of mappings: 28
[2026-03-04 02:36:14] [INFO] Starting XML parsing. Content length: 5504
[2026-03-04 02:36:14] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-04 02:36:14] [INFO] Processing 28 field mappings
[2026-03-04 02:36:14] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-04 02:36:14] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-04 02:36:14] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-04 02:36:14] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-04 02:36:14] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-04 02:36:14] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-04 02:36:14] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-04 02:36:14] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-04 02:36:14] [INFO]   -> Found value: 2026000589
[2026-03-04 02:36:14] [INFO]   -> Set field 'incidentInternalId' = "2026000589"
[2026-03-04 02:36:14] [INFO]   -> Set field 'dispatchRunNumber' = "2026000589"
[2026-03-04 02:36:14] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-04 02:36:14] [INFO]   -> Found value: CHEST PAIN
[2026-03-04 02:36:14] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-03-04 02:36:14] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-04 02:36:14] [INFO]   -> Found value: 1069
[2026-03-04 02:36:14] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1069
[2026-03-04 02:36:14] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-04 02:36:14] [INFO]   -> Found value: TN
[2026-03-04 02:36:14] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-04 02:36:14] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-04 02:36:14] [INFO]   -> Found value: 38501
[2026-03-04 02:36:14] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-04 02:36:14] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-04 02:36:14] [INFO]   -> No value found (null or empty)
[2026-03-04 02:36:14] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-04 02:36:14] [INFO]   -> No value found (null or empty)
[2026-03-04 02:36:14] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-04 02:36:14] [INFO]   -> Found value: 36.15887
[2026-03-04 02:36:14] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.15887000000000028876456781290471553802490234375
[2026-03-04 02:36:14] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-04 02:36:14] [INFO]   -> Found value: -85.59700
[2026-03-04 02:36:14] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.5969999999999942019712761975824832916259765625
[2026-03-04 02:36:14] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-04 02:36:14] [INFO]   -> Found value: 2026-03-03 20:35:35
[2026-03-04 02:36:14] [INFO]   -> Set field 'alarm' = "2026-03-03 20:35:35"
[2026-03-04 02:36:14] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-04 02:36:14] [INFO]   -> Found value: 2026-03-03 20:36:07
[2026-03-04 02:36:14] [INFO]   -> Set field 'dispatched' = "2026-03-03 20:36:07"
[2026-03-04 02:36:14] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-04 02:36:14] [INFO]   -> No value found (null or empty)
[2026-03-04 02:36:14] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-04 02:36:14] [INFO]   -> No value found (null or empty)
[2026-03-04 02:36:14] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-04 02:36:14] [INFO]   -> No value found (null or empty)
[2026-03-04 02:36:14] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-04 02:36:14] [INFO]   -> Found value: PHARRIS RD/BUFFALO VALLEY RD
[2026-03-04 02:36:14] [INFO]   -> Set field 'incidentLocationCross' = "PHARRIS RD\/BUFFALO VALLEY RD"
[2026-03-04 02:36:14] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-04 02:36:14] [INFO]   -> Found value: PCFR
[2026-03-04 02:36:14] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-04 02:36:14] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-04 02:36:14] [INFO]   -> Found value: 2026-03-03 20:36:07
[2026-03-04 02:36:14] [INFO]   -> Set field 'timedispatch' = "2026-03-03 20:36:07"
[2026-03-04 02:36:14] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-04 02:36:14] [INFO]   -> No value found (null or empty)
[2026-03-04 02:36:14] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-04 02:36:14] [INFO]   -> No value found (null or empty)
[2026-03-04 02:36:14] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-04 02:36:14] [INFO]   -> No value found (null or empty)
[2026-03-04 02:36:14] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-04 02:36:14] [INFO]   -> No value found (null or empty)
[2026-03-04 02:36:14] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-04 02:36:14] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-04 02:36:14] [INFO]   -> Found value: 20260023631
[2026-03-04 02:36:14] [INFO]   -> Set field 'policeReportNumber' = "20260023631"
[2026-03-04 02:36:14] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-04 02:36:14] [INFO]   -> Found value: [EMS] DEMENTIA PT  DANA METZ  [03/03/26 20:36:01 EROACH] Event spawned from CHEST PAIN.  [03/03/2026...
[2026-03-04 02:36:14] [INFO]   -> Set field 'dispatchNotes' = "[EMS] DEMENTIA PT  DANA METZ  [03\/03\/26 20:36:01 EROACH] Event spawned from CHEST PAIN.  [03\/03\/2026 20:35:35 EROACH] 81 YO FEMALE CHEST PAIN RADIATING TO HER BACK\/\/ LETHARGIC MOST OF THE DAY HX OF DIABETES  [03\/03\/26 20:35:30 EROACH]]"
[2026-03-04 02:36:14] [INFO]   -> Set field 'cADLog' = "[EMS] DEMENTIA PT  DANA METZ  [03\/03\/26 20:36:01 EROACH] Event spawned from CHEST PAIN.  [03\/03\/2026 20:35:35 EROACH] 81 YO FEMALE CHEST PAIN RADIATING TO HER BACK\/\/ LETHARGIC MOST OF THE DAY HX OF DIABETES  [03\/03\/26 20:35:30 EROACH]]"
[2026-03-04 02:36:14] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-04 02:36:14] [INFO]   -> Found value: COOKEVILLE
[2026-03-04 02:36:14] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-04 02:36:14] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-04 02:36:14] [INFO]   -> Found value: DOUBLE SPRINGS
[2026-03-04 02:36:14] [INFO]   -> Set field 'streetName' = "DOUBLE SPRINGS"
[2026-03-04 02:36:14] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-04 02:36:14] [INFO]   -> Found value: RD
[2026-03-04 02:36:14] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-04 02:36:14] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-04 02:36:14] [INFO]   -> Found value: 1069 DOUBLE SPRINGS RD
[2026-03-04 02:36:14] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1069 DOUBLE SPRINGS RD"
[2026-03-04 02:36:14] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-04 02:36:14] [INFO] Concatenating street name and type
[2026-03-04 02:36:14] [INFO]   -> Combined street name: DOUBLE SPRINGS RD
[2026-03-04 02:36:14] [INFO] Built locationCoordinates from lat/lng: 36.15887,-85.597
[2026-03-04 02:36:14] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000589","dispatchRunNumber":"2026000589","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":1069,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.15887000000000028876456781290471553802490234375,"nERISIncidentLongitude":-85.5969999999999942019712761975824832916259765625,"alarm":"2026-03-03 20:35:35","dispatched":"2026-03-03 20:36:07","incidentLocationCross":"PHARRIS RD\/BUFFALO VALLEY RD","cADVehicleID":"PCFR","timedispatch":"2026-03-03 20:36:07","policeReportNumber":"20260023631","dispatchNotes":"[EMS] DEMENTIA PT  DANA METZ  [03\/03\/26 20:36:01 EROACH] Event spawned from CHEST PAIN.  [03\/03\/2026 20:35:35 EROACH] 81 YO FEMALE CHEST PAIN RADIATING TO HER BACK\/\/ LETHARGIC MOST OF THE DAY HX OF DIABETES  [03\/03\/26 20:35:30 EROACH]]","cADLog":"[EMS] DEMENTIA PT  DANA METZ  [03\/03\/26 20:36:01 EROACH] Event spawned from CHEST PAIN.  [03\/03\/2026 20:35:35 EROACH] 81 YO FEMALE CHEST PAIN RADIATING TO HER BACK\/\/ LETHARGIC MOST OF THE DAY HX OF DIABETES  [03\/03\/26 20:35:30 EROACH]]","incidentLocationCity":"COOKEVILLE","streetName":"DOUBLE SPRINGS RD","incidentAddressTextVersionStreet":"1069 DOUBLE SPRINGS RD","locationCoordinates":"36.15887,-85.597"}
[2026-03-04 02:36:14] [INFO] Number of extracted fields: 21
[2026-03-04 02:36:14] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-04 02:36:14] [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-03-04 02:36:14] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-04 02:36:14] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-04 02:36:15] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-04 02:36:15] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-04 02:36:15] [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-03-04 02:36:15] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-04 02:36:15] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-04 02:36:15] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-04 02:36:15] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-04 02:36:15] [INFO] Found existing IncidentTypeMapping with ID: 6939c33d3eae65119
[2026-03-04 02:36:25] [INFO] Created new Dispatches record with ID: 69a79a9fb1508fa2c
[2026-03-04 02:36:25] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023631_20260304_023614.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-04/PCFD_20260023631_20260304_023614.XML
[2026-03-04 02:36:25] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023631_20260304_023614.XML
[2026-03-04 02:37:07] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010027_2026-03-03 20:37:06Z.xml
[2026-03-04 02:37:07] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010027_2026-03-03 20:37:06Z.xml
[2026-03-04 02:37:07] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010027_2026-03-03 20:37:07Z.xml
[2026-03-04 02:37:07] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010027_2026-03-03 20:37:07Z.xml
[2026-03-04 02:37:08] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010027_2026-03-03 20:37:07Z.xml
[2026-03-04 02:37:08] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010027_2026-03-03 20:37:07Z.xml
[2026-03-04 02:37:08] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010027_2026-03-03 20:37:07Z.xml
[2026-03-04 02:37:08] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010027_2026-03-03 20:37:07Z.xml
[2026-03-04 02:37:09] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010027_2026-03-03 20:37:08Z.xml
[2026-03-04 02:37:09] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010027_2026-03-03 20:37:08Z.xml
[2026-03-04 02:37:09] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010027_2026-03-03 20:37:08Z.xml
[2026-03-04 02:37:09] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010027_2026-03-03 20:37:08Z.xml
[2026-03-04 02:37:10] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010027_2026-03-03 20:37:09Z.xml
[2026-03-04 02:37:10] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010027_2026-03-03 20:37:09Z.xml
[2026-03-04 02:37:10] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010027_2026-03-03 20:37:10Z.xml
[2026-03-04 02:37:10] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010027_2026-03-03 20:37:10Z.xml
[2026-03-04 02:37:15] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010027_2026-03-03 20:37:14Z.xml
[2026-03-04 02:37:15] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010027_2026-03-03 20:37:14Z.xml
[2026-03-04 02:37:16] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010027_2026-03-03 20:37:15Z.xml
[2026-03-04 02:37:16] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010027_2026-03-03 20:37:15Z.xml
[2026-03-04 02:37:27] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010027_2026-03-03 20:37:26Z.xml
[2026-03-04 02:37:27] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010027_2026-03-03 20:37:26Z.xml
[2026-03-04 03:13:46] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023631_20260304_031346.XML
[2026-03-04 03:13:46] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023631_20260304_031346.XML for user: 68f1466aed072ad4a
[2026-03-04 03:13:46] [INFO] File size: 5612 bytes
[2026-03-04 03:13:46] [INFO] Created FTPFiles record with ID: 69a7a36a88ef776e2
[2026-03-04 03:13:46] [INFO] About to extract fields from XML. File size: 5612 bytes
[2026-03-04 03:13:46] [INFO] Number of mappings: 28
[2026-03-04 03:13:46] [INFO] Starting XML parsing. Content length: 5612
[2026-03-04 03:13:46] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-04 03:13:46] [INFO] Processing 28 field mappings
[2026-03-04 03:13:46] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-04 03:13:46] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-04 03:13:46] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-04 03:13:46] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-03-04 03:13:46] [INFO]   -> Found value: PCFD
RESC
[2026-03-04 03:13:46] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nRESC"
[2026-03-04 03:13:46] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-04 03:13:46] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-03-04 03:13:46] [INFO]   -> Found value: 2026000589
[2026-03-04 03:13:46] [INFO]   -> Set field 'incidentInternalId' = "2026000589"
[2026-03-04 03:13:46] [INFO]   -> Set field 'dispatchRunNumber' = "2026000589"
[2026-03-04 03:13:46] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-04 03:13:46] [INFO]   -> Found value: CHEST PAIN
[2026-03-04 03:13:46] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-03-04 03:13:46] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-04 03:13:46] [INFO]   -> Found value: 1069
[2026-03-04 03:13:46] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1069
[2026-03-04 03:13:46] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-04 03:13:46] [INFO]   -> Found value: TN
[2026-03-04 03:13:46] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-04 03:13:46] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-04 03:13:46] [INFO]   -> Found value: 38501
[2026-03-04 03:13:46] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-04 03:13:46] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-04 03:13:46] [INFO]   -> No value found (null or empty)
[2026-03-04 03:13:46] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-04 03:13:46] [INFO]   -> No value found (null or empty)
[2026-03-04 03:13:46] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-04 03:13:46] [INFO]   -> Found value: 36.15887
[2026-03-04 03:13:46] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.15887000000000028876456781290471553802490234375
[2026-03-04 03:13:46] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-04 03:13:46] [INFO]   -> Found value: -85.59700
[2026-03-04 03:13:46] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.5969999999999942019712761975824832916259765625
[2026-03-04 03:13:46] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-04 03:13:46] [INFO]   -> Found value: 2026-03-03 20:35:35
[2026-03-04 03:13:46] [INFO]   -> Set field 'alarm' = "2026-03-03 20:35:35"
[2026-03-04 03:13:46] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-04 03:13:46] [INFO]   -> Found value: 2026-03-03 20:36:07
[2026-03-04 03:13:46] [INFO]   -> Set field 'dispatched' = "2026-03-03 20:36:07"
[2026-03-04 03:13:46] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-04 03:13:46] [INFO]   -> No value found (null or empty)
[2026-03-04 03:13:46] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-04 03:13:46] [INFO]   -> No value found (null or empty)
[2026-03-04 03:13:46] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-04 03:13:46] [INFO]   -> Found value: 2026-03-03 21:13:37
[2026-03-04 03:13:46] [INFO]   -> Set field 'cleared' = "2026-03-03 21:13:37"
[2026-03-04 03:13:46] [INFO]   -> Set field 'inService' = "2026-03-03 21:13:37"
[2026-03-04 03:13:46] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-04 03:13:46] [INFO]   -> Found value: PHARRIS RD/BUFFALO VALLEY RD
[2026-03-04 03:13:46] [INFO]   -> Set field 'incidentLocationCross' = "PHARRIS RD\/BUFFALO VALLEY RD"
[2026-03-04 03:13:46] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-04 03:13:46] [INFO]   -> Found value: PCFR
[2026-03-04 03:13:46] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-04 03:13:46] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-04 03:13:46] [INFO]   -> Found value: 2026-03-03 20:36:07
[2026-03-04 03:13:46] [INFO]   -> Set field 'timedispatch' = "2026-03-03 20:36:07"
[2026-03-04 03:13:46] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-04 03:13:46] [INFO]   -> No value found (null or empty)
[2026-03-04 03:13:46] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-04 03:13:46] [INFO]   -> No value found (null or empty)
[2026-03-04 03:13:46] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-04 03:13:46] [INFO]   -> Found value: 2026-03-03 21:13:37
[2026-03-04 03:13:46] [INFO]   -> Set field 'timeunitclear' = "2026-03-03 21:13:37"
[2026-03-04 03:13:46] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-04 03:13:46] [INFO]   -> No value found (null or empty)
[2026-03-04 03:13:46] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-04 03:13:46] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-03-04 03:13:46] [INFO]   -> Found value: 20260023631
[2026-03-04 03:13:46] [INFO]   -> Set field 'policeReportNumber' = "20260023631"
[2026-03-04 03:13:46] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-04 03:13:46] [INFO]   -> Found value: [EMS] COME THROUGH THE BACK DOOR/ PT WILL BE IN HER BEDROOM  [03/03/26 20:36:23 EROACH] [LAW] LE NOT...
[2026-03-04 03:13:46] [INFO]   -> Set field 'dispatchNotes' = "[EMS] COME THROUGH THE BACK DOOR\/ PT WILL BE IN HER BEDROOM  [03\/03\/26 20:36:23 EROACH] [LAW] LE NOT RESPONDING UNLESS REQUESTED  [03\/03\/26 20:36:15 RJGIPSON] [EMS] DEMENTIA PT  DANA METZ  [03\/03\/26 20:36:01 EROACH] Event spawned from CHEST PAIN.  [03\/03\/2026 20:35:35 EROACH] 81 YO FEMALE CHEST PAIN RADIATING TO HER BACK\/\/ LETHARGIC MOST OF THE DAY HX OF DIABETES  [03\/03\/26 20:35:30 EROACH]]"
[2026-03-04 03:13:46] [INFO]   -> Set field 'cADLog' = "[EMS] COME THROUGH THE BACK DOOR\/ PT WILL BE IN HER BEDROOM  [03\/03\/26 20:36:23 EROACH] [LAW] LE NOT RESPONDING UNLESS REQUESTED  [03\/03\/26 20:36:15 RJGIPSON] [EMS] DEMENTIA PT  DANA METZ  [03\/03\/26 20:36:01 EROACH] Event spawned from CHEST PAIN.  [03\/03\/2026 20:35:35 EROACH] 81 YO FEMALE CHEST PAIN RADIATING TO HER BACK\/\/ LETHARGIC MOST OF THE DAY HX OF DIABETES  [03\/03\/26 20:35:30 EROACH]]"
[2026-03-04 03:13:46] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-04 03:13:46] [INFO]   -> Found value: COOKEVILLE
[2026-03-04 03:13:46] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-04 03:13:46] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-04 03:13:46] [INFO]   -> Found value: DOUBLE SPRINGS
[2026-03-04 03:13:46] [INFO]   -> Set field 'streetName' = "DOUBLE SPRINGS"
[2026-03-04 03:13:46] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-04 03:13:46] [INFO]   -> Found value: RD
[2026-03-04 03:13:46] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-04 03:13:46] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-04 03:13:46] [INFO]   -> Found value: 1069 DOUBLE SPRINGS RD
[2026-03-04 03:13:46] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1069 DOUBLE SPRINGS RD"
[2026-03-04 03:13:46] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-04 03:13:46] [INFO] Concatenating street name and type
[2026-03-04 03:13:46] [INFO]   -> Combined street name: DOUBLE SPRINGS RD
[2026-03-04 03:13:46] [INFO] Built locationCoordinates from lat/lng: 36.15887,-85.597
[2026-03-04 03:13:46] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nRESC","incidentInternalId":"2026000589","dispatchRunNumber":"2026000589","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":1069,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.15887000000000028876456781290471553802490234375,"nERISIncidentLongitude":-85.5969999999999942019712761975824832916259765625,"alarm":"2026-03-03 20:35:35","dispatched":"2026-03-03 20:36:07","cleared":"2026-03-03 21:13:37","inService":"2026-03-03 21:13:37","incidentLocationCross":"PHARRIS RD\/BUFFALO VALLEY RD","cADVehicleID":"PCFR","timedispatch":"2026-03-03 20:36:07","timeunitclear":"2026-03-03 21:13:37","policeReportNumber":"20260023631","dispatchNotes":"[EMS] COME THROUGH THE BACK DOOR\/ PT WILL BE IN HER BEDROOM  [03\/03\/26 20:36:23 EROACH] [LAW] LE NOT RESPONDING UNLESS REQUESTED  [03\/03\/26 20:36:15 RJGIPSON] [EMS] DEMENTIA PT  DANA METZ  [03\/03\/26 20:36:01 EROACH] Event spawned from CHEST PAIN.  [03\/03\/2026 20:35:35 EROACH] 81 YO FEMALE CHEST PAIN RADIATING TO HER BACK\/\/ LETHARGIC MOST OF THE DAY HX OF DIABETES  [03\/03\/26 20:35:30 EROACH]]","cADLog":"[EMS] COME THROUGH THE BACK DOOR\/ PT WILL BE IN HER BEDROOM  [03\/03\/26 20:36:23 EROACH] [LAW] LE NOT RESPONDING UNLESS REQUESTED  [03\/03\/26 20:36:15 RJGIPSON] [EMS] DEMENTIA PT  DANA METZ  [03\/03\/26 20:36:01 EROACH] Event spawned from CHEST PAIN.  [03\/03\/2026 20:35:35 EROACH] 81 YO FEMALE CHEST PAIN RADIATING TO HER BACK\/\/ LETHARGIC MOST OF THE DAY HX OF DIABETES  [03\/03\/26 20:35:30 EROACH]]","incidentLocationCity":"COOKEVILLE","streetName":"DOUBLE SPRINGS RD","incidentAddressTextVersionStreet":"1069 DOUBLE SPRINGS RD","locationCoordinates":"36.15887,-85.597"}
[2026-03-04 03:13:46] [INFO] Number of extracted fields: 24
[2026-03-04 03:13:46] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
RESC'
[2026-03-04 03:13:46] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
RESC', Parsed IDs = ["PCFD","RESC"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-03-04 03:13:46] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","RESC"]
[2026-03-04 03:13:46] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-04 03:13:46] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-04 03:13:46] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["RESC"]
[2026-03-04 03:13:46] [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-03-04 03:13:46] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-04 03:13:46] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-04 03:13:46] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-04 03:13:46] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-04 03:13:47] [INFO] Found existing IncidentTypeMapping with ID: 6939c33d3eae65119
[2026-03-04 03:13:47] [INFO] Found existing Dispatch with cADNumber '2026000589', ID: 69a79a9fb1508fa2c - will update instead of create
[2026-03-04 03:13:47] [INFO] Updated existing Dispatches record with ID: 69a79a9fb1508fa2c
[2026-03-04 03:13:47] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023631_20260304_031346.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-04/PCFD_20260023631_20260304_031346.XML
[2026-03-04 03:13:47] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023631_20260304_031346.XML
[2026-03-04 03:13:47] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023631_20260304_031346_1.XML
[2026-03-04 03:13:47] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023631_20260304_031346_1.XML for user: 68f1466aed072ad4a
[2026-03-04 03:13:47] [INFO] File size: 5612 bytes
[2026-03-04 03:13:47] [INFO] Created FTPFiles record with ID: 69a7a36bb5d5dafcd
[2026-03-04 03:13:47] [INFO] About to extract fields from XML. File size: 5612 bytes
[2026-03-04 03:13:47] [INFO] Number of mappings: 28
[2026-03-04 03:13:47] [INFO] Starting XML parsing. Content length: 5612
[2026-03-04 03:13:47] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-04 03:13:47] [INFO] Processing 28 field mappings
[2026-03-04 03:13:47] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-04 03:13:47] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-04 03:13:47] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-04 03:13:47] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-03-04 03:13:47] [INFO]   -> Found value: PCFD
RESC
[2026-03-04 03:13:47] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nRESC"
[2026-03-04 03:13:47] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-04 03:13:47] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-03-04 03:13:47] [INFO]   -> Found value: 2026000589
[2026-03-04 03:13:47] [INFO]   -> Set field 'incidentInternalId' = "2026000589"
[2026-03-04 03:13:47] [INFO]   -> Set field 'dispatchRunNumber' = "2026000589"
[2026-03-04 03:13:47] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-04 03:13:47] [INFO]   -> Found value: CHEST PAIN
[2026-03-04 03:13:47] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-03-04 03:13:47] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-04 03:13:47] [INFO]   -> Found value: 1069
[2026-03-04 03:13:47] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1069
[2026-03-04 03:13:47] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-04 03:13:47] [INFO]   -> Found value: TN
[2026-03-04 03:13:47] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-04 03:13:47] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-04 03:13:47] [INFO]   -> Found value: 38501
[2026-03-04 03:13:47] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-04 03:13:47] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-04 03:13:47] [INFO]   -> No value found (null or empty)
[2026-03-04 03:13:47] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-04 03:13:47] [INFO]   -> No value found (null or empty)
[2026-03-04 03:13:47] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-04 03:13:47] [INFO]   -> Found value: 36.15887
[2026-03-04 03:13:47] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.15887000000000028876456781290471553802490234375
[2026-03-04 03:13:47] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-04 03:13:47] [INFO]   -> Found value: -85.59700
[2026-03-04 03:13:47] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.5969999999999942019712761975824832916259765625
[2026-03-04 03:13:47] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-04 03:13:47] [INFO]   -> Found value: 2026-03-03 20:35:35
[2026-03-04 03:13:47] [INFO]   -> Set field 'alarm' = "2026-03-03 20:35:35"
[2026-03-04 03:13:47] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-04 03:13:47] [INFO]   -> Found value: 2026-03-03 20:36:07
[2026-03-04 03:13:47] [INFO]   -> Set field 'dispatched' = "2026-03-03 20:36:07"
[2026-03-04 03:13:47] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-04 03:13:47] [INFO]   -> No value found (null or empty)
[2026-03-04 03:13:47] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-04 03:13:47] [INFO]   -> No value found (null or empty)
[2026-03-04 03:13:47] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-04 03:13:47] [INFO]   -> Found value: 2026-03-03 21:13:37
[2026-03-04 03:13:47] [INFO]   -> Set field 'cleared' = "2026-03-03 21:13:37"
[2026-03-04 03:13:47] [INFO]   -> Set field 'inService' = "2026-03-03 21:13:37"
[2026-03-04 03:13:47] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-04 03:13:47] [INFO]   -> Found value: PHARRIS RD/BUFFALO VALLEY RD
[2026-03-04 03:13:47] [INFO]   -> Set field 'incidentLocationCross' = "PHARRIS RD\/BUFFALO VALLEY RD"
[2026-03-04 03:13:47] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-04 03:13:47] [INFO]   -> Found value: PCFR
[2026-03-04 03:13:47] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-04 03:13:47] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-04 03:13:47] [INFO]   -> Found value: 2026-03-03 20:36:07
[2026-03-04 03:13:47] [INFO]   -> Set field 'timedispatch' = "2026-03-03 20:36:07"
[2026-03-04 03:13:47] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-04 03:13:47] [INFO]   -> No value found (null or empty)
[2026-03-04 03:13:47] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-04 03:13:47] [INFO]   -> No value found (null or empty)
[2026-03-04 03:13:47] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-04 03:13:47] [INFO]   -> Found value: 2026-03-03 21:13:37
[2026-03-04 03:13:47] [INFO]   -> Set field 'timeunitclear' = "2026-03-03 21:13:37"
[2026-03-04 03:13:47] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-04 03:13:47] [INFO]   -> No value found (null or empty)
[2026-03-04 03:13:47] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-04 03:13:47] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-03-04 03:13:47] [INFO]   -> Found value: 20260023631
[2026-03-04 03:13:47] [INFO]   -> Set field 'policeReportNumber' = "20260023631"
[2026-03-04 03:13:47] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-04 03:13:47] [INFO]   -> Found value: [EMS] COME THROUGH THE BACK DOOR/ PT WILL BE IN HER BEDROOM  [03/03/26 20:36:23 EROACH] [LAW] LE NOT...
[2026-03-04 03:13:47] [INFO]   -> Set field 'dispatchNotes' = "[EMS] COME THROUGH THE BACK DOOR\/ PT WILL BE IN HER BEDROOM  [03\/03\/26 20:36:23 EROACH] [LAW] LE NOT RESPONDING UNLESS REQUESTED  [03\/03\/26 20:36:15 RJGIPSON] [EMS] DEMENTIA PT  DANA METZ  [03\/03\/26 20:36:01 EROACH] Event spawned from CHEST PAIN.  [03\/03\/2026 20:35:35 EROACH] 81 YO FEMALE CHEST PAIN RADIATING TO HER BACK\/\/ LETHARGIC MOST OF THE DAY HX OF DIABETES  [03\/03\/26 20:35:30 EROACH]]"
[2026-03-04 03:13:47] [INFO]   -> Set field 'cADLog' = "[EMS] COME THROUGH THE BACK DOOR\/ PT WILL BE IN HER BEDROOM  [03\/03\/26 20:36:23 EROACH] [LAW] LE NOT RESPONDING UNLESS REQUESTED  [03\/03\/26 20:36:15 RJGIPSON] [EMS] DEMENTIA PT  DANA METZ  [03\/03\/26 20:36:01 EROACH] Event spawned from CHEST PAIN.  [03\/03\/2026 20:35:35 EROACH] 81 YO FEMALE CHEST PAIN RADIATING TO HER BACK\/\/ LETHARGIC MOST OF THE DAY HX OF DIABETES  [03\/03\/26 20:35:30 EROACH]]"
[2026-03-04 03:13:47] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-04 03:13:47] [INFO]   -> Found value: COOKEVILLE
[2026-03-04 03:13:47] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-04 03:13:47] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-04 03:13:47] [INFO]   -> Found value: DOUBLE SPRINGS
[2026-03-04 03:13:47] [INFO]   -> Set field 'streetName' = "DOUBLE SPRINGS"
[2026-03-04 03:13:47] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-04 03:13:47] [INFO]   -> Found value: RD
[2026-03-04 03:13:47] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-04 03:13:47] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-04 03:13:47] [INFO]   -> Found value: 1069 DOUBLE SPRINGS RD
[2026-03-04 03:13:47] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1069 DOUBLE SPRINGS RD"
[2026-03-04 03:13:47] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-04 03:13:47] [INFO] Concatenating street name and type
[2026-03-04 03:13:47] [INFO]   -> Combined street name: DOUBLE SPRINGS RD
[2026-03-04 03:13:47] [INFO] Built locationCoordinates from lat/lng: 36.15887,-85.597
[2026-03-04 03:13:47] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nRESC","incidentInternalId":"2026000589","dispatchRunNumber":"2026000589","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":1069,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.15887000000000028876456781290471553802490234375,"nERISIncidentLongitude":-85.5969999999999942019712761975824832916259765625,"alarm":"2026-03-03 20:35:35","dispatched":"2026-03-03 20:36:07","cleared":"2026-03-03 21:13:37","inService":"2026-03-03 21:13:37","incidentLocationCross":"PHARRIS RD\/BUFFALO VALLEY RD","cADVehicleID":"PCFR","timedispatch":"2026-03-03 20:36:07","timeunitclear":"2026-03-03 21:13:37","policeReportNumber":"20260023631","dispatchNotes":"[EMS] COME THROUGH THE BACK DOOR\/ PT WILL BE IN HER BEDROOM  [03\/03\/26 20:36:23 EROACH] [LAW] LE NOT RESPONDING UNLESS REQUESTED  [03\/03\/26 20:36:15 RJGIPSON] [EMS] DEMENTIA PT  DANA METZ  [03\/03\/26 20:36:01 EROACH] Event spawned from CHEST PAIN.  [03\/03\/2026 20:35:35 EROACH] 81 YO FEMALE CHEST PAIN RADIATING TO HER BACK\/\/ LETHARGIC MOST OF THE DAY HX OF DIABETES  [03\/03\/26 20:35:30 EROACH]]","cADLog":"[EMS] COME THROUGH THE BACK DOOR\/ PT WILL BE IN HER BEDROOM  [03\/03\/26 20:36:23 EROACH] [LAW] LE NOT RESPONDING UNLESS REQUESTED  [03\/03\/26 20:36:15 RJGIPSON] [EMS] DEMENTIA PT  DANA METZ  [03\/03\/26 20:36:01 EROACH] Event spawned from CHEST PAIN.  [03\/03\/2026 20:35:35 EROACH] 81 YO FEMALE CHEST PAIN RADIATING TO HER BACK\/\/ LETHARGIC MOST OF THE DAY HX OF DIABETES  [03\/03\/26 20:35:30 EROACH]]","incidentLocationCity":"COOKEVILLE","streetName":"DOUBLE SPRINGS RD","incidentAddressTextVersionStreet":"1069 DOUBLE SPRINGS RD","locationCoordinates":"36.15887,-85.597"}
[2026-03-04 03:13:47] [INFO] Number of extracted fields: 24
[2026-03-04 03:13:47] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
RESC'
[2026-03-04 03:13:47] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
RESC', Parsed IDs = ["PCFD","RESC"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-03-04 03:13:47] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","RESC"]
[2026-03-04 03:13:47] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-04 03:13:47] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-04 03:13:47] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["RESC"]
[2026-03-04 03:13:48] [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-03-04 03:13:48] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-04 03:13:48] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-04 03:13:48] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-04 03:13:48] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-04 03:13:48] [INFO] Found existing IncidentTypeMapping with ID: 6939c33d3eae65119
[2026-03-04 03:13:48] [INFO] Found existing Dispatch with cADNumber '2026000589', ID: 69a79a9fb1508fa2c - will update instead of create
[2026-03-04 03:13:48] [INFO] Updated existing Dispatches record with ID: 69a79a9fb1508fa2c
[2026-03-04 03:13:48] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023631_20260304_031346_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-04/PCFD_20260023631_20260304_031346_1.XML
[2026-03-04 03:13:48] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023631_20260304_031346_1.XML
[2026-03-04 03:13:48] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023631_20260304_031346_2.XML
[2026-03-04 03:13:48] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023631_20260304_031346_2.XML for user: 68f1466aed072ad4a
[2026-03-04 03:13:48] [INFO] File size: 5612 bytes
[2026-03-04 03:13:49] [INFO] Created FTPFiles record with ID: 69a7a36d51ebdd307
[2026-03-04 03:13:49] [INFO] About to extract fields from XML. File size: 5612 bytes
[2026-03-04 03:13:49] [INFO] Number of mappings: 28
[2026-03-04 03:13:49] [INFO] Starting XML parsing. Content length: 5612
[2026-03-04 03:13:49] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-04 03:13:49] [INFO] Processing 28 field mappings
[2026-03-04 03:13:49] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-04 03:13:49] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-04 03:13:49] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-04 03:13:49] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-03-04 03:13:49] [INFO]   -> Found value: PCFD
RESC
[2026-03-04 03:13:49] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nRESC"
[2026-03-04 03:13:49] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-04 03:13:49] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-03-04 03:13:49] [INFO]   -> Found value: 2026000589
[2026-03-04 03:13:49] [INFO]   -> Set field 'incidentInternalId' = "2026000589"
[2026-03-04 03:13:49] [INFO]   -> Set field 'dispatchRunNumber' = "2026000589"
[2026-03-04 03:13:49] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-04 03:13:49] [INFO]   -> Found value: CHEST PAIN
[2026-03-04 03:13:49] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-03-04 03:13:49] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-04 03:13:49] [INFO]   -> Found value: 1069
[2026-03-04 03:13:49] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1069
[2026-03-04 03:13:49] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-04 03:13:49] [INFO]   -> Found value: TN
[2026-03-04 03:13:49] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-04 03:13:49] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-04 03:13:49] [INFO]   -> Found value: 38501
[2026-03-04 03:13:49] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-04 03:13:49] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-04 03:13:49] [INFO]   -> No value found (null or empty)
[2026-03-04 03:13:49] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-04 03:13:49] [INFO]   -> No value found (null or empty)
[2026-03-04 03:13:49] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-04 03:13:49] [INFO]   -> Found value: 36.15887
[2026-03-04 03:13:49] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.15887000000000028876456781290471553802490234375
[2026-03-04 03:13:49] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-04 03:13:49] [INFO]   -> Found value: -85.59700
[2026-03-04 03:13:49] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.5969999999999942019712761975824832916259765625
[2026-03-04 03:13:49] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-04 03:13:49] [INFO]   -> Found value: 2026-03-03 20:35:35
[2026-03-04 03:13:49] [INFO]   -> Set field 'alarm' = "2026-03-03 20:35:35"
[2026-03-04 03:13:49] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-04 03:13:49] [INFO]   -> Found value: 2026-03-03 20:36:07
[2026-03-04 03:13:49] [INFO]   -> Set field 'dispatched' = "2026-03-03 20:36:07"
[2026-03-04 03:13:49] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-04 03:13:49] [INFO]   -> No value found (null or empty)
[2026-03-04 03:13:49] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-04 03:13:49] [INFO]   -> No value found (null or empty)
[2026-03-04 03:13:49] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-04 03:13:49] [INFO]   -> Found value: 2026-03-03 21:13:37
[2026-03-04 03:13:49] [INFO]   -> Set field 'cleared' = "2026-03-03 21:13:37"
[2026-03-04 03:13:49] [INFO]   -> Set field 'inService' = "2026-03-03 21:13:37"
[2026-03-04 03:13:49] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-04 03:13:49] [INFO]   -> Found value: PHARRIS RD/BUFFALO VALLEY RD
[2026-03-04 03:13:49] [INFO]   -> Set field 'incidentLocationCross' = "PHARRIS RD\/BUFFALO VALLEY RD"
[2026-03-04 03:13:49] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-04 03:13:49] [INFO]   -> Found value: PCFR
[2026-03-04 03:13:49] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-04 03:13:49] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-04 03:13:49] [INFO]   -> Found value: 2026-03-03 20:36:07
[2026-03-04 03:13:49] [INFO]   -> Set field 'timedispatch' = "2026-03-03 20:36:07"
[2026-03-04 03:13:49] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-04 03:13:49] [INFO]   -> No value found (null or empty)
[2026-03-04 03:13:49] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-04 03:13:49] [INFO]   -> No value found (null or empty)
[2026-03-04 03:13:49] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-04 03:13:49] [INFO]   -> Found value: 2026-03-03 21:13:37
[2026-03-04 03:13:49] [INFO]   -> Set field 'timeunitclear' = "2026-03-03 21:13:37"
[2026-03-04 03:13:49] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-04 03:13:49] [INFO]   -> No value found (null or empty)
[2026-03-04 03:13:49] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-04 03:13:49] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-03-04 03:13:49] [INFO]   -> Found value: 20260023631
[2026-03-04 03:13:49] [INFO]   -> Set field 'policeReportNumber' = "20260023631"
[2026-03-04 03:13:49] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-04 03:13:49] [INFO]   -> Found value: [EMS] COME THROUGH THE BACK DOOR/ PT WILL BE IN HER BEDROOM  [03/03/26 20:36:23 EROACH] [LAW] LE NOT...
[2026-03-04 03:13:49] [INFO]   -> Set field 'dispatchNotes' = "[EMS] COME THROUGH THE BACK DOOR\/ PT WILL BE IN HER BEDROOM  [03\/03\/26 20:36:23 EROACH] [LAW] LE NOT RESPONDING UNLESS REQUESTED  [03\/03\/26 20:36:15 RJGIPSON] [EMS] DEMENTIA PT  DANA METZ  [03\/03\/26 20:36:01 EROACH] Event spawned from CHEST PAIN.  [03\/03\/2026 20:35:35 EROACH] 81 YO FEMALE CHEST PAIN RADIATING TO HER BACK\/\/ LETHARGIC MOST OF THE DAY HX OF DIABETES  [03\/03\/26 20:35:30 EROACH]]"
[2026-03-04 03:13:49] [INFO]   -> Set field 'cADLog' = "[EMS] COME THROUGH THE BACK DOOR\/ PT WILL BE IN HER BEDROOM  [03\/03\/26 20:36:23 EROACH] [LAW] LE NOT RESPONDING UNLESS REQUESTED  [03\/03\/26 20:36:15 RJGIPSON] [EMS] DEMENTIA PT  DANA METZ  [03\/03\/26 20:36:01 EROACH] Event spawned from CHEST PAIN.  [03\/03\/2026 20:35:35 EROACH] 81 YO FEMALE CHEST PAIN RADIATING TO HER BACK\/\/ LETHARGIC MOST OF THE DAY HX OF DIABETES  [03\/03\/26 20:35:30 EROACH]]"
[2026-03-04 03:13:49] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-04 03:13:49] [INFO]   -> Found value: COOKEVILLE
[2026-03-04 03:13:49] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-04 03:13:49] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-04 03:13:49] [INFO]   -> Found value: DOUBLE SPRINGS
[2026-03-04 03:13:49] [INFO]   -> Set field 'streetName' = "DOUBLE SPRINGS"
[2026-03-04 03:13:49] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-04 03:13:49] [INFO]   -> Found value: RD
[2026-03-04 03:13:49] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-04 03:13:49] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-04 03:13:49] [INFO]   -> Found value: 1069 DOUBLE SPRINGS RD
[2026-03-04 03:13:49] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1069 DOUBLE SPRINGS RD"
[2026-03-04 03:13:49] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-04 03:13:49] [INFO] Concatenating street name and type
[2026-03-04 03:13:49] [INFO]   -> Combined street name: DOUBLE SPRINGS RD
[2026-03-04 03:13:49] [INFO] Built locationCoordinates from lat/lng: 36.15887,-85.597
[2026-03-04 03:13:49] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nRESC","incidentInternalId":"2026000589","dispatchRunNumber":"2026000589","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":1069,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.15887000000000028876456781290471553802490234375,"nERISIncidentLongitude":-85.5969999999999942019712761975824832916259765625,"alarm":"2026-03-03 20:35:35","dispatched":"2026-03-03 20:36:07","cleared":"2026-03-03 21:13:37","inService":"2026-03-03 21:13:37","incidentLocationCross":"PHARRIS RD\/BUFFALO VALLEY RD","cADVehicleID":"PCFR","timedispatch":"2026-03-03 20:36:07","timeunitclear":"2026-03-03 21:13:37","policeReportNumber":"20260023631","dispatchNotes":"[EMS] COME THROUGH THE BACK DOOR\/ PT WILL BE IN HER BEDROOM  [03\/03\/26 20:36:23 EROACH] [LAW] LE NOT RESPONDING UNLESS REQUESTED  [03\/03\/26 20:36:15 RJGIPSON] [EMS] DEMENTIA PT  DANA METZ  [03\/03\/26 20:36:01 EROACH] Event spawned from CHEST PAIN.  [03\/03\/2026 20:35:35 EROACH] 81 YO FEMALE CHEST PAIN RADIATING TO HER BACK\/\/ LETHARGIC MOST OF THE DAY HX OF DIABETES  [03\/03\/26 20:35:30 EROACH]]","cADLog":"[EMS] COME THROUGH THE BACK DOOR\/ PT WILL BE IN HER BEDROOM  [03\/03\/26 20:36:23 EROACH] [LAW] LE NOT RESPONDING UNLESS REQUESTED  [03\/03\/26 20:36:15 RJGIPSON] [EMS] DEMENTIA PT  DANA METZ  [03\/03\/26 20:36:01 EROACH] Event spawned from CHEST PAIN.  [03\/03\/2026 20:35:35 EROACH] 81 YO FEMALE CHEST PAIN RADIATING TO HER BACK\/\/ LETHARGIC MOST OF THE DAY HX OF DIABETES  [03\/03\/26 20:35:30 EROACH]]","incidentLocationCity":"COOKEVILLE","streetName":"DOUBLE SPRINGS RD","incidentAddressTextVersionStreet":"1069 DOUBLE SPRINGS RD","locationCoordinates":"36.15887,-85.597"}
[2026-03-04 03:13:49] [INFO] Number of extracted fields: 24
[2026-03-04 03:13:49] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
RESC'
[2026-03-04 03:13:49] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
RESC', Parsed IDs = ["PCFD","RESC"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-03-04 03:13:49] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","RESC"]
[2026-03-04 03:13:49] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-04 03:13:49] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-04 03:13:49] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["RESC"]
[2026-03-04 03:13:49] [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-03-04 03:13:49] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-04 03:13:49] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-04 03:13:49] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-04 03:13:49] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-04 03:13:49] [INFO] Found existing IncidentTypeMapping with ID: 6939c33d3eae65119
[2026-03-04 03:13:49] [INFO] Found existing Dispatch with cADNumber '2026000589', ID: 69a79a9fb1508fa2c - will update instead of create
[2026-03-04 03:13:50] [INFO] Updated existing Dispatches record with ID: 69a79a9fb1508fa2c
[2026-03-04 03:13:50] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023631_20260304_031346_2.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-04/PCFD_20260023631_20260304_031346_2.XML
[2026-03-04 03:13:50] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023631_20260304_031346_2.XML
[2026-03-04 03:13:50] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023631_20260304_031349.XML
[2026-03-04 03:13:50] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023631_20260304_031349.XML for user: 68f1466aed072ad4a
[2026-03-04 03:13:50] [INFO] File size: 5612 bytes
[2026-03-04 03:13:50] [INFO] Created FTPFiles record with ID: 69a7a36e7d010a8cb
[2026-03-04 03:13:50] [INFO] About to extract fields from XML. File size: 5612 bytes
[2026-03-04 03:13:50] [INFO] Number of mappings: 28
[2026-03-04 03:13:50] [INFO] Starting XML parsing. Content length: 5612
[2026-03-04 03:13:50] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-04 03:13:50] [INFO] Processing 28 field mappings
[2026-03-04 03:13:50] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-04 03:13:50] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-04 03:13:50] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-04 03:13:50] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-03-04 03:13:50] [INFO]   -> Found value: PCFD
RESC
[2026-03-04 03:13:50] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nRESC"
[2026-03-04 03:13:50] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-04 03:13:50] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-03-04 03:13:50] [INFO]   -> Found value: 2026000589
[2026-03-04 03:13:50] [INFO]   -> Set field 'incidentInternalId' = "2026000589"
[2026-03-04 03:13:50] [INFO]   -> Set field 'dispatchRunNumber' = "2026000589"
[2026-03-04 03:13:50] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-04 03:13:50] [INFO]   -> Found value: CHEST PAIN
[2026-03-04 03:13:50] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-03-04 03:13:50] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-04 03:13:50] [INFO]   -> Found value: 1069
[2026-03-04 03:13:50] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1069
[2026-03-04 03:13:50] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-04 03:13:50] [INFO]   -> Found value: TN
[2026-03-04 03:13:50] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-04 03:13:50] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-04 03:13:50] [INFO]   -> Found value: 38501
[2026-03-04 03:13:50] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-04 03:13:50] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-04 03:13:50] [INFO]   -> No value found (null or empty)
[2026-03-04 03:13:50] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-04 03:13:50] [INFO]   -> No value found (null or empty)
[2026-03-04 03:13:50] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-04 03:13:50] [INFO]   -> Found value: 36.15887
[2026-03-04 03:13:50] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.15887000000000028876456781290471553802490234375
[2026-03-04 03:13:50] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-04 03:13:50] [INFO]   -> Found value: -85.59700
[2026-03-04 03:13:50] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.5969999999999942019712761975824832916259765625
[2026-03-04 03:13:50] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-04 03:13:50] [INFO]   -> Found value: 2026-03-03 20:35:35
[2026-03-04 03:13:50] [INFO]   -> Set field 'alarm' = "2026-03-03 20:35:35"
[2026-03-04 03:13:50] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-04 03:13:50] [INFO]   -> Found value: 2026-03-03 20:36:07
[2026-03-04 03:13:50] [INFO]   -> Set field 'dispatched' = "2026-03-03 20:36:07"
[2026-03-04 03:13:50] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-04 03:13:50] [INFO]   -> No value found (null or empty)
[2026-03-04 03:13:50] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-04 03:13:50] [INFO]   -> No value found (null or empty)
[2026-03-04 03:13:50] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-04 03:13:50] [INFO]   -> Found value: 2026-03-03 21:13:37
[2026-03-04 03:13:50] [INFO]   -> Set field 'cleared' = "2026-03-03 21:13:37"
[2026-03-04 03:13:50] [INFO]   -> Set field 'inService' = "2026-03-03 21:13:37"
[2026-03-04 03:13:50] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-04 03:13:50] [INFO]   -> Found value: PHARRIS RD/BUFFALO VALLEY RD
[2026-03-04 03:13:50] [INFO]   -> Set field 'incidentLocationCross' = "PHARRIS RD\/BUFFALO VALLEY RD"
[2026-03-04 03:13:50] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-04 03:13:50] [INFO]   -> Found value: PCFR
[2026-03-04 03:13:50] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-04 03:13:50] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-04 03:13:50] [INFO]   -> Found value: 2026-03-03 20:36:07
[2026-03-04 03:13:50] [INFO]   -> Set field 'timedispatch' = "2026-03-03 20:36:07"
[2026-03-04 03:13:50] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-04 03:13:50] [INFO]   -> No value found (null or empty)
[2026-03-04 03:13:50] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-04 03:13:50] [INFO]   -> No value found (null or empty)
[2026-03-04 03:13:50] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-04 03:13:50] [INFO]   -> Found value: 2026-03-03 21:13:37
[2026-03-04 03:13:50] [INFO]   -> Set field 'timeunitclear' = "2026-03-03 21:13:37"
[2026-03-04 03:13:50] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-04 03:13:50] [INFO]   -> No value found (null or empty)
[2026-03-04 03:13:50] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-04 03:13:50] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-03-04 03:13:50] [INFO]   -> Found value: 20260023631
[2026-03-04 03:13:50] [INFO]   -> Set field 'policeReportNumber' = "20260023631"
[2026-03-04 03:13:50] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-04 03:13:50] [INFO]   -> Found value: [EMS] COME THROUGH THE BACK DOOR/ PT WILL BE IN HER BEDROOM  [03/03/26 20:36:23 EROACH] [LAW] LE NOT...
[2026-03-04 03:13:50] [INFO]   -> Set field 'dispatchNotes' = "[EMS] COME THROUGH THE BACK DOOR\/ PT WILL BE IN HER BEDROOM  [03\/03\/26 20:36:23 EROACH] [LAW] LE NOT RESPONDING UNLESS REQUESTED  [03\/03\/26 20:36:15 RJGIPSON] [EMS] DEMENTIA PT  DANA METZ  [03\/03\/26 20:36:01 EROACH] Event spawned from CHEST PAIN.  [03\/03\/2026 20:35:35 EROACH] 81 YO FEMALE CHEST PAIN RADIATING TO HER BACK\/\/ LETHARGIC MOST OF THE DAY HX OF DIABETES  [03\/03\/26 20:35:30 EROACH]]"
[2026-03-04 03:13:50] [INFO]   -> Set field 'cADLog' = "[EMS] COME THROUGH THE BACK DOOR\/ PT WILL BE IN HER BEDROOM  [03\/03\/26 20:36:23 EROACH] [LAW] LE NOT RESPONDING UNLESS REQUESTED  [03\/03\/26 20:36:15 RJGIPSON] [EMS] DEMENTIA PT  DANA METZ  [03\/03\/26 20:36:01 EROACH] Event spawned from CHEST PAIN.  [03\/03\/2026 20:35:35 EROACH] 81 YO FEMALE CHEST PAIN RADIATING TO HER BACK\/\/ LETHARGIC MOST OF THE DAY HX OF DIABETES  [03\/03\/26 20:35:30 EROACH]]"
[2026-03-04 03:13:50] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-04 03:13:50] [INFO]   -> Found value: COOKEVILLE
[2026-03-04 03:13:50] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-04 03:13:50] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-04 03:13:50] [INFO]   -> Found value: DOUBLE SPRINGS
[2026-03-04 03:13:50] [INFO]   -> Set field 'streetName' = "DOUBLE SPRINGS"
[2026-03-04 03:13:50] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-04 03:13:50] [INFO]   -> Found value: RD
[2026-03-04 03:13:50] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-04 03:13:50] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-04 03:13:50] [INFO]   -> Found value: 1069 DOUBLE SPRINGS RD
[2026-03-04 03:13:50] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1069 DOUBLE SPRINGS RD"
[2026-03-04 03:13:50] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-04 03:13:50] [INFO] Concatenating street name and type
[2026-03-04 03:13:50] [INFO]   -> Combined street name: DOUBLE SPRINGS RD
[2026-03-04 03:13:50] [INFO] Built locationCoordinates from lat/lng: 36.15887,-85.597
[2026-03-04 03:13:50] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nRESC","incidentInternalId":"2026000589","dispatchRunNumber":"2026000589","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":1069,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.15887000000000028876456781290471553802490234375,"nERISIncidentLongitude":-85.5969999999999942019712761975824832916259765625,"alarm":"2026-03-03 20:35:35","dispatched":"2026-03-03 20:36:07","cleared":"2026-03-03 21:13:37","inService":"2026-03-03 21:13:37","incidentLocationCross":"PHARRIS RD\/BUFFALO VALLEY RD","cADVehicleID":"PCFR","timedispatch":"2026-03-03 20:36:07","timeunitclear":"2026-03-03 21:13:37","policeReportNumber":"20260023631","dispatchNotes":"[EMS] COME THROUGH THE BACK DOOR\/ PT WILL BE IN HER BEDROOM  [03\/03\/26 20:36:23 EROACH] [LAW] LE NOT RESPONDING UNLESS REQUESTED  [03\/03\/26 20:36:15 RJGIPSON] [EMS] DEMENTIA PT  DANA METZ  [03\/03\/26 20:36:01 EROACH] Event spawned from CHEST PAIN.  [03\/03\/2026 20:35:35 EROACH] 81 YO FEMALE CHEST PAIN RADIATING TO HER BACK\/\/ LETHARGIC MOST OF THE DAY HX OF DIABETES  [03\/03\/26 20:35:30 EROACH]]","cADLog":"[EMS] COME THROUGH THE BACK DOOR\/ PT WILL BE IN HER BEDROOM  [03\/03\/26 20:36:23 EROACH] [LAW] LE NOT RESPONDING UNLESS REQUESTED  [03\/03\/26 20:36:15 RJGIPSON] [EMS] DEMENTIA PT  DANA METZ  [03\/03\/26 20:36:01 EROACH] Event spawned from CHEST PAIN.  [03\/03\/2026 20:35:35 EROACH] 81 YO FEMALE CHEST PAIN RADIATING TO HER BACK\/\/ LETHARGIC MOST OF THE DAY HX OF DIABETES  [03\/03\/26 20:35:30 EROACH]]","incidentLocationCity":"COOKEVILLE","streetName":"DOUBLE SPRINGS RD","incidentAddressTextVersionStreet":"1069 DOUBLE SPRINGS RD","locationCoordinates":"36.15887,-85.597"}
[2026-03-04 03:13:50] [INFO] Number of extracted fields: 24
[2026-03-04 03:13:50] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
RESC'
[2026-03-04 03:13:50] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
RESC', Parsed IDs = ["PCFD","RESC"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-03-04 03:13:50] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","RESC"]
[2026-03-04 03:13:50] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-04 03:13:50] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-04 03:13:50] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["RESC"]
[2026-03-04 03:13:50] [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-03-04 03:13:50] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-04 03:13:50] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-04 03:13:50] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-04 03:13:50] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-04 03:13:50] [INFO] Found existing IncidentTypeMapping with ID: 6939c33d3eae65119
[2026-03-04 03:13:51] [INFO] Found existing Dispatch with cADNumber '2026000589', ID: 69a79a9fb1508fa2c - will update instead of create
[2026-03-04 03:13:51] [INFO] Updated existing Dispatches record with ID: 69a79a9fb1508fa2c
[2026-03-04 03:13:51] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023631_20260304_031349.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-04/PCFD_20260023631_20260304_031349.XML
[2026-03-04 03:13:51] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023631_20260304_031349.XML
[2026-03-04 03:30:45] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023658_20260304_033045.XML
[2026-03-04 03:30:45] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023658_20260304_033045.XML for user: 68f1466aed072ad4a
[2026-03-04 03:30:45] [INFO] File size: 7152 bytes
[2026-03-04 03:30:45] [INFO] Created FTPFiles record with ID: 69a7a7655d15e776f
[2026-03-04 03:30:45] [INFO] About to extract fields from XML. File size: 7152 bytes
[2026-03-04 03:30:45] [INFO] Number of mappings: 28
[2026-03-04 03:30:45] [INFO] Starting XML parsing. Content length: 7152
[2026-03-04 03:30:45] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-04 03:30:45] [INFO] Processing 28 field mappings
[2026-03-04 03:30:45] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-04 03:30:45] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-04 03:30:45] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-04 03:30:45] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-04 03:30:45] [INFO]   -> Found value: PCFD
PCSO
EMS
[2026-03-04 03:30:45] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nPCSO\nEMS"
[2026-03-04 03:30:45] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-04 03:30:45] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-04 03:30:45] [INFO]   -> Found value: 2026000590
[2026-03-04 03:30:45] [INFO]   -> Set field 'incidentInternalId' = "2026000590"
[2026-03-04 03:30:45] [INFO]   -> Set field 'dispatchRunNumber' = "2026000590"
[2026-03-04 03:30:45] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-04 03:30:45] [INFO]   -> Found value: RESIDENTIAL FIRE
[2026-03-04 03:30:45] [INFO]   -> Set field 'incidentTypeValue1' = "RESIDENTIAL FIRE"
[2026-03-04 03:30:45] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-04 03:30:45] [INFO]   -> Found value: 2375
[2026-03-04 03:30:45] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2375
[2026-03-04 03:30:45] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-04 03:30:45] [INFO]   -> Found value: TN
[2026-03-04 03:30:45] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-04 03:30:45] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-04 03:30:45] [INFO]   -> Found value: 38506
[2026-03-04 03:30:45] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-04 03:30:45] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-04 03:30:45] [INFO]   -> No value found (null or empty)
[2026-03-04 03:30:45] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-04 03:30:45] [INFO]   -> No value found (null or empty)
[2026-03-04 03:30:45] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-04 03:30:45] [INFO]   -> Found value: 36.09610
[2026-03-04 03:30:45] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.09609999999999985220711096189916133880615234375
[2026-03-04 03:30:45] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-04 03:30:45] [INFO]   -> Found value: -85.47417
[2026-03-04 03:30:45] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4741700000000008685674401931464672088623046875
[2026-03-04 03:30:45] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-04 03:30:45] [INFO]   -> Found value: 2026-03-03 21:27:55
[2026-03-04 03:30:45] [INFO]   -> Set field 'alarm' = "2026-03-03 21:27:55"
[2026-03-04 03:30:45] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-04 03:30:45] [INFO]   -> Found value: 2026-03-03 21:29:47
[2026-03-04 03:30:45] [INFO]   -> Set field 'dispatched' = "2026-03-03 21:29:47"
[2026-03-04 03:30:45] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-04 03:30:45] [INFO]   -> Found value: 2026-03-03 21:30:37
[2026-03-04 03:30:45] [INFO]   -> Set field 'enroute' = "2026-03-03 21:30:37"
[2026-03-04 03:30:45] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-04 03:30:45] [INFO]   -> No value found (null or empty)
[2026-03-04 03:30:45] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-04 03:30:45] [INFO]   -> No value found (null or empty)
[2026-03-04 03:30:45] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-04 03:30:45] [INFO]   -> Found value: STONE SEMINARY RD/WHIPPOORWILL HILL RD
[2026-03-04 03:30:45] [INFO]   -> Set field 'incidentLocationCross' = "STONE SEMINARY RD\/WHIPPOORWILL HILL RD"
[2026-03-04 03:30:45] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-04 03:30:45] [INFO]   -> Found value: TK21
[2026-03-04 03:30:45] [INFO]   -> Set field 'cADVehicleID' = "TK21"
[2026-03-04 03:30:45] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-04 03:30:45] [INFO]   -> Found value: 2026-03-03 21:30:37
[2026-03-04 03:30:45] [INFO]   -> Set field 'timedispatch' = "2026-03-03 21:30:37"
[2026-03-04 03:30:45] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-04 03:30:45] [INFO]   -> Found value: 2026-03-03 21:30:37
[2026-03-04 03:30:45] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-03 21:30:37"
[2026-03-04 03:30:45] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-04 03:30:45] [INFO]   -> No value found (null or empty)
[2026-03-04 03:30:45] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-04 03:30:45] [INFO]   -> No value found (null or empty)
[2026-03-04 03:30:45] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-04 03:30:45] [INFO]   -> No value found (null or empty)
[2026-03-04 03:30:45] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-04 03:30:45] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-04 03:30:45] [INFO]   -> Found value: 20260023658
[2026-03-04 03:30:45] [INFO]   -> Set field 'policeReportNumber' = "20260023658"
[2026-03-04 03:30:45] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-04 03:30:45] [INFO]   -> Found value: FIRE ALARMS GOING OFF IN BACKGROUND  [03/03/26 21:30:24 EROACH] EVERYONE IS OUT OF THE HOUSE  [03/03...
[2026-03-04 03:30:45] [INFO]   -> Set field 'dispatchNotes' = "FIRE ALARMS GOING OFF IN BACKGROUND  [03\/03\/26 21:30:24 EROACH] EVERYONE IS OUT OF THE HOUSE  [03\/03\/26 21:30:01 EROACH] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/03\/26 21:29:47 BAHARRIS] 51 YO FEMALE  [03\/03\/26 21:29:39 EROACH] CALLER IS HAVING A HARD TIME BREATHING\/\/ POSSIBLE SMOKE INHALATION  [03\/03\/26 21:29:23 EROACH] OVEN ON FIRE\/\/ HOSUE IS FILLED WITH SMOKE  [03\/03\/26 21:28:44 EROACH]"
[2026-03-04 03:30:45] [INFO]   -> Set field 'cADLog' = "FIRE ALARMS GOING OFF IN BACKGROUND  [03\/03\/26 21:30:24 EROACH] EVERYONE IS OUT OF THE HOUSE  [03\/03\/26 21:30:01 EROACH] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/03\/26 21:29:47 BAHARRIS] 51 YO FEMALE  [03\/03\/26 21:29:39 EROACH] CALLER IS HAVING A HARD TIME BREATHING\/\/ POSSIBLE SMOKE INHALATION  [03\/03\/26 21:29:23 EROACH] OVEN ON FIRE\/\/ HOSUE IS FILLED WITH SMOKE  [03\/03\/26 21:28:44 EROACH]"
[2026-03-04 03:30:45] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-04 03:30:45] [INFO]   -> Found value: COOKEVILLE
[2026-03-04 03:30:45] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-04 03:30:45] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-04 03:30:45] [INFO]   -> Found value: HIDDEN COVE
[2026-03-04 03:30:45] [INFO]   -> Set field 'streetName' = "HIDDEN COVE"
[2026-03-04 03:30:45] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-04 03:30:45] [INFO]   -> Found value: RD
[2026-03-04 03:30:45] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-04 03:30:45] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-04 03:30:45] [INFO]   -> Found value: 2375 HIDDEN COVE RD
[2026-03-04 03:30:45] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "2375 HIDDEN COVE RD"
[2026-03-04 03:30:45] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-04 03:30:45] [INFO] Concatenating street name and type
[2026-03-04 03:30:45] [INFO]   -> Combined street name: HIDDEN COVE RD
[2026-03-04 03:30:45] [INFO] Built locationCoordinates from lat/lng: 36.0961,-85.47417
[2026-03-04 03:30:45] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nPCSO\nEMS","incidentInternalId":"2026000590","dispatchRunNumber":"2026000590","incidentTypeValue1":"RESIDENTIAL FIRE","incidentLocationStreetNumber":2375,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.09609999999999985220711096189916133880615234375,"nERISIncidentLongitude":-85.4741700000000008685674401931464672088623046875,"alarm":"2026-03-03 21:27:55","dispatched":"2026-03-03 21:29:47","enroute":"2026-03-03 21:30:37","incidentLocationCross":"STONE SEMINARY RD\/WHIPPOORWILL HILL RD","cADVehicleID":"TK21","timedispatch":"2026-03-03 21:30:37","timeenroutetoscene":"2026-03-03 21:30:37","policeReportNumber":"20260023658","dispatchNotes":"FIRE ALARMS GOING OFF IN BACKGROUND  [03\/03\/26 21:30:24 EROACH] EVERYONE IS OUT OF THE HOUSE  [03\/03\/26 21:30:01 EROACH] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/03\/26 21:29:47 BAHARRIS] 51 YO FEMALE  [03\/03\/26 21:29:39 EROACH] CALLER IS HAVING A HARD TIME BREATHING\/\/ POSSIBLE SMOKE INHALATION  [03\/03\/26 21:29:23 EROACH] OVEN ON FIRE\/\/ HOSUE IS FILLED WITH SMOKE  [03\/03\/26 21:28:44 EROACH]","cADLog":"FIRE ALARMS GOING OFF IN BACKGROUND  [03\/03\/26 21:30:24 EROACH] EVERYONE IS OUT OF THE HOUSE  [03\/03\/26 21:30:01 EROACH] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/03\/26 21:29:47 BAHARRIS] 51 YO FEMALE  [03\/03\/26 21:29:39 EROACH] CALLER IS HAVING A HARD TIME BREATHING\/\/ POSSIBLE SMOKE INHALATION  [03\/03\/26 21:29:23 EROACH] OVEN ON FIRE\/\/ HOSUE IS FILLED WITH SMOKE  [03\/03\/26 21:28:44 EROACH]","incidentLocationCity":"COOKEVILLE","streetName":"HIDDEN COVE RD","incidentAddressTextVersionStreet":"2375 HIDDEN COVE RD","locationCoordinates":"36.0961,-85.47417"}
[2026-03-04 03:30:45] [INFO] Number of extracted fields: 23
[2026-03-04 03:30:45] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
PCSO
EMS'
[2026-03-04 03:30:45] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
PCSO
EMS', Parsed IDs = ["PCFD","PCSO","EMS"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-04 03:30:45] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","PCSO","EMS"]
[2026-03-04 03:30:45] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-04 03:30:45] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-04 03:30:45] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["PCSO","EMS"]
[2026-03-04 03:30:45] [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-03-04 03:30:45] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-04 03:30:45] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-04 03:30:45] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-04 03:30:45] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-04 03:30:45] [INFO] Found existing IncidentTypeMapping with ID: 693a30ec30d9fce11
[2026-03-04 03:30:56] [INFO] Created new Dispatches record with ID: 69a7a766282554cab
[2026-03-04 03:30:56] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023658_20260304_033045.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-04/PCFD_20260023658_20260304_033045.XML
[2026-03-04 03:30:56] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023658_20260304_033045.XML
[2026-03-04 03:30:56] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023658_20260304_033049.XML
[2026-03-04 03:30:56] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023658_20260304_033049.XML for user: 68f1466aed072ad4a
[2026-03-04 03:30:56] [INFO] File size: 7858 bytes
[2026-03-04 03:30:56] [INFO] Created FTPFiles record with ID: 69a7a770c7ade4560
[2026-03-04 03:30:56] [INFO] About to extract fields from XML. File size: 7858 bytes
[2026-03-04 03:30:56] [INFO] Number of mappings: 28
[2026-03-04 03:30:56] [INFO] Starting XML parsing. Content length: 7858
[2026-03-04 03:30:56] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-04 03:30:56] [INFO] Processing 28 field mappings
[2026-03-04 03:30:56] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-04 03:30:56] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-04 03:30:56] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-04 03:30:56] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-04 03:30:56] [INFO]   -> Found value: PCFD
PCSO
EMS
[2026-03-04 03:30:56] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nPCSO\nEMS"
[2026-03-04 03:30:56] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-04 03:30:56] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-04 03:30:56] [INFO]   -> Found value: 2026000590
[2026-03-04 03:30:56] [INFO]   -> Set field 'incidentInternalId' = "2026000590"
[2026-03-04 03:30:56] [INFO]   -> Set field 'dispatchRunNumber' = "2026000590"
[2026-03-04 03:30:56] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-04 03:30:56] [INFO]   -> Found value: RESIDENTIAL FIRE
[2026-03-04 03:30:56] [INFO]   -> Set field 'incidentTypeValue1' = "RESIDENTIAL FIRE"
[2026-03-04 03:30:56] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-04 03:30:56] [INFO]   -> Found value: 2375
[2026-03-04 03:30:56] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2375
[2026-03-04 03:30:56] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-04 03:30:56] [INFO]   -> Found value: TN
[2026-03-04 03:30:56] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-04 03:30:56] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-04 03:30:56] [INFO]   -> Found value: 38506
[2026-03-04 03:30:56] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-04 03:30:56] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-04 03:30:56] [INFO]   -> No value found (null or empty)
[2026-03-04 03:30:56] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-04 03:30:56] [INFO]   -> No value found (null or empty)
[2026-03-04 03:30:56] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-04 03:30:56] [INFO]   -> Found value: 36.09610
[2026-03-04 03:30:56] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.09609999999999985220711096189916133880615234375
[2026-03-04 03:30:56] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-04 03:30:56] [INFO]   -> Found value: -85.47417
[2026-03-04 03:30:56] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4741700000000008685674401931464672088623046875
[2026-03-04 03:30:56] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-04 03:30:56] [INFO]   -> Found value: 2026-03-03 21:27:55
[2026-03-04 03:30:56] [INFO]   -> Set field 'alarm' = "2026-03-03 21:27:55"
[2026-03-04 03:30:56] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-04 03:30:56] [INFO]   -> Found value: 2026-03-03 21:29:47
[2026-03-04 03:30:56] [INFO]   -> Set field 'dispatched' = "2026-03-03 21:29:47"
[2026-03-04 03:30:56] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-04 03:30:56] [INFO]   -> Found value: 2026-03-03 21:30:37
[2026-03-04 03:30:56] [INFO]   -> Set field 'enroute' = "2026-03-03 21:30:37"
[2026-03-04 03:30:56] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-04 03:30:56] [INFO]   -> No value found (null or empty)
[2026-03-04 03:30:56] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-04 03:30:56] [INFO]   -> No value found (null or empty)
[2026-03-04 03:30:56] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-04 03:30:56] [INFO]   -> Found value: STONE SEMINARY RD/WHIPPOORWILL HILL RD
[2026-03-04 03:30:56] [INFO]   -> Set field 'incidentLocationCross' = "STONE SEMINARY RD\/WHIPPOORWILL HILL RD"
[2026-03-04 03:30:56] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-04 03:30:56] [INFO]   -> Found value: TK12
[2026-03-04 03:30:56] [INFO]   -> Set field 'cADVehicleID' = "TK12"
[2026-03-04 03:30:56] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-04 03:30:56] [INFO]   -> Found value: 2026-03-03 21:30:44
[2026-03-04 03:30:56] [INFO]   -> Set field 'timedispatch' = "2026-03-03 21:30:44"
[2026-03-04 03:30:56] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-04 03:30:56] [INFO]   -> Found value: 2026-03-03 21:30:44
[2026-03-04 03:30:56] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-03 21:30:44"
[2026-03-04 03:30:56] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-04 03:30:56] [INFO]   -> No value found (null or empty)
[2026-03-04 03:30:56] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-04 03:30:56] [INFO]   -> No value found (null or empty)
[2026-03-04 03:30:56] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-04 03:30:56] [INFO]   -> No value found (null or empty)
[2026-03-04 03:30:56] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-04 03:30:56] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-04 03:30:56] [INFO]   -> Found value: 20260023658
[2026-03-04 03:30:56] [INFO]   -> Set field 'policeReportNumber' = "20260023658"
[2026-03-04 03:30:56] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-04 03:30:56] [INFO]   -> Found value: FIRE ALARMS GOING OFF IN BACKGROUND  [03/03/26 21:30:24 EROACH] EVERYONE IS OUT OF THE HOUSE  [03/03...
[2026-03-04 03:30:56] [INFO]   -> Set field 'dispatchNotes' = "FIRE ALARMS GOING OFF IN BACKGROUND  [03\/03\/26 21:30:24 EROACH] EVERYONE IS OUT OF THE HOUSE  [03\/03\/26 21:30:01 EROACH] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/03\/26 21:29:47 BAHARRIS] 51 YO FEMALE  [03\/03\/26 21:29:39 EROACH] CALLER IS HAVING A HARD TIME BREATHING\/\/ POSSIBLE SMOKE INHALATION  [03\/03\/26 21:29:23 EROACH] OVEN ON FIRE\/\/ HOSUE IS FILLED WITH SMOKE  [03\/03\/26 21:28:44 EROACH]"
[2026-03-04 03:30:56] [INFO]   -> Set field 'cADLog' = "FIRE ALARMS GOING OFF IN BACKGROUND  [03\/03\/26 21:30:24 EROACH] EVERYONE IS OUT OF THE HOUSE  [03\/03\/26 21:30:01 EROACH] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/03\/26 21:29:47 BAHARRIS] 51 YO FEMALE  [03\/03\/26 21:29:39 EROACH] CALLER IS HAVING A HARD TIME BREATHING\/\/ POSSIBLE SMOKE INHALATION  [03\/03\/26 21:29:23 EROACH] OVEN ON FIRE\/\/ HOSUE IS FILLED WITH SMOKE  [03\/03\/26 21:28:44 EROACH]"
[2026-03-04 03:30:56] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-04 03:30:56] [INFO]   -> Found value: COOKEVILLE
[2026-03-04 03:30:56] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-04 03:30:56] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-04 03:30:56] [INFO]   -> Found value: HIDDEN COVE
[2026-03-04 03:30:56] [INFO]   -> Set field 'streetName' = "HIDDEN COVE"
[2026-03-04 03:30:56] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-04 03:30:56] [INFO]   -> Found value: RD
[2026-03-04 03:30:56] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-04 03:30:56] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-04 03:30:56] [INFO]   -> Found value: 2375 HIDDEN COVE RD
[2026-03-04 03:30:56] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "2375 HIDDEN COVE RD"
[2026-03-04 03:30:56] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-04 03:30:56] [INFO] Concatenating street name and type
[2026-03-04 03:30:56] [INFO]   -> Combined street name: HIDDEN COVE RD
[2026-03-04 03:30:56] [INFO] Built locationCoordinates from lat/lng: 36.0961,-85.47417
[2026-03-04 03:30:56] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nPCSO\nEMS","incidentInternalId":"2026000590","dispatchRunNumber":"2026000590","incidentTypeValue1":"RESIDENTIAL FIRE","incidentLocationStreetNumber":2375,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.09609999999999985220711096189916133880615234375,"nERISIncidentLongitude":-85.4741700000000008685674401931464672088623046875,"alarm":"2026-03-03 21:27:55","dispatched":"2026-03-03 21:29:47","enroute":"2026-03-03 21:30:37","incidentLocationCross":"STONE SEMINARY RD\/WHIPPOORWILL HILL RD","cADVehicleID":"TK12","timedispatch":"2026-03-03 21:30:44","timeenroutetoscene":"2026-03-03 21:30:44","policeReportNumber":"20260023658","dispatchNotes":"FIRE ALARMS GOING OFF IN BACKGROUND  [03\/03\/26 21:30:24 EROACH] EVERYONE IS OUT OF THE HOUSE  [03\/03\/26 21:30:01 EROACH] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/03\/26 21:29:47 BAHARRIS] 51 YO FEMALE  [03\/03\/26 21:29:39 EROACH] CALLER IS HAVING A HARD TIME BREATHING\/\/ POSSIBLE SMOKE INHALATION  [03\/03\/26 21:29:23 EROACH] OVEN ON FIRE\/\/ HOSUE IS FILLED WITH SMOKE  [03\/03\/26 21:28:44 EROACH]","cADLog":"FIRE ALARMS GOING OFF IN BACKGROUND  [03\/03\/26 21:30:24 EROACH] EVERYONE IS OUT OF THE HOUSE  [03\/03\/26 21:30:01 EROACH] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/03\/26 21:29:47 BAHARRIS] 51 YO FEMALE  [03\/03\/26 21:29:39 EROACH] CALLER IS HAVING A HARD TIME BREATHING\/\/ POSSIBLE SMOKE INHALATION  [03\/03\/26 21:29:23 EROACH] OVEN ON FIRE\/\/ HOSUE IS FILLED WITH SMOKE  [03\/03\/26 21:28:44 EROACH]","incidentLocationCity":"COOKEVILLE","streetName":"HIDDEN COVE RD","incidentAddressTextVersionStreet":"2375 HIDDEN COVE RD","locationCoordinates":"36.0961,-85.47417"}
[2026-03-04 03:30:56] [INFO] Number of extracted fields: 23
[2026-03-04 03:30:56] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
PCSO
EMS'
[2026-03-04 03:30:56] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
PCSO
EMS', Parsed IDs = ["PCFD","PCSO","EMS"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-04 03:30:56] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","PCSO","EMS"]
[2026-03-04 03:30:56] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-04 03:30:56] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-04 03:30:56] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["PCSO","EMS"]
[2026-03-04 03: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-03-04 03: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-03-04 03:30:57] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-04 03:30:57] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-04 03:30:57] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-04 03:30:57] [INFO] Found existing IncidentTypeMapping with ID: 693a30ec30d9fce11
[2026-03-04 03:30:57] [INFO] Found existing Dispatch with cADNumber '2026000590', ID: 69a7a766282554cab - will update instead of create
[2026-03-04 03:30:57] [INFO] Updated existing Dispatches record with ID: 69a7a766282554cab
[2026-03-04 03:30:57] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023658_20260304_033049.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-04/PCFD_20260023658_20260304_033049.XML
[2026-03-04 03:30:57] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023658_20260304_033049.XML
[2026-03-04 03:30:57] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023658_20260304_033056.XML
[2026-03-04 03:30:57] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023658_20260304_033056.XML for user: 68f1466aed072ad4a
[2026-03-04 03:30:57] [INFO] File size: 8810 bytes
[2026-03-04 03:30:58] [INFO] Created FTPFiles record with ID: 69a7a7720819590e1
[2026-03-04 03:30:58] [INFO] About to extract fields from XML. File size: 8810 bytes
[2026-03-04 03:30:58] [INFO] Number of mappings: 28
[2026-03-04 03:30:58] [INFO] Starting XML parsing. Content length: 8810
[2026-03-04 03:30:58] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-04 03:30:58] [INFO] Processing 28 field mappings
[2026-03-04 03:30:58] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-04 03:30:58] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-04 03:30:58] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-04 03:30:58] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-04 03:30:58] [INFO]   -> Found value: PCFD
PCSO
EMS
[2026-03-04 03:30:58] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nPCSO\nEMS"
[2026-03-04 03:30:58] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-04 03:30:58] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-04 03:30:58] [INFO]   -> Found value: 2026000590
[2026-03-04 03:30:58] [INFO]   -> Set field 'incidentInternalId' = "2026000590"
[2026-03-04 03:30:58] [INFO]   -> Set field 'dispatchRunNumber' = "2026000590"
[2026-03-04 03:30:58] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-04 03:30:58] [INFO]   -> Found value: RESIDENTIAL FIRE
[2026-03-04 03:30:58] [INFO]   -> Set field 'incidentTypeValue1' = "RESIDENTIAL FIRE"
[2026-03-04 03:30:58] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-04 03:30:58] [INFO]   -> Found value: 2375
[2026-03-04 03:30:58] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2375
[2026-03-04 03:30:58] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-04 03:30:58] [INFO]   -> Found value: TN
[2026-03-04 03:30:58] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-04 03:30:58] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-04 03:30:58] [INFO]   -> Found value: 38506
[2026-03-04 03:30:58] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-04 03:30:58] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-04 03:30:58] [INFO]   -> No value found (null or empty)
[2026-03-04 03:30:58] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-04 03:30:58] [INFO]   -> No value found (null or empty)
[2026-03-04 03:30:58] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-04 03:30:58] [INFO]   -> Found value: 36.09610
[2026-03-04 03:30:58] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.09609999999999985220711096189916133880615234375
[2026-03-04 03:30:58] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-04 03:30:58] [INFO]   -> Found value: -85.47417
[2026-03-04 03:30:58] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4741700000000008685674401931464672088623046875
[2026-03-04 03:30:58] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-04 03:30:58] [INFO]   -> Found value: 2026-03-03 21:27:55
[2026-03-04 03:30:58] [INFO]   -> Set field 'alarm' = "2026-03-03 21:27:55"
[2026-03-04 03:30:58] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-04 03:30:58] [INFO]   -> Found value: 2026-03-03 21:29:47
[2026-03-04 03:30:58] [INFO]   -> Set field 'dispatched' = "2026-03-03 21:29:47"
[2026-03-04 03:30:58] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-04 03:30:58] [INFO]   -> Found value: 2026-03-03 21:30:37
[2026-03-04 03:30:58] [INFO]   -> Set field 'enroute' = "2026-03-03 21:30:37"
[2026-03-04 03:30:58] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-04 03:30:58] [INFO]   -> No value found (null or empty)
[2026-03-04 03:30:58] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-04 03:30:58] [INFO]   -> No value found (null or empty)
[2026-03-04 03:30:58] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-04 03:30:58] [INFO]   -> Found value: STONE SEMINARY RD/WHIPPOORWILL HILL RD
[2026-03-04 03:30:58] [INFO]   -> Set field 'incidentLocationCross' = "STONE SEMINARY RD\/WHIPPOORWILL HILL RD"
[2026-03-04 03:30:58] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-04 03:30:58] [INFO]   -> Found value: 953
[2026-03-04 03:30:58] [INFO]   -> Set field 'cADVehicleID' = 953
[2026-03-04 03:30:58] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-04 03:30:58] [INFO]   -> Found value: 2026-03-03 21:30:52
[2026-03-04 03:30:58] [INFO]   -> Set field 'timedispatch' = "2026-03-03 21:30:52"
[2026-03-04 03:30:58] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-04 03:30:58] [INFO]   -> Found value: 2026-03-03 21:30:52
[2026-03-04 03:30:58] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-03 21:30:52"
[2026-03-04 03:30:58] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-04 03:30:58] [INFO]   -> No value found (null or empty)
[2026-03-04 03:30:58] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-04 03:30:58] [INFO]   -> No value found (null or empty)
[2026-03-04 03:30:58] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-04 03:30:58] [INFO]   -> No value found (null or empty)
[2026-03-04 03:30:58] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-04 03:30:58] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-04 03:30:58] [INFO]   -> Found value: 20260023658
[2026-03-04 03:30:58] [INFO]   -> Set field 'policeReportNumber' = "20260023658"
[2026-03-04 03:30:58] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-04 03:30:58] [INFO]   -> Found value: [EMS] UDTS: READY-OP SENT  [03/03/26 21:30:48 EALMENDAREZ] FIRE ALARMS GOING OFF IN BACKGROUND  [03/...
[2026-03-04 03:30:58] [INFO]   -> Set field 'dispatchNotes' = "[EMS] UDTS: READY-OP SENT  [03\/03\/26 21:30:48 EALMENDAREZ] FIRE ALARMS GOING OFF IN BACKGROUND  [03\/03\/26 21:30:24 EROACH] EVERYONE IS OUT OF THE HOUSE  [03\/03\/26 21:30:01 EROACH] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/03\/26 21:29:47 BAHARRIS] 51 YO FEMALE  [03\/03\/26 21:29:39 EROACH] CALLER IS HAVING A HARD TIME BREATHING\/\/ POSSIBLE SMOKE INHALATION  [03\/03\/26 21:29:23 EROACH] OVEN ON FIRE\/\/ HOSUE IS FILLED WITH SMOKE  [03\/03\/26 21:28:44 EROACH]"
[2026-03-04 03:30:58] [INFO]   -> Set field 'cADLog' = "[EMS] UDTS: READY-OP SENT  [03\/03\/26 21:30:48 EALMENDAREZ] FIRE ALARMS GOING OFF IN BACKGROUND  [03\/03\/26 21:30:24 EROACH] EVERYONE IS OUT OF THE HOUSE  [03\/03\/26 21:30:01 EROACH] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/03\/26 21:29:47 BAHARRIS] 51 YO FEMALE  [03\/03\/26 21:29:39 EROACH] CALLER IS HAVING A HARD TIME BREATHING\/\/ POSSIBLE SMOKE INHALATION  [03\/03\/26 21:29:23 EROACH] OVEN ON FIRE\/\/ HOSUE IS FILLED WITH SMOKE  [03\/03\/26 21:28:44 EROACH]"
[2026-03-04 03:30:58] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-04 03:30:58] [INFO]   -> Found value: COOKEVILLE
[2026-03-04 03:30:58] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-04 03:30:58] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-04 03:30:58] [INFO]   -> Found value: HIDDEN COVE
[2026-03-04 03:30:58] [INFO]   -> Set field 'streetName' = "HIDDEN COVE"
[2026-03-04 03:30:58] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-04 03:30:58] [INFO]   -> Found value: RD
[2026-03-04 03:30:58] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-04 03:30:58] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-04 03:30:58] [INFO]   -> Found value: 2375 HIDDEN COVE RD
[2026-03-04 03:30:58] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "2375 HIDDEN COVE RD"
[2026-03-04 03:30:58] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-04 03:30:58] [INFO] Concatenating street name and type
[2026-03-04 03:30:58] [INFO]   -> Combined street name: HIDDEN COVE RD
[2026-03-04 03:30:58] [INFO] Built locationCoordinates from lat/lng: 36.0961,-85.47417
[2026-03-04 03:30:58] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nPCSO\nEMS","incidentInternalId":"2026000590","dispatchRunNumber":"2026000590","incidentTypeValue1":"RESIDENTIAL FIRE","incidentLocationStreetNumber":2375,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.09609999999999985220711096189916133880615234375,"nERISIncidentLongitude":-85.4741700000000008685674401931464672088623046875,"alarm":"2026-03-03 21:27:55","dispatched":"2026-03-03 21:29:47","enroute":"2026-03-03 21:30:37","incidentLocationCross":"STONE SEMINARY RD\/WHIPPOORWILL HILL RD","cADVehicleID":953,"timedispatch":"2026-03-03 21:30:52","timeenroutetoscene":"2026-03-03 21:30:52","policeReportNumber":"20260023658","dispatchNotes":"[EMS] UDTS: READY-OP SENT  [03\/03\/26 21:30:48 EALMENDAREZ] FIRE ALARMS GOING OFF IN BACKGROUND  [03\/03\/26 21:30:24 EROACH] EVERYONE IS OUT OF THE HOUSE  [03\/03\/26 21:30:01 EROACH] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/03\/26 21:29:47 BAHARRIS] 51 YO FEMALE  [03\/03\/26 21:29:39 EROACH] CALLER IS HAVING A HARD TIME BREATHING\/\/ POSSIBLE SMOKE INHALATION  [03\/03\/26 21:29:23 EROACH] OVEN ON FIRE\/\/ HOSUE IS FILLED WITH SMOKE  [03\/03\/26 21:28:44 EROACH]","cADLog":"[EMS] UDTS: READY-OP SENT  [03\/03\/26 21:30:48 EALMENDAREZ] FIRE ALARMS GOING OFF IN BACKGROUND  [03\/03\/26 21:30:24 EROACH] EVERYONE IS OUT OF THE HOUSE  [03\/03\/26 21:30:01 EROACH] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/03\/26 21:29:47 BAHARRIS] 51 YO FEMALE  [03\/03\/26 21:29:39 EROACH] CALLER IS HAVING A HARD TIME BREATHING\/\/ POSSIBLE SMOKE INHALATION  [03\/03\/26 21:29:23 EROACH] OVEN ON FIRE\/\/ HOSUE IS FILLED WITH SMOKE  [03\/03\/26 21:28:44 EROACH]","incidentLocationCity":"COOKEVILLE","streetName":"HIDDEN COVE RD","incidentAddressTextVersionStreet":"2375 HIDDEN COVE RD","locationCoordinates":"36.0961,-85.47417"}
[2026-03-04 03:30:58] [INFO] Number of extracted fields: 23
[2026-03-04 03:30:58] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
PCSO
EMS'
[2026-03-04 03:30:58] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
PCSO
EMS', Parsed IDs = ["PCFD","PCSO","EMS"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-04 03:30:58] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","PCSO","EMS"]
[2026-03-04 03:30:58] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-04 03:30:58] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-04 03:30:58] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["PCSO","EMS"]
[2026-03-04 03:30:58] [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-03-04 03:30:58] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-04 03:30:58] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-04 03:30:58] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-04 03:30:58] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-04 03:30:58] [INFO] Found existing IncidentTypeMapping with ID: 693a30ec30d9fce11
[2026-03-04 03:30:58] [INFO] Found existing Dispatch with cADNumber '2026000590', ID: 69a7a766282554cab - will update instead of create
[2026-03-04 03:30:58] [INFO] Updated existing Dispatches record with ID: 69a7a766282554cab
[2026-03-04 03:30:58] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023658_20260304_033056.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-04/PCFD_20260023658_20260304_033056.XML
[2026-03-04 03:30:58] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023658_20260304_033056.XML
[2026-03-04 03:30:58] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023658_20260304_033056_1.XML
[2026-03-04 03:30:58] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023658_20260304_033056_1.XML for user: 68f1466aed072ad4a
[2026-03-04 03:30:58] [INFO] File size: 8810 bytes
[2026-03-04 03:30:59] [INFO] Created FTPFiles record with ID: 69a7a7732fc90c41d
[2026-03-04 03:30:59] [INFO] About to extract fields from XML. File size: 8810 bytes
[2026-03-04 03:30:59] [INFO] Number of mappings: 28
[2026-03-04 03:30:59] [INFO] Starting XML parsing. Content length: 8810
[2026-03-04 03:30:59] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-04 03:30:59] [INFO] Processing 28 field mappings
[2026-03-04 03:30:59] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-04 03:30:59] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-04 03:30:59] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-04 03:30:59] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-04 03:30:59] [INFO]   -> Found value: PCFD
PCSO
EMS
[2026-03-04 03:30:59] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nPCSO\nEMS"
[2026-03-04 03:30:59] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-04 03:30:59] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-04 03:30:59] [INFO]   -> Found value: 2026000590
[2026-03-04 03:30:59] [INFO]   -> Set field 'incidentInternalId' = "2026000590"
[2026-03-04 03:30:59] [INFO]   -> Set field 'dispatchRunNumber' = "2026000590"
[2026-03-04 03:30:59] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-04 03:30:59] [INFO]   -> Found value: RESIDENTIAL FIRE
[2026-03-04 03:30:59] [INFO]   -> Set field 'incidentTypeValue1' = "RESIDENTIAL FIRE"
[2026-03-04 03:30:59] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-04 03:30:59] [INFO]   -> Found value: 2375
[2026-03-04 03:30:59] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2375
[2026-03-04 03:30:59] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-04 03:30:59] [INFO]   -> Found value: TN
[2026-03-04 03:30:59] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-04 03:30:59] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-04 03:30:59] [INFO]   -> Found value: 38506
[2026-03-04 03:30:59] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-04 03:30:59] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-04 03:30:59] [INFO]   -> No value found (null or empty)
[2026-03-04 03:30:59] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-04 03:30:59] [INFO]   -> No value found (null or empty)
[2026-03-04 03:30:59] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-04 03:30:59] [INFO]   -> Found value: 36.09610
[2026-03-04 03:30:59] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.09609999999999985220711096189916133880615234375
[2026-03-04 03:30:59] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-04 03:30:59] [INFO]   -> Found value: -85.47417
[2026-03-04 03:30:59] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4741700000000008685674401931464672088623046875
[2026-03-04 03:30:59] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-04 03:30:59] [INFO]   -> Found value: 2026-03-03 21:27:55
[2026-03-04 03:30:59] [INFO]   -> Set field 'alarm' = "2026-03-03 21:27:55"
[2026-03-04 03:30:59] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-04 03:30:59] [INFO]   -> Found value: 2026-03-03 21:29:47
[2026-03-04 03:30:59] [INFO]   -> Set field 'dispatched' = "2026-03-03 21:29:47"
[2026-03-04 03:30:59] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-04 03:30:59] [INFO]   -> Found value: 2026-03-03 21:30:37
[2026-03-04 03:30:59] [INFO]   -> Set field 'enroute' = "2026-03-03 21:30:37"
[2026-03-04 03:30:59] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-04 03:30:59] [INFO]   -> No value found (null or empty)
[2026-03-04 03:30:59] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-04 03:30:59] [INFO]   -> No value found (null or empty)
[2026-03-04 03:30:59] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-04 03:30:59] [INFO]   -> Found value: STONE SEMINARY RD/WHIPPOORWILL HILL RD
[2026-03-04 03:30:59] [INFO]   -> Set field 'incidentLocationCross' = "STONE SEMINARY RD\/WHIPPOORWILL HILL RD"
[2026-03-04 03:30:59] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-04 03:30:59] [INFO]   -> Found value: 953
[2026-03-04 03:30:59] [INFO]   -> Set field 'cADVehicleID' = 953
[2026-03-04 03:30:59] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-04 03:30:59] [INFO]   -> Found value: 2026-03-03 21:30:52
[2026-03-04 03:30:59] [INFO]   -> Set field 'timedispatch' = "2026-03-03 21:30:52"
[2026-03-04 03:30:59] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-04 03:30:59] [INFO]   -> Found value: 2026-03-03 21:30:52
[2026-03-04 03:30:59] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-03 21:30:52"
[2026-03-04 03:30:59] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-04 03:30:59] [INFO]   -> No value found (null or empty)
[2026-03-04 03:30:59] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-04 03:30:59] [INFO]   -> No value found (null or empty)
[2026-03-04 03:30:59] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-04 03:30:59] [INFO]   -> No value found (null or empty)
[2026-03-04 03:30:59] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-04 03:30:59] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-04 03:30:59] [INFO]   -> Found value: 20260023658
[2026-03-04 03:30:59] [INFO]   -> Set field 'policeReportNumber' = "20260023658"
[2026-03-04 03:30:59] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-04 03:30:59] [INFO]   -> Found value: [EMS] UDTS: READY-OP SENT  [03/03/26 21:30:48 EALMENDAREZ] FIRE ALARMS GOING OFF IN BACKGROUND  [03/...
[2026-03-04 03:30:59] [INFO]   -> Set field 'dispatchNotes' = "[EMS] UDTS: READY-OP SENT  [03\/03\/26 21:30:48 EALMENDAREZ] FIRE ALARMS GOING OFF IN BACKGROUND  [03\/03\/26 21:30:24 EROACH] EVERYONE IS OUT OF THE HOUSE  [03\/03\/26 21:30:01 EROACH] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/03\/26 21:29:47 BAHARRIS] 51 YO FEMALE  [03\/03\/26 21:29:39 EROACH] CALLER IS HAVING A HARD TIME BREATHING\/\/ POSSIBLE SMOKE INHALATION  [03\/03\/26 21:29:23 EROACH] OVEN ON FIRE\/\/ HOSUE IS FILLED WITH SMOKE  [03\/03\/26 21:28:44 EROACH]"
[2026-03-04 03:30:59] [INFO]   -> Set field 'cADLog' = "[EMS] UDTS: READY-OP SENT  [03\/03\/26 21:30:48 EALMENDAREZ] FIRE ALARMS GOING OFF IN BACKGROUND  [03\/03\/26 21:30:24 EROACH] EVERYONE IS OUT OF THE HOUSE  [03\/03\/26 21:30:01 EROACH] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/03\/26 21:29:47 BAHARRIS] 51 YO FEMALE  [03\/03\/26 21:29:39 EROACH] CALLER IS HAVING A HARD TIME BREATHING\/\/ POSSIBLE SMOKE INHALATION  [03\/03\/26 21:29:23 EROACH] OVEN ON FIRE\/\/ HOSUE IS FILLED WITH SMOKE  [03\/03\/26 21:28:44 EROACH]"
[2026-03-04 03:30:59] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-04 03:30:59] [INFO]   -> Found value: COOKEVILLE
[2026-03-04 03:30:59] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-04 03:30:59] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-04 03:30:59] [INFO]   -> Found value: HIDDEN COVE
[2026-03-04 03:30:59] [INFO]   -> Set field 'streetName' = "HIDDEN COVE"
[2026-03-04 03:30:59] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-04 03:30:59] [INFO]   -> Found value: RD
[2026-03-04 03:30:59] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-04 03:30:59] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-04 03:30:59] [INFO]   -> Found value: 2375 HIDDEN COVE RD
[2026-03-04 03:30:59] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "2375 HIDDEN COVE RD"
[2026-03-04 03:30:59] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-04 03:30:59] [INFO] Concatenating street name and type
[2026-03-04 03:30:59] [INFO]   -> Combined street name: HIDDEN COVE RD
[2026-03-04 03:30:59] [INFO] Built locationCoordinates from lat/lng: 36.0961,-85.47417
[2026-03-04 03:30:59] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nPCSO\nEMS","incidentInternalId":"2026000590","dispatchRunNumber":"2026000590","incidentTypeValue1":"RESIDENTIAL FIRE","incidentLocationStreetNumber":2375,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.09609999999999985220711096189916133880615234375,"nERISIncidentLongitude":-85.4741700000000008685674401931464672088623046875,"alarm":"2026-03-03 21:27:55","dispatched":"2026-03-03 21:29:47","enroute":"2026-03-03 21:30:37","incidentLocationCross":"STONE SEMINARY RD\/WHIPPOORWILL HILL RD","cADVehicleID":953,"timedispatch":"2026-03-03 21:30:52","timeenroutetoscene":"2026-03-03 21:30:52","policeReportNumber":"20260023658","dispatchNotes":"[EMS] UDTS: READY-OP SENT  [03\/03\/26 21:30:48 EALMENDAREZ] FIRE ALARMS GOING OFF IN BACKGROUND  [03\/03\/26 21:30:24 EROACH] EVERYONE IS OUT OF THE HOUSE  [03\/03\/26 21:30:01 EROACH] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/03\/26 21:29:47 BAHARRIS] 51 YO FEMALE  [03\/03\/26 21:29:39 EROACH] CALLER IS HAVING A HARD TIME BREATHING\/\/ POSSIBLE SMOKE INHALATION  [03\/03\/26 21:29:23 EROACH] OVEN ON FIRE\/\/ HOSUE IS FILLED WITH SMOKE  [03\/03\/26 21:28:44 EROACH]","cADLog":"[EMS] UDTS: READY-OP SENT  [03\/03\/26 21:30:48 EALMENDAREZ] FIRE ALARMS GOING OFF IN BACKGROUND  [03\/03\/26 21:30:24 EROACH] EVERYONE IS OUT OF THE HOUSE  [03\/03\/26 21:30:01 EROACH] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/03\/26 21:29:47 BAHARRIS] 51 YO FEMALE  [03\/03\/26 21:29:39 EROACH] CALLER IS HAVING A HARD TIME BREATHING\/\/ POSSIBLE SMOKE INHALATION  [03\/03\/26 21:29:23 EROACH] OVEN ON FIRE\/\/ HOSUE IS FILLED WITH SMOKE  [03\/03\/26 21:28:44 EROACH]","incidentLocationCity":"COOKEVILLE","streetName":"HIDDEN COVE RD","incidentAddressTextVersionStreet":"2375 HIDDEN COVE RD","locationCoordinates":"36.0961,-85.47417"}
[2026-03-04 03:30:59] [INFO] Number of extracted fields: 23
[2026-03-04 03:30:59] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
PCSO
EMS'
[2026-03-04 03:30:59] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
PCSO
EMS', Parsed IDs = ["PCFD","PCSO","EMS"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-04 03:30:59] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","PCSO","EMS"]
[2026-03-04 03:30:59] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-04 03:30:59] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-04 03:30:59] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["PCSO","EMS"]
[2026-03-04 03:30:59] [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-03-04 03:30:59] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-04 03:30:59] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-04 03:30:59] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-04 03:30:59] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-04 03:30:59] [INFO] Found existing IncidentTypeMapping with ID: 693a30ec30d9fce11
[2026-03-04 03:30:59] [INFO] Found existing Dispatch with cADNumber '2026000590', ID: 69a7a766282554cab - will update instead of create
[2026-03-04 03:31:00] [INFO] Updated existing Dispatches record with ID: 69a7a766282554cab
[2026-03-04 03:31:00] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023658_20260304_033056_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-04/PCFD_20260023658_20260304_033056_1.XML
[2026-03-04 03:31:00] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023658_20260304_033056_1.XML
[2026-03-04 03:31:00] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023658_20260304_033056_2.XML
[2026-03-04 03:31:00] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023658_20260304_033056_2.XML for user: 68f1466aed072ad4a
[2026-03-04 03:31:00] [INFO] File size: 8810 bytes
[2026-03-04 03:31:00] [INFO] Created FTPFiles record with ID: 69a7a7749b43eaecf
[2026-03-04 03:31:00] [INFO] About to extract fields from XML. File size: 8810 bytes
[2026-03-04 03:31:00] [INFO] Number of mappings: 28
[2026-03-04 03:31:00] [INFO] Starting XML parsing. Content length: 8810
[2026-03-04 03:31:00] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-04 03:31:00] [INFO] Processing 28 field mappings
[2026-03-04 03:31:00] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-04 03:31:00] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-04 03:31:00] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-04 03:31:00] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-04 03:31:00] [INFO]   -> Found value: PCFD
PCSO
EMS
[2026-03-04 03:31:00] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nPCSO\nEMS"
[2026-03-04 03:31:00] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-04 03:31:00] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-04 03:31:00] [INFO]   -> Found value: 2026000590
[2026-03-04 03:31:00] [INFO]   -> Set field 'incidentInternalId' = "2026000590"
[2026-03-04 03:31:00] [INFO]   -> Set field 'dispatchRunNumber' = "2026000590"
[2026-03-04 03:31:00] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-04 03:31:00] [INFO]   -> Found value: RESIDENTIAL FIRE
[2026-03-04 03:31:00] [INFO]   -> Set field 'incidentTypeValue1' = "RESIDENTIAL FIRE"
[2026-03-04 03:31:00] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-04 03:31:00] [INFO]   -> Found value: 2375
[2026-03-04 03:31:00] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2375
[2026-03-04 03:31:00] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-04 03:31:00] [INFO]   -> Found value: TN
[2026-03-04 03:31:00] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-04 03:31:00] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-04 03:31:00] [INFO]   -> Found value: 38506
[2026-03-04 03:31:00] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-04 03:31:00] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-04 03:31:00] [INFO]   -> No value found (null or empty)
[2026-03-04 03:31:00] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-04 03:31:00] [INFO]   -> No value found (null or empty)
[2026-03-04 03:31:00] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-04 03:31:00] [INFO]   -> Found value: 36.09610
[2026-03-04 03:31:00] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.09609999999999985220711096189916133880615234375
[2026-03-04 03:31:00] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-04 03:31:00] [INFO]   -> Found value: -85.47417
[2026-03-04 03:31:00] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4741700000000008685674401931464672088623046875
[2026-03-04 03:31:00] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-04 03:31:00] [INFO]   -> Found value: 2026-03-03 21:27:55
[2026-03-04 03:31:00] [INFO]   -> Set field 'alarm' = "2026-03-03 21:27:55"
[2026-03-04 03:31:00] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-04 03:31:00] [INFO]   -> Found value: 2026-03-03 21:29:47
[2026-03-04 03:31:00] [INFO]   -> Set field 'dispatched' = "2026-03-03 21:29:47"
[2026-03-04 03:31:00] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-04 03:31:00] [INFO]   -> Found value: 2026-03-03 21:30:37
[2026-03-04 03:31:00] [INFO]   -> Set field 'enroute' = "2026-03-03 21:30:37"
[2026-03-04 03:31:00] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-04 03:31:00] [INFO]   -> No value found (null or empty)
[2026-03-04 03:31:00] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-04 03:31:00] [INFO]   -> No value found (null or empty)
[2026-03-04 03:31:00] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-04 03:31:00] [INFO]   -> Found value: STONE SEMINARY RD/WHIPPOORWILL HILL RD
[2026-03-04 03:31:00] [INFO]   -> Set field 'incidentLocationCross' = "STONE SEMINARY RD\/WHIPPOORWILL HILL RD"
[2026-03-04 03:31:00] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-04 03:31:00] [INFO]   -> Found value: 953
[2026-03-04 03:31:00] [INFO]   -> Set field 'cADVehicleID' = 953
[2026-03-04 03:31:00] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-04 03:31:00] [INFO]   -> Found value: 2026-03-03 21:30:52
[2026-03-04 03:31:00] [INFO]   -> Set field 'timedispatch' = "2026-03-03 21:30:52"
[2026-03-04 03:31:00] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-04 03:31:00] [INFO]   -> Found value: 2026-03-03 21:30:52
[2026-03-04 03:31:00] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-03 21:30:52"
[2026-03-04 03:31:00] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-04 03:31:00] [INFO]   -> No value found (null or empty)
[2026-03-04 03:31:00] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-04 03:31:00] [INFO]   -> No value found (null or empty)
[2026-03-04 03:31:00] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-04 03:31:00] [INFO]   -> No value found (null or empty)
[2026-03-04 03:31:00] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-04 03:31:00] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-04 03:31:00] [INFO]   -> Found value: 20260023658
[2026-03-04 03:31:00] [INFO]   -> Set field 'policeReportNumber' = "20260023658"
[2026-03-04 03:31:00] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-04 03:31:00] [INFO]   -> Found value: [EMS] UDTS: READY-OP SENT  [03/03/26 21:30:48 EALMENDAREZ] FIRE ALARMS GOING OFF IN BACKGROUND  [03/...
[2026-03-04 03:31:00] [INFO]   -> Set field 'dispatchNotes' = "[EMS] UDTS: READY-OP SENT  [03\/03\/26 21:30:48 EALMENDAREZ] FIRE ALARMS GOING OFF IN BACKGROUND  [03\/03\/26 21:30:24 EROACH] EVERYONE IS OUT OF THE HOUSE  [03\/03\/26 21:30:01 EROACH] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/03\/26 21:29:47 BAHARRIS] 51 YO FEMALE  [03\/03\/26 21:29:39 EROACH] CALLER IS HAVING A HARD TIME BREATHING\/\/ POSSIBLE SMOKE INHALATION  [03\/03\/26 21:29:23 EROACH] OVEN ON FIRE\/\/ HOSUE IS FILLED WITH SMOKE  [03\/03\/26 21:28:44 EROACH]"
[2026-03-04 03:31:00] [INFO]   -> Set field 'cADLog' = "[EMS] UDTS: READY-OP SENT  [03\/03\/26 21:30:48 EALMENDAREZ] FIRE ALARMS GOING OFF IN BACKGROUND  [03\/03\/26 21:30:24 EROACH] EVERYONE IS OUT OF THE HOUSE  [03\/03\/26 21:30:01 EROACH] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/03\/26 21:29:47 BAHARRIS] 51 YO FEMALE  [03\/03\/26 21:29:39 EROACH] CALLER IS HAVING A HARD TIME BREATHING\/\/ POSSIBLE SMOKE INHALATION  [03\/03\/26 21:29:23 EROACH] OVEN ON FIRE\/\/ HOSUE IS FILLED WITH SMOKE  [03\/03\/26 21:28:44 EROACH]"
[2026-03-04 03:31:00] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-04 03:31:00] [INFO]   -> Found value: COOKEVILLE
[2026-03-04 03:31:00] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-04 03:31:00] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-04 03:31:00] [INFO]   -> Found value: HIDDEN COVE
[2026-03-04 03:31:00] [INFO]   -> Set field 'streetName' = "HIDDEN COVE"
[2026-03-04 03:31:00] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-04 03:31:00] [INFO]   -> Found value: RD
[2026-03-04 03:31:00] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-04 03:31:00] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-04 03:31:00] [INFO]   -> Found value: 2375 HIDDEN COVE RD
[2026-03-04 03:31:00] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "2375 HIDDEN COVE RD"
[2026-03-04 03:31:00] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-04 03:31:00] [INFO] Concatenating street name and type
[2026-03-04 03:31:00] [INFO]   -> Combined street name: HIDDEN COVE RD
[2026-03-04 03:31:00] [INFO] Built locationCoordinates from lat/lng: 36.0961,-85.47417
[2026-03-04 03:31:00] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nPCSO\nEMS","incidentInternalId":"2026000590","dispatchRunNumber":"2026000590","incidentTypeValue1":"RESIDENTIAL FIRE","incidentLocationStreetNumber":2375,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.09609999999999985220711096189916133880615234375,"nERISIncidentLongitude":-85.4741700000000008685674401931464672088623046875,"alarm":"2026-03-03 21:27:55","dispatched":"2026-03-03 21:29:47","enroute":"2026-03-03 21:30:37","incidentLocationCross":"STONE SEMINARY RD\/WHIPPOORWILL HILL RD","cADVehicleID":953,"timedispatch":"2026-03-03 21:30:52","timeenroutetoscene":"2026-03-03 21:30:52","policeReportNumber":"20260023658","dispatchNotes":"[EMS] UDTS: READY-OP SENT  [03\/03\/26 21:30:48 EALMENDAREZ] FIRE ALARMS GOING OFF IN BACKGROUND  [03\/03\/26 21:30:24 EROACH] EVERYONE IS OUT OF THE HOUSE  [03\/03\/26 21:30:01 EROACH] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/03\/26 21:29:47 BAHARRIS] 51 YO FEMALE  [03\/03\/26 21:29:39 EROACH] CALLER IS HAVING A HARD TIME BREATHING\/\/ POSSIBLE SMOKE INHALATION  [03\/03\/26 21:29:23 EROACH] OVEN ON FIRE\/\/ HOSUE IS FILLED WITH SMOKE  [03\/03\/26 21:28:44 EROACH]","cADLog":"[EMS] UDTS: READY-OP SENT  [03\/03\/26 21:30:48 EALMENDAREZ] FIRE ALARMS GOING OFF IN BACKGROUND  [03\/03\/26 21:30:24 EROACH] EVERYONE IS OUT OF THE HOUSE  [03\/03\/26 21:30:01 EROACH] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/03\/26 21:29:47 BAHARRIS] 51 YO FEMALE  [03\/03\/26 21:29:39 EROACH] CALLER IS HAVING A HARD TIME BREATHING\/\/ POSSIBLE SMOKE INHALATION  [03\/03\/26 21:29:23 EROACH] OVEN ON FIRE\/\/ HOSUE IS FILLED WITH SMOKE  [03\/03\/26 21:28:44 EROACH]","incidentLocationCity":"COOKEVILLE","streetName":"HIDDEN COVE RD","incidentAddressTextVersionStreet":"2375 HIDDEN COVE RD","locationCoordinates":"36.0961,-85.47417"}
[2026-03-04 03:31:00] [INFO] Number of extracted fields: 23
[2026-03-04 03:31:00] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
PCSO
EMS'
[2026-03-04 03:31:00] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
PCSO
EMS', Parsed IDs = ["PCFD","PCSO","EMS"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-04 03:31:00] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","PCSO","EMS"]
[2026-03-04 03:31:00] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-04 03:31:00] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-04 03:31:00] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["PCSO","EMS"]
[2026-03-04 03:31:00] [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-03-04 03:31:00] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-04 03:31:00] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-04 03:31:00] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-04 03:31:00] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-04 03:31:01] [INFO] Found existing IncidentTypeMapping with ID: 693a30ec30d9fce11
[2026-03-04 03:31:01] [INFO] Found existing Dispatch with cADNumber '2026000590', ID: 69a7a766282554cab - will update instead of create
[2026-03-04 03:31:01] [INFO] Updated existing Dispatches record with ID: 69a7a766282554cab
[2026-03-04 03:31:01] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023658_20260304_033056_2.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-04/PCFD_20260023658_20260304_033056_2.XML
[2026-03-04 03:31:01] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023658_20260304_033056_2.XML
[2026-03-04 13:54:33] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014289.xml
[2026-03-04 13:54:33] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014289.xml for user: 69320e6a9e3e5ef71
[2026-03-04 13:54:33] [INFO] File size: 8405 bytes
[2026-03-04 13:54:33] [INFO] Created FTPFiles record with ID: 69a83999639206451
[2026-03-04 13:54:33] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-04 13:54:33] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014289.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-04/cfs_2026-014289.xml
[2026-03-04 13:54:33] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014289.xml
[2026-03-04 13:58:30] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023766_20260304_135830.XML
[2026-03-04 13:58:30] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023766_20260304_135830.XML for user: 68f1466aed072ad4a
[2026-03-04 13:58:30] [INFO] File size: 5323 bytes
[2026-03-04 13:58:31] [INFO] Created FTPFiles record with ID: 69a83a871eae4f590
[2026-03-04 13:58:31] [INFO] About to extract fields from XML. File size: 5323 bytes
[2026-03-04 13:58:31] [INFO] Number of mappings: 28
[2026-03-04 13:58:31] [INFO] Starting XML parsing. Content length: 5323
[2026-03-04 13:58:31] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-04 13:58:31] [INFO] Processing 28 field mappings
[2026-03-04 13:58:31] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-04 13:58:31] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-04 13:58:31] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-04 13:58:31] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-04 13:58:31] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-04 13:58:31] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-04 13:58:31] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-04 13:58:31] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-04 13:58:31] [INFO]   -> Found value: 2026000591
[2026-03-04 13:58:31] [INFO]   -> Set field 'incidentInternalId' = "2026000591"
[2026-03-04 13:58:31] [INFO]   -> Set field 'dispatchRunNumber' = "2026000591"
[2026-03-04 13:58:31] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-04 13:58:31] [INFO]   -> Found value: CHEST PAIN
[2026-03-04 13:58:31] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-03-04 13:58:31] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-04 13:58:31] [INFO]   -> Found value: 3225
[2026-03-04 13:58:31] [INFO]   -> Set field 'incidentLocationStreetNumber' = 3225
[2026-03-04 13:58:31] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-04 13:58:31] [INFO]   -> Found value: TN
[2026-03-04 13:58:31] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-04 13:58:31] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-04 13:58:31] [INFO]   -> Found value: 38506
[2026-03-04 13:58:31] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-04 13:58:31] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-04 13:58:31] [INFO]   -> No value found (null or empty)
[2026-03-04 13:58:31] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-04 13:58:31] [INFO]   -> No value found (null or empty)
[2026-03-04 13:58:31] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-04 13:58:31] [INFO]   -> Found value: 36.20956
[2026-03-04 13:58:31] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.20956000000000329919203068129718303680419921875
[2026-03-04 13:58:31] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-04 13:58:31] [INFO]   -> Found value: -85.46962
[2026-03-04 13:58:31] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4696200000000061436367104761302471160888671875
[2026-03-04 13:58:31] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-04 13:58:31] [INFO]   -> Found value: 2026-03-04 07:57:47
[2026-03-04 13:58:31] [INFO]   -> Set field 'alarm' = "2026-03-04 07:57:47"
[2026-03-04 13:58:31] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-04 13:58:31] [INFO]   -> Found value: 2026-03-04 07:58:27
[2026-03-04 13:58:31] [INFO]   -> Set field 'dispatched' = "2026-03-04 07:58:27"
[2026-03-04 13:58:31] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-04 13:58:31] [INFO]   -> No value found (null or empty)
[2026-03-04 13:58:31] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-04 13:58:31] [INFO]   -> No value found (null or empty)
[2026-03-04 13:58:31] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-04 13:58:31] [INFO]   -> No value found (null or empty)
[2026-03-04 13:58:31] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-04 13:58:31] [INFO]   -> Found value: /QUINLAND LAKE RD
[2026-03-04 13:58:31] [INFO]   -> Set field 'incidentLocationCross' = "\/QUINLAND LAKE RD"
[2026-03-04 13:58:31] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-04 13:58:31] [INFO]   -> Found value: PCFR
[2026-03-04 13:58:31] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-04 13:58:31] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-04 13:58:31] [INFO]   -> Found value: 2026-03-04 07:58:27
[2026-03-04 13:58:31] [INFO]   -> Set field 'timedispatch' = "2026-03-04 07:58:27"
[2026-03-04 13:58:31] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-04 13:58:31] [INFO]   -> No value found (null or empty)
[2026-03-04 13:58:31] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-04 13:58:31] [INFO]   -> No value found (null or empty)
[2026-03-04 13:58:31] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-04 13:58:31] [INFO]   -> No value found (null or empty)
[2026-03-04 13:58:31] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-04 13:58:31] [INFO]   -> No value found (null or empty)
[2026-03-04 13:58:31] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-04 13:58:31] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-04 13:58:31] [INFO]   -> Found value: 20260023766
[2026-03-04 13:58:31] [INFO]   -> Set field 'policeReportNumber' = "20260023766"
[2026-03-04 13:58:31] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-04 13:58:31] [INFO]   -> Found value: Event spawned from CHEST PAIN.  [03/04/2026 07:57:47 JBOHANNON]
[2026-03-04 13:58:31] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from CHEST PAIN.  [03\/04\/2026 07:57:47 JBOHANNON]"
[2026-03-04 13:58:31] [INFO]   -> Set field 'cADLog' = "Event spawned from CHEST PAIN.  [03\/04\/2026 07:57:47 JBOHANNON]"
[2026-03-04 13:58:31] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-04 13:58:31] [INFO]   -> Found value: COOKEVILLE
[2026-03-04 13:58:31] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-04 13:58:31] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-04 13:58:31] [INFO]   -> Found value: HANEY
[2026-03-04 13:58:31] [INFO]   -> Set field 'streetName' = "HANEY"
[2026-03-04 13:58:31] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-04 13:58:31] [INFO]   -> Found value: DR
[2026-03-04 13:58:31] [INFO]   -> Set field 'streetType' = "DR"
[2026-03-04 13:58:31] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-04 13:58:31] [INFO]   -> Found value: 3225 HANEY DR
[2026-03-04 13:58:31] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "3225 HANEY DR"
[2026-03-04 13:58:31] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-04 13:58:31] [INFO] Concatenating street name and type
[2026-03-04 13:58:31] [INFO]   -> Combined street name: HANEY DR
[2026-03-04 13:58:31] [INFO] Built locationCoordinates from lat/lng: 36.20956,-85.46962
[2026-03-04 13:58:31] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000591","dispatchRunNumber":"2026000591","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":3225,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.20956000000000329919203068129718303680419921875,"nERISIncidentLongitude":-85.4696200000000061436367104761302471160888671875,"alarm":"2026-03-04 07:57:47","dispatched":"2026-03-04 07:58:27","incidentLocationCross":"\/QUINLAND LAKE RD","cADVehicleID":"PCFR","timedispatch":"2026-03-04 07:58:27","policeReportNumber":"20260023766","dispatchNotes":"Event spawned from CHEST PAIN.  [03\/04\/2026 07:57:47 JBOHANNON]","cADLog":"Event spawned from CHEST PAIN.  [03\/04\/2026 07:57:47 JBOHANNON]","incidentLocationCity":"COOKEVILLE","streetName":"HANEY DR","incidentAddressTextVersionStreet":"3225 HANEY DR","locationCoordinates":"36.20956,-85.46962"}
[2026-03-04 13:58:31] [INFO] Number of extracted fields: 21
[2026-03-04 13:58:31] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-04 13:58:31] [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-03-04 13:58:31] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-04 13:58:31] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-04 13:58:31] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-04 13:58:31] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-04 13:58:31] [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-03-04 13:58:31] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-04 13:58:31] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-04 13:58:31] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-04 13:58:31] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-04 13:58:31] [INFO] Found existing IncidentTypeMapping with ID: 6939c33d3eae65119
[2026-03-04 13:58:42] [INFO] Created new Dispatches record with ID: 69a83a87e7bf74aaf
[2026-03-04 13:58:42] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023766_20260304_135830.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-04/PCFD_20260023766_20260304_135830.XML
[2026-03-04 13:58:42] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023766_20260304_135830.XML
[2026-03-04 13:58:42] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023766_20260304_135830_1.XML
[2026-03-04 13:58:42] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023766_20260304_135830_1.XML for user: 68f1466aed072ad4a
[2026-03-04 13:58:42] [INFO] File size: 5323 bytes
[2026-03-04 13:58:42] [INFO] Created FTPFiles record with ID: 69a83a928c68bf750
[2026-03-04 13:58:42] [INFO] About to extract fields from XML. File size: 5323 bytes
[2026-03-04 13:58:42] [INFO] Number of mappings: 28
[2026-03-04 13:58:42] [INFO] Starting XML parsing. Content length: 5323
[2026-03-04 13:58:42] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-04 13:58:42] [INFO] Processing 28 field mappings
[2026-03-04 13:58:42] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-04 13:58:42] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-04 13:58:42] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-04 13:58:42] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-04 13:58:42] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-04 13:58:42] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-04 13:58:42] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-04 13:58:42] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-04 13:58:42] [INFO]   -> Found value: 2026000591
[2026-03-04 13:58:42] [INFO]   -> Set field 'incidentInternalId' = "2026000591"
[2026-03-04 13:58:42] [INFO]   -> Set field 'dispatchRunNumber' = "2026000591"
[2026-03-04 13:58:42] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-04 13:58:42] [INFO]   -> Found value: CHEST PAIN
[2026-03-04 13:58:42] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-03-04 13:58:42] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-04 13:58:42] [INFO]   -> Found value: 3225
[2026-03-04 13:58:42] [INFO]   -> Set field 'incidentLocationStreetNumber' = 3225
[2026-03-04 13:58:42] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-04 13:58:42] [INFO]   -> Found value: TN
[2026-03-04 13:58:42] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-04 13:58:42] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-04 13:58:42] [INFO]   -> Found value: 38506
[2026-03-04 13:58:42] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-04 13:58:42] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-04 13:58:42] [INFO]   -> No value found (null or empty)
[2026-03-04 13:58:42] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-04 13:58:42] [INFO]   -> No value found (null or empty)
[2026-03-04 13:58:42] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-04 13:58:42] [INFO]   -> Found value: 36.20956
[2026-03-04 13:58:42] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.20956000000000329919203068129718303680419921875
[2026-03-04 13:58:42] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-04 13:58:42] [INFO]   -> Found value: -85.46962
[2026-03-04 13:58:42] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4696200000000061436367104761302471160888671875
[2026-03-04 13:58:42] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-04 13:58:42] [INFO]   -> Found value: 2026-03-04 07:57:47
[2026-03-04 13:58:42] [INFO]   -> Set field 'alarm' = "2026-03-04 07:57:47"
[2026-03-04 13:58:42] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-04 13:58:42] [INFO]   -> Found value: 2026-03-04 07:58:27
[2026-03-04 13:58:42] [INFO]   -> Set field 'dispatched' = "2026-03-04 07:58:27"
[2026-03-04 13:58:42] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-04 13:58:42] [INFO]   -> No value found (null or empty)
[2026-03-04 13:58:42] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-04 13:58:42] [INFO]   -> No value found (null or empty)
[2026-03-04 13:58:42] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-04 13:58:42] [INFO]   -> No value found (null or empty)
[2026-03-04 13:58:42] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-04 13:58:42] [INFO]   -> Found value: /QUINLAND LAKE RD
[2026-03-04 13:58:42] [INFO]   -> Set field 'incidentLocationCross' = "\/QUINLAND LAKE RD"
[2026-03-04 13:58:42] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-04 13:58:42] [INFO]   -> Found value: PCFR
[2026-03-04 13:58:42] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-04 13:58:42] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-04 13:58:42] [INFO]   -> Found value: 2026-03-04 07:58:27
[2026-03-04 13:58:42] [INFO]   -> Set field 'timedispatch' = "2026-03-04 07:58:27"
[2026-03-04 13:58:42] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-04 13:58:42] [INFO]   -> No value found (null or empty)
[2026-03-04 13:58:42] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-04 13:58:42] [INFO]   -> No value found (null or empty)
[2026-03-04 13:58:42] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-04 13:58:42] [INFO]   -> No value found (null or empty)
[2026-03-04 13:58:42] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-04 13:58:42] [INFO]   -> No value found (null or empty)
[2026-03-04 13:58:42] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-04 13:58:42] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-04 13:58:42] [INFO]   -> Found value: 20260023766
[2026-03-04 13:58:42] [INFO]   -> Set field 'policeReportNumber' = "20260023766"
[2026-03-04 13:58:42] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-04 13:58:42] [INFO]   -> Found value: Event spawned from CHEST PAIN.  [03/04/2026 07:57:47 JBOHANNON]
[2026-03-04 13:58:42] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from CHEST PAIN.  [03\/04\/2026 07:57:47 JBOHANNON]"
[2026-03-04 13:58:42] [INFO]   -> Set field 'cADLog' = "Event spawned from CHEST PAIN.  [03\/04\/2026 07:57:47 JBOHANNON]"
[2026-03-04 13:58:42] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-04 13:58:42] [INFO]   -> Found value: COOKEVILLE
[2026-03-04 13:58:42] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-04 13:58:42] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-04 13:58:42] [INFO]   -> Found value: HANEY
[2026-03-04 13:58:42] [INFO]   -> Set field 'streetName' = "HANEY"
[2026-03-04 13:58:42] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-04 13:58:42] [INFO]   -> Found value: DR
[2026-03-04 13:58:42] [INFO]   -> Set field 'streetType' = "DR"
[2026-03-04 13:58:42] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-04 13:58:42] [INFO]   -> Found value: 3225 HANEY DR
[2026-03-04 13:58:42] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "3225 HANEY DR"
[2026-03-04 13:58:42] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-04 13:58:42] [INFO] Concatenating street name and type
[2026-03-04 13:58:42] [INFO]   -> Combined street name: HANEY DR
[2026-03-04 13:58:42] [INFO] Built locationCoordinates from lat/lng: 36.20956,-85.46962
[2026-03-04 13:58:42] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000591","dispatchRunNumber":"2026000591","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":3225,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.20956000000000329919203068129718303680419921875,"nERISIncidentLongitude":-85.4696200000000061436367104761302471160888671875,"alarm":"2026-03-04 07:57:47","dispatched":"2026-03-04 07:58:27","incidentLocationCross":"\/QUINLAND LAKE RD","cADVehicleID":"PCFR","timedispatch":"2026-03-04 07:58:27","policeReportNumber":"20260023766","dispatchNotes":"Event spawned from CHEST PAIN.  [03\/04\/2026 07:57:47 JBOHANNON]","cADLog":"Event spawned from CHEST PAIN.  [03\/04\/2026 07:57:47 JBOHANNON]","incidentLocationCity":"COOKEVILLE","streetName":"HANEY DR","incidentAddressTextVersionStreet":"3225 HANEY DR","locationCoordinates":"36.20956,-85.46962"}
[2026-03-04 13:58:42] [INFO] Number of extracted fields: 21
[2026-03-04 13:58:42] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-04 13:58:42] [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-03-04 13:58:42] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-04 13:58:42] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-04 13:58:42] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-04 13:58:42] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-04 13:58:42] [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-03-04 13:58:42] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-04 13:58:42] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-04 13:58:42] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-04 13:58:42] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-04 13:58:43] [INFO] Found existing IncidentTypeMapping with ID: 6939c33d3eae65119
[2026-03-04 13:58:43] [INFO] Found existing Dispatch with cADNumber '2026000591', ID: 69a83a87e7bf74aaf - will update instead of create
[2026-03-04 13:58:43] [INFO] Updated existing Dispatches record with ID: 69a83a87e7bf74aaf
[2026-03-04 13:58:43] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023766_20260304_135830_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-04/PCFD_20260023766_20260304_135830_1.XML
[2026-03-04 13:58:43] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023766_20260304_135830_1.XML
[2026-03-04 13:59:09] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014289.xml
[2026-03-04 13:59:09] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014289.xml for user: 69320e6a9e3e5ef71
[2026-03-04 13:59:09] [INFO] File size: 10012 bytes
[2026-03-04 13:59:09] [INFO] Created FTPFiles record with ID: 69a83aad88b15e0be
[2026-03-04 13:59:09] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-04 13:59:09] [INFO] File already exists in archive, using unique name: cfs_2026-014289_1772632749.xml
[2026-03-04 13:59:09] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014289.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-04/cfs_2026-014289_1772632749.xml
[2026-03-04 13:59:09] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014289.xml
[2026-03-04 14:00:03] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023766_20260304_140003.XML
[2026-03-04 14:00:03] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023766_20260304_140003.XML for user: 68f1466aed072ad4a
[2026-03-04 14:00:03] [INFO] File size: 6226 bytes
[2026-03-04 14:00:03] [INFO] Created FTPFiles record with ID: 69a83ae39bc51a094
[2026-03-04 14:00:03] [INFO] About to extract fields from XML. File size: 6226 bytes
[2026-03-04 14:00:03] [INFO] Number of mappings: 28
[2026-03-04 14:00:03] [INFO] Starting XML parsing. Content length: 6226
[2026-03-04 14:00:03] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-04 14:00:03] [INFO] Processing 28 field mappings
[2026-03-04 14:00:03] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-04 14:00:03] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-04 14:00:03] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-04 14:00:03] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-04 14:00:03] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-04 14:00:03] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-04 14:00:03] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-04 14:00:03] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-04 14:00:03] [INFO]   -> Found value: 2026000591
[2026-03-04 14:00:03] [INFO]   -> Set field 'incidentInternalId' = "2026000591"
[2026-03-04 14:00:03] [INFO]   -> Set field 'dispatchRunNumber' = "2026000591"
[2026-03-04 14:00:03] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-04 14:00:03] [INFO]   -> Found value: CHEST PAIN
[2026-03-04 14:00:03] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-03-04 14:00:03] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-04 14:00:03] [INFO]   -> Found value: 3225
[2026-03-04 14:00:03] [INFO]   -> Set field 'incidentLocationStreetNumber' = 3225
[2026-03-04 14:00:03] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-04 14:00:03] [INFO]   -> Found value: TN
[2026-03-04 14:00:03] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-04 14:00:03] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-04 14:00:03] [INFO]   -> Found value: 38506
[2026-03-04 14:00:03] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-04 14:00:03] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-04 14:00:03] [INFO]   -> No value found (null or empty)
[2026-03-04 14:00:03] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-04 14:00:03] [INFO]   -> No value found (null or empty)
[2026-03-04 14:00:03] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-04 14:00:03] [INFO]   -> Found value: 36.20956
[2026-03-04 14:00:03] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.20956000000000329919203068129718303680419921875
[2026-03-04 14:00:03] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-04 14:00:03] [INFO]   -> Found value: -85.46962
[2026-03-04 14:00:03] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4696200000000061436367104761302471160888671875
[2026-03-04 14:00:03] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-04 14:00:03] [INFO]   -> Found value: 2026-03-04 07:57:47
[2026-03-04 14:00:03] [INFO]   -> Set field 'alarm' = "2026-03-04 07:57:47"
[2026-03-04 14:00:03] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-04 14:00:03] [INFO]   -> Found value: 2026-03-04 07:58:27
[2026-03-04 14:00:03] [INFO]   -> Set field 'dispatched' = "2026-03-04 07:58:27"
[2026-03-04 14:00:03] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-04 14:00:03] [INFO]   -> No value found (null or empty)
[2026-03-04 14:00:03] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-04 14:00:03] [INFO]   -> No value found (null or empty)
[2026-03-04 14:00:03] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-04 14:00:03] [INFO]   -> No value found (null or empty)
[2026-03-04 14:00:03] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-04 14:00:03] [INFO]   -> Found value: /QUINLAND LAKE RD
[2026-03-04 14:00:03] [INFO]   -> Set field 'incidentLocationCross' = "\/QUINLAND LAKE RD"
[2026-03-04 14:00:03] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-04 14:00:03] [INFO]   -> Found value: PCFR
[2026-03-04 14:00:03] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-04 14:00:03] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-04 14:00:03] [INFO]   -> Found value: 2026-03-04 07:58:27
[2026-03-04 14:00:03] [INFO]   -> Set field 'timedispatch' = "2026-03-04 07:58:27"
[2026-03-04 14:00:03] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-04 14:00:03] [INFO]   -> No value found (null or empty)
[2026-03-04 14:00:03] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-04 14:00:03] [INFO]   -> No value found (null or empty)
[2026-03-04 14:00:03] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-04 14:00:03] [INFO]   -> Found value: 2026-03-04 08:00:00
[2026-03-04 14:00:03] [INFO]   -> Set field 'timeunitclear' = "2026-03-04 08:00:00"
[2026-03-04 14:00:03] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-04 14:00:03] [INFO]   -> Found value: 2026-03-04 08:00:00
[2026-03-04 14:00:03] [INFO]   -> Set field 'timecanceledenroute' = "2026-03-04 08:00:00"
[2026-03-04 14:00:03] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-04 14:00:03] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-04 14:00:03] [INFO]   -> Found value: 20260023766
[2026-03-04 14:00:03] [INFO]   -> Set field 'policeReportNumber' = "20260023766"
[2026-03-04 14:00:03] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-04 14:00:03] [INFO]   -> Found value: [LAW] UDTS: LE NOT RESPONDING  [03/04/26 07:59:14 KPATTON] [EMS] BACK DOOR  [03/04/26 07:59:08 JBOHA...
[2026-03-04 14:00:03] [INFO]   -> Set field 'dispatchNotes' = "[LAW] UDTS: LE NOT RESPONDING  [03\/04\/26 07:59:14 KPATTON] [EMS] BACK DOOR  [03\/04\/26 07:59:08 JBOHANNON] Event spawned from CHEST PAIN.  [03\/04\/2026 07:57:47 JBOHANNON]"
[2026-03-04 14:00:03] [INFO]   -> Set field 'cADLog' = "[LAW] UDTS: LE NOT RESPONDING  [03\/04\/26 07:59:14 KPATTON] [EMS] BACK DOOR  [03\/04\/26 07:59:08 JBOHANNON] Event spawned from CHEST PAIN.  [03\/04\/2026 07:57:47 JBOHANNON]"
[2026-03-04 14:00:03] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-04 14:00:03] [INFO]   -> Found value: COOKEVILLE
[2026-03-04 14:00:03] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-04 14:00:03] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-04 14:00:03] [INFO]   -> Found value: HANEY
[2026-03-04 14:00:03] [INFO]   -> Set field 'streetName' = "HANEY"
[2026-03-04 14:00:03] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-04 14:00:03] [INFO]   -> Found value: DR
[2026-03-04 14:00:03] [INFO]   -> Set field 'streetType' = "DR"
[2026-03-04 14:00:03] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-04 14:00:03] [INFO]   -> Found value: 3225 HANEY DR
[2026-03-04 14:00:03] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "3225 HANEY DR"
[2026-03-04 14:00:03] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-04 14:00:03] [INFO] Concatenating street name and type
[2026-03-04 14:00:03] [INFO]   -> Combined street name: HANEY DR
[2026-03-04 14:00:03] [INFO] Built locationCoordinates from lat/lng: 36.20956,-85.46962
[2026-03-04 14:00:03] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000591","dispatchRunNumber":"2026000591","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":3225,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.20956000000000329919203068129718303680419921875,"nERISIncidentLongitude":-85.4696200000000061436367104761302471160888671875,"alarm":"2026-03-04 07:57:47","dispatched":"2026-03-04 07:58:27","incidentLocationCross":"\/QUINLAND LAKE RD","cADVehicleID":"PCFR","timedispatch":"2026-03-04 07:58:27","timeunitclear":"2026-03-04 08:00:00","timecanceledenroute":"2026-03-04 08:00:00","policeReportNumber":"20260023766","dispatchNotes":"[LAW] UDTS: LE NOT RESPONDING  [03\/04\/26 07:59:14 KPATTON] [EMS] BACK DOOR  [03\/04\/26 07:59:08 JBOHANNON] Event spawned from CHEST PAIN.  [03\/04\/2026 07:57:47 JBOHANNON]","cADLog":"[LAW] UDTS: LE NOT RESPONDING  [03\/04\/26 07:59:14 KPATTON] [EMS] BACK DOOR  [03\/04\/26 07:59:08 JBOHANNON] Event spawned from CHEST PAIN.  [03\/04\/2026 07:57:47 JBOHANNON]","incidentLocationCity":"COOKEVILLE","streetName":"HANEY DR","incidentAddressTextVersionStreet":"3225 HANEY DR","locationCoordinates":"36.20956,-85.46962"}
[2026-03-04 14:00:03] [INFO] Number of extracted fields: 23
[2026-03-04 14:00:03] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-04 14:00:03] [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-03-04 14:00:03] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-04 14:00:03] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-04 14:00:03] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-04 14:00:03] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-04 14:00:04] [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-03-04 14:00:04] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-04 14:00:04] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-04 14:00:04] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-04 14:00:04] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-04 14:00:04] [INFO] Found existing IncidentTypeMapping with ID: 6939c33d3eae65119
[2026-03-04 14:00:04] [INFO] Found existing Dispatch with cADNumber '2026000591', ID: 69a83a87e7bf74aaf - will update instead of create
[2026-03-04 14:00:04] [INFO] Updated existing Dispatches record with ID: 69a83a87e7bf74aaf
[2026-03-04 14:00:04] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023766_20260304_140003.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-04/PCFD_20260023766_20260304_140003.XML
[2026-03-04 14:00:04] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023766_20260304_140003.XML
[2026-03-04 14:00:08] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023766_20260304_140008.XML
[2026-03-04 14:00:08] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023766_20260304_140008.XML for user: 68f1466aed072ad4a
[2026-03-04 14:00:08] [INFO] File size: 6226 bytes
[2026-03-04 14:00:08] [INFO] Created FTPFiles record with ID: 69a83ae8bc88aeb90
[2026-03-04 14:00:08] [INFO] About to extract fields from XML. File size: 6226 bytes
[2026-03-04 14:00:08] [INFO] Number of mappings: 28
[2026-03-04 14:00:08] [INFO] Starting XML parsing. Content length: 6226
[2026-03-04 14:00:08] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-04 14:00:08] [INFO] Processing 28 field mappings
[2026-03-04 14:00:08] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-04 14:00:08] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-04 14:00:08] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-04 14:00:08] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-04 14:00:08] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-04 14:00:08] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-04 14:00:08] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-04 14:00:08] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-04 14:00:08] [INFO]   -> Found value: 2026000591
[2026-03-04 14:00:08] [INFO]   -> Set field 'incidentInternalId' = "2026000591"
[2026-03-04 14:00:08] [INFO]   -> Set field 'dispatchRunNumber' = "2026000591"
[2026-03-04 14:00:08] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-04 14:00:08] [INFO]   -> Found value: CHEST PAIN
[2026-03-04 14:00:08] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-03-04 14:00:08] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-04 14:00:08] [INFO]   -> Found value: 3225
[2026-03-04 14:00:08] [INFO]   -> Set field 'incidentLocationStreetNumber' = 3225
[2026-03-04 14:00:08] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-04 14:00:08] [INFO]   -> Found value: TN
[2026-03-04 14:00:08] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-04 14:00:08] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-04 14:00:08] [INFO]   -> Found value: 38506
[2026-03-04 14:00:08] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-04 14:00:08] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-04 14:00:08] [INFO]   -> No value found (null or empty)
[2026-03-04 14:00:08] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-04 14:00:08] [INFO]   -> No value found (null or empty)
[2026-03-04 14:00:08] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-04 14:00:08] [INFO]   -> Found value: 36.20956
[2026-03-04 14:00:08] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.20956000000000329919203068129718303680419921875
[2026-03-04 14:00:08] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-04 14:00:08] [INFO]   -> Found value: -85.46962
[2026-03-04 14:00:08] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4696200000000061436367104761302471160888671875
[2026-03-04 14:00:08] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-04 14:00:08] [INFO]   -> Found value: 2026-03-04 07:57:47
[2026-03-04 14:00:08] [INFO]   -> Set field 'alarm' = "2026-03-04 07:57:47"
[2026-03-04 14:00:08] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-04 14:00:08] [INFO]   -> Found value: 2026-03-04 07:58:27
[2026-03-04 14:00:08] [INFO]   -> Set field 'dispatched' = "2026-03-04 07:58:27"
[2026-03-04 14:00:08] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-04 14:00:08] [INFO]   -> No value found (null or empty)
[2026-03-04 14:00:08] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-04 14:00:08] [INFO]   -> No value found (null or empty)
[2026-03-04 14:00:08] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-04 14:00:08] [INFO]   -> No value found (null or empty)
[2026-03-04 14:00:08] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-04 14:00:08] [INFO]   -> Found value: /QUINLAND LAKE RD
[2026-03-04 14:00:08] [INFO]   -> Set field 'incidentLocationCross' = "\/QUINLAND LAKE RD"
[2026-03-04 14:00:08] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-04 14:00:08] [INFO]   -> Found value: PCFR
[2026-03-04 14:00:08] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-04 14:00:08] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-04 14:00:08] [INFO]   -> Found value: 2026-03-04 07:58:27
[2026-03-04 14:00:08] [INFO]   -> Set field 'timedispatch' = "2026-03-04 07:58:27"
[2026-03-04 14:00:08] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-04 14:00:08] [INFO]   -> No value found (null or empty)
[2026-03-04 14:00:08] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-04 14:00:08] [INFO]   -> No value found (null or empty)
[2026-03-04 14:00:08] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-04 14:00:08] [INFO]   -> Found value: 2026-03-04 08:00:00
[2026-03-04 14:00:08] [INFO]   -> Set field 'timeunitclear' = "2026-03-04 08:00:00"
[2026-03-04 14:00:08] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-04 14:00:08] [INFO]   -> Found value: 2026-03-04 08:00:00
[2026-03-04 14:00:08] [INFO]   -> Set field 'timecanceledenroute' = "2026-03-04 08:00:00"
[2026-03-04 14:00:08] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-04 14:00:08] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-04 14:00:08] [INFO]   -> Found value: 20260023766
[2026-03-04 14:00:08] [INFO]   -> Set field 'policeReportNumber' = "20260023766"
[2026-03-04 14:00:08] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-04 14:00:08] [INFO]   -> Found value: [LAW] UDTS: LE NOT RESPONDING  [03/04/26 07:59:14 KPATTON] [EMS] BACK DOOR  [03/04/26 07:59:08 JBOHA...
[2026-03-04 14:00:08] [INFO]   -> Set field 'dispatchNotes' = "[LAW] UDTS: LE NOT RESPONDING  [03\/04\/26 07:59:14 KPATTON] [EMS] BACK DOOR  [03\/04\/26 07:59:08 JBOHANNON] Event spawned from CHEST PAIN.  [03\/04\/2026 07:57:47 JBOHANNON]"
[2026-03-04 14:00:08] [INFO]   -> Set field 'cADLog' = "[LAW] UDTS: LE NOT RESPONDING  [03\/04\/26 07:59:14 KPATTON] [EMS] BACK DOOR  [03\/04\/26 07:59:08 JBOHANNON] Event spawned from CHEST PAIN.  [03\/04\/2026 07:57:47 JBOHANNON]"
[2026-03-04 14:00:08] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-04 14:00:08] [INFO]   -> Found value: COOKEVILLE
[2026-03-04 14:00:08] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-04 14:00:08] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-04 14:00:08] [INFO]   -> Found value: HANEY
[2026-03-04 14:00:08] [INFO]   -> Set field 'streetName' = "HANEY"
[2026-03-04 14:00:08] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-04 14:00:08] [INFO]   -> Found value: DR
[2026-03-04 14:00:08] [INFO]   -> Set field 'streetType' = "DR"
[2026-03-04 14:00:08] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-04 14:00:08] [INFO]   -> Found value: 3225 HANEY DR
[2026-03-04 14:00:08] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "3225 HANEY DR"
[2026-03-04 14:00:08] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-04 14:00:08] [INFO] Concatenating street name and type
[2026-03-04 14:00:08] [INFO]   -> Combined street name: HANEY DR
[2026-03-04 14:00:08] [INFO] Built locationCoordinates from lat/lng: 36.20956,-85.46962
[2026-03-04 14:00:08] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000591","dispatchRunNumber":"2026000591","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":3225,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.20956000000000329919203068129718303680419921875,"nERISIncidentLongitude":-85.4696200000000061436367104761302471160888671875,"alarm":"2026-03-04 07:57:47","dispatched":"2026-03-04 07:58:27","incidentLocationCross":"\/QUINLAND LAKE RD","cADVehicleID":"PCFR","timedispatch":"2026-03-04 07:58:27","timeunitclear":"2026-03-04 08:00:00","timecanceledenroute":"2026-03-04 08:00:00","policeReportNumber":"20260023766","dispatchNotes":"[LAW] UDTS: LE NOT RESPONDING  [03\/04\/26 07:59:14 KPATTON] [EMS] BACK DOOR  [03\/04\/26 07:59:08 JBOHANNON] Event spawned from CHEST PAIN.  [03\/04\/2026 07:57:47 JBOHANNON]","cADLog":"[LAW] UDTS: LE NOT RESPONDING  [03\/04\/26 07:59:14 KPATTON] [EMS] BACK DOOR  [03\/04\/26 07:59:08 JBOHANNON] Event spawned from CHEST PAIN.  [03\/04\/2026 07:57:47 JBOHANNON]","incidentLocationCity":"COOKEVILLE","streetName":"HANEY DR","incidentAddressTextVersionStreet":"3225 HANEY DR","locationCoordinates":"36.20956,-85.46962"}
[2026-03-04 14:00:08] [INFO] Number of extracted fields: 23
[2026-03-04 14:00:08] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-04 14:00:08] [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-03-04 14:00:08] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-04 14:00:08] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-04 14:00:08] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-04 14:00:08] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-04 14:00:09] [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-03-04 14:00:09] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-04 14:00:09] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-04 14:00:09] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-04 14:00:09] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-04 14:00:09] [INFO] Found existing IncidentTypeMapping with ID: 6939c33d3eae65119
[2026-03-04 14:00:09] [INFO] Found existing Dispatch with cADNumber '2026000591', ID: 69a83a87e7bf74aaf - will update instead of create
[2026-03-04 14:00:09] [INFO] Updated existing Dispatches record with ID: 69a83a87e7bf74aaf
[2026-03-04 14:00:09] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023766_20260304_140008.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-04/PCFD_20260023766_20260304_140008.XML
[2026-03-04 14:00:09] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023766_20260304_140008.XML
[2026-03-04 14:00:09] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023766_20260304_140009.XML
[2026-03-04 14:00:09] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023766_20260304_140009.XML for user: 68f1466aed072ad4a
[2026-03-04 14:00:09] [INFO] File size: 6226 bytes
[2026-03-04 14:00:10] [INFO] Created FTPFiles record with ID: 69a83aea2a02ee251
[2026-03-04 14:00:10] [INFO] About to extract fields from XML. File size: 6226 bytes
[2026-03-04 14:00:10] [INFO] Number of mappings: 28
[2026-03-04 14:00:10] [INFO] Starting XML parsing. Content length: 6226
[2026-03-04 14:00:10] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-04 14:00:10] [INFO] Processing 28 field mappings
[2026-03-04 14:00:10] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-04 14:00:10] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-04 14:00:10] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-04 14:00:10] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-04 14:00:10] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-04 14:00:10] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-04 14:00:10] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-04 14:00:10] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-04 14:00:10] [INFO]   -> Found value: 2026000591
[2026-03-04 14:00:10] [INFO]   -> Set field 'incidentInternalId' = "2026000591"
[2026-03-04 14:00:10] [INFO]   -> Set field 'dispatchRunNumber' = "2026000591"
[2026-03-04 14:00:10] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-04 14:00:10] [INFO]   -> Found value: CHEST PAIN
[2026-03-04 14:00:10] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-03-04 14:00:10] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-04 14:00:10] [INFO]   -> Found value: 3225
[2026-03-04 14:00:10] [INFO]   -> Set field 'incidentLocationStreetNumber' = 3225
[2026-03-04 14:00:10] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-04 14:00:10] [INFO]   -> Found value: TN
[2026-03-04 14:00:10] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-04 14:00:10] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-04 14:00:10] [INFO]   -> Found value: 38506
[2026-03-04 14:00:10] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-04 14:00:10] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-04 14:00:10] [INFO]   -> No value found (null or empty)
[2026-03-04 14:00:10] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-04 14:00:10] [INFO]   -> No value found (null or empty)
[2026-03-04 14:00:10] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-04 14:00:10] [INFO]   -> Found value: 36.20956
[2026-03-04 14:00:10] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.20956000000000329919203068129718303680419921875
[2026-03-04 14:00:10] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-04 14:00:10] [INFO]   -> Found value: -85.46962
[2026-03-04 14:00:10] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4696200000000061436367104761302471160888671875
[2026-03-04 14:00:10] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-04 14:00:10] [INFO]   -> Found value: 2026-03-04 07:57:47
[2026-03-04 14:00:10] [INFO]   -> Set field 'alarm' = "2026-03-04 07:57:47"
[2026-03-04 14:00:10] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-04 14:00:10] [INFO]   -> Found value: 2026-03-04 07:58:27
[2026-03-04 14:00:10] [INFO]   -> Set field 'dispatched' = "2026-03-04 07:58:27"
[2026-03-04 14:00:10] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-04 14:00:10] [INFO]   -> No value found (null or empty)
[2026-03-04 14:00:10] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-04 14:00:10] [INFO]   -> No value found (null or empty)
[2026-03-04 14:00:10] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-04 14:00:10] [INFO]   -> No value found (null or empty)
[2026-03-04 14:00:10] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-04 14:00:10] [INFO]   -> Found value: /QUINLAND LAKE RD
[2026-03-04 14:00:10] [INFO]   -> Set field 'incidentLocationCross' = "\/QUINLAND LAKE RD"
[2026-03-04 14:00:10] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-04 14:00:10] [INFO]   -> Found value: PCFR
[2026-03-04 14:00:10] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-04 14:00:10] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-04 14:00:10] [INFO]   -> Found value: 2026-03-04 07:58:27
[2026-03-04 14:00:10] [INFO]   -> Set field 'timedispatch' = "2026-03-04 07:58:27"
[2026-03-04 14:00:10] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-04 14:00:10] [INFO]   -> No value found (null or empty)
[2026-03-04 14:00:10] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-04 14:00:10] [INFO]   -> No value found (null or empty)
[2026-03-04 14:00:10] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-04 14:00:10] [INFO]   -> Found value: 2026-03-04 08:00:00
[2026-03-04 14:00:10] [INFO]   -> Set field 'timeunitclear' = "2026-03-04 08:00:00"
[2026-03-04 14:00:10] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-04 14:00:10] [INFO]   -> Found value: 2026-03-04 08:00:00
[2026-03-04 14:00:10] [INFO]   -> Set field 'timecanceledenroute' = "2026-03-04 08:00:00"
[2026-03-04 14:00:10] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-04 14:00:10] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-04 14:00:10] [INFO]   -> Found value: 20260023766
[2026-03-04 14:00:10] [INFO]   -> Set field 'policeReportNumber' = "20260023766"
[2026-03-04 14:00:10] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-04 14:00:10] [INFO]   -> Found value: [LAW] UDTS: LE NOT RESPONDING  [03/04/26 07:59:14 KPATTON] [EMS] BACK DOOR  [03/04/26 07:59:08 JBOHA...
[2026-03-04 14:00:10] [INFO]   -> Set field 'dispatchNotes' = "[LAW] UDTS: LE NOT RESPONDING  [03\/04\/26 07:59:14 KPATTON] [EMS] BACK DOOR  [03\/04\/26 07:59:08 JBOHANNON] Event spawned from CHEST PAIN.  [03\/04\/2026 07:57:47 JBOHANNON]"
[2026-03-04 14:00:10] [INFO]   -> Set field 'cADLog' = "[LAW] UDTS: LE NOT RESPONDING  [03\/04\/26 07:59:14 KPATTON] [EMS] BACK DOOR  [03\/04\/26 07:59:08 JBOHANNON] Event spawned from CHEST PAIN.  [03\/04\/2026 07:57:47 JBOHANNON]"
[2026-03-04 14:00:10] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-04 14:00:10] [INFO]   -> Found value: COOKEVILLE
[2026-03-04 14:00:10] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-04 14:00:10] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-04 14:00:10] [INFO]   -> Found value: HANEY
[2026-03-04 14:00:10] [INFO]   -> Set field 'streetName' = "HANEY"
[2026-03-04 14:00:10] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-04 14:00:10] [INFO]   -> Found value: DR
[2026-03-04 14:00:10] [INFO]   -> Set field 'streetType' = "DR"
[2026-03-04 14:00:10] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-04 14:00:10] [INFO]   -> Found value: 3225 HANEY DR
[2026-03-04 14:00:10] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "3225 HANEY DR"
[2026-03-04 14:00:10] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-04 14:00:10] [INFO] Concatenating street name and type
[2026-03-04 14:00:10] [INFO]   -> Combined street name: HANEY DR
[2026-03-04 14:00:10] [INFO] Built locationCoordinates from lat/lng: 36.20956,-85.46962
[2026-03-04 14:00:10] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000591","dispatchRunNumber":"2026000591","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":3225,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.20956000000000329919203068129718303680419921875,"nERISIncidentLongitude":-85.4696200000000061436367104761302471160888671875,"alarm":"2026-03-04 07:57:47","dispatched":"2026-03-04 07:58:27","incidentLocationCross":"\/QUINLAND LAKE RD","cADVehicleID":"PCFR","timedispatch":"2026-03-04 07:58:27","timeunitclear":"2026-03-04 08:00:00","timecanceledenroute":"2026-03-04 08:00:00","policeReportNumber":"20260023766","dispatchNotes":"[LAW] UDTS: LE NOT RESPONDING  [03\/04\/26 07:59:14 KPATTON] [EMS] BACK DOOR  [03\/04\/26 07:59:08 JBOHANNON] Event spawned from CHEST PAIN.  [03\/04\/2026 07:57:47 JBOHANNON]","cADLog":"[LAW] UDTS: LE NOT RESPONDING  [03\/04\/26 07:59:14 KPATTON] [EMS] BACK DOOR  [03\/04\/26 07:59:08 JBOHANNON] Event spawned from CHEST PAIN.  [03\/04\/2026 07:57:47 JBOHANNON]","incidentLocationCity":"COOKEVILLE","streetName":"HANEY DR","incidentAddressTextVersionStreet":"3225 HANEY DR","locationCoordinates":"36.20956,-85.46962"}
[2026-03-04 14:00:10] [INFO] Number of extracted fields: 23
[2026-03-04 14:00:10] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-04 14:00:10] [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-03-04 14:00:10] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-04 14:00:10] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-04 14:00:10] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-04 14:00:10] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-04 14:00:10] [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-03-04 14:00:10] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-04 14:00:10] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-04 14:00:10] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-04 14:00:10] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-04 14:00:10] [INFO] Found existing IncidentTypeMapping with ID: 6939c33d3eae65119
[2026-03-04 14:00:10] [INFO] Found existing Dispatch with cADNumber '2026000591', ID: 69a83a87e7bf74aaf - will update instead of create
[2026-03-04 14:00:11] [INFO] Updated existing Dispatches record with ID: 69a83a87e7bf74aaf
[2026-03-04 14:00:11] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023766_20260304_140009.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-04/PCFD_20260023766_20260304_140009.XML
[2026-03-04 14:00:11] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023766_20260304_140009.XML
[2026-03-04 14:06:39] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014289.xml
[2026-03-04 14:06:39] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014289.xml for user: 69320e6a9e3e5ef71
[2026-03-04 14:06:39] [INFO] File size: 11619 bytes
[2026-03-04 14:06:39] [INFO] Created FTPFiles record with ID: 69a83c6f5d4a8b1c7
[2026-03-04 14:06:39] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-04 14:06:39] [INFO] File already exists in archive, using unique name: cfs_2026-014289_1772633199.xml
[2026-03-04 14:06:39] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014289.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-04/cfs_2026-014289_1772633199.xml
[2026-03-04 14:06:39] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014289.xml
[2026-03-04 15:20:23] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023792_20260304_152023.XML
[2026-03-04 15:20:23] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023792_20260304_152023.XML for user: 68f1466aed072ad4a
[2026-03-04 15:20:23] [INFO] File size: 5018 bytes
[2026-03-04 15:20:24] [INFO] Created FTPFiles record with ID: 69a84db805436be70
[2026-03-04 15:20:24] [INFO] About to extract fields from XML. File size: 5018 bytes
[2026-03-04 15:20:24] [INFO] Number of mappings: 28
[2026-03-04 15:20:24] [INFO] Starting XML parsing. Content length: 5018
[2026-03-04 15:20:24] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-04 15:20:24] [INFO] Processing 28 field mappings
[2026-03-04 15:20:24] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-04 15:20:24] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-04 15:20:24] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-04 15:20:24] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-03-04 15:20:24] [INFO]   -> Found value: PCFD
CFD
[2026-03-04 15:20:24] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nCFD"
[2026-03-04 15:20:24] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-04 15:20:24] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-03-04 15:20:24] [INFO]   -> Found value: 2026000592
[2026-03-04 15:20:24] [INFO]   -> Set field 'incidentInternalId' = "2026000592"
[2026-03-04 15:20:24] [INFO]   -> Set field 'dispatchRunNumber' = "2026000592"
[2026-03-04 15:20:24] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-04 15:20:24] [INFO]   -> Found value: PUBLIC RELATIONS - FIRE
[2026-03-04 15:20:24] [INFO]   -> Set field 'incidentTypeValue1' = "PUBLIC RELATIONS - FIRE"
[2026-03-04 15:20:24] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-04 15:20:24] [INFO]   -> Found value: 10
[2026-03-04 15:20:24] [INFO]   -> Set field 'incidentLocationStreetNumber' = 10
[2026-03-04 15:20:24] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-04 15:20:24] [INFO]   -> Found value: TN
[2026-03-04 15:20:24] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-04 15:20:24] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-04 15:20:24] [INFO]   -> Found value: 38501
[2026-03-04 15:20:24] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-04 15:20:24] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-04 15:20:24] [INFO]   -> Found value: SCHOOL OF NURSING TTU (HEALTH SERVICES)
[2026-03-04 15:20:24] [INFO]   -> Set field 'businessName' = "SCHOOL OF NURSING TTU (HEALTH SERVICES)"
[2026-03-04 15:20:24] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-04 15:20:24] [INFO]   -> No value found (null or empty)
[2026-03-04 15:20:24] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-04 15:20:24] [INFO]   -> Found value: 36.17143
[2026-03-04 15:20:24] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1714300000000008594724931754171848297119140625
[2026-03-04 15:20:24] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-04 15:20:24] [INFO]   -> Found value: -85.50439
[2026-03-04 15:20:24] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.50439000000000078216544352471828460693359375
[2026-03-04 15:20:24] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-04 15:20:24] [INFO]   -> Found value: 2026-03-04 09:20:19
[2026-03-04 15:20:24] [INFO]   -> Set field 'alarm' = "2026-03-04 09:20:19"
[2026-03-04 15:20:24] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-04 15:20:24] [INFO]   -> Found value: 2026-03-04 09:20:18
[2026-03-04 15:20:24] [INFO]   -> Set field 'dispatched' = "2026-03-04 09:20:18"
[2026-03-04 15:20:24] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-04 15:20:24] [INFO]   -> No value found (null or empty)
[2026-03-04 15:20:24] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-04 15:20:24] [INFO]   -> No value found (null or empty)
[2026-03-04 15:20:24] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-04 15:20:24] [INFO]   -> No value found (null or empty)
[2026-03-04 15:20:24] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-04 15:20:24] [INFO]   -> Found value: MAHLER AVE/N WALNUT AVE
[2026-03-04 15:20:24] [INFO]   -> Set field 'incidentLocationCross' = "MAHLER AVE\/N WALNUT AVE"
[2026-03-04 15:20:24] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-04 15:20:24] [INFO]   -> Found value: EN12
[2026-03-04 15:20:24] [INFO]   -> Set field 'cADVehicleID' = "EN12"
[2026-03-04 15:20:24] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-04 15:20:24] [INFO]   -> Found value: 2026-03-04 09:20:18
[2026-03-04 15:20:24] [INFO]   -> Set field 'timedispatch' = "2026-03-04 09:20:18"
[2026-03-04 15:20:24] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-04 15:20:24] [INFO]   -> No value found (null or empty)
[2026-03-04 15:20:24] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-04 15:20:24] [INFO]   -> No value found (null or empty)
[2026-03-04 15:20:24] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-04 15:20:24] [INFO]   -> No value found (null or empty)
[2026-03-04 15:20:24] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-04 15:20:24] [INFO]   -> No value found (null or empty)
[2026-03-04 15:20:24] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-04 15:20:24] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-03-04 15:20:24] [INFO]   -> Found value: 20260023792
[2026-03-04 15:20:24] [INFO]   -> Set field 'policeReportNumber' = "20260023792"
[2026-03-04 15:20:24] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-04 15:20:24] [INFO]   -> Found value: Event spawned from PUBLIC RELATIONS - FIRE.  [03/04/2026 09:20:19 KBEATY]
[2026-03-04 15:20:24] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from PUBLIC RELATIONS - FIRE.  [03\/04\/2026 09:20:19 KBEATY]"
[2026-03-04 15:20:24] [INFO]   -> Set field 'cADLog' = "Event spawned from PUBLIC RELATIONS - FIRE.  [03\/04\/2026 09:20:19 KBEATY]"
[2026-03-04 15:20:24] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-04 15:20:24] [INFO]   -> Found value: COOKEVILLE
[2026-03-04 15:20:24] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-04 15:20:24] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-04 15:20:24] [INFO]   -> Found value: 7TH
[2026-03-04 15:20:24] [INFO]   -> Set field 'streetName' = "7TH"
[2026-03-04 15:20:24] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-04 15:20:24] [INFO]   -> Found value: ST
[2026-03-04 15:20:24] [INFO]   -> Set field 'streetType' = "ST"
[2026-03-04 15:20:24] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-04 15:20:24] [INFO]   -> Found value: 10 W 7TH ST
[2026-03-04 15:20:24] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "10 W 7TH ST"
[2026-03-04 15:20:24] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-03-04 15:20:24] [INFO] Concatenating street name and type
[2026-03-04 15:20:24] [INFO]   -> Combined street name: 7TH ST
[2026-03-04 15:20:24] [INFO] Built locationCoordinates from lat/lng: 36.17143,-85.50439
[2026-03-04 15:20:24] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nCFD","incidentInternalId":"2026000592","dispatchRunNumber":"2026000592","incidentTypeValue1":"PUBLIC RELATIONS - FIRE","incidentLocationStreetNumber":10,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"businessName":"SCHOOL OF NURSING TTU (HEALTH SERVICES)","nERISIncidentLatitude":36.1714300000000008594724931754171848297119140625,"nERISIncidentLongitude":-85.50439000000000078216544352471828460693359375,"alarm":"2026-03-04 09:20:19","dispatched":"2026-03-04 09:20:18","incidentLocationCross":"MAHLER AVE\/N WALNUT AVE","cADVehicleID":"EN12","timedispatch":"2026-03-04 09:20:18","policeReportNumber":"20260023792","dispatchNotes":"Event spawned from PUBLIC RELATIONS - FIRE.  [03\/04\/2026 09:20:19 KBEATY]","cADLog":"Event spawned from PUBLIC RELATIONS - FIRE.  [03\/04\/2026 09:20:19 KBEATY]","incidentLocationCity":"COOKEVILLE","streetName":"7TH ST","incidentAddressTextVersionStreet":"10 W 7TH ST","locationCoordinates":"36.17143,-85.50439"}
[2026-03-04 15:20:24] [INFO] Number of extracted fields: 22
[2026-03-04 15:20:24] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
CFD'
[2026-03-04 15:20:24] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
CFD', Parsed IDs = ["PCFD","CFD"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-03-04 15:20:24] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","CFD"]
[2026-03-04 15:20:24] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-04 15:20:24] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-04 15:20:24] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["CFD"]
[2026-03-04 15:20:24] [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-03-04 15:20:24] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-04 15:20:24] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-04 15:20:24] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-04 15:20:24] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-04 15:20:24] [INFO] Found existing IncidentTypeMapping with ID: 6945dc40b16298336
[2026-03-04 15:20:35] [INFO] Created new Dispatches record with ID: 69a84db8ed712de59
[2026-03-04 15:20:35] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023792_20260304_152023.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-04/PCFD_20260023792_20260304_152023.XML
[2026-03-04 15:20:35] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023792_20260304_152023.XML
[2026-03-04 15:20:35] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023792_20260304_152029.XML
[2026-03-04 15:20:35] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023792_20260304_152029.XML for user: 68f1466aed072ad4a
[2026-03-04 15:20:35] [INFO] File size: 5085 bytes
[2026-03-04 15:20:36] [INFO] Created FTPFiles record with ID: 69a84dc4513b06633
[2026-03-04 15:20:36] [INFO] About to extract fields from XML. File size: 5085 bytes
[2026-03-04 15:20:36] [INFO] Number of mappings: 28
[2026-03-04 15:20:36] [INFO] Starting XML parsing. Content length: 5085
[2026-03-04 15:20:36] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-04 15:20:36] [INFO] Processing 28 field mappings
[2026-03-04 15:20:36] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-04 15:20:36] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-04 15:20:36] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-04 15:20:36] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-03-04 15:20:36] [INFO]   -> Found value: PCFD
CFD
[2026-03-04 15:20:36] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nCFD"
[2026-03-04 15:20:36] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-04 15:20:36] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-03-04 15:20:36] [INFO]   -> Found value: 2026000592
[2026-03-04 15:20:36] [INFO]   -> Set field 'incidentInternalId' = "2026000592"
[2026-03-04 15:20:36] [INFO]   -> Set field 'dispatchRunNumber' = "2026000592"
[2026-03-04 15:20:36] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-04 15:20:36] [INFO]   -> Found value: PUBLIC RELATIONS - FIRE
[2026-03-04 15:20:36] [INFO]   -> Set field 'incidentTypeValue1' = "PUBLIC RELATIONS - FIRE"
[2026-03-04 15:20:36] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-04 15:20:36] [INFO]   -> Found value: 10
[2026-03-04 15:20:36] [INFO]   -> Set field 'incidentLocationStreetNumber' = 10
[2026-03-04 15:20:36] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-04 15:20:36] [INFO]   -> Found value: TN
[2026-03-04 15:20:36] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-04 15:20:36] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-04 15:20:36] [INFO]   -> Found value: 38501
[2026-03-04 15:20:36] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-04 15:20:36] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-04 15:20:36] [INFO]   -> Found value: SCHOOL OF NURSING TTU (HEALTH SERVICES)
[2026-03-04 15:20:36] [INFO]   -> Set field 'businessName' = "SCHOOL OF NURSING TTU (HEALTH SERVICES)"
[2026-03-04 15:20:36] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-04 15:20:36] [INFO]   -> No value found (null or empty)
[2026-03-04 15:20:36] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-04 15:20:36] [INFO]   -> Found value: 36.17143
[2026-03-04 15:20:36] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1714300000000008594724931754171848297119140625
[2026-03-04 15:20:36] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-04 15:20:36] [INFO]   -> Found value: -85.50439
[2026-03-04 15:20:36] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.50439000000000078216544352471828460693359375
[2026-03-04 15:20:36] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-04 15:20:36] [INFO]   -> Found value: 2026-03-04 09:20:19
[2026-03-04 15:20:36] [INFO]   -> Set field 'alarm' = "2026-03-04 09:20:19"
[2026-03-04 15:20:36] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-04 15:20:36] [INFO]   -> Found value: 2026-03-04 09:20:18
[2026-03-04 15:20:36] [INFO]   -> Set field 'dispatched' = "2026-03-04 09:20:18"
[2026-03-04 15:20:36] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-04 15:20:36] [INFO]   -> Found value: 2026-03-04 09:20:23
[2026-03-04 15:20:36] [INFO]   -> Set field 'enroute' = "2026-03-04 09:20:23"
[2026-03-04 15:20:36] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-04 15:20:36] [INFO]   -> No value found (null or empty)
[2026-03-04 15:20:36] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-04 15:20:36] [INFO]   -> No value found (null or empty)
[2026-03-04 15:20:36] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-04 15:20:36] [INFO]   -> Found value: MAHLER AVE/N WALNUT AVE
[2026-03-04 15:20:36] [INFO]   -> Set field 'incidentLocationCross' = "MAHLER AVE\/N WALNUT AVE"
[2026-03-04 15:20:36] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-04 15:20:36] [INFO]   -> Found value: EN12
[2026-03-04 15:20:36] [INFO]   -> Set field 'cADVehicleID' = "EN12"
[2026-03-04 15:20:36] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-04 15:20:36] [INFO]   -> Found value: 2026-03-04 09:20:18
[2026-03-04 15:20:36] [INFO]   -> Set field 'timedispatch' = "2026-03-04 09:20:18"
[2026-03-04 15:20:36] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-04 15:20:36] [INFO]   -> Found value: 2026-03-04 09:20:23
[2026-03-04 15:20:36] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-04 09:20:23"
[2026-03-04 15:20:36] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-04 15:20:36] [INFO]   -> No value found (null or empty)
[2026-03-04 15:20:36] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-04 15:20:36] [INFO]   -> No value found (null or empty)
[2026-03-04 15:20:36] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-04 15:20:36] [INFO]   -> No value found (null or empty)
[2026-03-04 15:20:36] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-04 15:20:36] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-03-04 15:20:36] [INFO]   -> Found value: 20260023792
[2026-03-04 15:20:36] [INFO]   -> Set field 'policeReportNumber' = "20260023792"
[2026-03-04 15:20:36] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-04 15:20:36] [INFO]   -> Found value: Event spawned from PUBLIC RELATIONS - FIRE.  [03/04/2026 09:20:19 KBEATY]
[2026-03-04 15:20:36] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from PUBLIC RELATIONS - FIRE.  [03\/04\/2026 09:20:19 KBEATY]"
[2026-03-04 15:20:36] [INFO]   -> Set field 'cADLog' = "Event spawned from PUBLIC RELATIONS - FIRE.  [03\/04\/2026 09:20:19 KBEATY]"
[2026-03-04 15:20:36] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-04 15:20:36] [INFO]   -> Found value: COOKEVILLE
[2026-03-04 15:20:36] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-04 15:20:36] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-04 15:20:36] [INFO]   -> Found value: 7TH
[2026-03-04 15:20:36] [INFO]   -> Set field 'streetName' = "7TH"
[2026-03-04 15:20:36] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-04 15:20:36] [INFO]   -> Found value: ST
[2026-03-04 15:20:36] [INFO]   -> Set field 'streetType' = "ST"
[2026-03-04 15:20:36] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-04 15:20:36] [INFO]   -> Found value: 10 W 7TH ST
[2026-03-04 15:20:36] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "10 W 7TH ST"
[2026-03-04 15:20:36] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-04 15:20:36] [INFO] Concatenating street name and type
[2026-03-04 15:20:36] [INFO]   -> Combined street name: 7TH ST
[2026-03-04 15:20:36] [INFO] Built locationCoordinates from lat/lng: 36.17143,-85.50439
[2026-03-04 15:20:36] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nCFD","incidentInternalId":"2026000592","dispatchRunNumber":"2026000592","incidentTypeValue1":"PUBLIC RELATIONS - FIRE","incidentLocationStreetNumber":10,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"businessName":"SCHOOL OF NURSING TTU (HEALTH SERVICES)","nERISIncidentLatitude":36.1714300000000008594724931754171848297119140625,"nERISIncidentLongitude":-85.50439000000000078216544352471828460693359375,"alarm":"2026-03-04 09:20:19","dispatched":"2026-03-04 09:20:18","enroute":"2026-03-04 09:20:23","incidentLocationCross":"MAHLER AVE\/N WALNUT AVE","cADVehicleID":"EN12","timedispatch":"2026-03-04 09:20:18","timeenroutetoscene":"2026-03-04 09:20:23","policeReportNumber":"20260023792","dispatchNotes":"Event spawned from PUBLIC RELATIONS - FIRE.  [03\/04\/2026 09:20:19 KBEATY]","cADLog":"Event spawned from PUBLIC RELATIONS - FIRE.  [03\/04\/2026 09:20:19 KBEATY]","incidentLocationCity":"COOKEVILLE","streetName":"7TH ST","incidentAddressTextVersionStreet":"10 W 7TH ST","locationCoordinates":"36.17143,-85.50439"}
[2026-03-04 15:20:36] [INFO] Number of extracted fields: 24
[2026-03-04 15:20:36] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
CFD'
[2026-03-04 15:20:36] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
CFD', Parsed IDs = ["PCFD","CFD"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-03-04 15:20:36] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","CFD"]
[2026-03-04 15:20:36] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-04 15:20:36] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-04 15:20:36] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["CFD"]
[2026-03-04 15:20:36] [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-03-04 15:20:36] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-04 15:20:36] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-04 15:20:36] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-04 15:20:36] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-04 15:20:37] [INFO] Found existing IncidentTypeMapping with ID: 6945dc40b16298336
[2026-03-04 15:20:38] [INFO] Found existing Dispatch with cADNumber '2026000592', ID: 69a84db8ed712de59 - will update instead of create
[2026-03-04 15:20:54] [INFO] Updated existing Dispatches record with ID: 69a84db8ed712de59
[2026-03-04 15:20:54] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023792_20260304_152029.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-04/PCFD_20260023792_20260304_152029.XML
[2026-03-04 15:20:54] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023792_20260304_152029.XML
[2026-03-04 15:29:40] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023792_20260304_152940.XML
[2026-03-04 15:29:40] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023792_20260304_152940.XML for user: 68f1466aed072ad4a
[2026-03-04 15:29:40] [INFO] File size: 4986 bytes
[2026-03-04 15:29:41] [INFO] Created FTPFiles record with ID: 69a84fe595581e358
[2026-03-04 15:29:41] [INFO] About to extract fields from XML. File size: 4986 bytes
[2026-03-04 15:29:41] [INFO] Number of mappings: 28
[2026-03-04 15:29:41] [INFO] Starting XML parsing. Content length: 4986
[2026-03-04 15:29:41] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-04 15:29:41] [INFO] Processing 28 field mappings
[2026-03-04 15:29:41] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-04 15:29:41] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-04 15:29:41] [INFO]   -> Found value: PCFD
[2026-03-04 15:29:41] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-03-04 15:29:41] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-04 15:29:41] [INFO]   -> Found value: 2026000592
[2026-03-04 15:29:41] [INFO]   -> Set field 'incidentInternalId' = "2026000592"
[2026-03-04 15:29:41] [INFO]   -> Set field 'dispatchRunNumber' = "2026000592"
[2026-03-04 15:29:41] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-04 15:29:41] [INFO]   -> Found value: PUBLIC RELATIONS - FIRE
[2026-03-04 15:29:41] [INFO]   -> Set field 'incidentTypeValue1' = "PUBLIC RELATIONS - FIRE"
[2026-03-04 15:29:41] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-04 15:29:41] [INFO]   -> Found value: 10
[2026-03-04 15:29:41] [INFO]   -> Set field 'incidentLocationStreetNumber' = 10
[2026-03-04 15:29:41] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-04 15:29:41] [INFO]   -> Found value: TN
[2026-03-04 15:29:41] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-04 15:29:41] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-04 15:29:41] [INFO]   -> Found value: 38501
[2026-03-04 15:29:41] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-04 15:29:41] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-04 15:29:41] [INFO]   -> Found value: SCHOOL OF NURSING TTU (HEALTH SERVICES)
[2026-03-04 15:29:41] [INFO]   -> Set field 'businessName' = "SCHOOL OF NURSING TTU (HEALTH SERVICES)"
[2026-03-04 15:29:41] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-04 15:29:41] [INFO]   -> No value found (null or empty)
[2026-03-04 15:29:41] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-04 15:29:41] [INFO]   -> Found value: 36.17143
[2026-03-04 15:29:41] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1714300000000008594724931754171848297119140625
[2026-03-04 15:29:41] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-04 15:29:41] [INFO]   -> Found value: -85.50439
[2026-03-04 15:29:41] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.50439000000000078216544352471828460693359375
[2026-03-04 15:29:41] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-04 15:29:41] [INFO]   -> Found value: 2026-03-04 09:20:19
[2026-03-04 15:29:41] [INFO]   -> Set field 'alarm' = "2026-03-04 09:20:19"
[2026-03-04 15:29:41] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-04 15:29:41] [INFO]   -> Found value: 2026-03-04 09:20:18
[2026-03-04 15:29:41] [INFO]   -> Set field 'dispatched' = "2026-03-04 09:20:18"
[2026-03-04 15:29:41] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-04 15:29:41] [INFO]   -> Found value: 2026-03-04 09:20:23
[2026-03-04 15:29:41] [INFO]   -> Set field 'enroute' = "2026-03-04 09:20:23"
[2026-03-04 15:29:41] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-04 15:29:41] [INFO]   -> Found value: 2026-03-04 09:29:36
[2026-03-04 15:29:41] [INFO]   -> Set field 'onScene' = "2026-03-04 09:29:36"
[2026-03-04 15:29:41] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-04 15:29:41] [INFO]   -> No value found (null or empty)
[2026-03-04 15:29:41] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-04 15:29:41] [INFO]   -> Found value: MAHLER AVE/N WALNUT AVE
[2026-03-04 15:29:41] [INFO]   -> Set field 'incidentLocationCross' = "MAHLER AVE\/N WALNUT AVE"
[2026-03-04 15:29:41] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-04 15:29:41] [INFO]   -> Found value: EN12
[2026-03-04 15:29:41] [INFO]   -> Set field 'cADVehicleID' = "EN12"
[2026-03-04 15:29:41] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-04 15:29:41] [INFO]   -> Found value: 2026-03-04 09:20:18
[2026-03-04 15:29:41] [INFO]   -> Set field 'timedispatch' = "2026-03-04 09:20:18"
[2026-03-04 15:29:41] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-04 15:29:41] [INFO]   -> Found value: 2026-03-04 09:20:23
[2026-03-04 15:29:41] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-04 09:20:23"
[2026-03-04 15:29:41] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-04 15:29:41] [INFO]   -> Found value: 2026-03-04 09:29:36
[2026-03-04 15:29:41] [INFO]   -> Set field 'timeonscene' = "2026-03-04 09:29:36"
[2026-03-04 15:29:41] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-04 15:29:41] [INFO]   -> No value found (null or empty)
[2026-03-04 15:29:41] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-04 15:29:41] [INFO]   -> No value found (null or empty)
[2026-03-04 15:29:41] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-04 15:29:41] [INFO]   -> Found value: 20260023792
[2026-03-04 15:29:41] [INFO]   -> Set field 'policeReportNumber' = "20260023792"
[2026-03-04 15:29:41] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-04 15:29:41] [INFO]   -> Found value: Event spawned from PUBLIC RELATIONS - FIRE.  [03/04/2026 09:20:19 KBEATY]
[2026-03-04 15:29:41] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from PUBLIC RELATIONS - FIRE.  [03\/04\/2026 09:20:19 KBEATY]"
[2026-03-04 15:29:41] [INFO]   -> Set field 'cADLog' = "Event spawned from PUBLIC RELATIONS - FIRE.  [03\/04\/2026 09:20:19 KBEATY]"
[2026-03-04 15:29:41] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-04 15:29:41] [INFO]   -> Found value: COOKEVILLE
[2026-03-04 15:29:41] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-04 15:29:41] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-04 15:29:41] [INFO]   -> Found value: 7TH
[2026-03-04 15:29:41] [INFO]   -> Set field 'streetName' = "7TH"
[2026-03-04 15:29:41] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-04 15:29:41] [INFO]   -> Found value: ST
[2026-03-04 15:29:41] [INFO]   -> Set field 'streetType' = "ST"
[2026-03-04 15:29:41] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-04 15:29:41] [INFO]   -> Found value: 10 W 7TH ST
[2026-03-04 15:29:41] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "10 W 7TH ST"
[2026-03-04 15:29:41] [INFO] Finished extracting fields. Total fields extracted: 26
[2026-03-04 15:29:41] [INFO] Concatenating street name and type
[2026-03-04 15:29:41] [INFO]   -> Combined street name: 7TH ST
[2026-03-04 15:29:41] [INFO] Built locationCoordinates from lat/lng: 36.17143,-85.50439
[2026-03-04 15:29:41] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000592","dispatchRunNumber":"2026000592","incidentTypeValue1":"PUBLIC RELATIONS - FIRE","incidentLocationStreetNumber":10,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"businessName":"SCHOOL OF NURSING TTU (HEALTH SERVICES)","nERISIncidentLatitude":36.1714300000000008594724931754171848297119140625,"nERISIncidentLongitude":-85.50439000000000078216544352471828460693359375,"alarm":"2026-03-04 09:20:19","dispatched":"2026-03-04 09:20:18","enroute":"2026-03-04 09:20:23","onScene":"2026-03-04 09:29:36","incidentLocationCross":"MAHLER AVE\/N WALNUT AVE","cADVehicleID":"EN12","timedispatch":"2026-03-04 09:20:18","timeenroutetoscene":"2026-03-04 09:20:23","timeonscene":"2026-03-04 09:29:36","policeReportNumber":"20260023792","dispatchNotes":"Event spawned from PUBLIC RELATIONS - FIRE.  [03\/04\/2026 09:20:19 KBEATY]","cADLog":"Event spawned from PUBLIC RELATIONS - FIRE.  [03\/04\/2026 09:20:19 KBEATY]","incidentLocationCity":"COOKEVILLE","streetName":"7TH ST","incidentAddressTextVersionStreet":"10 W 7TH ST","locationCoordinates":"36.17143,-85.50439"}
[2026-03-04 15:29:41] [INFO] Number of extracted fields: 26
[2026-03-04 15:29:41] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-03-04 15:29:41] [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-03-04 15:29:41] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-03-04 15:29:41] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-04 15:30:09] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-04 15:30:09] [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-03-04 15:30:09] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-04 15:30:09] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-04 15:30:09] [INFO] Found existing IncidentTypeMapping with ID: 6945dc40b16298336
[2026-03-04 15:30:09] [INFO] Found existing Dispatch with cADNumber '2026000592', ID: 69a84db8ed712de59 - will update instead of create
[2026-03-04 15:30:09] [INFO] Updated existing Dispatches record with ID: 69a84db8ed712de59
[2026-03-04 15:30:09] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023792_20260304_152940.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-04/PCFD_20260023792_20260304_152940.XML
[2026-03-04 15:30:09] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023792_20260304_152940.XML
[2026-03-04 15:30:09] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023792_20260304_152941.XML
[2026-03-04 15:30:09] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023792_20260304_152941.XML for user: 68f1466aed072ad4a
[2026-03-04 15:30:09] [INFO] File size: 4986 bytes
[2026-03-04 15:30:10] [INFO] Created FTPFiles record with ID: 69a850025246d6552
[2026-03-04 15:30:10] [INFO] About to extract fields from XML. File size: 4986 bytes
[2026-03-04 15:30:10] [INFO] Number of mappings: 28
[2026-03-04 15:30:10] [INFO] Starting XML parsing. Content length: 4986
[2026-03-04 15:30:10] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-04 15:30:10] [INFO] Processing 28 field mappings
[2026-03-04 15:30:10] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-04 15:30:10] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-04 15:30:10] [INFO]   -> Found value: PCFD
[2026-03-04 15:30:10] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-03-04 15:30:10] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-04 15:30:10] [INFO]   -> Found value: 2026000592
[2026-03-04 15:30:10] [INFO]   -> Set field 'incidentInternalId' = "2026000592"
[2026-03-04 15:30:10] [INFO]   -> Set field 'dispatchRunNumber' = "2026000592"
[2026-03-04 15:30:10] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-04 15:30:10] [INFO]   -> Found value: PUBLIC RELATIONS - FIRE
[2026-03-04 15:30:10] [INFO]   -> Set field 'incidentTypeValue1' = "PUBLIC RELATIONS - FIRE"
[2026-03-04 15:30:10] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-04 15:30:10] [INFO]   -> Found value: 10
[2026-03-04 15:30:10] [INFO]   -> Set field 'incidentLocationStreetNumber' = 10
[2026-03-04 15:30:10] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-04 15:30:10] [INFO]   -> Found value: TN
[2026-03-04 15:30:10] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-04 15:30:10] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-04 15:30:10] [INFO]   -> Found value: 38501
[2026-03-04 15:30:10] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-04 15:30:10] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-04 15:30:10] [INFO]   -> Found value: SCHOOL OF NURSING TTU (HEALTH SERVICES)
[2026-03-04 15:30:10] [INFO]   -> Set field 'businessName' = "SCHOOL OF NURSING TTU (HEALTH SERVICES)"
[2026-03-04 15:30:10] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-04 15:30:10] [INFO]   -> No value found (null or empty)
[2026-03-04 15:30:10] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-04 15:30:10] [INFO]   -> Found value: 36.17143
[2026-03-04 15:30:10] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1714300000000008594724931754171848297119140625
[2026-03-04 15:30:10] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-04 15:30:10] [INFO]   -> Found value: -85.50439
[2026-03-04 15:30:10] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.50439000000000078216544352471828460693359375
[2026-03-04 15:30:10] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-04 15:30:10] [INFO]   -> Found value: 2026-03-04 09:20:19
[2026-03-04 15:30:10] [INFO]   -> Set field 'alarm' = "2026-03-04 09:20:19"
[2026-03-04 15:30:10] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-04 15:30:10] [INFO]   -> Found value: 2026-03-04 09:20:18
[2026-03-04 15:30:10] [INFO]   -> Set field 'dispatched' = "2026-03-04 09:20:18"
[2026-03-04 15:30:10] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-04 15:30:10] [INFO]   -> Found value: 2026-03-04 09:20:23
[2026-03-04 15:30:10] [INFO]   -> Set field 'enroute' = "2026-03-04 09:20:23"
[2026-03-04 15:30:10] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-04 15:30:10] [INFO]   -> Found value: 2026-03-04 09:29:36
[2026-03-04 15:30:10] [INFO]   -> Set field 'onScene' = "2026-03-04 09:29:36"
[2026-03-04 15:30:10] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-04 15:30:10] [INFO]   -> No value found (null or empty)
[2026-03-04 15:30:10] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-04 15:30:10] [INFO]   -> Found value: MAHLER AVE/N WALNUT AVE
[2026-03-04 15:30:10] [INFO]   -> Set field 'incidentLocationCross' = "MAHLER AVE\/N WALNUT AVE"
[2026-03-04 15:30:10] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-04 15:30:10] [INFO]   -> Found value: EN12
[2026-03-04 15:30:10] [INFO]   -> Set field 'cADVehicleID' = "EN12"
[2026-03-04 15:30:10] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-04 15:30:10] [INFO]   -> Found value: 2026-03-04 09:20:18
[2026-03-04 15:30:10] [INFO]   -> Set field 'timedispatch' = "2026-03-04 09:20:18"
[2026-03-04 15:30:10] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-04 15:30:10] [INFO]   -> Found value: 2026-03-04 09:20:23
[2026-03-04 15:30:10] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-04 09:20:23"
[2026-03-04 15:30:10] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-04 15:30:10] [INFO]   -> Found value: 2026-03-04 09:29:36
[2026-03-04 15:30:10] [INFO]   -> Set field 'timeonscene' = "2026-03-04 09:29:36"
[2026-03-04 15:30:10] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-04 15:30:10] [INFO]   -> No value found (null or empty)
[2026-03-04 15:30:10] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-04 15:30:10] [INFO]   -> No value found (null or empty)
[2026-03-04 15:30:10] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-04 15:30:10] [INFO]   -> Found value: 20260023792
[2026-03-04 15:30:10] [INFO]   -> Set field 'policeReportNumber' = "20260023792"
[2026-03-04 15:30:10] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-04 15:30:10] [INFO]   -> Found value: Event spawned from PUBLIC RELATIONS - FIRE.  [03/04/2026 09:20:19 KBEATY]
[2026-03-04 15:30:10] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from PUBLIC RELATIONS - FIRE.  [03\/04\/2026 09:20:19 KBEATY]"
[2026-03-04 15:30:10] [INFO]   -> Set field 'cADLog' = "Event spawned from PUBLIC RELATIONS - FIRE.  [03\/04\/2026 09:20:19 KBEATY]"
[2026-03-04 15:30:10] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-04 15:30:10] [INFO]   -> Found value: COOKEVILLE
[2026-03-04 15:30:10] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-04 15:30:10] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-04 15:30:10] [INFO]   -> Found value: 7TH
[2026-03-04 15:30:10] [INFO]   -> Set field 'streetName' = "7TH"
[2026-03-04 15:30:10] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-04 15:30:10] [INFO]   -> Found value: ST
[2026-03-04 15:30:10] [INFO]   -> Set field 'streetType' = "ST"
[2026-03-04 15:30:10] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-04 15:30:10] [INFO]   -> Found value: 10 W 7TH ST
[2026-03-04 15:30:10] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "10 W 7TH ST"
[2026-03-04 15:30:10] [INFO] Finished extracting fields. Total fields extracted: 26
[2026-03-04 15:30:10] [INFO] Concatenating street name and type
[2026-03-04 15:30:10] [INFO]   -> Combined street name: 7TH ST
[2026-03-04 15:30:10] [INFO] Built locationCoordinates from lat/lng: 36.17143,-85.50439
[2026-03-04 15:30:10] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000592","dispatchRunNumber":"2026000592","incidentTypeValue1":"PUBLIC RELATIONS - FIRE","incidentLocationStreetNumber":10,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"businessName":"SCHOOL OF NURSING TTU (HEALTH SERVICES)","nERISIncidentLatitude":36.1714300000000008594724931754171848297119140625,"nERISIncidentLongitude":-85.50439000000000078216544352471828460693359375,"alarm":"2026-03-04 09:20:19","dispatched":"2026-03-04 09:20:18","enroute":"2026-03-04 09:20:23","onScene":"2026-03-04 09:29:36","incidentLocationCross":"MAHLER AVE\/N WALNUT AVE","cADVehicleID":"EN12","timedispatch":"2026-03-04 09:20:18","timeenroutetoscene":"2026-03-04 09:20:23","timeonscene":"2026-03-04 09:29:36","policeReportNumber":"20260023792","dispatchNotes":"Event spawned from PUBLIC RELATIONS - FIRE.  [03\/04\/2026 09:20:19 KBEATY]","cADLog":"Event spawned from PUBLIC RELATIONS - FIRE.  [03\/04\/2026 09:20:19 KBEATY]","incidentLocationCity":"COOKEVILLE","streetName":"7TH ST","incidentAddressTextVersionStreet":"10 W 7TH ST","locationCoordinates":"36.17143,-85.50439"}
[2026-03-04 15:30:10] [INFO] Number of extracted fields: 26
[2026-03-04 15:30:10] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-03-04 15:30:10] [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-03-04 15:30:10] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-03-04 15:30:10] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-04 15:30:10] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-04 15:30:10] [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-03-04 15:30:10] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-04 15:30:10] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-04 15:30:10] [INFO] Found existing IncidentTypeMapping with ID: 6945dc40b16298336
[2026-03-04 15:30:11] [INFO] Found existing Dispatch with cADNumber '2026000592', ID: 69a84db8ed712de59 - will update instead of create
[2026-03-04 15:30:11] [INFO] Updated existing Dispatches record with ID: 69a84db8ed712de59
[2026-03-04 15:30:11] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023792_20260304_152941.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-04/PCFD_20260023792_20260304_152941.XML
[2026-03-04 15:30:11] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023792_20260304_152941.XML
[2026-03-04 15:30:11] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023792_20260304_152941_1.XML
[2026-03-04 15:30:11] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023792_20260304_152941_1.XML for user: 68f1466aed072ad4a
[2026-03-04 15:30:11] [INFO] File size: 4986 bytes
[2026-03-04 15:30:30] [INFO] Created FTPFiles record with ID: 69a850160b2664ce6
[2026-03-04 15:30:30] [INFO] About to extract fields from XML. File size: 4986 bytes
[2026-03-04 15:30:30] [INFO] Number of mappings: 28
[2026-03-04 15:30:30] [INFO] Starting XML parsing. Content length: 4986
[2026-03-04 15:30:30] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-04 15:30:30] [INFO] Processing 28 field mappings
[2026-03-04 15:30:30] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-04 15:30:30] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-04 15:30:30] [INFO]   -> Found value: PCFD
[2026-03-04 15:30:30] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-03-04 15:30:30] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-04 15:30:30] [INFO]   -> Found value: 2026000592
[2026-03-04 15:30:30] [INFO]   -> Set field 'incidentInternalId' = "2026000592"
[2026-03-04 15:30:30] [INFO]   -> Set field 'dispatchRunNumber' = "2026000592"
[2026-03-04 15:30:30] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-04 15:30:30] [INFO]   -> Found value: PUBLIC RELATIONS - FIRE
[2026-03-04 15:30:30] [INFO]   -> Set field 'incidentTypeValue1' = "PUBLIC RELATIONS - FIRE"
[2026-03-04 15:30:30] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-04 15:30:30] [INFO]   -> Found value: 10
[2026-03-04 15:30:30] [INFO]   -> Set field 'incidentLocationStreetNumber' = 10
[2026-03-04 15:30:30] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-04 15:30:30] [INFO]   -> Found value: TN
[2026-03-04 15:30:30] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-04 15:30:30] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-04 15:30:30] [INFO]   -> Found value: 38501
[2026-03-04 15:30:30] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-04 15:30:30] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-04 15:30:30] [INFO]   -> Found value: SCHOOL OF NURSING TTU (HEALTH SERVICES)
[2026-03-04 15:30:30] [INFO]   -> Set field 'businessName' = "SCHOOL OF NURSING TTU (HEALTH SERVICES)"
[2026-03-04 15:30:30] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-04 15:30:30] [INFO]   -> No value found (null or empty)
[2026-03-04 15:30:30] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-04 15:30:30] [INFO]   -> Found value: 36.17143
[2026-03-04 15:30:30] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1714300000000008594724931754171848297119140625
[2026-03-04 15:30:30] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-04 15:30:30] [INFO]   -> Found value: -85.50439
[2026-03-04 15:30:30] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.50439000000000078216544352471828460693359375
[2026-03-04 15:30:30] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-04 15:30:30] [INFO]   -> Found value: 2026-03-04 09:20:19
[2026-03-04 15:30:30] [INFO]   -> Set field 'alarm' = "2026-03-04 09:20:19"
[2026-03-04 15:30:30] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-04 15:30:30] [INFO]   -> Found value: 2026-03-04 09:20:18
[2026-03-04 15:30:30] [INFO]   -> Set field 'dispatched' = "2026-03-04 09:20:18"
[2026-03-04 15:30:30] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-04 15:30:30] [INFO]   -> Found value: 2026-03-04 09:20:23
[2026-03-04 15:30:30] [INFO]   -> Set field 'enroute' = "2026-03-04 09:20:23"
[2026-03-04 15:30:30] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-04 15:30:30] [INFO]   -> Found value: 2026-03-04 09:29:36
[2026-03-04 15:30:30] [INFO]   -> Set field 'onScene' = "2026-03-04 09:29:36"
[2026-03-04 15:30:30] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-04 15:30:30] [INFO]   -> No value found (null or empty)
[2026-03-04 15:30:30] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-04 15:30:30] [INFO]   -> Found value: MAHLER AVE/N WALNUT AVE
[2026-03-04 15:30:30] [INFO]   -> Set field 'incidentLocationCross' = "MAHLER AVE\/N WALNUT AVE"
[2026-03-04 15:30:30] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-04 15:30:30] [INFO]   -> Found value: EN12
[2026-03-04 15:30:30] [INFO]   -> Set field 'cADVehicleID' = "EN12"
[2026-03-04 15:30:30] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-04 15:30:30] [INFO]   -> Found value: 2026-03-04 09:20:18
[2026-03-04 15:30:30] [INFO]   -> Set field 'timedispatch' = "2026-03-04 09:20:18"
[2026-03-04 15:30:30] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-04 15:30:30] [INFO]   -> Found value: 2026-03-04 09:20:23
[2026-03-04 15:30:30] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-04 09:20:23"
[2026-03-04 15:30:30] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-04 15:30:30] [INFO]   -> Found value: 2026-03-04 09:29:36
[2026-03-04 15:30:30] [INFO]   -> Set field 'timeonscene' = "2026-03-04 09:29:36"
[2026-03-04 15:30:30] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-04 15:30:30] [INFO]   -> No value found (null or empty)
[2026-03-04 15:30:30] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-04 15:30:30] [INFO]   -> No value found (null or empty)
[2026-03-04 15:30:30] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-04 15:30:30] [INFO]   -> Found value: 20260023792
[2026-03-04 15:30:30] [INFO]   -> Set field 'policeReportNumber' = "20260023792"
[2026-03-04 15:30:30] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-04 15:30:30] [INFO]   -> Found value: Event spawned from PUBLIC RELATIONS - FIRE.  [03/04/2026 09:20:19 KBEATY]
[2026-03-04 15:30:30] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from PUBLIC RELATIONS - FIRE.  [03\/04\/2026 09:20:19 KBEATY]"
[2026-03-04 15:30:30] [INFO]   -> Set field 'cADLog' = "Event spawned from PUBLIC RELATIONS - FIRE.  [03\/04\/2026 09:20:19 KBEATY]"
[2026-03-04 15:30:30] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-04 15:30:30] [INFO]   -> Found value: COOKEVILLE
[2026-03-04 15:30:30] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-04 15:30:30] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-04 15:30:30] [INFO]   -> Found value: 7TH
[2026-03-04 15:30:30] [INFO]   -> Set field 'streetName' = "7TH"
[2026-03-04 15:30:30] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-04 15:30:30] [INFO]   -> Found value: ST
[2026-03-04 15:30:30] [INFO]   -> Set field 'streetType' = "ST"
[2026-03-04 15:30:30] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-04 15:30:30] [INFO]   -> Found value: 10 W 7TH ST
[2026-03-04 15:30:30] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "10 W 7TH ST"
[2026-03-04 15:30:30] [INFO] Finished extracting fields. Total fields extracted: 26
[2026-03-04 15:30:30] [INFO] Concatenating street name and type
[2026-03-04 15:30:30] [INFO]   -> Combined street name: 7TH ST
[2026-03-04 15:30:30] [INFO] Built locationCoordinates from lat/lng: 36.17143,-85.50439
[2026-03-04 15:30:30] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000592","dispatchRunNumber":"2026000592","incidentTypeValue1":"PUBLIC RELATIONS - FIRE","incidentLocationStreetNumber":10,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"businessName":"SCHOOL OF NURSING TTU (HEALTH SERVICES)","nERISIncidentLatitude":36.1714300000000008594724931754171848297119140625,"nERISIncidentLongitude":-85.50439000000000078216544352471828460693359375,"alarm":"2026-03-04 09:20:19","dispatched":"2026-03-04 09:20:18","enroute":"2026-03-04 09:20:23","onScene":"2026-03-04 09:29:36","incidentLocationCross":"MAHLER AVE\/N WALNUT AVE","cADVehicleID":"EN12","timedispatch":"2026-03-04 09:20:18","timeenroutetoscene":"2026-03-04 09:20:23","timeonscene":"2026-03-04 09:29:36","policeReportNumber":"20260023792","dispatchNotes":"Event spawned from PUBLIC RELATIONS - FIRE.  [03\/04\/2026 09:20:19 KBEATY]","cADLog":"Event spawned from PUBLIC RELATIONS - FIRE.  [03\/04\/2026 09:20:19 KBEATY]","incidentLocationCity":"COOKEVILLE","streetName":"7TH ST","incidentAddressTextVersionStreet":"10 W 7TH ST","locationCoordinates":"36.17143,-85.50439"}
[2026-03-04 15:30:30] [INFO] Number of extracted fields: 26
[2026-03-04 15:30:30] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-03-04 15:30:30] [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-03-04 15:30:30] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-03-04 15:30:30] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-04 15:30:30] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-04 15: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-03-04 15: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-03-04 15:30:57] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-04 15:30:58] [INFO] Found existing IncidentTypeMapping with ID: 6945dc40b16298336
[2026-03-04 15:30:58] [INFO] Found existing Dispatch with cADNumber '2026000592', ID: 69a84db8ed712de59 - will update instead of create
[2026-03-04 15:30:58] [INFO] Updated existing Dispatches record with ID: 69a84db8ed712de59
[2026-03-04 15:30:58] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023792_20260304_152941_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-04/PCFD_20260023792_20260304_152941_1.XML
[2026-03-04 15:30:58] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023792_20260304_152941_1.XML
[2026-03-04 16:04:44] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-06570.xml
[2026-03-04 16:04:44] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-06570.xml for user: 68d56363ec1209189
[2026-03-04 16:04:44] [INFO] File size: 1877 bytes
[2026-03-04 16:04:45] [INFO] Created FTPFiles record with ID: 69a8581d488406ec8
[2026-03-04 16:04:45] [INFO] About to extract fields from XML. File size: 1877 bytes
[2026-03-04 16:04:45] [INFO] Number of mappings: 21
[2026-03-04 16:04:45] [INFO] Starting XML parsing. Content length: 1877
[2026-03-04 16:04:45] [INFO] XML parsed successfully. Root element: Incident
[2026-03-04 16:04:45] [INFO] Processing 21 field mappings
[2026-03-04 16:04:45] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-03-04 16:04:45] [INFO]   -> Found value: 26-06570
[2026-03-04 16:04:45] [INFO]   -> Set field 'dispatchRunNumber' = "26-06570"
[2026-03-04 16:04:45] [INFO]   -> Set field 'cADNumber' = "26-06570"
[2026-03-04 16:04:45] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-03-04 16:04:45] [INFO]   -> Found value: 355
[2026-03-04 16:04:45] [INFO]   -> Set field 'incidentLocationStreetNumber' = 355
[2026-03-04 16:04:45] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-03-04 16:04:45] [INFO]   -> Found value: COUNTY HIGHWAY 517
[2026-03-04 16:04:45] [INFO]   -> Set field 'streetName' = "COUNTY HIGHWAY 517"
[2026-03-04 16:04:45] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-03-04 16:04:45] [INFO]   -> No value found (null or empty)
[2026-03-04 16:04:45] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-03-04 16:04:45] [INFO]   -> Found value: SIKESTON
[2026-03-04 16:04:45] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2026-03-04 16:04:45] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-03-04 16:04:45] [INFO]   -> No value found (null or empty)
[2026-03-04 16:04:45] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-03-04 16:04:45] [INFO]   -> No value found (null or empty)
[2026-03-04 16:04:45] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-03-04 16:04:45] [INFO]   -> No value found (null or empty)
[2026-03-04 16:04:45] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-03-04 16:04:45] [INFO]   -> Found value: 0
[2026-03-04 16:04:45] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2026-03-04 16:04:45] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-03-04 16:04:45] [INFO]   -> Found value: 0
[2026-03-04 16:04:45] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2026-03-04 16:04:45] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-03-04 16:04:45] [INFO]   -> Found value: MEDICAL
[2026-03-04 16:04:45] [INFO]   -> Set field 'incidentTypeValue1' = "MEDICAL"
[2026-03-04 16:04:45] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-03-04 16:04:45] [INFO]   -> Found value: 03-04-2026 09:38:06|71YO MALE POSSIBLY HAD A STROKE
LAYING OUTSIDE IN THE COW PASTURE
RP IS NOT ON S...
[2026-03-04 16:04:45] [INFO]   -> Set field 'dispatchNotes' = "03-04-2026 09:38:06|71YO MALE POSSIBLY HAD A STROKE\nLAYING OUTSIDE IN THE COW PASTURE\nRP IS NOT ON SCENE WITH THE MALE\n 03-04-2026 09:39:28|HISTORY OF STROKES 03-04-2026 09:47:53|1701 ADVISES PATIENT IS NOT OUT IN THE FIELD,HE IS UP BY THE DRIVEWAY 03-04-2026 10:03:33|1701 ADVISES THEY ARE CLEAR FROM 517"
[2026-03-04 16:04:45] [INFO]   -> Set field 'cADLog' = "03-04-2026 09:38:06|71YO MALE POSSIBLY HAD A STROKE\nLAYING OUTSIDE IN THE COW PASTURE\nRP IS NOT ON SCENE WITH THE MALE\n 03-04-2026 09:39:28|HISTORY OF STROKES 03-04-2026 09:47:53|1701 ADVISES PATIENT IS NOT OUT IN THE FIELD,HE IS UP BY THE DRIVEWAY 03-04-2026 10:03:33|1701 ADVISES THEY ARE CLEAR FROM 517"
[2026-03-04 16:04:45] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-03-04 16:04:45] [INFO]   -> Found value: 03-04-2026T09:39:04
[2026-03-04 16:04:45] [INFO] Reformatted DD-MM-YYYY date '03-04-2026' (day=03, month=04) to ISO: 2026-04-03T09:39:04
[2026-03-04 16:04:45] [INFO]   -> Set field 'alarm' = "2026-04-03 09:39:04"
[2026-03-04 16:04:45] [INFO] Reformatted DD-MM-YYYY date '03-04-2026' (day=03, month=04) to ISO: 2026-04-03T09:39:04
[2026-03-04 16:04:45] [INFO]   -> Set field 'dispatched' = "2026-04-03 09:39:04"
[2026-03-04 16:04:45] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-03-04 16:04:45] [INFO]   -> Found value: 03-04-2026T09:47:33
[2026-03-04 16:04:45] [INFO] Reformatted DD-MM-YYYY date '03-04-2026' (day=03, month=04) to ISO: 2026-04-03T09:47:33
[2026-03-04 16:04:45] [INFO]   -> Set field 'onScene' = "2026-04-03 09:47:33"
[2026-03-04 16:04:45] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-03-04 16:04:45] [INFO]   -> No value found (null or empty)
[2026-03-04 16:04:45] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-03-04 16:04:45] [INFO]   -> Found value: 1701
[2026-03-04 16:04:45] [INFO]   -> Set field 'cADVehicleID' = 1701
[2026-03-04 16:04:45] [INFO]   -> Set field 'name' = "1701"
[2026-03-04 16:04:45] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-03-04 16:04:45] [INFO]   -> Found value: 03-04-2026T09:39:44
[2026-03-04 16:04:45] [INFO] Reformatted DD-MM-YYYY date '03-04-2026' (day=03, month=04) to ISO: 2026-04-03T09:39:44
[2026-03-04 16:04:45] [INFO]   -> Set field 'timeenroutetoscene' = "2026-04-03 09:39:44"
[2026-03-04 16:04:45] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-03-04 16:04:45] [INFO]   -> Found value: 03-04-2026T09:47:33
[2026-03-04 16:04:45] [INFO] Reformatted DD-MM-YYYY date '03-04-2026' (day=03, month=04) to ISO: 2026-04-03T09:47:33
[2026-03-04 16:04:45] [INFO]   -> Set field 'timeonscene' = "2026-04-03 09:47:33"
[2026-03-04 16:04:45] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-03-04 16:04:45] [INFO]   -> Found value: 03-04-2026T10:03:37
[2026-03-04 16:04:45] [INFO] Reformatted DD-MM-YYYY date '03-04-2026' (day=03, month=04) to ISO: 2026-04-03T10:03:37
[2026-03-04 16:04:45] [INFO]   -> Set field 'timeunitclear' = "2026-04-03 10:03:37"
[2026-03-04 16:04:45] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-03-04 16:04:45] [INFO]   -> No value found (null or empty)
[2026-03-04 16:04:45] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-03-04 16:04:45] [INFO]   -> Found value: SCRFD
[2026-03-04 16:04:45] [INFO]   -> Set field 'cADAgencyIdentifier' = "SCRFD"
[2026-03-04 16:04:45] [INFO] Finished extracting fields. Total fields extracted: 19
[2026-03-04 16:04:45] [INFO] Built locationCoordinates from lat/lng: 0,0
[2026-03-04 16:04:45] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-06570","cADNumber":"26-06570","incidentLocationStreetNumber":355,"streetName":"COUNTY HIGHWAY 517","incidentLocationCity":"SIKESTON","nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"MEDICAL","dispatchNotes":"03-04-2026 09:38:06|71YO MALE POSSIBLY HAD A STROKE\nLAYING OUTSIDE IN THE COW PASTURE\nRP IS NOT ON SCENE WITH THE MALE\n 03-04-2026 09:39:28|HISTORY OF STROKES 03-04-2026 09:47:53|1701 ADVISES PATIENT IS NOT OUT IN THE FIELD,HE IS UP BY THE DRIVEWAY 03-04-2026 10:03:33|1701 ADVISES THEY ARE CLEAR FROM 517","cADLog":"03-04-2026 09:38:06|71YO MALE POSSIBLY HAD A STROKE\nLAYING OUTSIDE IN THE COW PASTURE\nRP IS NOT ON SCENE WITH THE MALE\n 03-04-2026 09:39:28|HISTORY OF STROKES 03-04-2026 09:47:53|1701 ADVISES PATIENT IS NOT OUT IN THE FIELD,HE IS UP BY THE DRIVEWAY 03-04-2026 10:03:33|1701 ADVISES THEY ARE CLEAR FROM 517","alarm":"2026-04-03 09:39:04","dispatched":"2026-04-03 09:39:04","onScene":"2026-04-03 09:47:33","cADVehicleID":1701,"name":"1701","timeenroutetoscene":"2026-04-03 09:39:44","timeonscene":"2026-04-03 09:47:33","timeunitclear":"2026-04-03 10:03:37","cADAgencyIdentifier":"SCRFD","locationCoordinates":"0,0"}
[2026-03-04 16:04:45] [INFO] Number of extracted fields: 20
[2026-03-04 16:04:45] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SCRFD'
[2026-03-04 16:04:45] [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-03-04 16:04:45] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SCRFD"]
[2026-03-04 16:04:45] [INFO] Attempting SAASClient lookup for AgencyCode 'SCRFD' (index 0) within mailbox's assigned agencies
[2026-03-04 16:04:45] [INFO] SUCCESS: Routed to agency 'Scott County Rural Fire Protection District' (ID: 6643bdb30659f00d8) at INDEX 0 based on AgencyCode 'SCRFD'
[2026-03-04 16:04:45] [INFO] Fetched 6 stations from Stations module for agency 'Scott County Rural Fire Protection District': ["690279491710f7b8e","6644dbe7e17f1c3de","6644dbb3886c9768f","6644d0c9be0e4ec53","6644e2fe1572c01ae","69027d47e7c4fc65b"]
[2026-03-04 16:04:45] [INFO] Final routing: saasclientId = 6643bdb30659f00d8, dispatchStationsIds = ["690279491710f7b8e","6644dbe7e17f1c3de","6644dbb3886c9768f","6644d0c9be0e4ec53","6644e2fe1572c01ae","69027d47e7c4fc65b"], matchedAgencyIndex = 0
[2026-03-04 16:04:45] [INFO] Updated FTPFiles record saasclientId to routed agency: 6643bdb30659f00d8
[2026-03-04 16:04:45] [INFO] Found existing IncidentTypeMapping with ID: 6979040ce473322a8
[2026-03-04 16:04:46] [INFO] Found existing Dispatch with cADNumber '26-06570', ID: 69a85221b76ef50cf - will update instead of create
[2026-03-04 16:04:46] [INFO] Updated existing Dispatches record with ID: 69a85221b76ef50cf
[2026-03-04 16:04:46] [INFO] Created archive directory: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-03-04
[2026-03-04 16:04:46] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-06570.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-03-04/SCRFD_26-06570.xml
[2026-03-04 16:04:46] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-06570.xml
[2026-03-04 17:43:42] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023871_20260304_174342.XML
[2026-03-04 17:43:42] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023871_20260304_174342.XML for user: 68f1466aed072ad4a
[2026-03-04 17:43:42] [INFO] File size: 4812 bytes
[2026-03-04 17:43:42] [INFO] Created FTPFiles record with ID: 69a86f4eb02fd9490
[2026-03-04 17:43:42] [INFO] About to extract fields from XML. File size: 4812 bytes
[2026-03-04 17:43:42] [INFO] Number of mappings: 28
[2026-03-04 17:43:42] [INFO] Starting XML parsing. Content length: 4812
[2026-03-04 17:43:42] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-04 17:43:42] [INFO] Processing 28 field mappings
[2026-03-04 17:43:42] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-04 17:43:42] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-04 17:43:42] [INFO]   -> Found value: PCFD
[2026-03-04 17:43:42] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-03-04 17:43:42] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-04 17:43:42] [INFO]   -> Found value: 2026000593
[2026-03-04 17:43:42] [INFO]   -> Set field 'incidentInternalId' = "2026000593"
[2026-03-04 17:43:42] [INFO]   -> Set field 'dispatchRunNumber' = "2026000593"
[2026-03-04 17:43:42] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-04 17:43:42] [INFO]   -> Found value: BRUSH / GRASS FIRE
[2026-03-04 17:43:42] [INFO]   -> Set field 'incidentTypeValue1' = "BRUSH \/ GRASS FIRE"
[2026-03-04 17:43:42] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-04 17:43:42] [INFO]   -> Found value: 4881
[2026-03-04 17:43:42] [INFO]   -> Set field 'incidentLocationStreetNumber' = 4881
[2026-03-04 17:43:42] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-04 17:43:42] [INFO]   -> Found value: TN
[2026-03-04 17:43:42] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-04 17:43:42] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-04 17:43:42] [INFO]   -> Found value: 38544
[2026-03-04 17:43:42] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-04 17:43:42] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-04 17:43:42] [INFO]   -> No value found (null or empty)
[2026-03-04 17:43:42] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-04 17:43:42] [INFO]   -> No value found (null or empty)
[2026-03-04 17:43:42] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-04 17:43:42] [INFO]   -> Found value: 36.10804
[2026-03-04 17:43:42] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1080400000000025784174795262515544891357421875
[2026-03-04 17:43:42] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-04 17:43:42] [INFO]   -> Found value: -85.60092
[2026-03-04 17:43:42] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.600920000000002119122655130922794342041015625
[2026-03-04 17:43:42] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-04 17:43:42] [INFO]   -> Found value: 2026-03-04 11:42:44
[2026-03-04 17:43:42] [INFO]   -> Set field 'alarm' = "2026-03-04 11:42:44"
[2026-03-04 17:43:42] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-04 17:43:42] [INFO]   -> Found value: 2026-03-04 11:43:38
[2026-03-04 17:43:42] [INFO]   -> Set field 'dispatched' = "2026-03-04 11:43:38"
[2026-03-04 17:43:42] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-04 17:43:42] [INFO]   -> No value found (null or empty)
[2026-03-04 17:43:42] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-04 17:43:42] [INFO]   -> No value found (null or empty)
[2026-03-04 17:43:42] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-04 17:43:42] [INFO]   -> No value found (null or empty)
[2026-03-04 17:43:42] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-04 17:43:42] [INFO]   -> Found value: DITTY RD/SOUTHERN HILLS DR
[2026-03-04 17:43:42] [INFO]   -> Set field 'incidentLocationCross' = "DITTY RD\/SOUTHERN HILLS DR"
[2026-03-04 17:43:42] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-04 17:43:42] [INFO]   -> Found value: TK13
[2026-03-04 17:43:42] [INFO]   -> Set field 'cADVehicleID' = "TK13"
[2026-03-04 17:43:42] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-04 17:43:42] [INFO]   -> Found value: 2026-03-04 11:43:38
[2026-03-04 17:43:42] [INFO]   -> Set field 'timedispatch' = "2026-03-04 11:43:38"
[2026-03-04 17:43:42] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-04 17:43:42] [INFO]   -> No value found (null or empty)
[2026-03-04 17:43:42] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-04 17:43:42] [INFO]   -> No value found (null or empty)
[2026-03-04 17:43:42] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-04 17:43:42] [INFO]   -> No value found (null or empty)
[2026-03-04 17:43:42] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-04 17:43:42] [INFO]   -> No value found (null or empty)
[2026-03-04 17:43:42] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-04 17:43:42] [INFO]   -> Found value: 20260023871
[2026-03-04 17:43:42] [INFO]   -> Set field 'policeReportNumber' = "20260023871"
[2026-03-04 17:43:42] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-04 17:43:42] [INFO]   -> Found value: IN THE FRONT YARD ABOUT 30 FOOT FROM THE HOUSE  [03/04/26 11:43:24 JBOHANNON]
[2026-03-04 17:43:42] [INFO]   -> Set field 'dispatchNotes' = "IN THE FRONT YARD ABOUT 30 FOOT FROM THE HOUSE  [03\/04\/26 11:43:24 JBOHANNON]"
[2026-03-04 17:43:42] [INFO]   -> Set field 'cADLog' = "IN THE FRONT YARD ABOUT 30 FOOT FROM THE HOUSE  [03\/04\/26 11:43:24 JBOHANNON]"
[2026-03-04 17:43:42] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-04 17:43:42] [INFO]   -> Found value: BAXTER
[2026-03-04 17:43:42] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-04 17:43:42] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-04 17:43:42] [INFO]   -> Found value: BEN JARED
[2026-03-04 17:43:42] [INFO]   -> Set field 'streetName' = "BEN JARED"
[2026-03-04 17:43:42] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-04 17:43:42] [INFO]   -> Found value: RD
[2026-03-04 17:43:42] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-04 17:43:42] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-04 17:43:42] [INFO]   -> Found value: 4881 BEN JARED RD
[2026-03-04 17:43:42] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "4881 BEN JARED RD"
[2026-03-04 17:43:42] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-04 17:43:42] [INFO] Concatenating street name and type
[2026-03-04 17:43:42] [INFO]   -> Combined street name: BEN JARED RD
[2026-03-04 17:43:42] [INFO] Built locationCoordinates from lat/lng: 36.10804,-85.60092
[2026-03-04 17:43:42] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000593","dispatchRunNumber":"2026000593","incidentTypeValue1":"BRUSH \/ GRASS FIRE","incidentLocationStreetNumber":4881,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.1080400000000025784174795262515544891357421875,"nERISIncidentLongitude":-85.600920000000002119122655130922794342041015625,"alarm":"2026-03-04 11:42:44","dispatched":"2026-03-04 11:43:38","incidentLocationCross":"DITTY RD\/SOUTHERN HILLS DR","cADVehicleID":"TK13","timedispatch":"2026-03-04 11:43:38","policeReportNumber":"20260023871","dispatchNotes":"IN THE FRONT YARD ABOUT 30 FOOT FROM THE HOUSE  [03\/04\/26 11:43:24 JBOHANNON]","cADLog":"IN THE FRONT YARD ABOUT 30 FOOT FROM THE HOUSE  [03\/04\/26 11:43:24 JBOHANNON]","incidentLocationCity":"BAXTER","streetName":"BEN JARED RD","incidentAddressTextVersionStreet":"4881 BEN JARED RD","locationCoordinates":"36.10804,-85.60092"}
[2026-03-04 17:43:42] [INFO] Number of extracted fields: 21
[2026-03-04 17:43:42] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-03-04 17:43:42] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD', Parsed IDs = ["PCFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2026-03-04 17:43:42] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-03-04 17:43:42] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-04 17:43:42] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-04 17:43:43] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-04 17:43:43] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-04 17:43:43] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-04 17:43:43] [INFO] Found existing IncidentTypeMapping with ID: 693de9e1e8922fc29
[2026-03-04 17:43:53] [INFO] Created new Dispatches record with ID: 69a86f4f90982a965
[2026-03-04 17:43:53] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023871_20260304_174342.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-04/PCFD_20260023871_20260304_174342.XML
[2026-03-04 17:43:53] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023871_20260304_174342.XML
[2026-03-04 17:44:30] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023871_20260304_174430.XML
[2026-03-04 17:44:30] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023871_20260304_174430.XML for user: 68f1466aed072ad4a
[2026-03-04 17:44:30] [INFO] File size: 4879 bytes
[2026-03-04 17:44:30] [INFO] Created FTPFiles record with ID: 69a86f7e873983981
[2026-03-04 17:44:30] [INFO] About to extract fields from XML. File size: 4879 bytes
[2026-03-04 17:44:30] [INFO] Number of mappings: 28
[2026-03-04 17:44:30] [INFO] Starting XML parsing. Content length: 4879
[2026-03-04 17:44:30] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-04 17:44:30] [INFO] Processing 28 field mappings
[2026-03-04 17:44:30] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-04 17:44:30] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-04 17:44:30] [INFO]   -> Found value: PCFD
[2026-03-04 17:44:30] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-03-04 17:44:30] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-04 17:44:30] [INFO]   -> Found value: 2026000593
[2026-03-04 17:44:30] [INFO]   -> Set field 'incidentInternalId' = "2026000593"
[2026-03-04 17:44:30] [INFO]   -> Set field 'dispatchRunNumber' = "2026000593"
[2026-03-04 17:44:30] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-04 17:44:30] [INFO]   -> Found value: BRUSH / GRASS FIRE
[2026-03-04 17:44:30] [INFO]   -> Set field 'incidentTypeValue1' = "BRUSH \/ GRASS FIRE"
[2026-03-04 17:44:30] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-04 17:44:30] [INFO]   -> Found value: 4881
[2026-03-04 17:44:30] [INFO]   -> Set field 'incidentLocationStreetNumber' = 4881
[2026-03-04 17:44:30] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-04 17:44:30] [INFO]   -> Found value: TN
[2026-03-04 17:44:30] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-04 17:44:30] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-04 17:44:30] [INFO]   -> Found value: 38544
[2026-03-04 17:44:30] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-04 17:44:30] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-04 17:44:30] [INFO]   -> No value found (null or empty)
[2026-03-04 17:44:30] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-04 17:44:30] [INFO]   -> No value found (null or empty)
[2026-03-04 17:44:30] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-04 17:44:30] [INFO]   -> Found value: 36.10804
[2026-03-04 17:44:30] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1080400000000025784174795262515544891357421875
[2026-03-04 17:44:30] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-04 17:44:30] [INFO]   -> Found value: -85.60092
[2026-03-04 17:44:30] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.600920000000002119122655130922794342041015625
[2026-03-04 17:44:30] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-04 17:44:30] [INFO]   -> Found value: 2026-03-04 11:42:44
[2026-03-04 17:44:30] [INFO]   -> Set field 'alarm' = "2026-03-04 11:42:44"
[2026-03-04 17:44:30] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-04 17:44:30] [INFO]   -> Found value: 2026-03-04 11:43:38
[2026-03-04 17:44:30] [INFO]   -> Set field 'dispatched' = "2026-03-04 11:43:38"
[2026-03-04 17:44:30] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-04 17:44:30] [INFO]   -> Found value: 2026-03-04 11:44:22
[2026-03-04 17:44:30] [INFO]   -> Set field 'enroute' = "2026-03-04 11:44:22"
[2026-03-04 17:44:30] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-04 17:44:30] [INFO]   -> No value found (null or empty)
[2026-03-04 17:44:30] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-04 17:44:30] [INFO]   -> No value found (null or empty)
[2026-03-04 17:44:30] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-04 17:44:30] [INFO]   -> Found value: DITTY RD/SOUTHERN HILLS DR
[2026-03-04 17:44:30] [INFO]   -> Set field 'incidentLocationCross' = "DITTY RD\/SOUTHERN HILLS DR"
[2026-03-04 17:44:30] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-04 17:44:30] [INFO]   -> Found value: TK13
[2026-03-04 17:44:30] [INFO]   -> Set field 'cADVehicleID' = "TK13"
[2026-03-04 17:44:30] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-04 17:44:30] [INFO]   -> Found value: 2026-03-04 11:43:38
[2026-03-04 17:44:30] [INFO]   -> Set field 'timedispatch' = "2026-03-04 11:43:38"
[2026-03-04 17:44:30] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-04 17:44:30] [INFO]   -> Found value: 2026-03-04 11:44:22
[2026-03-04 17:44:30] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-04 11:44:22"
[2026-03-04 17:44:30] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-04 17:44:30] [INFO]   -> No value found (null or empty)
[2026-03-04 17:44:30] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-04 17:44:30] [INFO]   -> No value found (null or empty)
[2026-03-04 17:44:30] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-04 17:44:30] [INFO]   -> No value found (null or empty)
[2026-03-04 17:44:30] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-04 17:44:30] [INFO]   -> Found value: 20260023871
[2026-03-04 17:44:30] [INFO]   -> Set field 'policeReportNumber' = "20260023871"
[2026-03-04 17:44:30] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-04 17:44:30] [INFO]   -> Found value: IN THE FRONT YARD ABOUT 30 FOOT FROM THE HOUSE  [03/04/26 11:43:24 JBOHANNON]
[2026-03-04 17:44:30] [INFO]   -> Set field 'dispatchNotes' = "IN THE FRONT YARD ABOUT 30 FOOT FROM THE HOUSE  [03\/04\/26 11:43:24 JBOHANNON]"
[2026-03-04 17:44:30] [INFO]   -> Set field 'cADLog' = "IN THE FRONT YARD ABOUT 30 FOOT FROM THE HOUSE  [03\/04\/26 11:43:24 JBOHANNON]"
[2026-03-04 17:44:30] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-04 17:44:30] [INFO]   -> Found value: BAXTER
[2026-03-04 17:44:30] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-04 17:44:30] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-04 17:44:30] [INFO]   -> Found value: BEN JARED
[2026-03-04 17:44:30] [INFO]   -> Set field 'streetName' = "BEN JARED"
[2026-03-04 17:44:30] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-04 17:44:30] [INFO]   -> Found value: RD
[2026-03-04 17:44:30] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-04 17:44:30] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-04 17:44:30] [INFO]   -> Found value: 4881 BEN JARED RD
[2026-03-04 17:44:30] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "4881 BEN JARED RD"
[2026-03-04 17:44:30] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-04 17:44:30] [INFO] Concatenating street name and type
[2026-03-04 17:44:30] [INFO]   -> Combined street name: BEN JARED RD
[2026-03-04 17:44:30] [INFO] Built locationCoordinates from lat/lng: 36.10804,-85.60092
[2026-03-04 17:44:30] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000593","dispatchRunNumber":"2026000593","incidentTypeValue1":"BRUSH \/ GRASS FIRE","incidentLocationStreetNumber":4881,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.1080400000000025784174795262515544891357421875,"nERISIncidentLongitude":-85.600920000000002119122655130922794342041015625,"alarm":"2026-03-04 11:42:44","dispatched":"2026-03-04 11:43:38","enroute":"2026-03-04 11:44:22","incidentLocationCross":"DITTY RD\/SOUTHERN HILLS DR","cADVehicleID":"TK13","timedispatch":"2026-03-04 11:43:38","timeenroutetoscene":"2026-03-04 11:44:22","policeReportNumber":"20260023871","dispatchNotes":"IN THE FRONT YARD ABOUT 30 FOOT FROM THE HOUSE  [03\/04\/26 11:43:24 JBOHANNON]","cADLog":"IN THE FRONT YARD ABOUT 30 FOOT FROM THE HOUSE  [03\/04\/26 11:43:24 JBOHANNON]","incidentLocationCity":"BAXTER","streetName":"BEN JARED RD","incidentAddressTextVersionStreet":"4881 BEN JARED RD","locationCoordinates":"36.10804,-85.60092"}
[2026-03-04 17:44:30] [INFO] Number of extracted fields: 23
[2026-03-04 17:44:30] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-03-04 17:44:30] [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-03-04 17:44:30] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-03-04 17:44:30] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-04 17:44:30] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-04 17:44:30] [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-03-04 17:44:30] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-04 17:44:30] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-04 17:44:31] [INFO] Found existing IncidentTypeMapping with ID: 693de9e1e8922fc29
[2026-03-04 17:44:31] [INFO] Found existing Dispatch with cADNumber '2026000593', ID: 69a86f4f90982a965 - will update instead of create
[2026-03-04 17:44:31] [INFO] Updated existing Dispatches record with ID: 69a86f4f90982a965
[2026-03-04 17:44:31] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023871_20260304_174430.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-04/PCFD_20260023871_20260304_174430.XML
[2026-03-04 17:44:31] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023871_20260304_174430.XML
[2026-03-04 17:44:31] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023871_20260304_174431.XML
[2026-03-04 17:44:31] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023871_20260304_174431.XML for user: 68f1466aed072ad4a
[2026-03-04 17:44:31] [INFO] File size: 4879 bytes
[2026-03-04 17:44:32] [INFO] Created FTPFiles record with ID: 69a86f80282d919dd
[2026-03-04 17:44:32] [INFO] About to extract fields from XML. File size: 4879 bytes
[2026-03-04 17:44:32] [INFO] Number of mappings: 28
[2026-03-04 17:44:32] [INFO] Starting XML parsing. Content length: 4879
[2026-03-04 17:44:32] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-04 17:44:32] [INFO] Processing 28 field mappings
[2026-03-04 17:44:32] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-04 17:44:32] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-04 17:44:32] [INFO]   -> Found value: PCFD
[2026-03-04 17:44:32] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-03-04 17:44:32] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-04 17:44:32] [INFO]   -> Found value: 2026000593
[2026-03-04 17:44:32] [INFO]   -> Set field 'incidentInternalId' = "2026000593"
[2026-03-04 17:44:32] [INFO]   -> Set field 'dispatchRunNumber' = "2026000593"
[2026-03-04 17:44:32] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-04 17:44:32] [INFO]   -> Found value: BRUSH / GRASS FIRE
[2026-03-04 17:44:32] [INFO]   -> Set field 'incidentTypeValue1' = "BRUSH \/ GRASS FIRE"
[2026-03-04 17:44:32] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-04 17:44:32] [INFO]   -> Found value: 4881
[2026-03-04 17:44:32] [INFO]   -> Set field 'incidentLocationStreetNumber' = 4881
[2026-03-04 17:44:32] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-04 17:44:32] [INFO]   -> Found value: TN
[2026-03-04 17:44:32] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-04 17:44:32] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-04 17:44:32] [INFO]   -> Found value: 38544
[2026-03-04 17:44:32] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-04 17:44:32] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-04 17:44:32] [INFO]   -> No value found (null or empty)
[2026-03-04 17:44:32] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-04 17:44:32] [INFO]   -> No value found (null or empty)
[2026-03-04 17:44:32] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-04 17:44:32] [INFO]   -> Found value: 36.10804
[2026-03-04 17:44:32] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1080400000000025784174795262515544891357421875
[2026-03-04 17:44:32] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-04 17:44:32] [INFO]   -> Found value: -85.60092
[2026-03-04 17:44:32] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.600920000000002119122655130922794342041015625
[2026-03-04 17:44:32] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-04 17:44:32] [INFO]   -> Found value: 2026-03-04 11:42:44
[2026-03-04 17:44:32] [INFO]   -> Set field 'alarm' = "2026-03-04 11:42:44"
[2026-03-04 17:44:32] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-04 17:44:32] [INFO]   -> Found value: 2026-03-04 11:43:38
[2026-03-04 17:44:32] [INFO]   -> Set field 'dispatched' = "2026-03-04 11:43:38"
[2026-03-04 17:44:32] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-04 17:44:32] [INFO]   -> Found value: 2026-03-04 11:44:22
[2026-03-04 17:44:32] [INFO]   -> Set field 'enroute' = "2026-03-04 11:44:22"
[2026-03-04 17:44:32] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-04 17:44:32] [INFO]   -> No value found (null or empty)
[2026-03-04 17:44:32] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-04 17:44:32] [INFO]   -> No value found (null or empty)
[2026-03-04 17:44:32] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-04 17:44:32] [INFO]   -> Found value: DITTY RD/SOUTHERN HILLS DR
[2026-03-04 17:44:32] [INFO]   -> Set field 'incidentLocationCross' = "DITTY RD\/SOUTHERN HILLS DR"
[2026-03-04 17:44:32] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-04 17:44:32] [INFO]   -> Found value: TK13
[2026-03-04 17:44:32] [INFO]   -> Set field 'cADVehicleID' = "TK13"
[2026-03-04 17:44:32] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-04 17:44:32] [INFO]   -> Found value: 2026-03-04 11:43:38
[2026-03-04 17:44:32] [INFO]   -> Set field 'timedispatch' = "2026-03-04 11:43:38"
[2026-03-04 17:44:32] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-04 17:44:32] [INFO]   -> Found value: 2026-03-04 11:44:22
[2026-03-04 17:44:32] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-04 11:44:22"
[2026-03-04 17:44:32] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-04 17:44:32] [INFO]   -> No value found (null or empty)
[2026-03-04 17:44:32] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-04 17:44:32] [INFO]   -> No value found (null or empty)
[2026-03-04 17:44:32] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-04 17:44:32] [INFO]   -> No value found (null or empty)
[2026-03-04 17:44:32] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-04 17:44:32] [INFO]   -> Found value: 20260023871
[2026-03-04 17:44:32] [INFO]   -> Set field 'policeReportNumber' = "20260023871"
[2026-03-04 17:44:32] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-04 17:44:32] [INFO]   -> Found value: IN THE FRONT YARD ABOUT 30 FOOT FROM THE HOUSE  [03/04/26 11:43:24 JBOHANNON]
[2026-03-04 17:44:32] [INFO]   -> Set field 'dispatchNotes' = "IN THE FRONT YARD ABOUT 30 FOOT FROM THE HOUSE  [03\/04\/26 11:43:24 JBOHANNON]"
[2026-03-04 17:44:32] [INFO]   -> Set field 'cADLog' = "IN THE FRONT YARD ABOUT 30 FOOT FROM THE HOUSE  [03\/04\/26 11:43:24 JBOHANNON]"
[2026-03-04 17:44:32] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-04 17:44:32] [INFO]   -> Found value: BAXTER
[2026-03-04 17:44:32] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-04 17:44:32] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-04 17:44:32] [INFO]   -> Found value: BEN JARED
[2026-03-04 17:44:32] [INFO]   -> Set field 'streetName' = "BEN JARED"
[2026-03-04 17:44:32] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-04 17:44:32] [INFO]   -> Found value: RD
[2026-03-04 17:44:32] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-04 17:44:32] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-04 17:44:32] [INFO]   -> Found value: 4881 BEN JARED RD
[2026-03-04 17:44:32] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "4881 BEN JARED RD"
[2026-03-04 17:44:32] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-04 17:44:32] [INFO] Concatenating street name and type
[2026-03-04 17:44:32] [INFO]   -> Combined street name: BEN JARED RD
[2026-03-04 17:44:32] [INFO] Built locationCoordinates from lat/lng: 36.10804,-85.60092
[2026-03-04 17:44:32] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000593","dispatchRunNumber":"2026000593","incidentTypeValue1":"BRUSH \/ GRASS FIRE","incidentLocationStreetNumber":4881,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.1080400000000025784174795262515544891357421875,"nERISIncidentLongitude":-85.600920000000002119122655130922794342041015625,"alarm":"2026-03-04 11:42:44","dispatched":"2026-03-04 11:43:38","enroute":"2026-03-04 11:44:22","incidentLocationCross":"DITTY RD\/SOUTHERN HILLS DR","cADVehicleID":"TK13","timedispatch":"2026-03-04 11:43:38","timeenroutetoscene":"2026-03-04 11:44:22","policeReportNumber":"20260023871","dispatchNotes":"IN THE FRONT YARD ABOUT 30 FOOT FROM THE HOUSE  [03\/04\/26 11:43:24 JBOHANNON]","cADLog":"IN THE FRONT YARD ABOUT 30 FOOT FROM THE HOUSE  [03\/04\/26 11:43:24 JBOHANNON]","incidentLocationCity":"BAXTER","streetName":"BEN JARED RD","incidentAddressTextVersionStreet":"4881 BEN JARED RD","locationCoordinates":"36.10804,-85.60092"}
[2026-03-04 17:44:32] [INFO] Number of extracted fields: 23
[2026-03-04 17:44:32] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-03-04 17:44:32] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD', Parsed IDs = ["PCFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2026-03-04 17:44:32] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-03-04 17:44:32] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-04 17:44:32] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-04 17:44:32] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-04 17:44:32] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-04 17:44:32] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-04 17:44:32] [INFO] Found existing IncidentTypeMapping with ID: 693de9e1e8922fc29
[2026-03-04 17:44:32] [INFO] Found existing Dispatch with cADNumber '2026000593', ID: 69a86f4f90982a965 - will update instead of create
[2026-03-04 17:44:33] [INFO] Updated existing Dispatches record with ID: 69a86f4f90982a965
[2026-03-04 17:44:33] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023871_20260304_174431.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-04/PCFD_20260023871_20260304_174431.XML
[2026-03-04 17:44:33] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023871_20260304_174431.XML
[2026-03-04 17:44:33] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023871_20260304_174432.XML
[2026-03-04 17:44:33] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023871_20260304_174432.XML for user: 68f1466aed072ad4a
[2026-03-04 17:44:33] [INFO] File size: 4879 bytes
[2026-03-04 17:44:33] [INFO] Created FTPFiles record with ID: 69a86f8179c0f04f4
[2026-03-04 17:44:33] [INFO] About to extract fields from XML. File size: 4879 bytes
[2026-03-04 17:44:33] [INFO] Number of mappings: 28
[2026-03-04 17:44:33] [INFO] Starting XML parsing. Content length: 4879
[2026-03-04 17:44:33] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-04 17:44:33] [INFO] Processing 28 field mappings
[2026-03-04 17:44:33] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-04 17:44:33] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-04 17:44:33] [INFO]   -> Found value: PCFD
[2026-03-04 17:44:33] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-03-04 17:44:33] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-04 17:44:33] [INFO]   -> Found value: 2026000593
[2026-03-04 17:44:33] [INFO]   -> Set field 'incidentInternalId' = "2026000593"
[2026-03-04 17:44:33] [INFO]   -> Set field 'dispatchRunNumber' = "2026000593"
[2026-03-04 17:44:33] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-04 17:44:33] [INFO]   -> Found value: BRUSH / GRASS FIRE
[2026-03-04 17:44:33] [INFO]   -> Set field 'incidentTypeValue1' = "BRUSH \/ GRASS FIRE"
[2026-03-04 17:44:33] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-04 17:44:33] [INFO]   -> Found value: 4881
[2026-03-04 17:44:33] [INFO]   -> Set field 'incidentLocationStreetNumber' = 4881
[2026-03-04 17:44:33] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-04 17:44:33] [INFO]   -> Found value: TN
[2026-03-04 17:44:33] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-04 17:44:33] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-04 17:44:33] [INFO]   -> Found value: 38544
[2026-03-04 17:44:33] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-04 17:44:33] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-04 17:44:33] [INFO]   -> No value found (null or empty)
[2026-03-04 17:44:33] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-04 17:44:33] [INFO]   -> No value found (null or empty)
[2026-03-04 17:44:33] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-04 17:44:33] [INFO]   -> Found value: 36.10804
[2026-03-04 17:44:33] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1080400000000025784174795262515544891357421875
[2026-03-04 17:44:33] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-04 17:44:33] [INFO]   -> Found value: -85.60092
[2026-03-04 17:44:33] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.600920000000002119122655130922794342041015625
[2026-03-04 17:44:33] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-04 17:44:33] [INFO]   -> Found value: 2026-03-04 11:42:44
[2026-03-04 17:44:33] [INFO]   -> Set field 'alarm' = "2026-03-04 11:42:44"
[2026-03-04 17:44:33] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-04 17:44:33] [INFO]   -> Found value: 2026-03-04 11:43:38
[2026-03-04 17:44:33] [INFO]   -> Set field 'dispatched' = "2026-03-04 11:43:38"
[2026-03-04 17:44:33] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-04 17:44:33] [INFO]   -> Found value: 2026-03-04 11:44:22
[2026-03-04 17:44:33] [INFO]   -> Set field 'enroute' = "2026-03-04 11:44:22"
[2026-03-04 17:44:33] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-04 17:44:33] [INFO]   -> No value found (null or empty)
[2026-03-04 17:44:33] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-04 17:44:33] [INFO]   -> No value found (null or empty)
[2026-03-04 17:44:33] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-04 17:44:33] [INFO]   -> Found value: DITTY RD/SOUTHERN HILLS DR
[2026-03-04 17:44:33] [INFO]   -> Set field 'incidentLocationCross' = "DITTY RD\/SOUTHERN HILLS DR"
[2026-03-04 17:44:33] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-04 17:44:33] [INFO]   -> Found value: TK13
[2026-03-04 17:44:33] [INFO]   -> Set field 'cADVehicleID' = "TK13"
[2026-03-04 17:44:33] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-04 17:44:33] [INFO]   -> Found value: 2026-03-04 11:43:38
[2026-03-04 17:44:33] [INFO]   -> Set field 'timedispatch' = "2026-03-04 11:43:38"
[2026-03-04 17:44:33] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-04 17:44:33] [INFO]   -> Found value: 2026-03-04 11:44:22
[2026-03-04 17:44:33] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-04 11:44:22"
[2026-03-04 17:44:33] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-04 17:44:33] [INFO]   -> No value found (null or empty)
[2026-03-04 17:44:33] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-04 17:44:33] [INFO]   -> No value found (null or empty)
[2026-03-04 17:44:33] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-04 17:44:33] [INFO]   -> No value found (null or empty)
[2026-03-04 17:44:33] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-04 17:44:33] [INFO]   -> Found value: 20260023871
[2026-03-04 17:44:33] [INFO]   -> Set field 'policeReportNumber' = "20260023871"
[2026-03-04 17:44:33] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-04 17:44:33] [INFO]   -> Found value: IN THE FRONT YARD ABOUT 30 FOOT FROM THE HOUSE  [03/04/26 11:43:24 JBOHANNON]
[2026-03-04 17:44:33] [INFO]   -> Set field 'dispatchNotes' = "IN THE FRONT YARD ABOUT 30 FOOT FROM THE HOUSE  [03\/04\/26 11:43:24 JBOHANNON]"
[2026-03-04 17:44:33] [INFO]   -> Set field 'cADLog' = "IN THE FRONT YARD ABOUT 30 FOOT FROM THE HOUSE  [03\/04\/26 11:43:24 JBOHANNON]"
[2026-03-04 17:44:33] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-04 17:44:33] [INFO]   -> Found value: BAXTER
[2026-03-04 17:44:33] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-04 17:44:33] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-04 17:44:33] [INFO]   -> Found value: BEN JARED
[2026-03-04 17:44:33] [INFO]   -> Set field 'streetName' = "BEN JARED"
[2026-03-04 17:44:33] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-04 17:44:33] [INFO]   -> Found value: RD
[2026-03-04 17:44:33] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-04 17:44:33] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-04 17:44:33] [INFO]   -> Found value: 4881 BEN JARED RD
[2026-03-04 17:44:33] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "4881 BEN JARED RD"
[2026-03-04 17:44:33] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-04 17:44:33] [INFO] Concatenating street name and type
[2026-03-04 17:44:33] [INFO]   -> Combined street name: BEN JARED RD
[2026-03-04 17:44:33] [INFO] Built locationCoordinates from lat/lng: 36.10804,-85.60092
[2026-03-04 17:44:33] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000593","dispatchRunNumber":"2026000593","incidentTypeValue1":"BRUSH \/ GRASS FIRE","incidentLocationStreetNumber":4881,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.1080400000000025784174795262515544891357421875,"nERISIncidentLongitude":-85.600920000000002119122655130922794342041015625,"alarm":"2026-03-04 11:42:44","dispatched":"2026-03-04 11:43:38","enroute":"2026-03-04 11:44:22","incidentLocationCross":"DITTY RD\/SOUTHERN HILLS DR","cADVehicleID":"TK13","timedispatch":"2026-03-04 11:43:38","timeenroutetoscene":"2026-03-04 11:44:22","policeReportNumber":"20260023871","dispatchNotes":"IN THE FRONT YARD ABOUT 30 FOOT FROM THE HOUSE  [03\/04\/26 11:43:24 JBOHANNON]","cADLog":"IN THE FRONT YARD ABOUT 30 FOOT FROM THE HOUSE  [03\/04\/26 11:43:24 JBOHANNON]","incidentLocationCity":"BAXTER","streetName":"BEN JARED RD","incidentAddressTextVersionStreet":"4881 BEN JARED RD","locationCoordinates":"36.10804,-85.60092"}
[2026-03-04 17:44:33] [INFO] Number of extracted fields: 23
[2026-03-04 17:44:33] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-03-04 17:44:33] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD', Parsed IDs = ["PCFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2026-03-04 17:44:33] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-03-04 17:44:33] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-04 17:44:33] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-04 17:44: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-03-04 17:44:33] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-04 17:44:33] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-04 17:44:34] [INFO] Found existing IncidentTypeMapping with ID: 693de9e1e8922fc29
[2026-03-04 17:44:34] [INFO] Found existing Dispatch with cADNumber '2026000593', ID: 69a86f4f90982a965 - will update instead of create
[2026-03-04 17:44:34] [INFO] Updated existing Dispatches record with ID: 69a86f4f90982a965
[2026-03-04 17:44:34] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023871_20260304_174432.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-04/PCFD_20260023871_20260304_174432.XML
[2026-03-04 17:44:34] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023871_20260304_174432.XML
[2026-03-04 17:44:34] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023871_20260304_174434.XML
[2026-03-04 17:44:34] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023871_20260304_174434.XML for user: 68f1466aed072ad4a
[2026-03-04 17:44:34] [INFO] File size: 4879 bytes
[2026-03-04 17:44:35] [INFO] Created FTPFiles record with ID: 69a86f83096afd82b
[2026-03-04 17:44:35] [INFO] About to extract fields from XML. File size: 4879 bytes
[2026-03-04 17:44:35] [INFO] Number of mappings: 28
[2026-03-04 17:44:35] [INFO] Starting XML parsing. Content length: 4879
[2026-03-04 17:44:35] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-04 17:44:35] [INFO] Processing 28 field mappings
[2026-03-04 17:44:35] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-04 17:44:35] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-04 17:44:35] [INFO]   -> Found value: PCFD
[2026-03-04 17:44:35] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-03-04 17:44:35] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-04 17:44:35] [INFO]   -> Found value: 2026000593
[2026-03-04 17:44:35] [INFO]   -> Set field 'incidentInternalId' = "2026000593"
[2026-03-04 17:44:35] [INFO]   -> Set field 'dispatchRunNumber' = "2026000593"
[2026-03-04 17:44:35] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-04 17:44:35] [INFO]   -> Found value: BRUSH / GRASS FIRE
[2026-03-04 17:44:35] [INFO]   -> Set field 'incidentTypeValue1' = "BRUSH \/ GRASS FIRE"
[2026-03-04 17:44:35] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-04 17:44:35] [INFO]   -> Found value: 4881
[2026-03-04 17:44:35] [INFO]   -> Set field 'incidentLocationStreetNumber' = 4881
[2026-03-04 17:44:35] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-04 17:44:35] [INFO]   -> Found value: TN
[2026-03-04 17:44:35] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-04 17:44:35] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-04 17:44:35] [INFO]   -> Found value: 38544
[2026-03-04 17:44:35] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-04 17:44:35] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-04 17:44:35] [INFO]   -> No value found (null or empty)
[2026-03-04 17:44:35] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-04 17:44:35] [INFO]   -> No value found (null or empty)
[2026-03-04 17:44:35] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-04 17:44:35] [INFO]   -> Found value: 36.10804
[2026-03-04 17:44:35] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1080400000000025784174795262515544891357421875
[2026-03-04 17:44:35] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-04 17:44:35] [INFO]   -> Found value: -85.60092
[2026-03-04 17:44:35] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.600920000000002119122655130922794342041015625
[2026-03-04 17:44:35] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-04 17:44:35] [INFO]   -> Found value: 2026-03-04 11:42:44
[2026-03-04 17:44:35] [INFO]   -> Set field 'alarm' = "2026-03-04 11:42:44"
[2026-03-04 17:44:35] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-04 17:44:35] [INFO]   -> Found value: 2026-03-04 11:43:38
[2026-03-04 17:44:35] [INFO]   -> Set field 'dispatched' = "2026-03-04 11:43:38"
[2026-03-04 17:44:35] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-04 17:44:35] [INFO]   -> Found value: 2026-03-04 11:44:22
[2026-03-04 17:44:35] [INFO]   -> Set field 'enroute' = "2026-03-04 11:44:22"
[2026-03-04 17:44:35] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-04 17:44:35] [INFO]   -> No value found (null or empty)
[2026-03-04 17:44:35] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-04 17:44:35] [INFO]   -> No value found (null or empty)
[2026-03-04 17:44:35] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-04 17:44:35] [INFO]   -> Found value: DITTY RD/SOUTHERN HILLS DR
[2026-03-04 17:44:35] [INFO]   -> Set field 'incidentLocationCross' = "DITTY RD\/SOUTHERN HILLS DR"
[2026-03-04 17:44:35] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-04 17:44:35] [INFO]   -> Found value: TK13
[2026-03-04 17:44:35] [INFO]   -> Set field 'cADVehicleID' = "TK13"
[2026-03-04 17:44:35] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-04 17:44:35] [INFO]   -> Found value: 2026-03-04 11:43:38
[2026-03-04 17:44:35] [INFO]   -> Set field 'timedispatch' = "2026-03-04 11:43:38"
[2026-03-04 17:44:35] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-04 17:44:35] [INFO]   -> Found value: 2026-03-04 11:44:22
[2026-03-04 17:44:35] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-04 11:44:22"
[2026-03-04 17:44:35] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-04 17:44:35] [INFO]   -> No value found (null or empty)
[2026-03-04 17:44:35] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-04 17:44:35] [INFO]   -> No value found (null or empty)
[2026-03-04 17:44:35] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-04 17:44:35] [INFO]   -> No value found (null or empty)
[2026-03-04 17:44:35] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-04 17:44:35] [INFO]   -> Found value: 20260023871
[2026-03-04 17:44:35] [INFO]   -> Set field 'policeReportNumber' = "20260023871"
[2026-03-04 17:44:35] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-04 17:44:35] [INFO]   -> Found value: IN THE FRONT YARD ABOUT 30 FOOT FROM THE HOUSE  [03/04/26 11:43:24 JBOHANNON]
[2026-03-04 17:44:35] [INFO]   -> Set field 'dispatchNotes' = "IN THE FRONT YARD ABOUT 30 FOOT FROM THE HOUSE  [03\/04\/26 11:43:24 JBOHANNON]"
[2026-03-04 17:44:35] [INFO]   -> Set field 'cADLog' = "IN THE FRONT YARD ABOUT 30 FOOT FROM THE HOUSE  [03\/04\/26 11:43:24 JBOHANNON]"
[2026-03-04 17:44:35] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-04 17:44:35] [INFO]   -> Found value: BAXTER
[2026-03-04 17:44:35] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-04 17:44:35] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-04 17:44:35] [INFO]   -> Found value: BEN JARED
[2026-03-04 17:44:35] [INFO]   -> Set field 'streetName' = "BEN JARED"
[2026-03-04 17:44:35] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-04 17:44:35] [INFO]   -> Found value: RD
[2026-03-04 17:44:35] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-04 17:44:35] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-04 17:44:35] [INFO]   -> Found value: 4881 BEN JARED RD
[2026-03-04 17:44:35] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "4881 BEN JARED RD"
[2026-03-04 17:44:35] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-04 17:44:35] [INFO] Concatenating street name and type
[2026-03-04 17:44:35] [INFO]   -> Combined street name: BEN JARED RD
[2026-03-04 17:44:35] [INFO] Built locationCoordinates from lat/lng: 36.10804,-85.60092
[2026-03-04 17:44:35] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000593","dispatchRunNumber":"2026000593","incidentTypeValue1":"BRUSH \/ GRASS FIRE","incidentLocationStreetNumber":4881,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.1080400000000025784174795262515544891357421875,"nERISIncidentLongitude":-85.600920000000002119122655130922794342041015625,"alarm":"2026-03-04 11:42:44","dispatched":"2026-03-04 11:43:38","enroute":"2026-03-04 11:44:22","incidentLocationCross":"DITTY RD\/SOUTHERN HILLS DR","cADVehicleID":"TK13","timedispatch":"2026-03-04 11:43:38","timeenroutetoscene":"2026-03-04 11:44:22","policeReportNumber":"20260023871","dispatchNotes":"IN THE FRONT YARD ABOUT 30 FOOT FROM THE HOUSE  [03\/04\/26 11:43:24 JBOHANNON]","cADLog":"IN THE FRONT YARD ABOUT 30 FOOT FROM THE HOUSE  [03\/04\/26 11:43:24 JBOHANNON]","incidentLocationCity":"BAXTER","streetName":"BEN JARED RD","incidentAddressTextVersionStreet":"4881 BEN JARED RD","locationCoordinates":"36.10804,-85.60092"}
[2026-03-04 17:44:35] [INFO] Number of extracted fields: 23
[2026-03-04 17:44:35] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-03-04 17:44:35] [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-03-04 17:44:35] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-03-04 17:44:35] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-04 17:44:35] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-04 17:44:35] [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-03-04 17:44:35] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-04 17:44:35] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-04 17:44:35] [INFO] Found existing IncidentTypeMapping with ID: 693de9e1e8922fc29
[2026-03-04 17:44:35] [INFO] Found existing Dispatch with cADNumber '2026000593', ID: 69a86f4f90982a965 - will update instead of create
[2026-03-04 17:44:35] [INFO] Updated existing Dispatches record with ID: 69a86f4f90982a965
[2026-03-04 17:44:35] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023871_20260304_174434.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-04/PCFD_20260023871_20260304_174434.XML
[2026-03-04 17:44:35] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023871_20260304_174434.XML
[2026-03-04 18:08:44] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023882_20260304_180844.XML
[2026-03-04 18:08:44] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023882_20260304_180844.XML for user: 68f1466aed072ad4a
[2026-03-04 18:08:44] [INFO] File size: 4645 bytes
[2026-03-04 18:08:44] [INFO] Created FTPFiles record with ID: 69a8752cb0162d200
[2026-03-04 18:08:44] [INFO] About to extract fields from XML. File size: 4645 bytes
[2026-03-04 18:08:44] [INFO] Number of mappings: 28
[2026-03-04 18:08:44] [INFO] Starting XML parsing. Content length: 4645
[2026-03-04 18:08:44] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-04 18:08:44] [INFO] Processing 28 field mappings
[2026-03-04 18:08:44] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-04 18:08:44] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-04 18:08:44] [INFO]   -> Found value: PCFD
[2026-03-04 18:08:44] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-03-04 18:08:44] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-04 18:08:44] [INFO]   -> Found value: 2026000594
[2026-03-04 18:08:44] [INFO]   -> Set field 'incidentInternalId' = "2026000594"
[2026-03-04 18:08:44] [INFO]   -> Set field 'dispatchRunNumber' = "2026000594"
[2026-03-04 18:08:44] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-04 18:08:44] [INFO]   -> Found value: BRUSH / GRASS FIRE
[2026-03-04 18:08:44] [INFO]   -> Set field 'incidentTypeValue1' = "BRUSH \/ GRASS FIRE"
[2026-03-04 18:08:44] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-04 18:08:44] [INFO]   -> Found value: 5989
[2026-03-04 18:08:44] [INFO]   -> Set field 'incidentLocationStreetNumber' = 5989
[2026-03-04 18:08:44] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-04 18:08:44] [INFO]   -> Found value: TN
[2026-03-04 18:08:44] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-04 18:08:44] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-04 18:08:44] [INFO]   -> Found value: 38506
[2026-03-04 18:08:44] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-04 18:08:44] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-04 18:08:44] [INFO]   -> No value found (null or empty)
[2026-03-04 18:08:44] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-04 18:08:44] [INFO]   -> No value found (null or empty)
[2026-03-04 18:08:44] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-04 18:08:44] [INFO]   -> Found value: 36.10516
[2026-03-04 18:08:44] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1051599999999979218046064488589763641357421875
[2026-03-04 18:08:44] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-04 18:08:44] [INFO]   -> Found value: -85.37189
[2026-03-04 18:08:44] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.3718899999999933925209916196763515472412109375
[2026-03-04 18:08:44] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-04 18:08:44] [INFO]   -> Found value: 2026-03-04 12:07:25
[2026-03-04 18:08:44] [INFO]   -> Set field 'alarm' = "2026-03-04 12:07:25"
[2026-03-04 18:08:44] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-04 18:08:44] [INFO]   -> Found value: 2026-03-04 12:08:40
[2026-03-04 18:08:44] [INFO]   -> Set field 'dispatched' = "2026-03-04 12:08:40"
[2026-03-04 18:08:44] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-04 18:08:44] [INFO]   -> No value found (null or empty)
[2026-03-04 18:08:44] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-04 18:08:44] [INFO]   -> No value found (null or empty)
[2026-03-04 18:08:44] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-04 18:08:44] [INFO]   -> No value found (null or empty)
[2026-03-04 18:08:44] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-04 18:08:44] [INFO]   -> Found value: WALKER MOUNTAIN RD
[2026-03-04 18:08:44] [INFO]   -> Set field 'incidentLocationCross' = "WALKER MOUNTAIN RD"
[2026-03-04 18:08:44] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-04 18:08:44] [INFO]   -> Found value: TK15
[2026-03-04 18:08:44] [INFO]   -> Set field 'cADVehicleID' = "TK15"
[2026-03-04 18:08:44] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-04 18:08:44] [INFO]   -> Found value: 2026-03-04 12:08:40
[2026-03-04 18:08:44] [INFO]   -> Set field 'timedispatch' = "2026-03-04 12:08:40"
[2026-03-04 18:08:44] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-04 18:08:44] [INFO]   -> No value found (null or empty)
[2026-03-04 18:08:44] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-04 18:08:44] [INFO]   -> No value found (null or empty)
[2026-03-04 18:08:44] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-04 18:08:44] [INFO]   -> No value found (null or empty)
[2026-03-04 18:08:44] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-04 18:08:44] [INFO]   -> No value found (null or empty)
[2026-03-04 18:08:44] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-04 18:08:44] [INFO]   -> Found value: 20260023882
[2026-03-04 18:08:44] [INFO]   -> Set field 'policeReportNumber' = "20260023882"
[2026-03-04 18:08:44] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-04 18:08:44] [INFO]   -> Found value: AROUND 200 FEET AWAY FROM A BUILDING.  [03/04/26 12:08:19 JBOHANNON]
[2026-03-04 18:08:44] [INFO]   -> Set field 'dispatchNotes' = "AROUND 200 FEET AWAY FROM A BUILDING.  [03\/04\/26 12:08:19 JBOHANNON]"
[2026-03-04 18:08:44] [INFO]   -> Set field 'cADLog' = "AROUND 200 FEET AWAY FROM A BUILDING.  [03\/04\/26 12:08:19 JBOHANNON]"
[2026-03-04 18:08:44] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-04 18:08:44] [INFO]   -> Found value: COOKEVILLE
[2026-03-04 18:08:44] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-04 18:08:44] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-04 18:08:44] [INFO]   -> Found value: ALFS
[2026-03-04 18:08:44] [INFO]   -> Set field 'streetName' = "ALFS"
[2026-03-04 18:08:44] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-04 18:08:44] [INFO]   -> Found value: WAY
[2026-03-04 18:08:44] [INFO]   -> Set field 'streetType' = "WAY"
[2026-03-04 18:08:44] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-04 18:08:44] [INFO]   -> Found value: 5989 ALFS WAY
[2026-03-04 18:08:44] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "5989 ALFS WAY"
[2026-03-04 18:08:44] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-04 18:08:44] [INFO] Concatenating street name and type
[2026-03-04 18:08:44] [INFO]   -> Combined street name: ALFS WAY
[2026-03-04 18:08:44] [INFO] Built locationCoordinates from lat/lng: 36.10516,-85.37189
[2026-03-04 18:08:44] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000594","dispatchRunNumber":"2026000594","incidentTypeValue1":"BRUSH \/ GRASS FIRE","incidentLocationStreetNumber":5989,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.1051599999999979218046064488589763641357421875,"nERISIncidentLongitude":-85.3718899999999933925209916196763515472412109375,"alarm":"2026-03-04 12:07:25","dispatched":"2026-03-04 12:08:40","incidentLocationCross":"WALKER MOUNTAIN RD","cADVehicleID":"TK15","timedispatch":"2026-03-04 12:08:40","policeReportNumber":"20260023882","dispatchNotes":"AROUND 200 FEET AWAY FROM A BUILDING.  [03\/04\/26 12:08:19 JBOHANNON]","cADLog":"AROUND 200 FEET AWAY FROM A BUILDING.  [03\/04\/26 12:08:19 JBOHANNON]","incidentLocationCity":"COOKEVILLE","streetName":"ALFS WAY","incidentAddressTextVersionStreet":"5989 ALFS WAY","locationCoordinates":"36.10516,-85.37189"}
[2026-03-04 18:08:44] [INFO] Number of extracted fields: 21
[2026-03-04 18:08:44] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-03-04 18:08:44] [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-03-04 18:08:44] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-03-04 18:08:44] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-04 18:08:44] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-04 18:08:45] [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-03-04 18:08:45] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-04 18:08:45] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-04 18:08:45] [INFO] Found existing IncidentTypeMapping with ID: 693de9e1e8922fc29
[2026-03-04 18:08:56] [INFO] Created new Dispatches record with ID: 69a8752de1dc773f4
[2026-03-04 18:08:56] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023882_20260304_180844.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-04/PCFD_20260023882_20260304_180844.XML
[2026-03-04 18:08:56] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023882_20260304_180844.XML
[2026-03-04 18:09:32] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023882_20260304_180932.XML
[2026-03-04 18:09:32] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023882_20260304_180932.XML for user: 68f1466aed072ad4a
[2026-03-04 18:09:32] [INFO] File size: 4712 bytes
[2026-03-04 18:09:32] [INFO] Created FTPFiles record with ID: 69a8755cdd8cd6806
[2026-03-04 18:09:32] [INFO] About to extract fields from XML. File size: 4712 bytes
[2026-03-04 18:09:32] [INFO] Number of mappings: 28
[2026-03-04 18:09:32] [INFO] Starting XML parsing. Content length: 4712
[2026-03-04 18:09:32] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-04 18:09:32] [INFO] Processing 28 field mappings
[2026-03-04 18:09:32] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-04 18:09:32] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-04 18:09:32] [INFO]   -> Found value: PCFD
[2026-03-04 18:09:32] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-03-04 18:09:32] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-04 18:09:32] [INFO]   -> Found value: 2026000594
[2026-03-04 18:09:32] [INFO]   -> Set field 'incidentInternalId' = "2026000594"
[2026-03-04 18:09:32] [INFO]   -> Set field 'dispatchRunNumber' = "2026000594"
[2026-03-04 18:09:32] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-04 18:09:32] [INFO]   -> Found value: BRUSH / GRASS FIRE
[2026-03-04 18:09:32] [INFO]   -> Set field 'incidentTypeValue1' = "BRUSH \/ GRASS FIRE"
[2026-03-04 18:09:32] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-04 18:09:32] [INFO]   -> Found value: 5989
[2026-03-04 18:09:32] [INFO]   -> Set field 'incidentLocationStreetNumber' = 5989
[2026-03-04 18:09:32] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-04 18:09:32] [INFO]   -> Found value: TN
[2026-03-04 18:09:32] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-04 18:09:32] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-04 18:09:32] [INFO]   -> Found value: 38506
[2026-03-04 18:09:32] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-04 18:09:32] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-04 18:09:32] [INFO]   -> No value found (null or empty)
[2026-03-04 18:09:32] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-04 18:09:32] [INFO]   -> No value found (null or empty)
[2026-03-04 18:09:32] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-04 18:09:32] [INFO]   -> Found value: 36.10516
[2026-03-04 18:09:32] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1051599999999979218046064488589763641357421875
[2026-03-04 18:09:32] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-04 18:09:32] [INFO]   -> Found value: -85.37189
[2026-03-04 18:09:32] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.3718899999999933925209916196763515472412109375
[2026-03-04 18:09:32] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-04 18:09:32] [INFO]   -> Found value: 2026-03-04 12:07:25
[2026-03-04 18:09:32] [INFO]   -> Set field 'alarm' = "2026-03-04 12:07:25"
[2026-03-04 18:09:32] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-04 18:09:32] [INFO]   -> Found value: 2026-03-04 12:08:40
[2026-03-04 18:09:32] [INFO]   -> Set field 'dispatched' = "2026-03-04 12:08:40"
[2026-03-04 18:09:32] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-04 18:09:32] [INFO]   -> Found value: 2026-03-04 12:09:28
[2026-03-04 18:09:32] [INFO]   -> Set field 'enroute' = "2026-03-04 12:09:28"
[2026-03-04 18:09:32] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-04 18:09:32] [INFO]   -> No value found (null or empty)
[2026-03-04 18:09:32] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-04 18:09:32] [INFO]   -> No value found (null or empty)
[2026-03-04 18:09:32] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-04 18:09:32] [INFO]   -> Found value: WALKER MOUNTAIN RD
[2026-03-04 18:09:32] [INFO]   -> Set field 'incidentLocationCross' = "WALKER MOUNTAIN RD"
[2026-03-04 18:09:32] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-04 18:09:32] [INFO]   -> Found value: TK15
[2026-03-04 18:09:32] [INFO]   -> Set field 'cADVehicleID' = "TK15"
[2026-03-04 18:09:32] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-04 18:09:32] [INFO]   -> Found value: 2026-03-04 12:08:40
[2026-03-04 18:09:32] [INFO]   -> Set field 'timedispatch' = "2026-03-04 12:08:40"
[2026-03-04 18:09:32] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-04 18:09:32] [INFO]   -> Found value: 2026-03-04 12:09:28
[2026-03-04 18:09:32] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-04 12:09:28"
[2026-03-04 18:09:32] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-04 18:09:32] [INFO]   -> No value found (null or empty)
[2026-03-04 18:09:32] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-04 18:09:32] [INFO]   -> No value found (null or empty)
[2026-03-04 18:09:32] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-04 18:09:32] [INFO]   -> No value found (null or empty)
[2026-03-04 18:09:32] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-04 18:09:32] [INFO]   -> Found value: 20260023882
[2026-03-04 18:09:32] [INFO]   -> Set field 'policeReportNumber' = "20260023882"
[2026-03-04 18:09:32] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-04 18:09:32] [INFO]   -> Found value: AROUND 200 FEET AWAY FROM A BUILDING.  [03/04/26 12:08:19 JBOHANNON]
[2026-03-04 18:09:32] [INFO]   -> Set field 'dispatchNotes' = "AROUND 200 FEET AWAY FROM A BUILDING.  [03\/04\/26 12:08:19 JBOHANNON]"
[2026-03-04 18:09:32] [INFO]   -> Set field 'cADLog' = "AROUND 200 FEET AWAY FROM A BUILDING.  [03\/04\/26 12:08:19 JBOHANNON]"
[2026-03-04 18:09:32] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-04 18:09:32] [INFO]   -> Found value: COOKEVILLE
[2026-03-04 18:09:32] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-04 18:09:32] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-04 18:09:32] [INFO]   -> Found value: ALFS
[2026-03-04 18:09:32] [INFO]   -> Set field 'streetName' = "ALFS"
[2026-03-04 18:09:32] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-04 18:09:32] [INFO]   -> Found value: WAY
[2026-03-04 18:09:32] [INFO]   -> Set field 'streetType' = "WAY"
[2026-03-04 18:09:32] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-04 18:09:32] [INFO]   -> Found value: 5989 ALFS WAY
[2026-03-04 18:09:32] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "5989 ALFS WAY"
[2026-03-04 18:09:32] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-04 18:09:32] [INFO] Concatenating street name and type
[2026-03-04 18:09:32] [INFO]   -> Combined street name: ALFS WAY
[2026-03-04 18:09:32] [INFO] Built locationCoordinates from lat/lng: 36.10516,-85.37189
[2026-03-04 18:09:32] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000594","dispatchRunNumber":"2026000594","incidentTypeValue1":"BRUSH \/ GRASS FIRE","incidentLocationStreetNumber":5989,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.1051599999999979218046064488589763641357421875,"nERISIncidentLongitude":-85.3718899999999933925209916196763515472412109375,"alarm":"2026-03-04 12:07:25","dispatched":"2026-03-04 12:08:40","enroute":"2026-03-04 12:09:28","incidentLocationCross":"WALKER MOUNTAIN RD","cADVehicleID":"TK15","timedispatch":"2026-03-04 12:08:40","timeenroutetoscene":"2026-03-04 12:09:28","policeReportNumber":"20260023882","dispatchNotes":"AROUND 200 FEET AWAY FROM A BUILDING.  [03\/04\/26 12:08:19 JBOHANNON]","cADLog":"AROUND 200 FEET AWAY FROM A BUILDING.  [03\/04\/26 12:08:19 JBOHANNON]","incidentLocationCity":"COOKEVILLE","streetName":"ALFS WAY","incidentAddressTextVersionStreet":"5989 ALFS WAY","locationCoordinates":"36.10516,-85.37189"}
[2026-03-04 18:09:32] [INFO] Number of extracted fields: 23
[2026-03-04 18:09:32] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-03-04 18:09:32] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD', Parsed IDs = ["PCFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2026-03-04 18:09:32] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-03-04 18:09:32] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-04 18:09:33] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-04 18:09: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-03-04 18:09:33] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-04 18:09:33] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-04 18:09:33] [INFO] Found existing IncidentTypeMapping with ID: 693de9e1e8922fc29
[2026-03-04 18:09:33] [INFO] Found existing Dispatch with cADNumber '2026000594', ID: 69a8752de1dc773f4 - will update instead of create
[2026-03-04 18:09:33] [INFO] Updated existing Dispatches record with ID: 69a8752de1dc773f4
[2026-03-04 18:09:33] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023882_20260304_180932.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-04/PCFD_20260023882_20260304_180932.XML
[2026-03-04 18:09:33] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023882_20260304_180932.XML
[2026-03-04 18:09:34] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023882_20260304_180934.XML
[2026-03-04 18:09:34] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023882_20260304_180934.XML for user: 68f1466aed072ad4a
[2026-03-04 18:09:34] [INFO] File size: 4712 bytes
[2026-03-04 18:09:34] [INFO] Created FTPFiles record with ID: 69a8755e9e6dde8eb
[2026-03-04 18:09:34] [INFO] About to extract fields from XML. File size: 4712 bytes
[2026-03-04 18:09:34] [INFO] Number of mappings: 28
[2026-03-04 18:09:34] [INFO] Starting XML parsing. Content length: 4712
[2026-03-04 18:09:34] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-04 18:09:34] [INFO] Processing 28 field mappings
[2026-03-04 18:09:34] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-04 18:09:34] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-04 18:09:34] [INFO]   -> Found value: PCFD
[2026-03-04 18:09:34] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-03-04 18:09:34] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-04 18:09:34] [INFO]   -> Found value: 2026000594
[2026-03-04 18:09:34] [INFO]   -> Set field 'incidentInternalId' = "2026000594"
[2026-03-04 18:09:34] [INFO]   -> Set field 'dispatchRunNumber' = "2026000594"
[2026-03-04 18:09:34] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-04 18:09:34] [INFO]   -> Found value: BRUSH / GRASS FIRE
[2026-03-04 18:09:34] [INFO]   -> Set field 'incidentTypeValue1' = "BRUSH \/ GRASS FIRE"
[2026-03-04 18:09:34] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-04 18:09:34] [INFO]   -> Found value: 5989
[2026-03-04 18:09:34] [INFO]   -> Set field 'incidentLocationStreetNumber' = 5989
[2026-03-04 18:09:34] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-04 18:09:34] [INFO]   -> Found value: TN
[2026-03-04 18:09:34] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-04 18:09:34] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-04 18:09:34] [INFO]   -> Found value: 38506
[2026-03-04 18:09:34] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-04 18:09:34] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-04 18:09:34] [INFO]   -> No value found (null or empty)
[2026-03-04 18:09:34] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-04 18:09:34] [INFO]   -> No value found (null or empty)
[2026-03-04 18:09:34] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-04 18:09:34] [INFO]   -> Found value: 36.10516
[2026-03-04 18:09:34] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1051599999999979218046064488589763641357421875
[2026-03-04 18:09:34] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-04 18:09:34] [INFO]   -> Found value: -85.37189
[2026-03-04 18:09:34] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.3718899999999933925209916196763515472412109375
[2026-03-04 18:09:34] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-04 18:09:34] [INFO]   -> Found value: 2026-03-04 12:07:25
[2026-03-04 18:09:34] [INFO]   -> Set field 'alarm' = "2026-03-04 12:07:25"
[2026-03-04 18:09:34] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-04 18:09:34] [INFO]   -> Found value: 2026-03-04 12:08:40
[2026-03-04 18:09:34] [INFO]   -> Set field 'dispatched' = "2026-03-04 12:08:40"
[2026-03-04 18:09:34] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-04 18:09:34] [INFO]   -> Found value: 2026-03-04 12:09:28
[2026-03-04 18:09:34] [INFO]   -> Set field 'enroute' = "2026-03-04 12:09:28"
[2026-03-04 18:09:34] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-04 18:09:34] [INFO]   -> No value found (null or empty)
[2026-03-04 18:09:34] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-04 18:09:34] [INFO]   -> No value found (null or empty)
[2026-03-04 18:09:34] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-04 18:09:34] [INFO]   -> Found value: WALKER MOUNTAIN RD
[2026-03-04 18:09:34] [INFO]   -> Set field 'incidentLocationCross' = "WALKER MOUNTAIN RD"
[2026-03-04 18:09:34] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-04 18:09:34] [INFO]   -> Found value: TK15
[2026-03-04 18:09:34] [INFO]   -> Set field 'cADVehicleID' = "TK15"
[2026-03-04 18:09:34] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-04 18:09:34] [INFO]   -> Found value: 2026-03-04 12:08:40
[2026-03-04 18:09:34] [INFO]   -> Set field 'timedispatch' = "2026-03-04 12:08:40"
[2026-03-04 18:09:34] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-04 18:09:34] [INFO]   -> Found value: 2026-03-04 12:09:28
[2026-03-04 18:09:34] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-04 12:09:28"
[2026-03-04 18:09:34] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-04 18:09:34] [INFO]   -> No value found (null or empty)
[2026-03-04 18:09:34] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-04 18:09:34] [INFO]   -> No value found (null or empty)
[2026-03-04 18:09:34] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-04 18:09:34] [INFO]   -> No value found (null or empty)
[2026-03-04 18:09:34] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-04 18:09:34] [INFO]   -> Found value: 20260023882
[2026-03-04 18:09:34] [INFO]   -> Set field 'policeReportNumber' = "20260023882"
[2026-03-04 18:09:34] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-04 18:09:34] [INFO]   -> Found value: AROUND 200 FEET AWAY FROM A BUILDING.  [03/04/26 12:08:19 JBOHANNON]
[2026-03-04 18:09:34] [INFO]   -> Set field 'dispatchNotes' = "AROUND 200 FEET AWAY FROM A BUILDING.  [03\/04\/26 12:08:19 JBOHANNON]"
[2026-03-04 18:09:34] [INFO]   -> Set field 'cADLog' = "AROUND 200 FEET AWAY FROM A BUILDING.  [03\/04\/26 12:08:19 JBOHANNON]"
[2026-03-04 18:09:34] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-04 18:09:34] [INFO]   -> Found value: COOKEVILLE
[2026-03-04 18:09:34] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-04 18:09:34] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-04 18:09:34] [INFO]   -> Found value: ALFS
[2026-03-04 18:09:34] [INFO]   -> Set field 'streetName' = "ALFS"
[2026-03-04 18:09:34] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-04 18:09:34] [INFO]   -> Found value: WAY
[2026-03-04 18:09:34] [INFO]   -> Set field 'streetType' = "WAY"
[2026-03-04 18:09:34] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-04 18:09:34] [INFO]   -> Found value: 5989 ALFS WAY
[2026-03-04 18:09:34] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "5989 ALFS WAY"
[2026-03-04 18:09:34] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-04 18:09:34] [INFO] Concatenating street name and type
[2026-03-04 18:09:34] [INFO]   -> Combined street name: ALFS WAY
[2026-03-04 18:09:34] [INFO] Built locationCoordinates from lat/lng: 36.10516,-85.37189
[2026-03-04 18:09:34] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000594","dispatchRunNumber":"2026000594","incidentTypeValue1":"BRUSH \/ GRASS FIRE","incidentLocationStreetNumber":5989,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.1051599999999979218046064488589763641357421875,"nERISIncidentLongitude":-85.3718899999999933925209916196763515472412109375,"alarm":"2026-03-04 12:07:25","dispatched":"2026-03-04 12:08:40","enroute":"2026-03-04 12:09:28","incidentLocationCross":"WALKER MOUNTAIN RD","cADVehicleID":"TK15","timedispatch":"2026-03-04 12:08:40","timeenroutetoscene":"2026-03-04 12:09:28","policeReportNumber":"20260023882","dispatchNotes":"AROUND 200 FEET AWAY FROM A BUILDING.  [03\/04\/26 12:08:19 JBOHANNON]","cADLog":"AROUND 200 FEET AWAY FROM A BUILDING.  [03\/04\/26 12:08:19 JBOHANNON]","incidentLocationCity":"COOKEVILLE","streetName":"ALFS WAY","incidentAddressTextVersionStreet":"5989 ALFS WAY","locationCoordinates":"36.10516,-85.37189"}
[2026-03-04 18:09:34] [INFO] Number of extracted fields: 23
[2026-03-04 18:09:34] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-03-04 18:09:34] [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-03-04 18:09:34] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-03-04 18:09:34] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-04 18:09:34] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-04 18:09:35] [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-03-04 18:09:35] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-04 18:09:35] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-04 18:09:35] [INFO] Found existing IncidentTypeMapping with ID: 693de9e1e8922fc29
[2026-03-04 18:09:35] [INFO] Found existing Dispatch with cADNumber '2026000594', ID: 69a8752de1dc773f4 - will update instead of create
[2026-03-04 18:09:35] [INFO] Updated existing Dispatches record with ID: 69a8752de1dc773f4
[2026-03-04 18:09:35] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023882_20260304_180934.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-04/PCFD_20260023882_20260304_180934.XML
[2026-03-04 18:09:35] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023882_20260304_180934.XML
[2026-03-04 18:09:40] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023882_20260304_180940.XML
[2026-03-04 18:09:40] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023882_20260304_180940.XML for user: 68f1466aed072ad4a
[2026-03-04 18:09:40] [INFO] File size: 5625 bytes
[2026-03-04 18:09:40] [INFO] Created FTPFiles record with ID: 69a87564ae67aa0e8
[2026-03-04 18:09:40] [INFO] About to extract fields from XML. File size: 5625 bytes
[2026-03-04 18:09:40] [INFO] Number of mappings: 28
[2026-03-04 18:09:40] [INFO] Starting XML parsing. Content length: 5625
[2026-03-04 18:09:40] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-04 18:09:40] [INFO] Processing 28 field mappings
[2026-03-04 18:09:40] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-04 18:09:40] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-04 18:09:40] [INFO]   -> Found value: PCFD
[2026-03-04 18:09:40] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-03-04 18:09:40] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-04 18:09:40] [INFO]   -> Found value: 2026000594
[2026-03-04 18:09:40] [INFO]   -> Set field 'incidentInternalId' = "2026000594"
[2026-03-04 18:09:40] [INFO]   -> Set field 'dispatchRunNumber' = "2026000594"
[2026-03-04 18:09:40] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-04 18:09:40] [INFO]   -> Found value: BRUSH / GRASS FIRE
[2026-03-04 18:09:40] [INFO]   -> Set field 'incidentTypeValue1' = "BRUSH \/ GRASS FIRE"
[2026-03-04 18:09:40] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-04 18:09:40] [INFO]   -> Found value: 5989
[2026-03-04 18:09:40] [INFO]   -> Set field 'incidentLocationStreetNumber' = 5989
[2026-03-04 18:09:40] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-04 18:09:40] [INFO]   -> Found value: TN
[2026-03-04 18:09:40] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-04 18:09:40] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-04 18:09:40] [INFO]   -> Found value: 38506
[2026-03-04 18:09:40] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-04 18:09:40] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-04 18:09:40] [INFO]   -> No value found (null or empty)
[2026-03-04 18:09:40] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-04 18:09:40] [INFO]   -> No value found (null or empty)
[2026-03-04 18:09:40] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-04 18:09:40] [INFO]   -> Found value: 36.10516
[2026-03-04 18:09:40] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1051599999999979218046064488589763641357421875
[2026-03-04 18:09:40] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-04 18:09:40] [INFO]   -> Found value: -85.37189
[2026-03-04 18:09:40] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.3718899999999933925209916196763515472412109375
[2026-03-04 18:09:40] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-04 18:09:40] [INFO]   -> Found value: 2026-03-04 12:07:25
[2026-03-04 18:09:40] [INFO]   -> Set field 'alarm' = "2026-03-04 12:07:25"
[2026-03-04 18:09:40] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-04 18:09:40] [INFO]   -> Found value: 2026-03-04 12:08:40
[2026-03-04 18:09:40] [INFO]   -> Set field 'dispatched' = "2026-03-04 12:08:40"
[2026-03-04 18:09:40] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-04 18:09:40] [INFO]   -> Found value: 2026-03-04 12:09:28
[2026-03-04 18:09:40] [INFO]   -> Set field 'enroute' = "2026-03-04 12:09:28"
[2026-03-04 18:09:40] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-04 18:09:40] [INFO]   -> No value found (null or empty)
[2026-03-04 18:09:40] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-04 18:09:40] [INFO]   -> No value found (null or empty)
[2026-03-04 18:09:40] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-04 18:09:40] [INFO]   -> Found value: WALKER MOUNTAIN RD
[2026-03-04 18:09:40] [INFO]   -> Set field 'incidentLocationCross' = "WALKER MOUNTAIN RD"
[2026-03-04 18:09:40] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-04 18:09:40] [INFO]   -> Found value: EN21
[2026-03-04 18:09:40] [INFO]   -> Set field 'cADVehicleID' = "EN21"
[2026-03-04 18:09:40] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-04 18:09:40] [INFO]   -> Found value: 2026-03-04 12:09:33
[2026-03-04 18:09:40] [INFO]   -> Set field 'timedispatch' = "2026-03-04 12:09:33"
[2026-03-04 18:09:40] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-04 18:09:40] [INFO]   -> Found value: 2026-03-04 12:09:33
[2026-03-04 18:09:40] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-04 12:09:33"
[2026-03-04 18:09:40] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-04 18:09:40] [INFO]   -> No value found (null or empty)
[2026-03-04 18:09:40] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-04 18:09:40] [INFO]   -> No value found (null or empty)
[2026-03-04 18:09:40] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-04 18:09:40] [INFO]   -> No value found (null or empty)
[2026-03-04 18:09:40] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-04 18:09:40] [INFO]   -> Found value: 20260023882
[2026-03-04 18:09:40] [INFO]   -> Set field 'policeReportNumber' = "20260023882"
[2026-03-04 18:09:40] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-04 18:09:40] [INFO]   -> Found value: AROUND 200 FEET AWAY FROM A BUILDING.  [03/04/26 12:08:19 JBOHANNON]
[2026-03-04 18:09:40] [INFO]   -> Set field 'dispatchNotes' = "AROUND 200 FEET AWAY FROM A BUILDING.  [03\/04\/26 12:08:19 JBOHANNON]"
[2026-03-04 18:09:40] [INFO]   -> Set field 'cADLog' = "AROUND 200 FEET AWAY FROM A BUILDING.  [03\/04\/26 12:08:19 JBOHANNON]"
[2026-03-04 18:09:40] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-04 18:09:40] [INFO]   -> Found value: COOKEVILLE
[2026-03-04 18:09:40] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-04 18:09:40] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-04 18:09:40] [INFO]   -> Found value: ALFS
[2026-03-04 18:09:40] [INFO]   -> Set field 'streetName' = "ALFS"
[2026-03-04 18:09:40] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-04 18:09:40] [INFO]   -> Found value: WAY
[2026-03-04 18:09:40] [INFO]   -> Set field 'streetType' = "WAY"
[2026-03-04 18:09:40] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-04 18:09:40] [INFO]   -> Found value: 5989 ALFS WAY
[2026-03-04 18:09:40] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "5989 ALFS WAY"
[2026-03-04 18:09:40] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-04 18:09:40] [INFO] Concatenating street name and type
[2026-03-04 18:09:40] [INFO]   -> Combined street name: ALFS WAY
[2026-03-04 18:09:40] [INFO] Built locationCoordinates from lat/lng: 36.10516,-85.37189
[2026-03-04 18:09:40] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000594","dispatchRunNumber":"2026000594","incidentTypeValue1":"BRUSH \/ GRASS FIRE","incidentLocationStreetNumber":5989,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.1051599999999979218046064488589763641357421875,"nERISIncidentLongitude":-85.3718899999999933925209916196763515472412109375,"alarm":"2026-03-04 12:07:25","dispatched":"2026-03-04 12:08:40","enroute":"2026-03-04 12:09:28","incidentLocationCross":"WALKER MOUNTAIN RD","cADVehicleID":"EN21","timedispatch":"2026-03-04 12:09:33","timeenroutetoscene":"2026-03-04 12:09:33","policeReportNumber":"20260023882","dispatchNotes":"AROUND 200 FEET AWAY FROM A BUILDING.  [03\/04\/26 12:08:19 JBOHANNON]","cADLog":"AROUND 200 FEET AWAY FROM A BUILDING.  [03\/04\/26 12:08:19 JBOHANNON]","incidentLocationCity":"COOKEVILLE","streetName":"ALFS WAY","incidentAddressTextVersionStreet":"5989 ALFS WAY","locationCoordinates":"36.10516,-85.37189"}
[2026-03-04 18:09:40] [INFO] Number of extracted fields: 23
[2026-03-04 18:09:40] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-03-04 18:09:40] [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-03-04 18:09:40] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-03-04 18:09:40] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-04 18:09:40] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-04 18:09:41] [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-03-04 18:09:41] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-04 18:09:41] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-04 18:09:41] [INFO] Found existing IncidentTypeMapping with ID: 693de9e1e8922fc29
[2026-03-04 18:09:41] [INFO] Found existing Dispatch with cADNumber '2026000594', ID: 69a8752de1dc773f4 - will update instead of create
[2026-03-04 18:09:41] [INFO] Updated existing Dispatches record with ID: 69a8752de1dc773f4
[2026-03-04 18:09:41] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023882_20260304_180940.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-04/PCFD_20260023882_20260304_180940.XML
[2026-03-04 18:09:41] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023882_20260304_180940.XML
[2026-03-04 18:09:41] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023882_20260304_180941.XML
[2026-03-04 18:09:41] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023882_20260304_180941.XML for user: 68f1466aed072ad4a
[2026-03-04 18:09:41] [INFO] File size: 5625 bytes
[2026-03-04 18:09:42] [INFO] Created FTPFiles record with ID: 69a8756623cc1cfef
[2026-03-04 18:09:42] [INFO] About to extract fields from XML. File size: 5625 bytes
[2026-03-04 18:09:42] [INFO] Number of mappings: 28
[2026-03-04 18:09:42] [INFO] Starting XML parsing. Content length: 5625
[2026-03-04 18:09:42] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-04 18:09:42] [INFO] Processing 28 field mappings
[2026-03-04 18:09:42] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-04 18:09:42] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-04 18:09:42] [INFO]   -> Found value: PCFD
[2026-03-04 18:09:42] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-03-04 18:09:42] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-04 18:09:42] [INFO]   -> Found value: 2026000594
[2026-03-04 18:09:42] [INFO]   -> Set field 'incidentInternalId' = "2026000594"
[2026-03-04 18:09:42] [INFO]   -> Set field 'dispatchRunNumber' = "2026000594"
[2026-03-04 18:09:42] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-04 18:09:42] [INFO]   -> Found value: BRUSH / GRASS FIRE
[2026-03-04 18:09:42] [INFO]   -> Set field 'incidentTypeValue1' = "BRUSH \/ GRASS FIRE"
[2026-03-04 18:09:42] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-04 18:09:42] [INFO]   -> Found value: 5989
[2026-03-04 18:09:42] [INFO]   -> Set field 'incidentLocationStreetNumber' = 5989
[2026-03-04 18:09:42] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-04 18:09:42] [INFO]   -> Found value: TN
[2026-03-04 18:09:42] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-04 18:09:42] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-04 18:09:42] [INFO]   -> Found value: 38506
[2026-03-04 18:09:42] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-04 18:09:42] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-04 18:09:42] [INFO]   -> No value found (null or empty)
[2026-03-04 18:09:42] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-04 18:09:42] [INFO]   -> No value found (null or empty)
[2026-03-04 18:09:42] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-04 18:09:42] [INFO]   -> Found value: 36.10516
[2026-03-04 18:09:42] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1051599999999979218046064488589763641357421875
[2026-03-04 18:09:42] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-04 18:09:42] [INFO]   -> Found value: -85.37189
[2026-03-04 18:09:42] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.3718899999999933925209916196763515472412109375
[2026-03-04 18:09:42] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-04 18:09:42] [INFO]   -> Found value: 2026-03-04 12:07:25
[2026-03-04 18:09:42] [INFO]   -> Set field 'alarm' = "2026-03-04 12:07:25"
[2026-03-04 18:09:42] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-04 18:09:42] [INFO]   -> Found value: 2026-03-04 12:08:40
[2026-03-04 18:09:42] [INFO]   -> Set field 'dispatched' = "2026-03-04 12:08:40"
[2026-03-04 18:09:42] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-04 18:09:42] [INFO]   -> Found value: 2026-03-04 12:09:28
[2026-03-04 18:09:42] [INFO]   -> Set field 'enroute' = "2026-03-04 12:09:28"
[2026-03-04 18:09:42] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-04 18:09:42] [INFO]   -> No value found (null or empty)
[2026-03-04 18:09:42] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-04 18:09:42] [INFO]   -> No value found (null or empty)
[2026-03-04 18:09:42] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-04 18:09:42] [INFO]   -> Found value: WALKER MOUNTAIN RD
[2026-03-04 18:09:42] [INFO]   -> Set field 'incidentLocationCross' = "WALKER MOUNTAIN RD"
[2026-03-04 18:09:42] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-04 18:09:42] [INFO]   -> Found value: EN21
[2026-03-04 18:09:42] [INFO]   -> Set field 'cADVehicleID' = "EN21"
[2026-03-04 18:09:42] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-04 18:09:42] [INFO]   -> Found value: 2026-03-04 12:09:33
[2026-03-04 18:09:42] [INFO]   -> Set field 'timedispatch' = "2026-03-04 12:09:33"
[2026-03-04 18:09:42] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-04 18:09:42] [INFO]   -> Found value: 2026-03-04 12:09:33
[2026-03-04 18:09:42] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-04 12:09:33"
[2026-03-04 18:09:42] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-04 18:09:42] [INFO]   -> No value found (null or empty)
[2026-03-04 18:09:42] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-04 18:09:42] [INFO]   -> No value found (null or empty)
[2026-03-04 18:09:42] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-04 18:09:42] [INFO]   -> No value found (null or empty)
[2026-03-04 18:09:42] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-04 18:09:42] [INFO]   -> Found value: 20260023882
[2026-03-04 18:09:42] [INFO]   -> Set field 'policeReportNumber' = "20260023882"
[2026-03-04 18:09:42] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-04 18:09:42] [INFO]   -> Found value: AROUND 200 FEET AWAY FROM A BUILDING.  [03/04/26 12:08:19 JBOHANNON]
[2026-03-04 18:09:42] [INFO]   -> Set field 'dispatchNotes' = "AROUND 200 FEET AWAY FROM A BUILDING.  [03\/04\/26 12:08:19 JBOHANNON]"
[2026-03-04 18:09:42] [INFO]   -> Set field 'cADLog' = "AROUND 200 FEET AWAY FROM A BUILDING.  [03\/04\/26 12:08:19 JBOHANNON]"
[2026-03-04 18:09:42] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-04 18:09:42] [INFO]   -> Found value: COOKEVILLE
[2026-03-04 18:09:42] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-04 18:09:42] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-04 18:09:42] [INFO]   -> Found value: ALFS
[2026-03-04 18:09:42] [INFO]   -> Set field 'streetName' = "ALFS"
[2026-03-04 18:09:42] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-04 18:09:42] [INFO]   -> Found value: WAY
[2026-03-04 18:09:42] [INFO]   -> Set field 'streetType' = "WAY"
[2026-03-04 18:09:42] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-04 18:09:42] [INFO]   -> Found value: 5989 ALFS WAY
[2026-03-04 18:09:42] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "5989 ALFS WAY"
[2026-03-04 18:09:42] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-04 18:09:42] [INFO] Concatenating street name and type
[2026-03-04 18:09:42] [INFO]   -> Combined street name: ALFS WAY
[2026-03-04 18:09:42] [INFO] Built locationCoordinates from lat/lng: 36.10516,-85.37189
[2026-03-04 18:09:42] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000594","dispatchRunNumber":"2026000594","incidentTypeValue1":"BRUSH \/ GRASS FIRE","incidentLocationStreetNumber":5989,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.1051599999999979218046064488589763641357421875,"nERISIncidentLongitude":-85.3718899999999933925209916196763515472412109375,"alarm":"2026-03-04 12:07:25","dispatched":"2026-03-04 12:08:40","enroute":"2026-03-04 12:09:28","incidentLocationCross":"WALKER MOUNTAIN RD","cADVehicleID":"EN21","timedispatch":"2026-03-04 12:09:33","timeenroutetoscene":"2026-03-04 12:09:33","policeReportNumber":"20260023882","dispatchNotes":"AROUND 200 FEET AWAY FROM A BUILDING.  [03\/04\/26 12:08:19 JBOHANNON]","cADLog":"AROUND 200 FEET AWAY FROM A BUILDING.  [03\/04\/26 12:08:19 JBOHANNON]","incidentLocationCity":"COOKEVILLE","streetName":"ALFS WAY","incidentAddressTextVersionStreet":"5989 ALFS WAY","locationCoordinates":"36.10516,-85.37189"}
[2026-03-04 18:09:42] [INFO] Number of extracted fields: 23
[2026-03-04 18:09:42] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-03-04 18:09:42] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD', Parsed IDs = ["PCFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2026-03-04 18:09:42] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-03-04 18:09:42] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-04 18:09:42] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-04 18:09:42] [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-03-04 18:09:42] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-04 18:09:42] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-04 18:09:42] [INFO] Found existing IncidentTypeMapping with ID: 693de9e1e8922fc29
[2026-03-04 18:09:42] [INFO] Found existing Dispatch with cADNumber '2026000594', ID: 69a8752de1dc773f4 - will update instead of create
[2026-03-04 18:09:43] [INFO] Updated existing Dispatches record with ID: 69a8752de1dc773f4
[2026-03-04 18:09:43] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023882_20260304_180941.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-04/PCFD_20260023882_20260304_180941.XML
[2026-03-04 18:09:43] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023882_20260304_180941.XML
[2026-03-04 18:55:12] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 12:55:09Z.xml
[2026-03-04 18:55:12] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 12:55:09Z.xml
[2026-03-04 18:55:13] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 12:55:10Z.xml
[2026-03-04 18:55:13] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 12:55:10Z.xml
[2026-03-04 18:55:14] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 12:55:11Z.xml
[2026-03-04 18:55:14] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 12:55:11Z.xml
[2026-03-04 18:55:14] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 12:55:11Z.xml
[2026-03-04 18:55:14] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 12:55:11Z.xml
[2026-03-04 18:56:25] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 12:56:22Z.xml
[2026-03-04 18:56:25] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 12:56:22Z.xml
[2026-03-04 18:56:26] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 12:56:23Z.xml
[2026-03-04 18:56:26] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 12:56:23Z.xml
[2026-03-04 18:56:26] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 12:56:24Z.xml
[2026-03-04 18:56:26] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 12:56:24Z.xml
[2026-03-04 19:06:13] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 13:06:10Z.xml
[2026-03-04 19:06:13] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 13:06:10Z.xml
[2026-03-04 19:06:58] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 13:06:55Z.xml
[2026-03-04 19:06:58] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 13:06:55Z.xml for user: 66a7b78a47817ab30
[2026-03-04 19:06:58] [INFO] File size: 8760 bytes
[2026-03-04 19:06:58] [INFO] Created FTPFiles record with ID: 69a882d2a80b737ee
[2026-03-04 19:06:58] [INFO] About to extract fields from XML. File size: 8760 bytes
[2026-03-04 19:06:58] [INFO] Number of mappings: 14
[2026-03-04 19:06:58] [INFO] Starting XML parsing. Content length: 8760
[2026-03-04 19:06:58] [ERROR] XML Parse Error: Namespace prefix s for id on CADServiceCall is not defined on line 1
[2026-03-04 19:06:58] [ERROR] XML Parse Error: expected '>' on line 1
[2026-03-04 19:06:58] [ERROR] XML Parse Error: Opening and ending tag mismatch: CallNoteDateTime line 1 and Ca on line 1
[2026-03-04 19:06:58] [ERROR] Error extracting XML fields: Failed to parse XML content - see errors above
[2026-03-04 19:06:58] [ERROR] Error location: /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php:96
[2026-03-04 19:06:58] [ERROR] Stack trace: #0 /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php(685): extractMappedFieldsFromXML('<CADServiceCall...', Array)
#1 {main}
[2026-03-04 19:06:58] [ERROR] EXCEPTION during field extraction: Failed to parse XML content - see errors above
[2026-03-04 19:06:58] [ERROR] Exception file: /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php line: 96
[2026-03-04 19:06:58] [ERROR] Exception trace: #0 /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php(685): extractMappedFieldsFromXML('<CADServiceCall...', Array)
#1 {main}
[2026-03-04 19:06:58] [ERROR] Processing failed for /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 13:06:55Z.xml: Failed to parse XML content - see errors above
[2026-03-04 19:06:58] [INFO] Error occurred at: /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php:96
[2026-03-04 19:06:59] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 13:06:56Z.xml
[2026-03-04 19:06:59] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 13:06:56Z.xml
[2026-03-04 19:06:59] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 13:06:56Z.xml
[2026-03-04 19:06:59] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 13:06:56Z.xml
[2026-03-04 19:07:00] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 13:06:57Z.xml
[2026-03-04 19:07:00] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 13:06:57Z.xml
[2026-03-04 19:07:01] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 13:06:58Z.xml
[2026-03-04 19:07:01] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 13:06:58Z.xml
[2026-03-04 19:07:02] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 13:06:59Z.xml
[2026-03-04 19:07:02] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 13:06:59Z.xml
[2026-03-04 19:07:52] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 13:07:49Z.xml
[2026-03-04 19:07:52] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 13:07:49Z.xml
[2026-03-04 19:07:55] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 13:07:52Z.xml
[2026-03-04 19:07:55] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 13:07:52Z.xml
[2026-03-04 19:07:56] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 13:07:53Z.xml
[2026-03-04 19:07:56] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 13:07:53Z.xml
[2026-03-04 19:08:14] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 13:08:11Z.xml
[2026-03-04 19:08:14] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 13:08:11Z.xml
[2026-03-04 19:08:14] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 13:08:11Z.xml
[2026-03-04 19:08:14] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 13:08:11Z.xml
[2026-03-04 19:08:27] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 13:08:24Z.xml
[2026-03-04 19:08:27] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 13:08:24Z.xml
[2026-03-04 19:08:28] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 13:08:25Z.xml
[2026-03-04 19:08:28] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 13:08:25Z.xml
[2026-03-04 19:08:34] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 13:08:31Z.xml
[2026-03-04 19:08:34] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 13:08:31Z.xml
[2026-03-04 19:08:35] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 13:08:32Z.xml
[2026-03-04 19:08:35] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 13:08:32Z.xml
[2026-03-04 19:09:33] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 13:09:30Z.xml
[2026-03-04 19:09:33] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 13:09:30Z.xml
[2026-03-04 19:22:25] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 13:22:22Z.xml
[2026-03-04 19:22:25] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 13:22:22Z.xml
[2026-03-04 19:22:25] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 13:22:22Z.xml
[2026-03-04 19:22:25] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 13:22:22Z.xml
[2026-03-04 19:24:21] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 13:24:18Z.xml
[2026-03-04 19:24:21] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 13:24:18Z.xml
[2026-03-04 19:24:22] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 13:24:19Z.xml
[2026-03-04 19:24:22] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 13:24:19Z.xml
[2026-03-04 19:24:22] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 13:24:19Z.xml
[2026-03-04 19:24:22] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 13:24:19Z.xml
[2026-03-04 19:24:24] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 13:24:21Z.xml
[2026-03-04 19:24:24] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 13:24:21Z.xml
[2026-03-04 19:24:25] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 13:24:22Z.xml
[2026-03-04 19:24:25] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 13:24:22Z.xml
[2026-03-04 19:24:26] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 13:24:23Z.xml
[2026-03-04 19:24:26] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 13:24:23Z.xml
[2026-03-04 19:24:26] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 13:24:23Z.xml
[2026-03-04 19:24:26] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 13:24:23Z.xml
[2026-03-04 19:24:27] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 13:24:24Z.xml
[2026-03-04 19:24:27] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 13:24:24Z.xml
[2026-03-04 19:24:27] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 13:24:24Z.xml
[2026-03-04 19:24:27] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 13:24:24Z.xml
[2026-03-04 19:24:28] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 13:24:25Z.xml
[2026-03-04 19:24:28] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 13:24:25Z.xml
[2026-03-04 19:24:29] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 13:24:26Z.xml
[2026-03-04 19:24:29] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 13:24:26Z.xml
[2026-03-04 19:24:29] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 13:24:26Z.xml
[2026-03-04 19:24:29] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 13:24:26Z.xml
[2026-03-04 19:24:30] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 13:24:27Z.xml
[2026-03-04 19:24:30] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 13:24:27Z.xml
[2026-03-04 19:24:30] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 13:24:27Z.xml
[2026-03-04 19:24:30] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 13:24:27Z.xml
[2026-03-04 19:24:31] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 13:24:28Z.xml
[2026-03-04 19:24:31] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 13:24:28Z.xml
[2026-03-04 19:24:31] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 13:24:28Z.xml
[2026-03-04 19:24:31] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 13:24:28Z.xml
[2026-03-04 19:24:32] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 13:24:29Z.xml
[2026-03-04 19:24:32] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 13:24:29Z.xml
[2026-03-04 19:24:32] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 13:24:29Z.xml
[2026-03-04 19:24:32] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 13:24:29Z.xml
[2026-03-04 19:24:33] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 13:24:30Z.xml
[2026-03-04 19:24:33] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 13:24:30Z.xml
[2026-03-04 19:24:34] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 13:24:30Z.xml
[2026-03-04 19:24:34] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 13:24:30Z.xml
[2026-03-04 19:24:34] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 13:24:31Z.xml
[2026-03-04 19:24:34] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 13:24:31Z.xml
[2026-03-04 19:24:45] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 13:24:42Z.xml
[2026-03-04 19:24:45] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010170_2026-03-04 13:24:42Z.xml
[2026-03-04 20:52:41] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023964_20260304_205241.XML
[2026-03-04 20:52:41] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023964_20260304_205241.XML for user: 68f1466aed072ad4a
[2026-03-04 20:52:41] [INFO] File size: 4706 bytes
[2026-03-04 20:52:41] [INFO] Created FTPFiles record with ID: 69a89b99caac067c6
[2026-03-04 20:52:41] [INFO] About to extract fields from XML. File size: 4706 bytes
[2026-03-04 20:52:41] [INFO] Number of mappings: 28
[2026-03-04 20:52:41] [INFO] Starting XML parsing. Content length: 4706
[2026-03-04 20:52:41] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-04 20:52:41] [INFO] Processing 28 field mappings
[2026-03-04 20:52:41] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-04 20:52:41] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-04 20:52:41] [INFO]   -> Found value: PCFD
[2026-03-04 20:52:41] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-03-04 20:52:41] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-04 20:52:41] [INFO]   -> Found value: 2026000595
[2026-03-04 20:52:41] [INFO]   -> Set field 'incidentInternalId' = "2026000595"
[2026-03-04 20:52:41] [INFO]   -> Set field 'dispatchRunNumber' = "2026000595"
[2026-03-04 20:52:41] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-04 20:52:41] [INFO]   -> Found value: FIRE INVESTIGATION
[2026-03-04 20:52:41] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE INVESTIGATION"
[2026-03-04 20:52:41] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-04 20:52:41] [INFO]   -> Found value: 100
[2026-03-04 20:52:41] [INFO]   -> Set field 'incidentLocationStreetNumber' = 100
[2026-03-04 20:52:41] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-04 20:52:41] [INFO]   -> Found value: TN
[2026-03-04 20:52:41] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-04 20:52:41] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-04 20:52:41] [INFO]   -> Found value: 38501
[2026-03-04 20:52:41] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-04 20:52:41] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-04 20:52:41] [INFO]   -> No value found (null or empty)
[2026-03-04 20:52:41] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-04 20:52:41] [INFO]   -> No value found (null or empty)
[2026-03-04 20:52:41] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-04 20:52:41] [INFO]   -> Found value: 36.20050
[2026-03-04 20:52:41] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.20049999999999812416717759333550930023193359375
[2026-03-04 20:52:41] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-04 20:52:41] [INFO]   -> Found value: -85.49694
[2026-03-04 20:52:41] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4969399999999950523488223552703857421875
[2026-03-04 20:52:41] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-04 20:52:41] [INFO]   -> Found value: 2026-03-04 14:50:17
[2026-03-04 20:52:41] [INFO]   -> Set field 'alarm' = "2026-03-04 14:50:17"
[2026-03-04 20:52:41] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-04 20:52:41] [INFO]   -> Found value: 2026-03-04 14:52:37
[2026-03-04 20:52:41] [INFO]   -> Set field 'dispatched' = "2026-03-04 14:52:37"
[2026-03-04 20:52:41] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-04 20:52:41] [INFO]   -> No value found (null or empty)
[2026-03-04 20:52:41] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-04 20:52:41] [INFO]   -> No value found (null or empty)
[2026-03-04 20:52:41] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-04 20:52:41] [INFO]   -> No value found (null or empty)
[2026-03-04 20:52:41] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-04 20:52:41] [INFO]   -> No value found (null or empty)
[2026-03-04 20:52:41] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-04 20:52:41] [INFO]   -> Found value: TK16
[2026-03-04 20:52:41] [INFO]   -> Set field 'cADVehicleID' = "TK16"
[2026-03-04 20:52:41] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-04 20:52:41] [INFO]   -> Found value: 2026-03-04 14:52:37
[2026-03-04 20:52:41] [INFO]   -> Set field 'timedispatch' = "2026-03-04 14:52:37"
[2026-03-04 20:52:41] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-04 20:52:41] [INFO]   -> No value found (null or empty)
[2026-03-04 20:52:41] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-04 20:52:41] [INFO]   -> No value found (null or empty)
[2026-03-04 20:52:41] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-04 20:52:41] [INFO]   -> No value found (null or empty)
[2026-03-04 20:52:41] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-04 20:52:41] [INFO]   -> No value found (null or empty)
[2026-03-04 20:52:41] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-04 20:52:41] [INFO]   -> Found value: 20260023964
[2026-03-04 20:52:41] [INFO]   -> Set field 'policeReportNumber' = "20260023964"
[2026-03-04 20:52:41] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-04 20:52:41] [INFO]   -> Found value: CALLER STATED LARGE DOZER PILE. LOT OF SMOKE IN THE AREA. JUST WANTS IT CHECKED OUT.  [03/04/26 14:5...
[2026-03-04 20:52:41] [INFO]   -> Set field 'dispatchNotes' = "CALLER STATED LARGE DOZER PILE. LOT OF SMOKE IN THE AREA. JUST WANTS IT CHECKED OUT.  [03\/04\/26 14:51:35 JBOHANNON]]"
[2026-03-04 20:52:41] [INFO]   -> Set field 'cADLog' = "CALLER STATED LARGE DOZER PILE. LOT OF SMOKE IN THE AREA. JUST WANTS IT CHECKED OUT.  [03\/04\/26 14:51:35 JBOHANNON]]"
[2026-03-04 20:52:41] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-04 20:52:41] [INFO]   -> Found value: COOKEVILLE
[2026-03-04 20:52:41] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-04 20:52:41] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-04 20:52:41] [INFO]   -> Found value: DALE
[2026-03-04 20:52:41] [INFO]   -> Set field 'streetName' = "DALE"
[2026-03-04 20:52:41] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-04 20:52:41] [INFO]   -> Found value: LN
[2026-03-04 20:52:41] [INFO]   -> Set field 'streetType' = "LN"
[2026-03-04 20:52:41] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-04 20:52:41] [INFO]   -> Found value: DALE LN/FREEHILL RD
[2026-03-04 20:52:41] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "DALE LN\/FREEHILL RD"
[2026-03-04 20:52:41] [INFO] Finished extracting fields. Total fields extracted: 20
[2026-03-04 20:52:41] [INFO] Concatenating street name and type
[2026-03-04 20:52:41] [INFO]   -> Combined street name: DALE LN
[2026-03-04 20:52:41] [INFO] Built locationCoordinates from lat/lng: 36.2005,-85.49694
[2026-03-04 20:52:41] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000595","dispatchRunNumber":"2026000595","incidentTypeValue1":"FIRE INVESTIGATION","incidentLocationStreetNumber":100,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.20049999999999812416717759333550930023193359375,"nERISIncidentLongitude":-85.4969399999999950523488223552703857421875,"alarm":"2026-03-04 14:50:17","dispatched":"2026-03-04 14:52:37","cADVehicleID":"TK16","timedispatch":"2026-03-04 14:52:37","policeReportNumber":"20260023964","dispatchNotes":"CALLER STATED LARGE DOZER PILE. LOT OF SMOKE IN THE AREA. JUST WANTS IT CHECKED OUT.  [03\/04\/26 14:51:35 JBOHANNON]]","cADLog":"CALLER STATED LARGE DOZER PILE. LOT OF SMOKE IN THE AREA. JUST WANTS IT CHECKED OUT.  [03\/04\/26 14:51:35 JBOHANNON]]","incidentLocationCity":"COOKEVILLE","streetName":"DALE LN","incidentAddressTextVersionStreet":"DALE LN\/FREEHILL RD","locationCoordinates":"36.2005,-85.49694"}
[2026-03-04 20:52:41] [INFO] Number of extracted fields: 20
[2026-03-04 20:52:41] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-03-04 20:52:41] [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-03-04 20:52:41] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-03-04 20:52:41] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-04 20:52:42] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-04 20:52:42] [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-03-04 20:52:42] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-04 20:52:42] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-04 20:52:42] [INFO] Found existing IncidentTypeMapping with ID: 693fd3603dbcab356
[2026-03-04 20:52:53] [INFO] Created new Dispatches record with ID: 69a89b9aa144fad32
[2026-03-04 20:52:53] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023964_20260304_205241.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-04/PCFD_20260023964_20260304_205241.XML
[2026-03-04 20:52:53] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023964_20260304_205241.XML
[2026-03-04 20:52:53] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023964_20260304_205241_1.XML
[2026-03-04 20:52:53] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023964_20260304_205241_1.XML for user: 68f1466aed072ad4a
[2026-03-04 20:52:53] [INFO] File size: 4706 bytes
[2026-03-04 20:52:54] [INFO] Created FTPFiles record with ID: 69a89ba6dc8ddb46d
[2026-03-04 20:52:54] [INFO] About to extract fields from XML. File size: 4706 bytes
[2026-03-04 20:52:54] [INFO] Number of mappings: 28
[2026-03-04 20:52:54] [INFO] Starting XML parsing. Content length: 4706
[2026-03-04 20:52:54] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-04 20:52:54] [INFO] Processing 28 field mappings
[2026-03-04 20:52:54] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-04 20:52:54] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-04 20:52:54] [INFO]   -> Found value: PCFD
[2026-03-04 20:52:54] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-03-04 20:52:54] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-04 20:52:54] [INFO]   -> Found value: 2026000595
[2026-03-04 20:52:54] [INFO]   -> Set field 'incidentInternalId' = "2026000595"
[2026-03-04 20:52:54] [INFO]   -> Set field 'dispatchRunNumber' = "2026000595"
[2026-03-04 20:52:54] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-04 20:52:54] [INFO]   -> Found value: FIRE INVESTIGATION
[2026-03-04 20:52:54] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE INVESTIGATION"
[2026-03-04 20:52:54] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-04 20:52:54] [INFO]   -> Found value: 100
[2026-03-04 20:52:54] [INFO]   -> Set field 'incidentLocationStreetNumber' = 100
[2026-03-04 20:52:54] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-04 20:52:54] [INFO]   -> Found value: TN
[2026-03-04 20:52:54] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-04 20:52:54] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-04 20:52:54] [INFO]   -> Found value: 38501
[2026-03-04 20:52:54] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-04 20:52:54] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-04 20:52:54] [INFO]   -> No value found (null or empty)
[2026-03-04 20:52:54] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-04 20:52:54] [INFO]   -> No value found (null or empty)
[2026-03-04 20:52:54] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-04 20:52:54] [INFO]   -> Found value: 36.20050
[2026-03-04 20:52:54] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.20049999999999812416717759333550930023193359375
[2026-03-04 20:52:54] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-04 20:52:54] [INFO]   -> Found value: -85.49694
[2026-03-04 20:52:54] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4969399999999950523488223552703857421875
[2026-03-04 20:52:54] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-04 20:52:54] [INFO]   -> Found value: 2026-03-04 14:50:17
[2026-03-04 20:52:54] [INFO]   -> Set field 'alarm' = "2026-03-04 14:50:17"
[2026-03-04 20:52:54] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-04 20:52:54] [INFO]   -> Found value: 2026-03-04 14:52:37
[2026-03-04 20:52:54] [INFO]   -> Set field 'dispatched' = "2026-03-04 14:52:37"
[2026-03-04 20:52:54] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-04 20:52:54] [INFO]   -> No value found (null or empty)
[2026-03-04 20:52:54] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-04 20:52:54] [INFO]   -> No value found (null or empty)
[2026-03-04 20:52:54] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-04 20:52:54] [INFO]   -> No value found (null or empty)
[2026-03-04 20:52:54] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-04 20:52:54] [INFO]   -> No value found (null or empty)
[2026-03-04 20:52:54] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-04 20:52:54] [INFO]   -> Found value: TK16
[2026-03-04 20:52:54] [INFO]   -> Set field 'cADVehicleID' = "TK16"
[2026-03-04 20:52:54] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-04 20:52:54] [INFO]   -> Found value: 2026-03-04 14:52:37
[2026-03-04 20:52:54] [INFO]   -> Set field 'timedispatch' = "2026-03-04 14:52:37"
[2026-03-04 20:52:54] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-04 20:52:54] [INFO]   -> No value found (null or empty)
[2026-03-04 20:52:54] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-04 20:52:54] [INFO]   -> No value found (null or empty)
[2026-03-04 20:52:54] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-04 20:52:54] [INFO]   -> No value found (null or empty)
[2026-03-04 20:52:54] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-04 20:52:54] [INFO]   -> No value found (null or empty)
[2026-03-04 20:52:54] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-04 20:52:54] [INFO]   -> Found value: 20260023964
[2026-03-04 20:52:54] [INFO]   -> Set field 'policeReportNumber' = "20260023964"
[2026-03-04 20:52:54] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-04 20:52:54] [INFO]   -> Found value: CALLER STATED LARGE DOZER PILE. LOT OF SMOKE IN THE AREA. JUST WANTS IT CHECKED OUT.  [03/04/26 14:5...
[2026-03-04 20:52:54] [INFO]   -> Set field 'dispatchNotes' = "CALLER STATED LARGE DOZER PILE. LOT OF SMOKE IN THE AREA. JUST WANTS IT CHECKED OUT.  [03\/04\/26 14:51:35 JBOHANNON]]"
[2026-03-04 20:52:54] [INFO]   -> Set field 'cADLog' = "CALLER STATED LARGE DOZER PILE. LOT OF SMOKE IN THE AREA. JUST WANTS IT CHECKED OUT.  [03\/04\/26 14:51:35 JBOHANNON]]"
[2026-03-04 20:52:54] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-04 20:52:54] [INFO]   -> Found value: COOKEVILLE
[2026-03-04 20:52:54] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-04 20:52:54] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-04 20:52:54] [INFO]   -> Found value: DALE
[2026-03-04 20:52:54] [INFO]   -> Set field 'streetName' = "DALE"
[2026-03-04 20:52:54] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-04 20:52:54] [INFO]   -> Found value: LN
[2026-03-04 20:52:54] [INFO]   -> Set field 'streetType' = "LN"
[2026-03-04 20:52:54] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-04 20:52:54] [INFO]   -> Found value: DALE LN/FREEHILL RD
[2026-03-04 20:52:54] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "DALE LN\/FREEHILL RD"
[2026-03-04 20:52:54] [INFO] Finished extracting fields. Total fields extracted: 20
[2026-03-04 20:52:54] [INFO] Concatenating street name and type
[2026-03-04 20:52:54] [INFO]   -> Combined street name: DALE LN
[2026-03-04 20:52:54] [INFO] Built locationCoordinates from lat/lng: 36.2005,-85.49694
[2026-03-04 20:52:54] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000595","dispatchRunNumber":"2026000595","incidentTypeValue1":"FIRE INVESTIGATION","incidentLocationStreetNumber":100,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.20049999999999812416717759333550930023193359375,"nERISIncidentLongitude":-85.4969399999999950523488223552703857421875,"alarm":"2026-03-04 14:50:17","dispatched":"2026-03-04 14:52:37","cADVehicleID":"TK16","timedispatch":"2026-03-04 14:52:37","policeReportNumber":"20260023964","dispatchNotes":"CALLER STATED LARGE DOZER PILE. LOT OF SMOKE IN THE AREA. JUST WANTS IT CHECKED OUT.  [03\/04\/26 14:51:35 JBOHANNON]]","cADLog":"CALLER STATED LARGE DOZER PILE. LOT OF SMOKE IN THE AREA. JUST WANTS IT CHECKED OUT.  [03\/04\/26 14:51:35 JBOHANNON]]","incidentLocationCity":"COOKEVILLE","streetName":"DALE LN","incidentAddressTextVersionStreet":"DALE LN\/FREEHILL RD","locationCoordinates":"36.2005,-85.49694"}
[2026-03-04 20:52:54] [INFO] Number of extracted fields: 20
[2026-03-04 20:52:54] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-03-04 20:52:54] [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-03-04 20:52:54] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-03-04 20:52:54] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-04 20:52:55] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-04 20:52: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-03-04 20:52:55] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-04 20:52:55] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-04 20:52:55] [INFO] Found existing IncidentTypeMapping with ID: 693fd3603dbcab356
[2026-03-04 20:52:55] [INFO] Found existing Dispatch with cADNumber '2026000595', ID: 69a89b9aa144fad32 - will update instead of create
[2026-03-04 20:52:56] [INFO] Updated existing Dispatches record with ID: 69a89b9aa144fad32
[2026-03-04 20:52:56] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023964_20260304_205241_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-04/PCFD_20260023964_20260304_205241_1.XML
[2026-03-04 20:52:56] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023964_20260304_205241_1.XML
[2026-03-04 20:53:53] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023964_20260304_205353.XML
[2026-03-04 20:53:53] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023964_20260304_205353.XML for user: 68f1466aed072ad4a
[2026-03-04 20:53:53] [INFO] File size: 5599 bytes
[2026-03-04 20:53:54] [INFO] Created FTPFiles record with ID: 69a89be24cba80860
[2026-03-04 20:53:54] [INFO] About to extract fields from XML. File size: 5599 bytes
[2026-03-04 20:53:54] [INFO] Number of mappings: 28
[2026-03-04 20:53:54] [INFO] Starting XML parsing. Content length: 5599
[2026-03-04 20:53:54] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-04 20:53:54] [INFO] Processing 28 field mappings
[2026-03-04 20:53:54] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-04 20:53:54] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-04 20:53:54] [INFO]   -> Found value: PCFD
[2026-03-04 20:53:54] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-03-04 20:53:54] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-04 20:53:54] [INFO]   -> Found value: 2026000595
[2026-03-04 20:53:54] [INFO]   -> Set field 'incidentInternalId' = "2026000595"
[2026-03-04 20:53:54] [INFO]   -> Set field 'dispatchRunNumber' = "2026000595"
[2026-03-04 20:53:54] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-04 20:53:54] [INFO]   -> Found value: FIRE INVESTIGATION
[2026-03-04 20:53:54] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE INVESTIGATION"
[2026-03-04 20:53:54] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-04 20:53:54] [INFO]   -> Found value: 100
[2026-03-04 20:53:54] [INFO]   -> Set field 'incidentLocationStreetNumber' = 100
[2026-03-04 20:53:54] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-04 20:53:54] [INFO]   -> Found value: TN
[2026-03-04 20:53:54] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-04 20:53:54] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-04 20:53:54] [INFO]   -> Found value: 38501
[2026-03-04 20:53:54] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-04 20:53:54] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-04 20:53:54] [INFO]   -> No value found (null or empty)
[2026-03-04 20:53:54] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-04 20:53:54] [INFO]   -> No value found (null or empty)
[2026-03-04 20:53:54] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-04 20:53:54] [INFO]   -> Found value: 36.20050
[2026-03-04 20:53:54] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.20049999999999812416717759333550930023193359375
[2026-03-04 20:53:54] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-04 20:53:54] [INFO]   -> Found value: -85.49694
[2026-03-04 20:53:54] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4969399999999950523488223552703857421875
[2026-03-04 20:53:54] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-04 20:53:54] [INFO]   -> Found value: 2026-03-04 14:50:17
[2026-03-04 20:53:54] [INFO]   -> Set field 'alarm' = "2026-03-04 14:50:17"
[2026-03-04 20:53:54] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-04 20:53:54] [INFO]   -> Found value: 2026-03-04 14:52:37
[2026-03-04 20:53:54] [INFO]   -> Set field 'dispatched' = "2026-03-04 14:52:37"
[2026-03-04 20:53:54] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-04 20:53:54] [INFO]   -> Found value: 2026-03-04 14:53:46
[2026-03-04 20:53:54] [INFO]   -> Set field 'enroute' = "2026-03-04 14:53:46"
[2026-03-04 20:53:54] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-04 20:53:54] [INFO]   -> No value found (null or empty)
[2026-03-04 20:53:54] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-04 20:53:54] [INFO]   -> No value found (null or empty)
[2026-03-04 20:53:54] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-04 20:53:54] [INFO]   -> No value found (null or empty)
[2026-03-04 20:53:54] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-04 20:53:54] [INFO]   -> Found value: 954
[2026-03-04 20:53:54] [INFO]   -> Set field 'cADVehicleID' = 954
[2026-03-04 20:53:54] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-04 20:53:54] [INFO]   -> Found value: 2026-03-04 14:53:46
[2026-03-04 20:53:54] [INFO]   -> Set field 'timedispatch' = "2026-03-04 14:53:46"
[2026-03-04 20:53:54] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-04 20:53:54] [INFO]   -> Found value: 2026-03-04 14:53:46
[2026-03-04 20:53:54] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-04 14:53:46"
[2026-03-04 20:53:54] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-04 20:53:54] [INFO]   -> No value found (null or empty)
[2026-03-04 20:53:54] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-04 20:53:54] [INFO]   -> No value found (null or empty)
[2026-03-04 20:53:54] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-04 20:53:54] [INFO]   -> No value found (null or empty)
[2026-03-04 20:53:54] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-04 20:53:54] [INFO]   -> Found value: 20260023964
[2026-03-04 20:53:54] [INFO]   -> Set field 'policeReportNumber' = "20260023964"
[2026-03-04 20:53:54] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-04 20:53:54] [INFO]   -> Found value: CALLER STATED LARGE DOZER PILE. LOT OF SMOKE IN THE AREA. JUST WANTS IT CHECKED OUT.  [03/04/26 14:5...
[2026-03-04 20:53:54] [INFO]   -> Set field 'dispatchNotes' = "CALLER STATED LARGE DOZER PILE. LOT OF SMOKE IN THE AREA. JUST WANTS IT CHECKED OUT.  [03\/04\/26 14:51:35 JBOHANNON]]"
[2026-03-04 20:53:54] [INFO]   -> Set field 'cADLog' = "CALLER STATED LARGE DOZER PILE. LOT OF SMOKE IN THE AREA. JUST WANTS IT CHECKED OUT.  [03\/04\/26 14:51:35 JBOHANNON]]"
[2026-03-04 20:53:54] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-04 20:53:54] [INFO]   -> Found value: COOKEVILLE
[2026-03-04 20:53:54] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-04 20:53:54] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-04 20:53:54] [INFO]   -> Found value: DALE
[2026-03-04 20:53:54] [INFO]   -> Set field 'streetName' = "DALE"
[2026-03-04 20:53:54] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-04 20:53:54] [INFO]   -> Found value: LN
[2026-03-04 20:53:54] [INFO]   -> Set field 'streetType' = "LN"
[2026-03-04 20:53:54] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-04 20:53:54] [INFO]   -> Found value: DALE LN/FREEHILL RD
[2026-03-04 20:53:54] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "DALE LN\/FREEHILL RD"
[2026-03-04 20:53:54] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-03-04 20:53:54] [INFO] Concatenating street name and type
[2026-03-04 20:53:54] [INFO]   -> Combined street name: DALE LN
[2026-03-04 20:53:54] [INFO] Built locationCoordinates from lat/lng: 36.2005,-85.49694
[2026-03-04 20:53:54] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000595","dispatchRunNumber":"2026000595","incidentTypeValue1":"FIRE INVESTIGATION","incidentLocationStreetNumber":100,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.20049999999999812416717759333550930023193359375,"nERISIncidentLongitude":-85.4969399999999950523488223552703857421875,"alarm":"2026-03-04 14:50:17","dispatched":"2026-03-04 14:52:37","enroute":"2026-03-04 14:53:46","cADVehicleID":954,"timedispatch":"2026-03-04 14:53:46","timeenroutetoscene":"2026-03-04 14:53:46","policeReportNumber":"20260023964","dispatchNotes":"CALLER STATED LARGE DOZER PILE. LOT OF SMOKE IN THE AREA. JUST WANTS IT CHECKED OUT.  [03\/04\/26 14:51:35 JBOHANNON]]","cADLog":"CALLER STATED LARGE DOZER PILE. LOT OF SMOKE IN THE AREA. JUST WANTS IT CHECKED OUT.  [03\/04\/26 14:51:35 JBOHANNON]]","incidentLocationCity":"COOKEVILLE","streetName":"DALE LN","incidentAddressTextVersionStreet":"DALE LN\/FREEHILL RD","locationCoordinates":"36.2005,-85.49694"}
[2026-03-04 20:53:54] [INFO] Number of extracted fields: 22
[2026-03-04 20:53:54] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-03-04 20:53:54] [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-03-04 20:53:54] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-03-04 20:53:54] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-04 20:53:54] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-04 20:53:54] [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-03-04 20:53:54] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-04 20:53:54] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-04 20:53:54] [INFO] Found existing IncidentTypeMapping with ID: 693fd3603dbcab356
[2026-03-04 20:53:54] [INFO] Found existing Dispatch with cADNumber '2026000595', ID: 69a89b9aa144fad32 - will update instead of create
[2026-03-04 20:53:55] [INFO] Updated existing Dispatches record with ID: 69a89b9aa144fad32
[2026-03-04 20:53:55] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023964_20260304_205353.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-04/PCFD_20260023964_20260304_205353.XML
[2026-03-04 20:53:55] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023964_20260304_205353.XML
[2026-03-04 20:53:55] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023964_20260304_205355.XML
[2026-03-04 20:53:55] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023964_20260304_205355.XML for user: 68f1466aed072ad4a
[2026-03-04 20:53:55] [INFO] File size: 5599 bytes
[2026-03-04 20:53:56] [INFO] Created FTPFiles record with ID: 69a89be3efd469b3c
[2026-03-04 20:53:56] [INFO] About to extract fields from XML. File size: 5599 bytes
[2026-03-04 20:53:56] [INFO] Number of mappings: 28
[2026-03-04 20:53:56] [INFO] Starting XML parsing. Content length: 5599
[2026-03-04 20:53:56] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-04 20:53:56] [INFO] Processing 28 field mappings
[2026-03-04 20:53:56] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-04 20:53:56] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-04 20:53:56] [INFO]   -> Found value: PCFD
[2026-03-04 20:53:56] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-03-04 20:53:56] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-04 20:53:56] [INFO]   -> Found value: 2026000595
[2026-03-04 20:53:56] [INFO]   -> Set field 'incidentInternalId' = "2026000595"
[2026-03-04 20:53:56] [INFO]   -> Set field 'dispatchRunNumber' = "2026000595"
[2026-03-04 20:53:56] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-04 20:53:56] [INFO]   -> Found value: FIRE INVESTIGATION
[2026-03-04 20:53:56] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE INVESTIGATION"
[2026-03-04 20:53:56] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-04 20:53:56] [INFO]   -> Found value: 100
[2026-03-04 20:53:56] [INFO]   -> Set field 'incidentLocationStreetNumber' = 100
[2026-03-04 20:53:56] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-04 20:53:56] [INFO]   -> Found value: TN
[2026-03-04 20:53:56] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-04 20:53:56] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-04 20:53:56] [INFO]   -> Found value: 38501
[2026-03-04 20:53:56] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-04 20:53:56] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-04 20:53:56] [INFO]   -> No value found (null or empty)
[2026-03-04 20:53:56] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-04 20:53:56] [INFO]   -> No value found (null or empty)
[2026-03-04 20:53:56] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-04 20:53:56] [INFO]   -> Found value: 36.20050
[2026-03-04 20:53:56] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.20049999999999812416717759333550930023193359375
[2026-03-04 20:53:56] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-04 20:53:56] [INFO]   -> Found value: -85.49694
[2026-03-04 20:53:56] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4969399999999950523488223552703857421875
[2026-03-04 20:53:56] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-04 20:53:56] [INFO]   -> Found value: 2026-03-04 14:50:17
[2026-03-04 20:53:56] [INFO]   -> Set field 'alarm' = "2026-03-04 14:50:17"
[2026-03-04 20:53:56] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-04 20:53:56] [INFO]   -> Found value: 2026-03-04 14:52:37
[2026-03-04 20:53:56] [INFO]   -> Set field 'dispatched' = "2026-03-04 14:52:37"
[2026-03-04 20:53:56] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-04 20:53:56] [INFO]   -> Found value: 2026-03-04 14:53:46
[2026-03-04 20:53:56] [INFO]   -> Set field 'enroute' = "2026-03-04 14:53:46"
[2026-03-04 20:53:56] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-04 20:53:56] [INFO]   -> No value found (null or empty)
[2026-03-04 20:53:56] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-04 20:53:56] [INFO]   -> No value found (null or empty)
[2026-03-04 20:53:56] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-04 20:53:56] [INFO]   -> No value found (null or empty)
[2026-03-04 20:53:56] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-04 20:53:56] [INFO]   -> Found value: 954
[2026-03-04 20:53:56] [INFO]   -> Set field 'cADVehicleID' = 954
[2026-03-04 20:53:56] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-04 20:53:56] [INFO]   -> Found value: 2026-03-04 14:53:46
[2026-03-04 20:53:56] [INFO]   -> Set field 'timedispatch' = "2026-03-04 14:53:46"
[2026-03-04 20:53:56] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-04 20:53:56] [INFO]   -> Found value: 2026-03-04 14:53:46
[2026-03-04 20:53:56] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-04 14:53:46"
[2026-03-04 20:53:56] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-04 20:53:56] [INFO]   -> No value found (null or empty)
[2026-03-04 20:53:56] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-04 20:53:56] [INFO]   -> No value found (null or empty)
[2026-03-04 20:53:56] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-04 20:53:56] [INFO]   -> No value found (null or empty)
[2026-03-04 20:53:56] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-04 20:53:56] [INFO]   -> Found value: 20260023964
[2026-03-04 20:53:56] [INFO]   -> Set field 'policeReportNumber' = "20260023964"
[2026-03-04 20:53:56] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-04 20:53:56] [INFO]   -> Found value: CALLER STATED LARGE DOZER PILE. LOT OF SMOKE IN THE AREA. JUST WANTS IT CHECKED OUT.  [03/04/26 14:5...
[2026-03-04 20:53:56] [INFO]   -> Set field 'dispatchNotes' = "CALLER STATED LARGE DOZER PILE. LOT OF SMOKE IN THE AREA. JUST WANTS IT CHECKED OUT.  [03\/04\/26 14:51:35 JBOHANNON]]"
[2026-03-04 20:53:56] [INFO]   -> Set field 'cADLog' = "CALLER STATED LARGE DOZER PILE. LOT OF SMOKE IN THE AREA. JUST WANTS IT CHECKED OUT.  [03\/04\/26 14:51:35 JBOHANNON]]"
[2026-03-04 20:53:56] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-04 20:53:56] [INFO]   -> Found value: COOKEVILLE
[2026-03-04 20:53:56] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-04 20:53:56] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-04 20:53:56] [INFO]   -> Found value: DALE
[2026-03-04 20:53:56] [INFO]   -> Set field 'streetName' = "DALE"
[2026-03-04 20:53:56] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-04 20:53:56] [INFO]   -> Found value: LN
[2026-03-04 20:53:56] [INFO]   -> Set field 'streetType' = "LN"
[2026-03-04 20:53:56] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-04 20:53:56] [INFO]   -> Found value: DALE LN/FREEHILL RD
[2026-03-04 20:53:56] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "DALE LN\/FREEHILL RD"
[2026-03-04 20:53:56] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-03-04 20:53:56] [INFO] Concatenating street name and type
[2026-03-04 20:53:56] [INFO]   -> Combined street name: DALE LN
[2026-03-04 20:53:56] [INFO] Built locationCoordinates from lat/lng: 36.2005,-85.49694
[2026-03-04 20:53:56] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000595","dispatchRunNumber":"2026000595","incidentTypeValue1":"FIRE INVESTIGATION","incidentLocationStreetNumber":100,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.20049999999999812416717759333550930023193359375,"nERISIncidentLongitude":-85.4969399999999950523488223552703857421875,"alarm":"2026-03-04 14:50:17","dispatched":"2026-03-04 14:52:37","enroute":"2026-03-04 14:53:46","cADVehicleID":954,"timedispatch":"2026-03-04 14:53:46","timeenroutetoscene":"2026-03-04 14:53:46","policeReportNumber":"20260023964","dispatchNotes":"CALLER STATED LARGE DOZER PILE. LOT OF SMOKE IN THE AREA. JUST WANTS IT CHECKED OUT.  [03\/04\/26 14:51:35 JBOHANNON]]","cADLog":"CALLER STATED LARGE DOZER PILE. LOT OF SMOKE IN THE AREA. JUST WANTS IT CHECKED OUT.  [03\/04\/26 14:51:35 JBOHANNON]]","incidentLocationCity":"COOKEVILLE","streetName":"DALE LN","incidentAddressTextVersionStreet":"DALE LN\/FREEHILL RD","locationCoordinates":"36.2005,-85.49694"}
[2026-03-04 20:53:56] [INFO] Number of extracted fields: 22
[2026-03-04 20:53:56] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-03-04 20:53:56] [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-03-04 20:53:56] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-03-04 20:53:56] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-04 20:53:56] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-04 20:53: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-03-04 20:53:56] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-04 20:53:56] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-04 20:53:56] [INFO] Found existing IncidentTypeMapping with ID: 693fd3603dbcab356
[2026-03-04 20:53:56] [INFO] Found existing Dispatch with cADNumber '2026000595', ID: 69a89b9aa144fad32 - will update instead of create
[2026-03-04 20:53:56] [INFO] Updated existing Dispatches record with ID: 69a89b9aa144fad32
[2026-03-04 20:53:56] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023964_20260304_205355.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-04/PCFD_20260023964_20260304_205355.XML
[2026-03-04 20:53:56] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023964_20260304_205355.XML
[2026-03-04 22:33:41] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023999_20260304_223341.XML
[2026-03-04 22:33:41] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023999_20260304_223341.XML for user: 68f1466aed072ad4a
[2026-03-04 22:33:41] [INFO] File size: 5076 bytes
[2026-03-04 22:33:45] [INFO] Created FTPFiles record with ID: 69a8b349ace36898d
[2026-03-04 22:33:45] [INFO] About to extract fields from XML. File size: 5076 bytes
[2026-03-04 22:33:45] [INFO] Number of mappings: 28
[2026-03-04 22:33:45] [INFO] Starting XML parsing. Content length: 5076
[2026-03-04 22:33:45] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-04 22:33:45] [INFO] Processing 28 field mappings
[2026-03-04 22:33:45] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-04 22:33:45] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-04 22:33:45] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-04 22:33:45] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-03-04 22:33:45] [INFO]   -> Found value: PCFD
EMS
[2026-03-04 22:33:45] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS"
[2026-03-04 22:33:45] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-04 22:33:45] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-03-04 22:33:45] [INFO]   -> Found value: 2026000596
[2026-03-04 22:33:45] [INFO]   -> Set field 'incidentInternalId' = "2026000596"
[2026-03-04 22:33:45] [INFO]   -> Set field 'dispatchRunNumber' = "2026000596"
[2026-03-04 22:33:45] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-04 22:33:45] [INFO]   -> Found value: MANPOWER - EMS ASSIST
[2026-03-04 22:33:45] [INFO]   -> Set field 'incidentTypeValue1' = "MANPOWER - EMS ASSIST"
[2026-03-04 22:33:45] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-04 22:33:45] [INFO]   -> Found value: 3010
[2026-03-04 22:33:45] [INFO]   -> Set field 'incidentLocationStreetNumber' = 3010
[2026-03-04 22:33:45] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-04 22:33:45] [INFO]   -> Found value: TN
[2026-03-04 22:33:45] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-04 22:33:45] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-04 22:33:45] [INFO]   -> Found value: 38506
[2026-03-04 22:33:45] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-04 22:33:45] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-04 22:33:45] [INFO]   -> Found value: ERNIE BURGESS
[2026-03-04 22:33:45] [INFO]   -> Set field 'businessName' = "ERNIE BURGESS"
[2026-03-04 22:33:45] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-04 22:33:45] [INFO]   -> No value found (null or empty)
[2026-03-04 22:33:45] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-04 22:33:45] [INFO]   -> Found value: 36.24147
[2026-03-04 22:33:45] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.24146999999999962938090902753174304962158203125
[2026-03-04 22:33:45] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-04 22:33:45] [INFO]   -> Found value: -85.43627
[2026-03-04 22:33:45] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4362699999999932742866803891956806182861328125
[2026-03-04 22:33:45] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-04 22:33:45] [INFO]   -> Found value: 2026-03-04 16:31:57
[2026-03-04 22:33:45] [INFO]   -> Set field 'alarm' = "2026-03-04 16:31:57"
[2026-03-04 22:33:45] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-04 22:33:45] [INFO]   -> Found value: 2026-03-04 16:33:39
[2026-03-04 22:33:45] [INFO]   -> Set field 'dispatched' = "2026-03-04 16:33:39"
[2026-03-04 22:33:45] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-04 22:33:45] [INFO]   -> No value found (null or empty)
[2026-03-04 22:33:45] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-04 22:33:45] [INFO]   -> No value found (null or empty)
[2026-03-04 22:33:45] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-04 22:33:45] [INFO]   -> No value found (null or empty)
[2026-03-04 22:33:45] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-04 22:33:45] [INFO]   -> Found value: POSTON WHITEAKER RD/PRESLEY LN
[2026-03-04 22:33:45] [INFO]   -> Set field 'incidentLocationCross' = "POSTON WHITEAKER RD\/PRESLEY LN"
[2026-03-04 22:33:45] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-04 22:33:45] [INFO]   -> Found value: TK12
[2026-03-04 22:33:45] [INFO]   -> Set field 'cADVehicleID' = "TK12"
[2026-03-04 22:33:45] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-04 22:33:45] [INFO]   -> Found value: 2026-03-04 16:33:39
[2026-03-04 22:33:45] [INFO]   -> Set field 'timedispatch' = "2026-03-04 16:33:39"
[2026-03-04 22:33:45] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-04 22:33:45] [INFO]   -> No value found (null or empty)
[2026-03-04 22:33:45] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-04 22:33:45] [INFO]   -> No value found (null or empty)
[2026-03-04 22:33:45] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-04 22:33:45] [INFO]   -> No value found (null or empty)
[2026-03-04 22:33:45] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-04 22:33:45] [INFO]   -> No value found (null or empty)
[2026-03-04 22:33:45] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-04 22:33:45] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-03-04 22:33:45] [INFO]   -> Found value: 20260023999
[2026-03-04 22:33:45] [INFO]   -> Set field 'policeReportNumber' = "20260023999"
[2026-03-04 22:33:45] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-04 22:33:45] [INFO]   -> Found value: Event spawned from EMS NON-EMERGENCY.  [03/04/2026 16:31:57 MCLAYBURN2] UDTS: LIFT ASSIST ONLY  [03/...
[2026-03-04 22:33:45] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from EMS NON-EMERGENCY.  [03\/04\/2026 16:31:57 MCLAYBURN2] UDTS: LIFT ASSIST ONLY  [03\/04\/26 16:24:59 KBEATY]"
[2026-03-04 22:33:45] [INFO]   -> Set field 'cADLog' = "Event spawned from EMS NON-EMERGENCY.  [03\/04\/2026 16:31:57 MCLAYBURN2] UDTS: LIFT ASSIST ONLY  [03\/04\/26 16:24:59 KBEATY]"
[2026-03-04 22:33:45] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-04 22:33:45] [INFO]   -> Found value: COOKEVILLE
[2026-03-04 22:33:45] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-04 22:33:45] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-04 22:33:45] [INFO]   -> Found value: PARAN
[2026-03-04 22:33:45] [INFO]   -> Set field 'streetName' = "PARAN"
[2026-03-04 22:33:45] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-04 22:33:45] [INFO]   -> Found value: RD
[2026-03-04 22:33:45] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-04 22:33:45] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-04 22:33:45] [INFO]   -> Found value: 3010 PARAN RD
[2026-03-04 22:33:45] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "3010 PARAN RD"
[2026-03-04 22:33:45] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-03-04 22:33:45] [INFO] Concatenating street name and type
[2026-03-04 22:33:45] [INFO]   -> Combined street name: PARAN RD
[2026-03-04 22:33:45] [INFO] Built locationCoordinates from lat/lng: 36.24147,-85.43627
[2026-03-04 22:33:45] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS","incidentInternalId":"2026000596","dispatchRunNumber":"2026000596","incidentTypeValue1":"MANPOWER - EMS ASSIST","incidentLocationStreetNumber":3010,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"businessName":"ERNIE BURGESS","nERISIncidentLatitude":36.24146999999999962938090902753174304962158203125,"nERISIncidentLongitude":-85.4362699999999932742866803891956806182861328125,"alarm":"2026-03-04 16:31:57","dispatched":"2026-03-04 16:33:39","incidentLocationCross":"POSTON WHITEAKER RD\/PRESLEY LN","cADVehicleID":"TK12","timedispatch":"2026-03-04 16:33:39","policeReportNumber":"20260023999","dispatchNotes":"Event spawned from EMS NON-EMERGENCY.  [03\/04\/2026 16:31:57 MCLAYBURN2] UDTS: LIFT ASSIST ONLY  [03\/04\/26 16:24:59 KBEATY]","cADLog":"Event spawned from EMS NON-EMERGENCY.  [03\/04\/2026 16:31:57 MCLAYBURN2] UDTS: LIFT ASSIST ONLY  [03\/04\/26 16:24:59 KBEATY]","incidentLocationCity":"COOKEVILLE","streetName":"PARAN RD","incidentAddressTextVersionStreet":"3010 PARAN RD","locationCoordinates":"36.24147,-85.43627"}
[2026-03-04 22:33:45] [INFO] Number of extracted fields: 22
[2026-03-04 22:33:45] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS'
[2026-03-04 22:33:45] [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-03-04 22:33:45] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS"]
[2026-03-04 22:33:45] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-04 22:33:45] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-04 22:33:45] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS"]
[2026-03-04 22:33:46] [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-03-04 22:33:46] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-04 22:33:46] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-04 22:33:46] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-04 22:33:46] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-04 22:33:46] [INFO] Found existing IncidentTypeMapping with ID: 6938bcc5e565c9852
[2026-03-04 22:33:56] [INFO] Created new Dispatches record with ID: 69a8b34a8800487cf
[2026-03-04 22:33:56] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023999_20260304_223341.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-04/PCFD_20260023999_20260304_223341.XML
[2026-03-04 22:33:56] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023999_20260304_223341.XML
[2026-03-04 22:34:04] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023999_20260304_223404.XML
[2026-03-04 22:34:04] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023999_20260304_223404.XML for user: 68f1466aed072ad4a
[2026-03-04 22:34:04] [INFO] File size: 5937 bytes
[2026-03-04 22:34:04] [INFO] Created FTPFiles record with ID: 69a8b35ccadb945d9
[2026-03-04 22:34:04] [INFO] About to extract fields from XML. File size: 5937 bytes
[2026-03-04 22:34:04] [INFO] Number of mappings: 28
[2026-03-04 22:34:04] [INFO] Starting XML parsing. Content length: 5937
[2026-03-04 22:34:04] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-04 22:34:04] [INFO] Processing 28 field mappings
[2026-03-04 22:34:04] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-04 22:34:04] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-04 22:34:04] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-04 22:34:04] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-03-04 22:34:04] [INFO]   -> Found value: PCFD
EMS
[2026-03-04 22:34:04] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS"
[2026-03-04 22:34:04] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-04 22:34:04] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-03-04 22:34:04] [INFO]   -> Found value: 2026000596
[2026-03-04 22:34:04] [INFO]   -> Set field 'incidentInternalId' = "2026000596"
[2026-03-04 22:34:04] [INFO]   -> Set field 'dispatchRunNumber' = "2026000596"
[2026-03-04 22:34:04] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-04 22:34:04] [INFO]   -> Found value: MANPOWER - EMS ASSIST
[2026-03-04 22:34:04] [INFO]   -> Set field 'incidentTypeValue1' = "MANPOWER - EMS ASSIST"
[2026-03-04 22:34:04] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-04 22:34:04] [INFO]   -> Found value: 3010
[2026-03-04 22:34:04] [INFO]   -> Set field 'incidentLocationStreetNumber' = 3010
[2026-03-04 22:34:04] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-04 22:34:04] [INFO]   -> Found value: TN
[2026-03-04 22:34:04] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-04 22:34:04] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-04 22:34:04] [INFO]   -> Found value: 38506
[2026-03-04 22:34:04] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-04 22:34:04] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-04 22:34:04] [INFO]   -> Found value: ERNIE BURGESS
[2026-03-04 22:34:04] [INFO]   -> Set field 'businessName' = "ERNIE BURGESS"
[2026-03-04 22:34:04] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-04 22:34:04] [INFO]   -> No value found (null or empty)
[2026-03-04 22:34:04] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-04 22:34:04] [INFO]   -> Found value: 36.24147
[2026-03-04 22:34:04] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.24146999999999962938090902753174304962158203125
[2026-03-04 22:34:04] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-04 22:34:04] [INFO]   -> Found value: -85.43627
[2026-03-04 22:34:04] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4362699999999932742866803891956806182861328125
[2026-03-04 22:34:04] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-04 22:34:04] [INFO]   -> Found value: 2026-03-04 16:31:57
[2026-03-04 22:34:04] [INFO]   -> Set field 'alarm' = "2026-03-04 16:31:57"
[2026-03-04 22:34:04] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-04 22:34:04] [INFO]   -> Found value: 2026-03-04 16:33:39
[2026-03-04 22:34:04] [INFO]   -> Set field 'dispatched' = "2026-03-04 16:33:39"
[2026-03-04 22:34:04] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-04 22:34:04] [INFO]   -> No value found (null or empty)
[2026-03-04 22:34:04] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-04 22:34:04] [INFO]   -> No value found (null or empty)
[2026-03-04 22:34:04] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-04 22:34:04] [INFO]   -> No value found (null or empty)
[2026-03-04 22:34:04] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-04 22:34:04] [INFO]   -> Found value: POSTON WHITEAKER RD/PRESLEY LN
[2026-03-04 22:34:04] [INFO]   -> Set field 'incidentLocationCross' = "POSTON WHITEAKER RD\/PRESLEY LN"
[2026-03-04 22:34:04] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-04 22:34:04] [INFO]   -> Found value: 901
[2026-03-04 22:34:04] [INFO]   -> Set field 'cADVehicleID' = 901
[2026-03-04 22:34:04] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-04 22:34:04] [INFO]   -> Found value: 2026-03-04 16:33:52
[2026-03-04 22:34:04] [INFO]   -> Set field 'timedispatch' = "2026-03-04 16:33:52"
[2026-03-04 22:34:04] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-04 22:34:04] [INFO]   -> No value found (null or empty)
[2026-03-04 22:34:04] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-04 22:34:04] [INFO]   -> No value found (null or empty)
[2026-03-04 22:34:04] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-04 22:34:04] [INFO]   -> No value found (null or empty)
[2026-03-04 22:34:04] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-04 22:34:04] [INFO]   -> No value found (null or empty)
[2026-03-04 22:34:04] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-04 22:34:04] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-03-04 22:34:04] [INFO]   -> Found value: 20260023999
[2026-03-04 22:34:04] [INFO]   -> Set field 'policeReportNumber' = "20260023999"
[2026-03-04 22:34:04] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-04 22:34:04] [INFO]   -> Found value: Event spawned from EMS NON-EMERGENCY.  [03/04/2026 16:31:57 MCLAYBURN2] UDTS: LIFT ASSIST ONLY  [03/...
[2026-03-04 22:34:04] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from EMS NON-EMERGENCY.  [03\/04\/2026 16:31:57 MCLAYBURN2] UDTS: LIFT ASSIST ONLY  [03\/04\/26 16:24:59 KBEATY]"
[2026-03-04 22:34:04] [INFO]   -> Set field 'cADLog' = "Event spawned from EMS NON-EMERGENCY.  [03\/04\/2026 16:31:57 MCLAYBURN2] UDTS: LIFT ASSIST ONLY  [03\/04\/26 16:24:59 KBEATY]"
[2026-03-04 22:34:04] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-04 22:34:04] [INFO]   -> Found value: COOKEVILLE
[2026-03-04 22:34:04] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-04 22:34:04] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-04 22:34:04] [INFO]   -> Found value: PARAN
[2026-03-04 22:34:04] [INFO]   -> Set field 'streetName' = "PARAN"
[2026-03-04 22:34:04] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-04 22:34:04] [INFO]   -> Found value: RD
[2026-03-04 22:34:04] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-04 22:34:04] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-04 22:34:04] [INFO]   -> Found value: 3010 PARAN RD
[2026-03-04 22:34:04] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "3010 PARAN RD"
[2026-03-04 22:34:04] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-03-04 22:34:04] [INFO] Concatenating street name and type
[2026-03-04 22:34:04] [INFO]   -> Combined street name: PARAN RD
[2026-03-04 22:34:04] [INFO] Built locationCoordinates from lat/lng: 36.24147,-85.43627
[2026-03-04 22:34:04] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS","incidentInternalId":"2026000596","dispatchRunNumber":"2026000596","incidentTypeValue1":"MANPOWER - EMS ASSIST","incidentLocationStreetNumber":3010,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"businessName":"ERNIE BURGESS","nERISIncidentLatitude":36.24146999999999962938090902753174304962158203125,"nERISIncidentLongitude":-85.4362699999999932742866803891956806182861328125,"alarm":"2026-03-04 16:31:57","dispatched":"2026-03-04 16:33:39","incidentLocationCross":"POSTON WHITEAKER RD\/PRESLEY LN","cADVehicleID":901,"timedispatch":"2026-03-04 16:33:52","policeReportNumber":"20260023999","dispatchNotes":"Event spawned from EMS NON-EMERGENCY.  [03\/04\/2026 16:31:57 MCLAYBURN2] UDTS: LIFT ASSIST ONLY  [03\/04\/26 16:24:59 KBEATY]","cADLog":"Event spawned from EMS NON-EMERGENCY.  [03\/04\/2026 16:31:57 MCLAYBURN2] UDTS: LIFT ASSIST ONLY  [03\/04\/26 16:24:59 KBEATY]","incidentLocationCity":"COOKEVILLE","streetName":"PARAN RD","incidentAddressTextVersionStreet":"3010 PARAN RD","locationCoordinates":"36.24147,-85.43627"}
[2026-03-04 22:34:04] [INFO] Number of extracted fields: 22
[2026-03-04 22:34:04] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS'
[2026-03-04 22:34:04] [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-03-04 22:34:04] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS"]
[2026-03-04 22:34:04] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-04 22:34:05] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-04 22:34:05] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS"]
[2026-03-04 22:34:05] [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-03-04 22:34:05] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-04 22:34:05] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-04 22:34:05] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-04 22:34:05] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-04 22:34:05] [INFO] Found existing IncidentTypeMapping with ID: 6938bcc5e565c9852
[2026-03-04 22:34:05] [INFO] Found existing Dispatch with cADNumber '2026000596', ID: 69a8b34a8800487cf - will update instead of create
[2026-03-04 22:34:06] [INFO] Updated existing Dispatches record with ID: 69a8b34a8800487cf
[2026-03-04 22:34:06] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023999_20260304_223404.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-04/PCFD_20260023999_20260304_223404.XML
[2026-03-04 22:34:06] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023999_20260304_223404.XML
[2026-03-04 22:34:06] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023999_20260304_223404_1.XML
[2026-03-04 22:34:06] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023999_20260304_223404_1.XML for user: 68f1466aed072ad4a
[2026-03-04 22:34:06] [INFO] File size: 5937 bytes
[2026-03-04 22:34:06] [INFO] Created FTPFiles record with ID: 69a8b35e8e66ee35e
[2026-03-04 22:34:06] [INFO] About to extract fields from XML. File size: 5937 bytes
[2026-03-04 22:34:06] [INFO] Number of mappings: 28
[2026-03-04 22:34:06] [INFO] Starting XML parsing. Content length: 5937
[2026-03-04 22:34:06] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-04 22:34:06] [INFO] Processing 28 field mappings
[2026-03-04 22:34:06] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-04 22:34:06] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-04 22:34:06] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-04 22:34:06] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-03-04 22:34:06] [INFO]   -> Found value: PCFD
EMS
[2026-03-04 22:34:06] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS"
[2026-03-04 22:34:06] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-04 22:34:06] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-03-04 22:34:06] [INFO]   -> Found value: 2026000596
[2026-03-04 22:34:06] [INFO]   -> Set field 'incidentInternalId' = "2026000596"
[2026-03-04 22:34:06] [INFO]   -> Set field 'dispatchRunNumber' = "2026000596"
[2026-03-04 22:34:06] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-04 22:34:06] [INFO]   -> Found value: MANPOWER - EMS ASSIST
[2026-03-04 22:34:06] [INFO]   -> Set field 'incidentTypeValue1' = "MANPOWER - EMS ASSIST"
[2026-03-04 22:34:06] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-04 22:34:06] [INFO]   -> Found value: 3010
[2026-03-04 22:34:06] [INFO]   -> Set field 'incidentLocationStreetNumber' = 3010
[2026-03-04 22:34:06] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-04 22:34:06] [INFO]   -> Found value: TN
[2026-03-04 22:34:06] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-04 22:34:06] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-04 22:34:06] [INFO]   -> Found value: 38506
[2026-03-04 22:34:06] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-04 22:34:06] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-04 22:34:06] [INFO]   -> Found value: ERNIE BURGESS
[2026-03-04 22:34:06] [INFO]   -> Set field 'businessName' = "ERNIE BURGESS"
[2026-03-04 22:34:06] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-04 22:34:06] [INFO]   -> No value found (null or empty)
[2026-03-04 22:34:06] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-04 22:34:06] [INFO]   -> Found value: 36.24147
[2026-03-04 22:34:06] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.24146999999999962938090902753174304962158203125
[2026-03-04 22:34:06] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-04 22:34:06] [INFO]   -> Found value: -85.43627
[2026-03-04 22:34:06] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4362699999999932742866803891956806182861328125
[2026-03-04 22:34:06] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-04 22:34:06] [INFO]   -> Found value: 2026-03-04 16:31:57
[2026-03-04 22:34:06] [INFO]   -> Set field 'alarm' = "2026-03-04 16:31:57"
[2026-03-04 22:34:06] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-04 22:34:06] [INFO]   -> Found value: 2026-03-04 16:33:39
[2026-03-04 22:34:06] [INFO]   -> Set field 'dispatched' = "2026-03-04 16:33:39"
[2026-03-04 22:34:06] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-04 22:34:06] [INFO]   -> No value found (null or empty)
[2026-03-04 22:34:06] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-04 22:34:06] [INFO]   -> No value found (null or empty)
[2026-03-04 22:34:06] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-04 22:34:06] [INFO]   -> No value found (null or empty)
[2026-03-04 22:34:06] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-04 22:34:06] [INFO]   -> Found value: POSTON WHITEAKER RD/PRESLEY LN
[2026-03-04 22:34:06] [INFO]   -> Set field 'incidentLocationCross' = "POSTON WHITEAKER RD\/PRESLEY LN"
[2026-03-04 22:34:06] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-04 22:34:06] [INFO]   -> Found value: 901
[2026-03-04 22:34:06] [INFO]   -> Set field 'cADVehicleID' = 901
[2026-03-04 22:34:06] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-04 22:34:06] [INFO]   -> Found value: 2026-03-04 16:33:52
[2026-03-04 22:34:06] [INFO]   -> Set field 'timedispatch' = "2026-03-04 16:33:52"
[2026-03-04 22:34:06] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-04 22:34:06] [INFO]   -> No value found (null or empty)
[2026-03-04 22:34:06] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-04 22:34:06] [INFO]   -> No value found (null or empty)
[2026-03-04 22:34:06] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-04 22:34:06] [INFO]   -> No value found (null or empty)
[2026-03-04 22:34:06] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-04 22:34:06] [INFO]   -> No value found (null or empty)
[2026-03-04 22:34:06] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-04 22:34:06] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-03-04 22:34:06] [INFO]   -> Found value: 20260023999
[2026-03-04 22:34:06] [INFO]   -> Set field 'policeReportNumber' = "20260023999"
[2026-03-04 22:34:06] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-04 22:34:06] [INFO]   -> Found value: Event spawned from EMS NON-EMERGENCY.  [03/04/2026 16:31:57 MCLAYBURN2] UDTS: LIFT ASSIST ONLY  [03/...
[2026-03-04 22:34:06] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from EMS NON-EMERGENCY.  [03\/04\/2026 16:31:57 MCLAYBURN2] UDTS: LIFT ASSIST ONLY  [03\/04\/26 16:24:59 KBEATY]"
[2026-03-04 22:34:06] [INFO]   -> Set field 'cADLog' = "Event spawned from EMS NON-EMERGENCY.  [03\/04\/2026 16:31:57 MCLAYBURN2] UDTS: LIFT ASSIST ONLY  [03\/04\/26 16:24:59 KBEATY]"
[2026-03-04 22:34:06] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-04 22:34:06] [INFO]   -> Found value: COOKEVILLE
[2026-03-04 22:34:06] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-04 22:34:06] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-04 22:34:06] [INFO]   -> Found value: PARAN
[2026-03-04 22:34:06] [INFO]   -> Set field 'streetName' = "PARAN"
[2026-03-04 22:34:06] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-04 22:34:06] [INFO]   -> Found value: RD
[2026-03-04 22:34:06] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-04 22:34:06] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-04 22:34:06] [INFO]   -> Found value: 3010 PARAN RD
[2026-03-04 22:34:06] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "3010 PARAN RD"
[2026-03-04 22:34:06] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-03-04 22:34:06] [INFO] Concatenating street name and type
[2026-03-04 22:34:06] [INFO]   -> Combined street name: PARAN RD
[2026-03-04 22:34:06] [INFO] Built locationCoordinates from lat/lng: 36.24147,-85.43627
[2026-03-04 22:34:06] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS","incidentInternalId":"2026000596","dispatchRunNumber":"2026000596","incidentTypeValue1":"MANPOWER - EMS ASSIST","incidentLocationStreetNumber":3010,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"businessName":"ERNIE BURGESS","nERISIncidentLatitude":36.24146999999999962938090902753174304962158203125,"nERISIncidentLongitude":-85.4362699999999932742866803891956806182861328125,"alarm":"2026-03-04 16:31:57","dispatched":"2026-03-04 16:33:39","incidentLocationCross":"POSTON WHITEAKER RD\/PRESLEY LN","cADVehicleID":901,"timedispatch":"2026-03-04 16:33:52","policeReportNumber":"20260023999","dispatchNotes":"Event spawned from EMS NON-EMERGENCY.  [03\/04\/2026 16:31:57 MCLAYBURN2] UDTS: LIFT ASSIST ONLY  [03\/04\/26 16:24:59 KBEATY]","cADLog":"Event spawned from EMS NON-EMERGENCY.  [03\/04\/2026 16:31:57 MCLAYBURN2] UDTS: LIFT ASSIST ONLY  [03\/04\/26 16:24:59 KBEATY]","incidentLocationCity":"COOKEVILLE","streetName":"PARAN RD","incidentAddressTextVersionStreet":"3010 PARAN RD","locationCoordinates":"36.24147,-85.43627"}
[2026-03-04 22:34:06] [INFO] Number of extracted fields: 22
[2026-03-04 22:34:06] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS'
[2026-03-04 22:34:06] [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-03-04 22:34:06] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS"]
[2026-03-04 22:34:06] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-04 22:34:06] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-04 22:34:06] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS"]
[2026-03-04 22:34:06] [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-03-04 22:34:07] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-04 22:34:07] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-04 22:34:07] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-04 22:34:07] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-04 22:34:07] [INFO] Found existing IncidentTypeMapping with ID: 6938bcc5e565c9852
[2026-03-04 22:34:07] [INFO] Found existing Dispatch with cADNumber '2026000596', ID: 69a8b34a8800487cf - will update instead of create
[2026-03-04 22:34:07] [INFO] Updated existing Dispatches record with ID: 69a8b34a8800487cf
[2026-03-04 22:34:07] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023999_20260304_223404_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-04/PCFD_20260023999_20260304_223404_1.XML
[2026-03-04 22:34:07] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023999_20260304_223404_1.XML
[2026-03-04 22:34:07] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023999_20260304_223405.XML
[2026-03-04 22:34:07] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023999_20260304_223405.XML for user: 68f1466aed072ad4a
[2026-03-04 22:34:07] [INFO] File size: 5937 bytes
[2026-03-04 22:34:07] [INFO] Created FTPFiles record with ID: 69a8b35fda65a868f
[2026-03-04 22:34:07] [INFO] About to extract fields from XML. File size: 5937 bytes
[2026-03-04 22:34:07] [INFO] Number of mappings: 28
[2026-03-04 22:34:07] [INFO] Starting XML parsing. Content length: 5937
[2026-03-04 22:34:07] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-04 22:34:07] [INFO] Processing 28 field mappings
[2026-03-04 22:34:07] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-04 22:34:07] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-04 22:34:07] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-04 22:34:07] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-03-04 22:34:07] [INFO]   -> Found value: PCFD
EMS
[2026-03-04 22:34:07] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS"
[2026-03-04 22:34:07] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-04 22:34:07] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-03-04 22:34:07] [INFO]   -> Found value: 2026000596
[2026-03-04 22:34:07] [INFO]   -> Set field 'incidentInternalId' = "2026000596"
[2026-03-04 22:34:07] [INFO]   -> Set field 'dispatchRunNumber' = "2026000596"
[2026-03-04 22:34:07] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-04 22:34:07] [INFO]   -> Found value: MANPOWER - EMS ASSIST
[2026-03-04 22:34:07] [INFO]   -> Set field 'incidentTypeValue1' = "MANPOWER - EMS ASSIST"
[2026-03-04 22:34:07] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-04 22:34:07] [INFO]   -> Found value: 3010
[2026-03-04 22:34:07] [INFO]   -> Set field 'incidentLocationStreetNumber' = 3010
[2026-03-04 22:34:07] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-04 22:34:07] [INFO]   -> Found value: TN
[2026-03-04 22:34:07] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-04 22:34:07] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-04 22:34:07] [INFO]   -> Found value: 38506
[2026-03-04 22:34:07] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-04 22:34:07] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-04 22:34:07] [INFO]   -> Found value: ERNIE BURGESS
[2026-03-04 22:34:07] [INFO]   -> Set field 'businessName' = "ERNIE BURGESS"
[2026-03-04 22:34:07] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-04 22:34:07] [INFO]   -> No value found (null or empty)
[2026-03-04 22:34:07] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-04 22:34:07] [INFO]   -> Found value: 36.24147
[2026-03-04 22:34:07] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.24146999999999962938090902753174304962158203125
[2026-03-04 22:34:07] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-04 22:34:07] [INFO]   -> Found value: -85.43627
[2026-03-04 22:34:07] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4362699999999932742866803891956806182861328125
[2026-03-04 22:34:07] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-04 22:34:07] [INFO]   -> Found value: 2026-03-04 16:31:57
[2026-03-04 22:34:07] [INFO]   -> Set field 'alarm' = "2026-03-04 16:31:57"
[2026-03-04 22:34:07] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-04 22:34:07] [INFO]   -> Found value: 2026-03-04 16:33:39
[2026-03-04 22:34:07] [INFO]   -> Set field 'dispatched' = "2026-03-04 16:33:39"
[2026-03-04 22:34:07] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-04 22:34:07] [INFO]   -> No value found (null or empty)
[2026-03-04 22:34:07] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-04 22:34:07] [INFO]   -> No value found (null or empty)
[2026-03-04 22:34:07] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-04 22:34:07] [INFO]   -> No value found (null or empty)
[2026-03-04 22:34:07] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-04 22:34:07] [INFO]   -> Found value: POSTON WHITEAKER RD/PRESLEY LN
[2026-03-04 22:34:07] [INFO]   -> Set field 'incidentLocationCross' = "POSTON WHITEAKER RD\/PRESLEY LN"
[2026-03-04 22:34:07] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-04 22:34:07] [INFO]   -> Found value: 901
[2026-03-04 22:34:07] [INFO]   -> Set field 'cADVehicleID' = 901
[2026-03-04 22:34:07] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-04 22:34:07] [INFO]   -> Found value: 2026-03-04 16:33:52
[2026-03-04 22:34:07] [INFO]   -> Set field 'timedispatch' = "2026-03-04 16:33:52"
[2026-03-04 22:34:07] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-04 22:34:07] [INFO]   -> No value found (null or empty)
[2026-03-04 22:34:07] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-04 22:34:07] [INFO]   -> No value found (null or empty)
[2026-03-04 22:34:07] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-04 22:34:07] [INFO]   -> No value found (null or empty)
[2026-03-04 22:34:07] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-04 22:34:07] [INFO]   -> No value found (null or empty)
[2026-03-04 22:34:07] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-04 22:34:07] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-03-04 22:34:07] [INFO]   -> Found value: 20260023999
[2026-03-04 22:34:07] [INFO]   -> Set field 'policeReportNumber' = "20260023999"
[2026-03-04 22:34:07] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-04 22:34:07] [INFO]   -> Found value: Event spawned from EMS NON-EMERGENCY.  [03/04/2026 16:31:57 MCLAYBURN2] UDTS: LIFT ASSIST ONLY  [03/...
[2026-03-04 22:34:07] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from EMS NON-EMERGENCY.  [03\/04\/2026 16:31:57 MCLAYBURN2] UDTS: LIFT ASSIST ONLY  [03\/04\/26 16:24:59 KBEATY]"
[2026-03-04 22:34:07] [INFO]   -> Set field 'cADLog' = "Event spawned from EMS NON-EMERGENCY.  [03\/04\/2026 16:31:57 MCLAYBURN2] UDTS: LIFT ASSIST ONLY  [03\/04\/26 16:24:59 KBEATY]"
[2026-03-04 22:34:07] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-04 22:34:07] [INFO]   -> Found value: COOKEVILLE
[2026-03-04 22:34:07] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-04 22:34:07] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-04 22:34:07] [INFO]   -> Found value: PARAN
[2026-03-04 22:34:07] [INFO]   -> Set field 'streetName' = "PARAN"
[2026-03-04 22:34:07] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-04 22:34:07] [INFO]   -> Found value: RD
[2026-03-04 22:34:07] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-04 22:34:07] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-04 22:34:07] [INFO]   -> Found value: 3010 PARAN RD
[2026-03-04 22:34:07] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "3010 PARAN RD"
[2026-03-04 22:34:07] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-03-04 22:34:07] [INFO] Concatenating street name and type
[2026-03-04 22:34:07] [INFO]   -> Combined street name: PARAN RD
[2026-03-04 22:34:07] [INFO] Built locationCoordinates from lat/lng: 36.24147,-85.43627
[2026-03-04 22:34:07] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS","incidentInternalId":"2026000596","dispatchRunNumber":"2026000596","incidentTypeValue1":"MANPOWER - EMS ASSIST","incidentLocationStreetNumber":3010,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"businessName":"ERNIE BURGESS","nERISIncidentLatitude":36.24146999999999962938090902753174304962158203125,"nERISIncidentLongitude":-85.4362699999999932742866803891956806182861328125,"alarm":"2026-03-04 16:31:57","dispatched":"2026-03-04 16:33:39","incidentLocationCross":"POSTON WHITEAKER RD\/PRESLEY LN","cADVehicleID":901,"timedispatch":"2026-03-04 16:33:52","policeReportNumber":"20260023999","dispatchNotes":"Event spawned from EMS NON-EMERGENCY.  [03\/04\/2026 16:31:57 MCLAYBURN2] UDTS: LIFT ASSIST ONLY  [03\/04\/26 16:24:59 KBEATY]","cADLog":"Event spawned from EMS NON-EMERGENCY.  [03\/04\/2026 16:31:57 MCLAYBURN2] UDTS: LIFT ASSIST ONLY  [03\/04\/26 16:24:59 KBEATY]","incidentLocationCity":"COOKEVILLE","streetName":"PARAN RD","incidentAddressTextVersionStreet":"3010 PARAN RD","locationCoordinates":"36.24147,-85.43627"}
[2026-03-04 22:34:07] [INFO] Number of extracted fields: 22
[2026-03-04 22:34:07] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS'
[2026-03-04 22:34:07] [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-03-04 22:34:07] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS"]
[2026-03-04 22:34:07] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-04 22:34:08] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-04 22:34:08] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS"]
[2026-03-04 22:34: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-03-04 22:34:08] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-04 22:34:08] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-04 22:34:08] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-04 22:34:08] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-04 22:34:08] [INFO] Found existing IncidentTypeMapping with ID: 6938bcc5e565c9852
[2026-03-04 22:34:08] [INFO] Found existing Dispatch with cADNumber '2026000596', ID: 69a8b34a8800487cf - will update instead of create
[2026-03-04 22:34:08] [INFO] Updated existing Dispatches record with ID: 69a8b34a8800487cf
[2026-03-04 22:34:08] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023999_20260304_223405.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-04/PCFD_20260023999_20260304_223405.XML
[2026-03-04 22:34:08] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260023999_20260304_223405.XML
[2026-03-04 23:00:21] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-06630.xml
[2026-03-04 23:00:21] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-06630.xml for user: 68d56363ec1209189
[2026-03-04 23:00:21] [INFO] File size: 1907 bytes
[2026-03-04 23:00:22] [INFO] Created FTPFiles record with ID: 69a8b9864d5d01b4b
[2026-03-04 23:00:22] [INFO] About to extract fields from XML. File size: 1907 bytes
[2026-03-04 23:00:22] [INFO] Number of mappings: 21
[2026-03-04 23:00:22] [INFO] Starting XML parsing. Content length: 1907
[2026-03-04 23:00:22] [INFO] XML parsed successfully. Root element: Incident
[2026-03-04 23:00:22] [INFO] Processing 21 field mappings
[2026-03-04 23:00:22] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-03-04 23:00:22] [INFO]   -> Found value: 26-06630
[2026-03-04 23:00:22] [INFO]   -> Set field 'dispatchRunNumber' = "26-06630"
[2026-03-04 23:00:22] [INFO]   -> Set field 'cADNumber' = "26-06630"
[2026-03-04 23:00:22] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-03-04 23:00:22] [INFO]   -> Found value: 710
[2026-03-04 23:00:22] [INFO]   -> Set field 'incidentLocationStreetNumber' = 710
[2026-03-04 23:00:22] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-03-04 23:00:22] [INFO]   -> Found value: TANNER ST
[2026-03-04 23:00:22] [INFO]   -> Set field 'streetName' = "TANNER ST"
[2026-03-04 23:00:22] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-03-04 23:00:22] [INFO]   -> No value found (null or empty)
[2026-03-04 23:00:22] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-03-04 23:00:22] [INFO]   -> Found value: SIKESTON
[2026-03-04 23:00:22] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2026-03-04 23:00:22] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-03-04 23:00:22] [INFO]   -> No value found (null or empty)
[2026-03-04 23:00:22] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-03-04 23:00:22] [INFO]   -> Found value: MO
[2026-03-04 23:00:22] [INFO]   -> Set field 'incidentLocationStateName' = "MO"
[2026-03-04 23:00:22] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-03-04 23:00:22] [INFO]   -> Found value: 63801
[2026-03-04 23:00:22] [INFO]   -> Set field 'nERISIncidentPostalCode' = 63801
[2026-03-04 23:00:22] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-03-04 23:00:22] [INFO]   -> Found value: 0
[2026-03-04 23:00:22] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2026-03-04 23:00:22] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-03-04 23:00:22] [INFO]   -> Found value: 0
[2026-03-04 23:00:22] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2026-03-04 23:00:22] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-03-04 23:00:22] [INFO]   -> Found value: ACCIDENT-J2
[2026-03-04 23:00:22] [INFO]   -> Set field 'incidentTypeValue1' = "ACCIDENT-J2"
[2026-03-04 23:00:22] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-03-04 23:00:22] [INFO]   -> Found value: 03-04-2026 16:50:36|2 DOOR BLACK CAR VS PED ON BIKE

WHITE ELDERLY MALE WEARING GOLD/YELLOW SHIRT 
U...
[2026-03-04 23:00:22] [INFO]   -> Set field 'dispatchNotes' = "03-04-2026 16:50:36|2 DOOR BLACK CAR VS PED ON BIKE\n\nWHITE ELDERLY MALE WEARING GOLD\/YELLOW SHIRT \nUNKNOWN OF INJURIES\nBELIEVES SUBJECTS ARE STILL THERE 03-04-2026 16:54:44|1513 REQUESTING TO CHECK STATUS OF AIR EVAC 03-04-2026 16:55:41|570 NOT LOCATING MVA AT THIS TIME 03-04-2026 16:59:13|ENG2 CHECKED AREA UTL"
[2026-03-04 23:00:22] [INFO]   -> Set field 'cADLog' = "03-04-2026 16:50:36|2 DOOR BLACK CAR VS PED ON BIKE\n\nWHITE ELDERLY MALE WEARING GOLD\/YELLOW SHIRT \nUNKNOWN OF INJURIES\nBELIEVES SUBJECTS ARE STILL THERE 03-04-2026 16:54:44|1513 REQUESTING TO CHECK STATUS OF AIR EVAC 03-04-2026 16:55:41|570 NOT LOCATING MVA AT THIS TIME 03-04-2026 16:59:13|ENG2 CHECKED AREA UTL"
[2026-03-04 23:00:22] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-03-04 23:00:22] [INFO]   -> Found value: 03-04-2026T16:52:22
[2026-03-04 23:00:22] [INFO] Reformatted DD-MM-YYYY date '03-04-2026' (day=03, month=04) to ISO: 2026-04-03T16:52:22
[2026-03-04 23:00:22] [INFO]   -> Set field 'alarm' = "2026-04-03 16:52:22"
[2026-03-04 23:00:22] [INFO] Reformatted DD-MM-YYYY date '03-04-2026' (day=03, month=04) to ISO: 2026-04-03T16:52:22
[2026-03-04 23:00:22] [INFO]   -> Set field 'dispatched' = "2026-04-03 16:52:22"
[2026-03-04 23:00:22] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-03-04 23:00:22] [INFO]   -> Found value: 03-04-2026T16:55:22
[2026-03-04 23:00:22] [INFO] Reformatted DD-MM-YYYY date '03-04-2026' (day=03, month=04) to ISO: 2026-04-03T16:55:22
[2026-03-04 23:00:22] [INFO]   -> Set field 'onScene' = "2026-04-03 16:55:22"
[2026-03-04 23:00:22] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-03-04 23:00:22] [INFO]   -> Found value: 03-04-2026T16:59:32
[2026-03-04 23:00:22] [INFO] Reformatted DD-MM-YYYY date '03-04-2026' (day=03, month=04) to ISO: 2026-04-03T16:59:32
[2026-03-04 23:00:22] [INFO]   -> Set field 'cleared' = "2026-04-03 16:59:32"
[2026-03-04 23:00:22] [INFO] Reformatted DD-MM-YYYY date '03-04-2026' (day=03, month=04) to ISO: 2026-04-03T16:59:32
[2026-03-04 23:00:22] [INFO]   -> Set field 'inService' = "2026-04-03 16:59:32"
[2026-03-04 23:00:22] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-03-04 23:00:22] [INFO]   -> Found value: ENG2
[2026-03-04 23:00:22] [INFO]   -> Set field 'cADVehicleID' = "ENG2"
[2026-03-04 23:00:22] [INFO]   -> Set field 'name' = "ENG2"
[2026-03-04 23:00:22] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-03-04 23:00:22] [INFO]   -> Found value: 03-04-2026T16:53:01
[2026-03-04 23:00:22] [INFO] Reformatted DD-MM-YYYY date '03-04-2026' (day=03, month=04) to ISO: 2026-04-03T16:53:01
[2026-03-04 23:00:22] [INFO]   -> Set field 'timeenroutetoscene' = "2026-04-03 16:53:01"
[2026-03-04 23:00:22] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-03-04 23:00:22] [INFO]   -> Found value: 03-04-2026T16:55:47
[2026-03-04 23:00:22] [INFO] Reformatted DD-MM-YYYY date '03-04-2026' (day=03, month=04) to ISO: 2026-04-03T16:55:47
[2026-03-04 23:00:22] [INFO]   -> Set field 'timeonscene' = "2026-04-03 16:55:47"
[2026-03-04 23:00:22] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-03-04 23:00:22] [INFO]   -> Found value: 03-04-2026T16:59:32
[2026-03-04 23:00:22] [INFO] Reformatted DD-MM-YYYY date '03-04-2026' (day=03, month=04) to ISO: 2026-04-03T16:59:32
[2026-03-04 23:00:22] [INFO]   -> Set field 'timeunitclear' = "2026-04-03 16:59:32"
[2026-03-04 23:00:22] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-03-04 23:00:22] [INFO]   -> No value found (null or empty)
[2026-03-04 23:00:22] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-03-04 23:00:22] [INFO]   -> Found value: SDPSFD
[2026-03-04 23:00:22] [INFO]   -> Set field 'cADAgencyIdentifier' = "SDPSFD"
[2026-03-04 23:00:22] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-04 23:00:22] [INFO] Built locationCoordinates from lat/lng: 0,0
[2026-03-04 23:00:22] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-06630","cADNumber":"26-06630","incidentLocationStreetNumber":710,"streetName":"TANNER ST","incidentLocationCity":"SIKESTON","incidentLocationStateName":"MO","nERISIncidentPostalCode":63801,"nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"ACCIDENT-J2","dispatchNotes":"03-04-2026 16:50:36|2 DOOR BLACK CAR VS PED ON BIKE\n\nWHITE ELDERLY MALE WEARING GOLD\/YELLOW SHIRT \nUNKNOWN OF INJURIES\nBELIEVES SUBJECTS ARE STILL THERE 03-04-2026 16:54:44|1513 REQUESTING TO CHECK STATUS OF AIR EVAC 03-04-2026 16:55:41|570 NOT LOCATING MVA AT THIS TIME 03-04-2026 16:59:13|ENG2 CHECKED AREA UTL","cADLog":"03-04-2026 16:50:36|2 DOOR BLACK CAR VS PED ON BIKE\n\nWHITE ELDERLY MALE WEARING GOLD\/YELLOW SHIRT \nUNKNOWN OF INJURIES\nBELIEVES SUBJECTS ARE STILL THERE 03-04-2026 16:54:44|1513 REQUESTING TO CHECK STATUS OF AIR EVAC 03-04-2026 16:55:41|570 NOT LOCATING MVA AT THIS TIME 03-04-2026 16:59:13|ENG2 CHECKED AREA UTL","alarm":"2026-04-03 16:52:22","dispatched":"2026-04-03 16:52:22","onScene":"2026-04-03 16:55:22","cleared":"2026-04-03 16:59:32","inService":"2026-04-03 16:59:32","cADVehicleID":"ENG2","name":"ENG2","timeenroutetoscene":"2026-04-03 16:53:01","timeonscene":"2026-04-03 16:55:47","timeunitclear":"2026-04-03 16:59:32","cADAgencyIdentifier":"SDPSFD","locationCoordinates":"0,0"}
[2026-03-04 23:00:22] [INFO] Number of extracted fields: 24
[2026-03-04 23:00:22] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SDPSFD'
[2026-03-04 23:00:22] [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-03-04 23:00:22] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SDPSFD"]
[2026-03-04 23:00:22] [INFO] Attempting SAASClient lookup for AgencyCode 'SDPSFD' (index 0) within mailbox's assigned agencies
[2026-03-04 23:00:22] [INFO] SUCCESS: Routed to agency 'Sikeston DPS' (ID: 6772cab7157b2ebde) at INDEX 0 based on AgencyCode 'SDPSFD'
[2026-03-04 23:00:22] [INFO] Fetched 4 stations from Stations module for agency 'Sikeston DPS': ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"]
[2026-03-04 23:00:22] [INFO] Final routing: saasclientId = 6772cab7157b2ebde, dispatchStationsIds = ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"], matchedAgencyIndex = 0
[2026-03-04 23:00:22] [INFO] Multi-agency routing matched mailbox default agency: 6772cab7157b2ebde (no update needed)
[2026-03-04 23:00:22] [INFO] Found existing IncidentTypeMapping with ID: 68e4158e87be42b7c
[2026-03-04 23:00:24] [INFO] Created new Dispatches record with ID: 69a8b98721c770781
[2026-03-04 23:00:24] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-06630.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-03-04/SDPSFD_26-06630.xml
[2026-03-04 23:00:24] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-06630.xml
[2026-03-04 23:28:25] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260024013_20260304_232825.XML
[2026-03-04 23:28:25] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260024013_20260304_232825.XML for user: 68f1466aed072ad4a
[2026-03-04 23:28:25] [INFO] File size: 5145 bytes
[2026-03-04 23:28:25] [INFO] Created FTPFiles record with ID: 69a8c019570023801
[2026-03-04 23:28:25] [INFO] About to extract fields from XML. File size: 5145 bytes
[2026-03-04 23:28:25] [INFO] Number of mappings: 28
[2026-03-04 23:28:25] [INFO] Starting XML parsing. Content length: 5145
[2026-03-04 23:28:25] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-04 23:28:25] [INFO] Processing 28 field mappings
[2026-03-04 23:28:25] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-04 23:28:25] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-04 23:28:25] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-04 23:28:25] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-03-04 23:28:25] [INFO]   -> Found value: MFD
EMS
[2026-03-04 23:28:25] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD\nEMS"
[2026-03-04 23:28:25] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-04 23:28:25] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-03-04 23:28:25] [INFO]   -> Found value: 2026000081
[2026-03-04 23:28:25] [INFO]   -> Set field 'incidentInternalId' = "2026000081"
[2026-03-04 23:28:25] [INFO]   -> Set field 'dispatchRunNumber' = "2026000081"
[2026-03-04 23:28:25] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-04 23:28:25] [INFO]   -> Found value: SICK PERSON
[2026-03-04 23:28:25] [INFO]   -> Set field 'incidentTypeValue1' = "SICK PERSON"
[2026-03-04 23:28:25] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-04 23:28:25] [INFO]   -> Found value: 400
[2026-03-04 23:28:25] [INFO]   -> Set field 'incidentLocationStreetNumber' = 400
[2026-03-04 23:28:25] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-04 23:28:25] [INFO]   -> Found value: TN
[2026-03-04 23:28:25] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-04 23:28:25] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-04 23:28:25] [INFO]   -> Found value: 38574
[2026-03-04 23:28:25] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-03-04 23:28:25] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-04 23:28:25] [INFO]   -> Found value: MONTEREY MEDICAL
[2026-03-04 23:28:25] [INFO]   -> Set field 'businessName' = "MONTEREY MEDICAL"
[2026-03-04 23:28:25] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-04 23:28:25] [INFO]   -> No value found (null or empty)
[2026-03-04 23:28:25] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-04 23:28:25] [INFO]   -> Found value: 36.15200
[2026-03-04 23:28:25] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1520000000000010231815394945442676544189453125
[2026-03-04 23:28:25] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-04 23:28:25] [INFO]   -> Found value: -85.26974
[2026-03-04 23:28:25] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2697399999999987585397320799529552459716796875
[2026-03-04 23:28:25] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-04 23:28:25] [INFO]   -> Found value: 2026-03-04 17:27:17
[2026-03-04 23:28:25] [INFO]   -> Set field 'alarm' = "2026-03-04 17:27:17"
[2026-03-04 23:28:25] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-04 23:28:25] [INFO]   -> Found value: 2026-03-04 17:28:22
[2026-03-04 23:28:25] [INFO]   -> Set field 'dispatched' = "2026-03-04 17:28:22"
[2026-03-04 23:28:25] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-04 23:28:25] [INFO]   -> No value found (null or empty)
[2026-03-04 23:28:25] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-04 23:28:25] [INFO]   -> No value found (null or empty)
[2026-03-04 23:28:25] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-04 23:28:25] [INFO]   -> No value found (null or empty)
[2026-03-04 23:28:25] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-04 23:28:25] [INFO]   -> Found value: N OAK ST/LOCUST ST
[2026-03-04 23:28:25] [INFO]   -> Set field 'incidentLocationCross' = "N OAK ST\/LOCUST ST"
[2026-03-04 23:28:25] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-04 23:28:25] [INFO]   -> Found value: MFR
[2026-03-04 23:28:25] [INFO]   -> Set field 'cADVehicleID' = "MFR"
[2026-03-04 23:28:25] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-04 23:28:25] [INFO]   -> Found value: 2026-03-04 17:28:22
[2026-03-04 23:28:25] [INFO]   -> Set field 'timedispatch' = "2026-03-04 17:28:22"
[2026-03-04 23:28:25] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-04 23:28:25] [INFO]   -> No value found (null or empty)
[2026-03-04 23:28:25] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-04 23:28:25] [INFO]   -> No value found (null or empty)
[2026-03-04 23:28:25] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-04 23:28:25] [INFO]   -> No value found (null or empty)
[2026-03-04 23:28:25] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-04 23:28:25] [INFO]   -> No value found (null or empty)
[2026-03-04 23:28:25] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-04 23:28:25] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-03-04 23:28:25] [INFO]   -> Found value: 20260024013
[2026-03-04 23:28:25] [INFO]   -> Set field 'policeReportNumber' = "20260024013"
[2026-03-04 23:28:25] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-04 23:28:25] [INFO]   -> Found value: [EMS] STOMACH PAIN WEAKNESS  [03/04/26 17:27:46 JBOHANNON] Event spawned from SICK PERSON.  [03/04/2...
[2026-03-04 23:28:25] [INFO]   -> Set field 'dispatchNotes' = "[EMS] STOMACH PAIN WEAKNESS  [03\/04\/26 17:27:46 JBOHANNON] Event spawned from SICK PERSON.  [03\/04\/2026 17:27:17 JBOHANNON] CHEVY CRUZE WHITE  [03\/04\/26 17:27:14 JBOHANNON]]"
[2026-03-04 23:28:25] [INFO]   -> Set field 'cADLog' = "[EMS] STOMACH PAIN WEAKNESS  [03\/04\/26 17:27:46 JBOHANNON] Event spawned from SICK PERSON.  [03\/04\/2026 17:27:17 JBOHANNON] CHEVY CRUZE WHITE  [03\/04\/26 17:27:14 JBOHANNON]]"
[2026-03-04 23:28:25] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-04 23:28:25] [INFO]   -> Found value: MONTEREY
[2026-03-04 23:28:25] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-03-04 23:28:25] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-04 23:28:25] [INFO]   -> Found value: CRAWFORD
[2026-03-04 23:28:25] [INFO]   -> Set field 'streetName' = "CRAWFORD"
[2026-03-04 23:28:25] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-04 23:28:25] [INFO]   -> Found value: AVE
[2026-03-04 23:28:25] [INFO]   -> Set field 'streetType' = "AVE"
[2026-03-04 23:28:25] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-04 23:28:25] [INFO]   -> Found value: 400 W CRAWFORD AVE
[2026-03-04 23:28:25] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "400 W CRAWFORD AVE"
[2026-03-04 23:28:25] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-03-04 23:28:25] [INFO] Concatenating street name and type
[2026-03-04 23:28:25] [INFO]   -> Combined street name: CRAWFORD AVE
[2026-03-04 23:28:25] [INFO] Built locationCoordinates from lat/lng: 36.152,-85.26974
[2026-03-04 23:28:25] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"MFD\nEMS","incidentInternalId":"2026000081","dispatchRunNumber":"2026000081","incidentTypeValue1":"SICK PERSON","incidentLocationStreetNumber":400,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"businessName":"MONTEREY MEDICAL","nERISIncidentLatitude":36.1520000000000010231815394945442676544189453125,"nERISIncidentLongitude":-85.2697399999999987585397320799529552459716796875,"alarm":"2026-03-04 17:27:17","dispatched":"2026-03-04 17:28:22","incidentLocationCross":"N OAK ST\/LOCUST ST","cADVehicleID":"MFR","timedispatch":"2026-03-04 17:28:22","policeReportNumber":"20260024013","dispatchNotes":"[EMS] STOMACH PAIN WEAKNESS  [03\/04\/26 17:27:46 JBOHANNON] Event spawned from SICK PERSON.  [03\/04\/2026 17:27:17 JBOHANNON] CHEVY CRUZE WHITE  [03\/04\/26 17:27:14 JBOHANNON]]","cADLog":"[EMS] STOMACH PAIN WEAKNESS  [03\/04\/26 17:27:46 JBOHANNON] Event spawned from SICK PERSON.  [03\/04\/2026 17:27:17 JBOHANNON] CHEVY CRUZE WHITE  [03\/04\/26 17:27:14 JBOHANNON]]","incidentLocationCity":"MONTEREY","streetName":"CRAWFORD AVE","incidentAddressTextVersionStreet":"400 W CRAWFORD AVE","locationCoordinates":"36.152,-85.26974"}
[2026-03-04 23:28:25] [INFO] Number of extracted fields: 22
[2026-03-04 23:28:25] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD
EMS'
[2026-03-04 23:28:25] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD
EMS', Parsed IDs = ["MFD","EMS"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-03-04 23:28:25] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD","EMS"]
[2026-03-04 23:28:25] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-03-04 23:28:25] [INFO] SUCCESS: Routed to agency 'Monterey Fire Department' (ID: 68e67aaba2bb4565e) at INDEX 0 based on AgencyCode 'MFD'
[2026-03-04 23:28:25] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS"]
[2026-03-04 23:28:25] [INFO] Fetched 1 stations from Stations module for agency 'Monterey Fire Department': ["68ffe49c256b67300"]
[2026-03-04 23:28:25] [INFO] Final routing: saasclientId = 68e67aaba2bb4565e, dispatchStationsIds = ["68ffe49c256b67300"], matchedAgencyIndex = 0
[2026-03-04 23:28:25] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-04 23:28:25] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-03-04 23:28:25] [INFO] Updated FTPFiles record saasclientId to routed agency: 68e67aaba2bb4565e
[2026-03-04 23:28:26] [INFO] Found existing IncidentTypeMapping with ID: 6994bb85b85899755
[2026-03-04 23:28:29] [INFO] Created new Dispatches record with ID: 69a8c01a56819519e
[2026-03-04 23:28:29] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260024013_20260304_232825.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-04/MFD_20260024013_20260304_232825.XML
[2026-03-04 23:28:29] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260024013_20260304_232825.XML
[2026-03-04 23:28:29] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260024013_20260304_232825_1.XML
[2026-03-04 23:28:29] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260024013_20260304_232825_1.XML for user: 68f1466aed072ad4a
[2026-03-04 23:28:29] [INFO] File size: 5145 bytes
[2026-03-04 23:28:29] [INFO] Created FTPFiles record with ID: 69a8c01dcb3a7fd0e
[2026-03-04 23:28:29] [INFO] About to extract fields from XML. File size: 5145 bytes
[2026-03-04 23:28:29] [INFO] Number of mappings: 28
[2026-03-04 23:28:29] [INFO] Starting XML parsing. Content length: 5145
[2026-03-04 23:28:29] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-04 23:28:29] [INFO] Processing 28 field mappings
[2026-03-04 23:28:29] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-04 23:28:29] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-04 23:28:29] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-04 23:28:29] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-03-04 23:28:29] [INFO]   -> Found value: MFD
EMS
[2026-03-04 23:28:29] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD\nEMS"
[2026-03-04 23:28:29] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-04 23:28:29] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-03-04 23:28:29] [INFO]   -> Found value: 2026000081
[2026-03-04 23:28:29] [INFO]   -> Set field 'incidentInternalId' = "2026000081"
[2026-03-04 23:28:29] [INFO]   -> Set field 'dispatchRunNumber' = "2026000081"
[2026-03-04 23:28:29] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-04 23:28:29] [INFO]   -> Found value: SICK PERSON
[2026-03-04 23:28:29] [INFO]   -> Set field 'incidentTypeValue1' = "SICK PERSON"
[2026-03-04 23:28:29] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-04 23:28:29] [INFO]   -> Found value: 400
[2026-03-04 23:28:29] [INFO]   -> Set field 'incidentLocationStreetNumber' = 400
[2026-03-04 23:28:29] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-04 23:28:29] [INFO]   -> Found value: TN
[2026-03-04 23:28:29] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-04 23:28:29] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-04 23:28:29] [INFO]   -> Found value: 38574
[2026-03-04 23:28:29] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-03-04 23:28:29] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-04 23:28:29] [INFO]   -> Found value: MONTEREY MEDICAL
[2026-03-04 23:28:29] [INFO]   -> Set field 'businessName' = "MONTEREY MEDICAL"
[2026-03-04 23:28:29] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-04 23:28:29] [INFO]   -> No value found (null or empty)
[2026-03-04 23:28:29] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-04 23:28:29] [INFO]   -> Found value: 36.15200
[2026-03-04 23:28:29] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1520000000000010231815394945442676544189453125
[2026-03-04 23:28:29] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-04 23:28:29] [INFO]   -> Found value: -85.26974
[2026-03-04 23:28:29] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2697399999999987585397320799529552459716796875
[2026-03-04 23:28:29] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-04 23:28:29] [INFO]   -> Found value: 2026-03-04 17:27:17
[2026-03-04 23:28:29] [INFO]   -> Set field 'alarm' = "2026-03-04 17:27:17"
[2026-03-04 23:28:29] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-04 23:28:29] [INFO]   -> Found value: 2026-03-04 17:28:22
[2026-03-04 23:28:29] [INFO]   -> Set field 'dispatched' = "2026-03-04 17:28:22"
[2026-03-04 23:28:29] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-04 23:28:29] [INFO]   -> No value found (null or empty)
[2026-03-04 23:28:29] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-04 23:28:29] [INFO]   -> No value found (null or empty)
[2026-03-04 23:28:29] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-04 23:28:29] [INFO]   -> No value found (null or empty)
[2026-03-04 23:28:29] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-04 23:28:29] [INFO]   -> Found value: N OAK ST/LOCUST ST
[2026-03-04 23:28:29] [INFO]   -> Set field 'incidentLocationCross' = "N OAK ST\/LOCUST ST"
[2026-03-04 23:28:29] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-04 23:28:29] [INFO]   -> Found value: MFR
[2026-03-04 23:28:29] [INFO]   -> Set field 'cADVehicleID' = "MFR"
[2026-03-04 23:28:29] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-04 23:28:29] [INFO]   -> Found value: 2026-03-04 17:28:22
[2026-03-04 23:28:29] [INFO]   -> Set field 'timedispatch' = "2026-03-04 17:28:22"
[2026-03-04 23:28:29] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-04 23:28:29] [INFO]   -> No value found (null or empty)
[2026-03-04 23:28:29] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-04 23:28:29] [INFO]   -> No value found (null or empty)
[2026-03-04 23:28:29] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-04 23:28:29] [INFO]   -> No value found (null or empty)
[2026-03-04 23:28:29] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-04 23:28:29] [INFO]   -> No value found (null or empty)
[2026-03-04 23:28:29] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-04 23:28:29] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-03-04 23:28:29] [INFO]   -> Found value: 20260024013
[2026-03-04 23:28:29] [INFO]   -> Set field 'policeReportNumber' = "20260024013"
[2026-03-04 23:28:29] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-04 23:28:29] [INFO]   -> Found value: [EMS] STOMACH PAIN WEAKNESS  [03/04/26 17:27:46 JBOHANNON] Event spawned from SICK PERSON.  [03/04/2...
[2026-03-04 23:28:29] [INFO]   -> Set field 'dispatchNotes' = "[EMS] STOMACH PAIN WEAKNESS  [03\/04\/26 17:27:46 JBOHANNON] Event spawned from SICK PERSON.  [03\/04\/2026 17:27:17 JBOHANNON] CHEVY CRUZE WHITE  [03\/04\/26 17:27:14 JBOHANNON]]"
[2026-03-04 23:28:29] [INFO]   -> Set field 'cADLog' = "[EMS] STOMACH PAIN WEAKNESS  [03\/04\/26 17:27:46 JBOHANNON] Event spawned from SICK PERSON.  [03\/04\/2026 17:27:17 JBOHANNON] CHEVY CRUZE WHITE  [03\/04\/26 17:27:14 JBOHANNON]]"
[2026-03-04 23:28:29] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-04 23:28:29] [INFO]   -> Found value: MONTEREY
[2026-03-04 23:28:29] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-03-04 23:28:29] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-04 23:28:29] [INFO]   -> Found value: CRAWFORD
[2026-03-04 23:28:29] [INFO]   -> Set field 'streetName' = "CRAWFORD"
[2026-03-04 23:28:29] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-04 23:28:29] [INFO]   -> Found value: AVE
[2026-03-04 23:28:29] [INFO]   -> Set field 'streetType' = "AVE"
[2026-03-04 23:28:29] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-04 23:28:29] [INFO]   -> Found value: 400 W CRAWFORD AVE
[2026-03-04 23:28:29] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "400 W CRAWFORD AVE"
[2026-03-04 23:28:29] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-03-04 23:28:29] [INFO] Concatenating street name and type
[2026-03-04 23:28:29] [INFO]   -> Combined street name: CRAWFORD AVE
[2026-03-04 23:28:29] [INFO] Built locationCoordinates from lat/lng: 36.152,-85.26974
[2026-03-04 23:28:29] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"MFD\nEMS","incidentInternalId":"2026000081","dispatchRunNumber":"2026000081","incidentTypeValue1":"SICK PERSON","incidentLocationStreetNumber":400,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"businessName":"MONTEREY MEDICAL","nERISIncidentLatitude":36.1520000000000010231815394945442676544189453125,"nERISIncidentLongitude":-85.2697399999999987585397320799529552459716796875,"alarm":"2026-03-04 17:27:17","dispatched":"2026-03-04 17:28:22","incidentLocationCross":"N OAK ST\/LOCUST ST","cADVehicleID":"MFR","timedispatch":"2026-03-04 17:28:22","policeReportNumber":"20260024013","dispatchNotes":"[EMS] STOMACH PAIN WEAKNESS  [03\/04\/26 17:27:46 JBOHANNON] Event spawned from SICK PERSON.  [03\/04\/2026 17:27:17 JBOHANNON] CHEVY CRUZE WHITE  [03\/04\/26 17:27:14 JBOHANNON]]","cADLog":"[EMS] STOMACH PAIN WEAKNESS  [03\/04\/26 17:27:46 JBOHANNON] Event spawned from SICK PERSON.  [03\/04\/2026 17:27:17 JBOHANNON] CHEVY CRUZE WHITE  [03\/04\/26 17:27:14 JBOHANNON]]","incidentLocationCity":"MONTEREY","streetName":"CRAWFORD AVE","incidentAddressTextVersionStreet":"400 W CRAWFORD AVE","locationCoordinates":"36.152,-85.26974"}
[2026-03-04 23:28:29] [INFO] Number of extracted fields: 22
[2026-03-04 23:28:29] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD
EMS'
[2026-03-04 23:28:29] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD
EMS', Parsed IDs = ["MFD","EMS"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-03-04 23:28:29] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD","EMS"]
[2026-03-04 23:28:29] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-03-04 23:28:30] [INFO] SUCCESS: Routed to agency 'Monterey Fire Department' (ID: 68e67aaba2bb4565e) at INDEX 0 based on AgencyCode 'MFD'
[2026-03-04 23:28:30] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS"]
[2026-03-04 23:28:30] [INFO] Fetched 1 stations from Stations module for agency 'Monterey Fire Department': ["68ffe49c256b67300"]
[2026-03-04 23:28:30] [INFO] Final routing: saasclientId = 68e67aaba2bb4565e, dispatchStationsIds = ["68ffe49c256b67300"], matchedAgencyIndex = 0
[2026-03-04 23:28:30] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-04 23:28:30] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-03-04 23:28:30] [INFO] Updated FTPFiles record saasclientId to routed agency: 68e67aaba2bb4565e
[2026-03-04 23:28:30] [INFO] Found existing IncidentTypeMapping with ID: 6994bb85b85899755
[2026-03-04 23:28:30] [INFO] Found existing Dispatch with cADNumber '2026000081', ID: 69a8c01a56819519e - will update instead of create
[2026-03-04 23:28:30] [INFO] Updated existing Dispatches record with ID: 69a8c01a56819519e
[2026-03-04 23:28:30] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260024013_20260304_232825_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-04/MFD_20260024013_20260304_232825_1.XML
[2026-03-04 23:28:30] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260024013_20260304_232825_1.XML
[2026-03-04 23:28:30] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260024013_20260304_232825_2.XML
[2026-03-04 23:28:30] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260024013_20260304_232825_2.XML for user: 68f1466aed072ad4a
[2026-03-04 23:28:30] [INFO] File size: 5145 bytes
[2026-03-04 23:28:31] [INFO] Created FTPFiles record with ID: 69a8c01f2103220d6
[2026-03-04 23:28:31] [INFO] About to extract fields from XML. File size: 5145 bytes
[2026-03-04 23:28:31] [INFO] Number of mappings: 28
[2026-03-04 23:28:31] [INFO] Starting XML parsing. Content length: 5145
[2026-03-04 23:28:31] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-04 23:28:31] [INFO] Processing 28 field mappings
[2026-03-04 23:28:31] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-04 23:28:31] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-04 23:28:31] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-04 23:28:31] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-03-04 23:28:31] [INFO]   -> Found value: MFD
EMS
[2026-03-04 23:28:31] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD\nEMS"
[2026-03-04 23:28:31] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-04 23:28:31] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-03-04 23:28:31] [INFO]   -> Found value: 2026000081
[2026-03-04 23:28:31] [INFO]   -> Set field 'incidentInternalId' = "2026000081"
[2026-03-04 23:28:31] [INFO]   -> Set field 'dispatchRunNumber' = "2026000081"
[2026-03-04 23:28:31] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-04 23:28:31] [INFO]   -> Found value: SICK PERSON
[2026-03-04 23:28:31] [INFO]   -> Set field 'incidentTypeValue1' = "SICK PERSON"
[2026-03-04 23:28:31] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-04 23:28:31] [INFO]   -> Found value: 400
[2026-03-04 23:28:31] [INFO]   -> Set field 'incidentLocationStreetNumber' = 400
[2026-03-04 23:28:31] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-04 23:28:31] [INFO]   -> Found value: TN
[2026-03-04 23:28:31] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-04 23:28:31] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-04 23:28:31] [INFO]   -> Found value: 38574
[2026-03-04 23:28:31] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-03-04 23:28:31] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-04 23:28:31] [INFO]   -> Found value: MONTEREY MEDICAL
[2026-03-04 23:28:31] [INFO]   -> Set field 'businessName' = "MONTEREY MEDICAL"
[2026-03-04 23:28:31] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-04 23:28:31] [INFO]   -> No value found (null or empty)
[2026-03-04 23:28:31] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-04 23:28:31] [INFO]   -> Found value: 36.15200
[2026-03-04 23:28:31] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1520000000000010231815394945442676544189453125
[2026-03-04 23:28:31] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-04 23:28:31] [INFO]   -> Found value: -85.26974
[2026-03-04 23:28:31] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2697399999999987585397320799529552459716796875
[2026-03-04 23:28:31] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-04 23:28:31] [INFO]   -> Found value: 2026-03-04 17:27:17
[2026-03-04 23:28:31] [INFO]   -> Set field 'alarm' = "2026-03-04 17:27:17"
[2026-03-04 23:28:31] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-04 23:28:31] [INFO]   -> Found value: 2026-03-04 17:28:22
[2026-03-04 23:28:31] [INFO]   -> Set field 'dispatched' = "2026-03-04 17:28:22"
[2026-03-04 23:28:31] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-04 23:28:31] [INFO]   -> No value found (null or empty)
[2026-03-04 23:28:31] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-04 23:28:31] [INFO]   -> No value found (null or empty)
[2026-03-04 23:28:31] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-04 23:28:31] [INFO]   -> No value found (null or empty)
[2026-03-04 23:28:31] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-04 23:28:31] [INFO]   -> Found value: N OAK ST/LOCUST ST
[2026-03-04 23:28:31] [INFO]   -> Set field 'incidentLocationCross' = "N OAK ST\/LOCUST ST"
[2026-03-04 23:28:31] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-04 23:28:31] [INFO]   -> Found value: MFR
[2026-03-04 23:28:31] [INFO]   -> Set field 'cADVehicleID' = "MFR"
[2026-03-04 23:28:31] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-04 23:28:31] [INFO]   -> Found value: 2026-03-04 17:28:22
[2026-03-04 23:28:31] [INFO]   -> Set field 'timedispatch' = "2026-03-04 17:28:22"
[2026-03-04 23:28:31] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-04 23:28:31] [INFO]   -> No value found (null or empty)
[2026-03-04 23:28:31] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-04 23:28:31] [INFO]   -> No value found (null or empty)
[2026-03-04 23:28:31] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-04 23:28:31] [INFO]   -> No value found (null or empty)
[2026-03-04 23:28:31] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-04 23:28:31] [INFO]   -> No value found (null or empty)
[2026-03-04 23:28:31] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-04 23:28:31] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-03-04 23:28:31] [INFO]   -> Found value: 20260024013
[2026-03-04 23:28:31] [INFO]   -> Set field 'policeReportNumber' = "20260024013"
[2026-03-04 23:28:31] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-04 23:28:31] [INFO]   -> Found value: [EMS] STOMACH PAIN WEAKNESS  [03/04/26 17:27:46 JBOHANNON] Event spawned from SICK PERSON.  [03/04/2...
[2026-03-04 23:28:31] [INFO]   -> Set field 'dispatchNotes' = "[EMS] STOMACH PAIN WEAKNESS  [03\/04\/26 17:27:46 JBOHANNON] Event spawned from SICK PERSON.  [03\/04\/2026 17:27:17 JBOHANNON] CHEVY CRUZE WHITE  [03\/04\/26 17:27:14 JBOHANNON]]"
[2026-03-04 23:28:31] [INFO]   -> Set field 'cADLog' = "[EMS] STOMACH PAIN WEAKNESS  [03\/04\/26 17:27:46 JBOHANNON] Event spawned from SICK PERSON.  [03\/04\/2026 17:27:17 JBOHANNON] CHEVY CRUZE WHITE  [03\/04\/26 17:27:14 JBOHANNON]]"
[2026-03-04 23:28:31] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-04 23:28:31] [INFO]   -> Found value: MONTEREY
[2026-03-04 23:28:31] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-03-04 23:28:31] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-04 23:28:31] [INFO]   -> Found value: CRAWFORD
[2026-03-04 23:28:31] [INFO]   -> Set field 'streetName' = "CRAWFORD"
[2026-03-04 23:28:31] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-04 23:28:31] [INFO]   -> Found value: AVE
[2026-03-04 23:28:31] [INFO]   -> Set field 'streetType' = "AVE"
[2026-03-04 23:28:31] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-04 23:28:31] [INFO]   -> Found value: 400 W CRAWFORD AVE
[2026-03-04 23:28:31] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "400 W CRAWFORD AVE"
[2026-03-04 23:28:31] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-03-04 23:28:31] [INFO] Concatenating street name and type
[2026-03-04 23:28:31] [INFO]   -> Combined street name: CRAWFORD AVE
[2026-03-04 23:28:31] [INFO] Built locationCoordinates from lat/lng: 36.152,-85.26974
[2026-03-04 23:28:31] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"MFD\nEMS","incidentInternalId":"2026000081","dispatchRunNumber":"2026000081","incidentTypeValue1":"SICK PERSON","incidentLocationStreetNumber":400,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"businessName":"MONTEREY MEDICAL","nERISIncidentLatitude":36.1520000000000010231815394945442676544189453125,"nERISIncidentLongitude":-85.2697399999999987585397320799529552459716796875,"alarm":"2026-03-04 17:27:17","dispatched":"2026-03-04 17:28:22","incidentLocationCross":"N OAK ST\/LOCUST ST","cADVehicleID":"MFR","timedispatch":"2026-03-04 17:28:22","policeReportNumber":"20260024013","dispatchNotes":"[EMS] STOMACH PAIN WEAKNESS  [03\/04\/26 17:27:46 JBOHANNON] Event spawned from SICK PERSON.  [03\/04\/2026 17:27:17 JBOHANNON] CHEVY CRUZE WHITE  [03\/04\/26 17:27:14 JBOHANNON]]","cADLog":"[EMS] STOMACH PAIN WEAKNESS  [03\/04\/26 17:27:46 JBOHANNON] Event spawned from SICK PERSON.  [03\/04\/2026 17:27:17 JBOHANNON] CHEVY CRUZE WHITE  [03\/04\/26 17:27:14 JBOHANNON]]","incidentLocationCity":"MONTEREY","streetName":"CRAWFORD AVE","incidentAddressTextVersionStreet":"400 W CRAWFORD AVE","locationCoordinates":"36.152,-85.26974"}
[2026-03-04 23:28:31] [INFO] Number of extracted fields: 22
[2026-03-04 23:28:31] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD
EMS'
[2026-03-04 23:28:31] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD
EMS', Parsed IDs = ["MFD","EMS"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-03-04 23:28:31] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD","EMS"]
[2026-03-04 23:28:31] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-03-04 23:28:31] [INFO] SUCCESS: Routed to agency 'Monterey Fire Department' (ID: 68e67aaba2bb4565e) at INDEX 0 based on AgencyCode 'MFD'
[2026-03-04 23:28:31] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS"]
[2026-03-04 23:28:31] [INFO] Fetched 1 stations from Stations module for agency 'Monterey Fire Department': ["68ffe49c256b67300"]
[2026-03-04 23:28:31] [INFO] Final routing: saasclientId = 68e67aaba2bb4565e, dispatchStationsIds = ["68ffe49c256b67300"], matchedAgencyIndex = 0
[2026-03-04 23:28:31] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-04 23:28:31] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-03-04 23:28:31] [INFO] Updated FTPFiles record saasclientId to routed agency: 68e67aaba2bb4565e
[2026-03-04 23:28:31] [INFO] Found existing IncidentTypeMapping with ID: 6994bb85b85899755
[2026-03-04 23:28:31] [INFO] Found existing Dispatch with cADNumber '2026000081', ID: 69a8c01a56819519e - will update instead of create
[2026-03-04 23:28:32] [INFO] Updated existing Dispatches record with ID: 69a8c01a56819519e
[2026-03-04 23:28:32] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260024013_20260304_232825_2.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-04/MFD_20260024013_20260304_232825_2.XML
[2026-03-04 23:28:32] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260024013_20260304_232825_2.XML
[2026-03-04 23:30:15] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024014_20260304_233015.XML
[2026-03-04 23:30:15] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024014_20260304_233015.XML for user: 68f1466aed072ad4a
[2026-03-04 23:30:15] [INFO] File size: 6564 bytes
[2026-03-04 23:30:15] [INFO] Created FTPFiles record with ID: 69a8c0878b09f16ee
[2026-03-04 23:30:15] [INFO] About to extract fields from XML. File size: 6564 bytes
[2026-03-04 23:30:15] [INFO] Number of mappings: 28
[2026-03-04 23:30:15] [INFO] Starting XML parsing. Content length: 6564
[2026-03-04 23:30:15] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-04 23:30:15] [INFO] Processing 28 field mappings
[2026-03-04 23:30:15] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-04 23:30:15] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-04 23:30:15] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-04 23:30:15] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-04 23:30:15] [INFO]   -> Found value: PCFD
EMS
MFD
RESC
[2026-03-04 23:30:15] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nMFD\nRESC"
[2026-03-04 23:30:15] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-04 23:30:15] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-04 23:30:15] [INFO]   -> Found value: 2026000597
[2026-03-04 23:30:15] [INFO]   -> Set field 'incidentInternalId' = "2026000597"
[2026-03-04 23:30:15] [INFO]   -> Set field 'dispatchRunNumber' = "2026000597"
[2026-03-04 23:30:15] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-04 23:30:15] [INFO]   -> Found value: SICK PERSON
[2026-03-04 23:30:15] [INFO]   -> Set field 'incidentTypeValue1' = "SICK PERSON"
[2026-03-04 23:30:15] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-04 23:30:15] [INFO]   -> Found value: 400
[2026-03-04 23:30:15] [INFO]   -> Set field 'incidentLocationStreetNumber' = 400
[2026-03-04 23:30:15] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-04 23:30:15] [INFO]   -> Found value: TN
[2026-03-04 23:30:15] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-04 23:30:15] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-04 23:30:15] [INFO]   -> Found value: 38574
[2026-03-04 23:30:15] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-03-04 23:30:15] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-04 23:30:15] [INFO]   -> Found value: MONTEREY MEDICAL
[2026-03-04 23:30:15] [INFO]   -> Set field 'businessName' = "MONTEREY MEDICAL"
[2026-03-04 23:30:15] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-04 23:30:15] [INFO]   -> No value found (null or empty)
[2026-03-04 23:30:15] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-04 23:30:15] [INFO]   -> Found value: 36.15200
[2026-03-04 23:30:15] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1520000000000010231815394945442676544189453125
[2026-03-04 23:30:15] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-04 23:30:15] [INFO]   -> Found value: -85.26974
[2026-03-04 23:30:15] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2697399999999987585397320799529552459716796875
[2026-03-04 23:30:15] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-04 23:30:15] [INFO]   -> Found value: 2026-03-04 17:28:43
[2026-03-04 23:30:15] [INFO]   -> Set field 'alarm' = "2026-03-04 17:28:43"
[2026-03-04 23:30:15] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-04 23:30:15] [INFO]   -> Found value: 2026-03-04 17:28:43
[2026-03-04 23:30:15] [INFO]   -> Set field 'dispatched' = "2026-03-04 17:28:43"
[2026-03-04 23:30:15] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-04 23:30:15] [INFO]   -> No value found (null or empty)
[2026-03-04 23:30:15] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-04 23:30:15] [INFO]   -> No value found (null or empty)
[2026-03-04 23:30:15] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-04 23:30:15] [INFO]   -> No value found (null or empty)
[2026-03-04 23:30:15] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-04 23:30:15] [INFO]   -> Found value: N OAK ST/LOCUST ST
[2026-03-04 23:30:15] [INFO]   -> Set field 'incidentLocationCross' = "N OAK ST\/LOCUST ST"
[2026-03-04 23:30:15] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-04 23:30:15] [INFO]   -> Found value: PCFR
[2026-03-04 23:30:15] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-04 23:30:15] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-04 23:30:15] [INFO]   -> Found value: 2026-03-04 17:28:43
[2026-03-04 23:30:15] [INFO]   -> Set field 'timedispatch' = "2026-03-04 17:28:43"
[2026-03-04 23:30:15] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-04 23:30:15] [INFO]   -> No value found (null or empty)
[2026-03-04 23:30:15] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-04 23:30:15] [INFO]   -> No value found (null or empty)
[2026-03-04 23:30:15] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-04 23:30:15] [INFO]   -> Found value: 2026-03-04 17:30:13
[2026-03-04 23:30:15] [INFO]   -> Set field 'timeunitclear' = "2026-03-04 17:30:13"
[2026-03-04 23:30:15] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-04 23:30:15] [INFO]   -> Found value: 2026-03-04 17:30:13
[2026-03-04 23:30:15] [INFO]   -> Set field 'timecanceledenroute' = "2026-03-04 17:30:13"
[2026-03-04 23:30:15] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-04 23:30:15] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-04 23:30:15] [INFO]   -> Found value: 20260024014
[2026-03-04 23:30:15] [INFO]   -> Set field 'policeReportNumber' = "20260024014"
[2026-03-04 23:30:15] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-04 23:30:15] [INFO]   -> Found value: Event spawned from SICK PERSON.  [03/04/2026 17:28:43 MCLAYBURN2] [EMS] STOMACH PAIN WEAKNESS  [03/0...
[2026-03-04 23:30:15] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from SICK PERSON.  [03\/04\/2026 17:28:43 MCLAYBURN2] [EMS] STOMACH PAIN WEAKNESS  [03\/04\/26 17:27:46 JBOHANNON] Event spawned from SICK PERSON.  [03\/04\/2026 17:27:17 JBOHANNON] CHEVY CRUZE WHITE  [03\/04\/26 17:27:14 JBOHANNON]]"
[2026-03-04 23:30:15] [INFO]   -> Set field 'cADLog' = "Event spawned from SICK PERSON.  [03\/04\/2026 17:28:43 MCLAYBURN2] [EMS] STOMACH PAIN WEAKNESS  [03\/04\/26 17:27:46 JBOHANNON] Event spawned from SICK PERSON.  [03\/04\/2026 17:27:17 JBOHANNON] CHEVY CRUZE WHITE  [03\/04\/26 17:27:14 JBOHANNON]]"
[2026-03-04 23:30:15] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-04 23:30:15] [INFO]   -> Found value: MONTEREY
[2026-03-04 23:30:15] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-03-04 23:30:15] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-04 23:30:15] [INFO]   -> Found value: CRAWFORD
[2026-03-04 23:30:15] [INFO]   -> Set field 'streetName' = "CRAWFORD"
[2026-03-04 23:30:15] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-04 23:30:15] [INFO]   -> Found value: AVE
[2026-03-04 23:30:15] [INFO]   -> Set field 'streetType' = "AVE"
[2026-03-04 23:30:15] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-04 23:30:15] [INFO]   -> Found value: 400 W CRAWFORD AVE
[2026-03-04 23:30:15] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "400 W CRAWFORD AVE"
[2026-03-04 23:30:15] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-04 23:30:15] [INFO] Concatenating street name and type
[2026-03-04 23:30:15] [INFO]   -> Combined street name: CRAWFORD AVE
[2026-03-04 23:30:15] [INFO] Built locationCoordinates from lat/lng: 36.152,-85.26974
[2026-03-04 23:30:15] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nMFD\nRESC","incidentInternalId":"2026000597","dispatchRunNumber":"2026000597","incidentTypeValue1":"SICK PERSON","incidentLocationStreetNumber":400,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"businessName":"MONTEREY MEDICAL","nERISIncidentLatitude":36.1520000000000010231815394945442676544189453125,"nERISIncidentLongitude":-85.2697399999999987585397320799529552459716796875,"alarm":"2026-03-04 17:28:43","dispatched":"2026-03-04 17:28:43","incidentLocationCross":"N OAK ST\/LOCUST ST","cADVehicleID":"PCFR","timedispatch":"2026-03-04 17:28:43","timeunitclear":"2026-03-04 17:30:13","timecanceledenroute":"2026-03-04 17:30:13","policeReportNumber":"20260024014","dispatchNotes":"Event spawned from SICK PERSON.  [03\/04\/2026 17:28:43 MCLAYBURN2] [EMS] STOMACH PAIN WEAKNESS  [03\/04\/26 17:27:46 JBOHANNON] Event spawned from SICK PERSON.  [03\/04\/2026 17:27:17 JBOHANNON] CHEVY CRUZE WHITE  [03\/04\/26 17:27:14 JBOHANNON]]","cADLog":"Event spawned from SICK PERSON.  [03\/04\/2026 17:28:43 MCLAYBURN2] [EMS] STOMACH PAIN WEAKNESS  [03\/04\/26 17:27:46 JBOHANNON] Event spawned from SICK PERSON.  [03\/04\/2026 17:27:17 JBOHANNON] CHEVY CRUZE WHITE  [03\/04\/26 17:27:14 JBOHANNON]]","incidentLocationCity":"MONTEREY","streetName":"CRAWFORD AVE","incidentAddressTextVersionStreet":"400 W CRAWFORD AVE","locationCoordinates":"36.152,-85.26974"}
[2026-03-04 23:30:15] [INFO] Number of extracted fields: 24
[2026-03-04 23:30:15] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
MFD
RESC'
[2026-03-04 23:30:15] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
MFD
RESC', Parsed IDs = ["PCFD","EMS","MFD","RESC"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-03-04 23:30:15] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","MFD","RESC"]
[2026-03-04 23:30:15] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-04 23:30:15] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-04 23:30:15] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","MFD","RESC"]
[2026-03-04 23:30:15] [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-03-04 23:30:15] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-04 23:30:15] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-04 23:30:15] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-04 23:30:15] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-04 23:30:16] [INFO] Found existing IncidentTypeMapping with ID: 6994bbd5e66eb9406
[2026-03-04 23:30:26] [INFO] Created new Dispatches record with ID: 69a8c088615b8a600
[2026-03-04 23:30:26] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024014_20260304_233015.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-04/PCFD_20260024014_20260304_233015.XML
[2026-03-04 23:30:26] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024014_20260304_233015.XML
[2026-03-04 23:30:26] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024014_20260304_233022.XML
[2026-03-04 23:30:26] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024014_20260304_233022.XML for user: 68f1466aed072ad4a
[2026-03-04 23:30:26] [INFO] File size: 6631 bytes
[2026-03-04 23:30:26] [INFO] Created FTPFiles record with ID: 69a8c0929525cf059
[2026-03-04 23:30:26] [INFO] About to extract fields from XML. File size: 6631 bytes
[2026-03-04 23:30:26] [INFO] Number of mappings: 28
[2026-03-04 23:30:26] [INFO] Starting XML parsing. Content length: 6631
[2026-03-04 23:30:26] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-04 23:30:26] [INFO] Processing 28 field mappings
[2026-03-04 23:30:26] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-04 23:30:26] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-04 23:30:26] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-04 23:30:26] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-04 23:30:26] [INFO]   -> Found value: PCFD
EMS
MFD
RESC
[2026-03-04 23:30:26] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nMFD\nRESC"
[2026-03-04 23:30:26] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-04 23:30:26] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-04 23:30:26] [INFO]   -> Found value: 2026000597
[2026-03-04 23:30:26] [INFO]   -> Set field 'incidentInternalId' = "2026000597"
[2026-03-04 23:30:26] [INFO]   -> Set field 'dispatchRunNumber' = "2026000597"
[2026-03-04 23:30:26] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-04 23:30:26] [INFO]   -> Found value: SICK PERSON
[2026-03-04 23:30:26] [INFO]   -> Set field 'incidentTypeValue1' = "SICK PERSON"
[2026-03-04 23:30:26] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-04 23:30:26] [INFO]   -> Found value: 400
[2026-03-04 23:30:26] [INFO]   -> Set field 'incidentLocationStreetNumber' = 400
[2026-03-04 23:30:26] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-04 23:30:26] [INFO]   -> Found value: TN
[2026-03-04 23:30:26] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-04 23:30:26] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-04 23:30:26] [INFO]   -> Found value: 38574
[2026-03-04 23:30:26] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-03-04 23:30:26] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-04 23:30:26] [INFO]   -> Found value: MONTEREY MEDICAL
[2026-03-04 23:30:26] [INFO]   -> Set field 'businessName' = "MONTEREY MEDICAL"
[2026-03-04 23:30:26] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-04 23:30:26] [INFO]   -> No value found (null or empty)
[2026-03-04 23:30:26] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-04 23:30:26] [INFO]   -> Found value: 36.15200
[2026-03-04 23:30:26] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1520000000000010231815394945442676544189453125
[2026-03-04 23:30:26] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-04 23:30:26] [INFO]   -> Found value: -85.26974
[2026-03-04 23:30:26] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2697399999999987585397320799529552459716796875
[2026-03-04 23:30:26] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-04 23:30:26] [INFO]   -> Found value: 2026-03-04 17:28:43
[2026-03-04 23:30:26] [INFO]   -> Set field 'alarm' = "2026-03-04 17:28:43"
[2026-03-04 23:30:26] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-04 23:30:26] [INFO]   -> Found value: 2026-03-04 17:28:43
[2026-03-04 23:30:26] [INFO]   -> Set field 'dispatched' = "2026-03-04 17:28:43"
[2026-03-04 23:30:26] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-04 23:30:26] [INFO]   -> Found value: 2026-03-04 17:30:15
[2026-03-04 23:30:26] [INFO]   -> Set field 'enroute' = "2026-03-04 17:30:15"
[2026-03-04 23:30:26] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-04 23:30:26] [INFO]   -> No value found (null or empty)
[2026-03-04 23:30:26] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-04 23:30:26] [INFO]   -> No value found (null or empty)
[2026-03-04 23:30:26] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-04 23:30:26] [INFO]   -> Found value: N OAK ST/LOCUST ST
[2026-03-04 23:30:26] [INFO]   -> Set field 'incidentLocationCross' = "N OAK ST\/LOCUST ST"
[2026-03-04 23:30:26] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-04 23:30:26] [INFO]   -> Found value: TK21
[2026-03-04 23:30:26] [INFO]   -> Set field 'cADVehicleID' = "TK21"
[2026-03-04 23:30:26] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-04 23:30:26] [INFO]   -> Found value: 2026-03-04 17:30:13
[2026-03-04 23:30:26] [INFO]   -> Set field 'timedispatch' = "2026-03-04 17:30:13"
[2026-03-04 23:30:26] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-04 23:30:26] [INFO]   -> Found value: 2026-03-04 17:30:15
[2026-03-04 23:30:26] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-04 17:30:15"
[2026-03-04 23:30:26] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-04 23:30:26] [INFO]   -> No value found (null or empty)
[2026-03-04 23:30:26] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-04 23:30:26] [INFO]   -> No value found (null or empty)
[2026-03-04 23:30:26] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-04 23:30:26] [INFO]   -> No value found (null or empty)
[2026-03-04 23:30:26] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-04 23:30:26] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-04 23:30:26] [INFO]   -> Found value: 20260024014
[2026-03-04 23:30:26] [INFO]   -> Set field 'policeReportNumber' = "20260024014"
[2026-03-04 23:30:26] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-04 23:30:26] [INFO]   -> Found value: Event spawned from SICK PERSON.  [03/04/2026 17:28:43 MCLAYBURN2] [EMS] STOMACH PAIN WEAKNESS  [03/0...
[2026-03-04 23:30:26] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from SICK PERSON.  [03\/04\/2026 17:28:43 MCLAYBURN2] [EMS] STOMACH PAIN WEAKNESS  [03\/04\/26 17:27:46 JBOHANNON] Event spawned from SICK PERSON.  [03\/04\/2026 17:27:17 JBOHANNON] CHEVY CRUZE WHITE  [03\/04\/26 17:27:14 JBOHANNON]]"
[2026-03-04 23:30:26] [INFO]   -> Set field 'cADLog' = "Event spawned from SICK PERSON.  [03\/04\/2026 17:28:43 MCLAYBURN2] [EMS] STOMACH PAIN WEAKNESS  [03\/04\/26 17:27:46 JBOHANNON] Event spawned from SICK PERSON.  [03\/04\/2026 17:27:17 JBOHANNON] CHEVY CRUZE WHITE  [03\/04\/26 17:27:14 JBOHANNON]]"
[2026-03-04 23:30:26] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-04 23:30:26] [INFO]   -> Found value: MONTEREY
[2026-03-04 23:30:26] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-03-04 23:30:26] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-04 23:30:26] [INFO]   -> Found value: CRAWFORD
[2026-03-04 23:30:26] [INFO]   -> Set field 'streetName' = "CRAWFORD"
[2026-03-04 23:30:26] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-04 23:30:26] [INFO]   -> Found value: AVE
[2026-03-04 23:30:26] [INFO]   -> Set field 'streetType' = "AVE"
[2026-03-04 23:30:26] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-04 23:30:26] [INFO]   -> Found value: 400 W CRAWFORD AVE
[2026-03-04 23:30:26] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "400 W CRAWFORD AVE"
[2026-03-04 23:30:26] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-04 23:30:26] [INFO] Concatenating street name and type
[2026-03-04 23:30:26] [INFO]   -> Combined street name: CRAWFORD AVE
[2026-03-04 23:30:26] [INFO] Built locationCoordinates from lat/lng: 36.152,-85.26974
[2026-03-04 23:30:26] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nMFD\nRESC","incidentInternalId":"2026000597","dispatchRunNumber":"2026000597","incidentTypeValue1":"SICK PERSON","incidentLocationStreetNumber":400,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"businessName":"MONTEREY MEDICAL","nERISIncidentLatitude":36.1520000000000010231815394945442676544189453125,"nERISIncidentLongitude":-85.2697399999999987585397320799529552459716796875,"alarm":"2026-03-04 17:28:43","dispatched":"2026-03-04 17:28:43","enroute":"2026-03-04 17:30:15","incidentLocationCross":"N OAK ST\/LOCUST ST","cADVehicleID":"TK21","timedispatch":"2026-03-04 17:30:13","timeenroutetoscene":"2026-03-04 17:30:15","policeReportNumber":"20260024014","dispatchNotes":"Event spawned from SICK PERSON.  [03\/04\/2026 17:28:43 MCLAYBURN2] [EMS] STOMACH PAIN WEAKNESS  [03\/04\/26 17:27:46 JBOHANNON] Event spawned from SICK PERSON.  [03\/04\/2026 17:27:17 JBOHANNON] CHEVY CRUZE WHITE  [03\/04\/26 17:27:14 JBOHANNON]]","cADLog":"Event spawned from SICK PERSON.  [03\/04\/2026 17:28:43 MCLAYBURN2] [EMS] STOMACH PAIN WEAKNESS  [03\/04\/26 17:27:46 JBOHANNON] Event spawned from SICK PERSON.  [03\/04\/2026 17:27:17 JBOHANNON] CHEVY CRUZE WHITE  [03\/04\/26 17:27:14 JBOHANNON]]","incidentLocationCity":"MONTEREY","streetName":"CRAWFORD AVE","incidentAddressTextVersionStreet":"400 W CRAWFORD AVE","locationCoordinates":"36.152,-85.26974"}
[2026-03-04 23:30:26] [INFO] Number of extracted fields: 24
[2026-03-04 23:30:26] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
MFD
RESC'
[2026-03-04 23:30:26] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
MFD
RESC', Parsed IDs = ["PCFD","EMS","MFD","RESC"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-03-04 23:30:26] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","MFD","RESC"]
[2026-03-04 23:30:26] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-04 23:30:26] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-04 23:30:26] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","MFD","RESC"]
[2026-03-04 23:30:26] [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-03-04 23:30:26] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-04 23:30:26] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-04 23:30:26] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-04 23:30:26] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-04 23:30:27] [INFO] Found existing IncidentTypeMapping with ID: 6994bbd5e66eb9406
[2026-03-04 23:30:27] [INFO] Found existing Dispatch with cADNumber '2026000597', ID: 69a8c088615b8a600 - will update instead of create
[2026-03-04 23:30:27] [INFO] Updated existing Dispatches record with ID: 69a8c088615b8a600
[2026-03-04 23:30:27] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024014_20260304_233022.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-04/PCFD_20260024014_20260304_233022.XML
[2026-03-04 23:30:27] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024014_20260304_233022.XML
[2026-03-04 23:30:27] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024014_20260304_233022_1.XML
[2026-03-04 23:30:27] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024014_20260304_233022_1.XML for user: 68f1466aed072ad4a
[2026-03-04 23:30:27] [INFO] File size: 6631 bytes
[2026-03-04 23:30:27] [INFO] Created FTPFiles record with ID: 69a8c093d9948c1db
[2026-03-04 23:30:27] [INFO] About to extract fields from XML. File size: 6631 bytes
[2026-03-04 23:30:27] [INFO] Number of mappings: 28
[2026-03-04 23:30:27] [INFO] Starting XML parsing. Content length: 6631
[2026-03-04 23:30:27] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-04 23:30:27] [INFO] Processing 28 field mappings
[2026-03-04 23:30:27] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-04 23:30:27] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-04 23:30:27] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-04 23:30:27] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-04 23:30:27] [INFO]   -> Found value: PCFD
EMS
MFD
RESC
[2026-03-04 23:30:27] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nMFD\nRESC"
[2026-03-04 23:30:27] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-04 23:30:27] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-04 23:30:27] [INFO]   -> Found value: 2026000597
[2026-03-04 23:30:27] [INFO]   -> Set field 'incidentInternalId' = "2026000597"
[2026-03-04 23:30:27] [INFO]   -> Set field 'dispatchRunNumber' = "2026000597"
[2026-03-04 23:30:27] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-04 23:30:27] [INFO]   -> Found value: SICK PERSON
[2026-03-04 23:30:27] [INFO]   -> Set field 'incidentTypeValue1' = "SICK PERSON"
[2026-03-04 23:30:27] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-04 23:30:27] [INFO]   -> Found value: 400
[2026-03-04 23:30:27] [INFO]   -> Set field 'incidentLocationStreetNumber' = 400
[2026-03-04 23:30:27] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-04 23:30:27] [INFO]   -> Found value: TN
[2026-03-04 23:30:27] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-04 23:30:27] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-04 23:30:27] [INFO]   -> Found value: 38574
[2026-03-04 23:30:27] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-03-04 23:30:27] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-04 23:30:27] [INFO]   -> Found value: MONTEREY MEDICAL
[2026-03-04 23:30:27] [INFO]   -> Set field 'businessName' = "MONTEREY MEDICAL"
[2026-03-04 23:30:27] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-04 23:30:27] [INFO]   -> No value found (null or empty)
[2026-03-04 23:30:27] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-04 23:30:27] [INFO]   -> Found value: 36.15200
[2026-03-04 23:30:27] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1520000000000010231815394945442676544189453125
[2026-03-04 23:30:27] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-04 23:30:27] [INFO]   -> Found value: -85.26974
[2026-03-04 23:30:27] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2697399999999987585397320799529552459716796875
[2026-03-04 23:30:27] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-04 23:30:27] [INFO]   -> Found value: 2026-03-04 17:28:43
[2026-03-04 23:30:27] [INFO]   -> Set field 'alarm' = "2026-03-04 17:28:43"
[2026-03-04 23:30:27] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-04 23:30:27] [INFO]   -> Found value: 2026-03-04 17:28:43
[2026-03-04 23:30:27] [INFO]   -> Set field 'dispatched' = "2026-03-04 17:28:43"
[2026-03-04 23:30:27] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-04 23:30:27] [INFO]   -> Found value: 2026-03-04 17:30:15
[2026-03-04 23:30:27] [INFO]   -> Set field 'enroute' = "2026-03-04 17:30:15"
[2026-03-04 23:30:27] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-04 23:30:27] [INFO]   -> No value found (null or empty)
[2026-03-04 23:30:27] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-04 23:30:27] [INFO]   -> No value found (null or empty)
[2026-03-04 23:30:27] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-04 23:30:27] [INFO]   -> Found value: N OAK ST/LOCUST ST
[2026-03-04 23:30:27] [INFO]   -> Set field 'incidentLocationCross' = "N OAK ST\/LOCUST ST"
[2026-03-04 23:30:27] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-04 23:30:27] [INFO]   -> Found value: TK21
[2026-03-04 23:30:27] [INFO]   -> Set field 'cADVehicleID' = "TK21"
[2026-03-04 23:30:27] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-04 23:30:27] [INFO]   -> Found value: 2026-03-04 17:30:13
[2026-03-04 23:30:27] [INFO]   -> Set field 'timedispatch' = "2026-03-04 17:30:13"
[2026-03-04 23:30:27] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-04 23:30:27] [INFO]   -> Found value: 2026-03-04 17:30:15
[2026-03-04 23:30:27] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-04 17:30:15"
[2026-03-04 23:30:27] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-04 23:30:27] [INFO]   -> No value found (null or empty)
[2026-03-04 23:30:27] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-04 23:30:27] [INFO]   -> No value found (null or empty)
[2026-03-04 23:30:27] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-04 23:30:27] [INFO]   -> No value found (null or empty)
[2026-03-04 23:30:27] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-04 23:30:27] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-04 23:30:27] [INFO]   -> Found value: 20260024014
[2026-03-04 23:30:27] [INFO]   -> Set field 'policeReportNumber' = "20260024014"
[2026-03-04 23:30:27] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-04 23:30:27] [INFO]   -> Found value: Event spawned from SICK PERSON.  [03/04/2026 17:28:43 MCLAYBURN2] [EMS] STOMACH PAIN WEAKNESS  [03/0...
[2026-03-04 23:30:27] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from SICK PERSON.  [03\/04\/2026 17:28:43 MCLAYBURN2] [EMS] STOMACH PAIN WEAKNESS  [03\/04\/26 17:27:46 JBOHANNON] Event spawned from SICK PERSON.  [03\/04\/2026 17:27:17 JBOHANNON] CHEVY CRUZE WHITE  [03\/04\/26 17:27:14 JBOHANNON]]"
[2026-03-04 23:30:27] [INFO]   -> Set field 'cADLog' = "Event spawned from SICK PERSON.  [03\/04\/2026 17:28:43 MCLAYBURN2] [EMS] STOMACH PAIN WEAKNESS  [03\/04\/26 17:27:46 JBOHANNON] Event spawned from SICK PERSON.  [03\/04\/2026 17:27:17 JBOHANNON] CHEVY CRUZE WHITE  [03\/04\/26 17:27:14 JBOHANNON]]"
[2026-03-04 23:30:27] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-04 23:30:27] [INFO]   -> Found value: MONTEREY
[2026-03-04 23:30:27] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-03-04 23:30:27] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-04 23:30:27] [INFO]   -> Found value: CRAWFORD
[2026-03-04 23:30:27] [INFO]   -> Set field 'streetName' = "CRAWFORD"
[2026-03-04 23:30:27] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-04 23:30:27] [INFO]   -> Found value: AVE
[2026-03-04 23:30:27] [INFO]   -> Set field 'streetType' = "AVE"
[2026-03-04 23:30:27] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-04 23:30:27] [INFO]   -> Found value: 400 W CRAWFORD AVE
[2026-03-04 23:30:27] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "400 W CRAWFORD AVE"
[2026-03-04 23:30:27] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-04 23:30:27] [INFO] Concatenating street name and type
[2026-03-04 23:30:27] [INFO]   -> Combined street name: CRAWFORD AVE
[2026-03-04 23:30:27] [INFO] Built locationCoordinates from lat/lng: 36.152,-85.26974
[2026-03-04 23:30:27] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nMFD\nRESC","incidentInternalId":"2026000597","dispatchRunNumber":"2026000597","incidentTypeValue1":"SICK PERSON","incidentLocationStreetNumber":400,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"businessName":"MONTEREY MEDICAL","nERISIncidentLatitude":36.1520000000000010231815394945442676544189453125,"nERISIncidentLongitude":-85.2697399999999987585397320799529552459716796875,"alarm":"2026-03-04 17:28:43","dispatched":"2026-03-04 17:28:43","enroute":"2026-03-04 17:30:15","incidentLocationCross":"N OAK ST\/LOCUST ST","cADVehicleID":"TK21","timedispatch":"2026-03-04 17:30:13","timeenroutetoscene":"2026-03-04 17:30:15","policeReportNumber":"20260024014","dispatchNotes":"Event spawned from SICK PERSON.  [03\/04\/2026 17:28:43 MCLAYBURN2] [EMS] STOMACH PAIN WEAKNESS  [03\/04\/26 17:27:46 JBOHANNON] Event spawned from SICK PERSON.  [03\/04\/2026 17:27:17 JBOHANNON] CHEVY CRUZE WHITE  [03\/04\/26 17:27:14 JBOHANNON]]","cADLog":"Event spawned from SICK PERSON.  [03\/04\/2026 17:28:43 MCLAYBURN2] [EMS] STOMACH PAIN WEAKNESS  [03\/04\/26 17:27:46 JBOHANNON] Event spawned from SICK PERSON.  [03\/04\/2026 17:27:17 JBOHANNON] CHEVY CRUZE WHITE  [03\/04\/26 17:27:14 JBOHANNON]]","incidentLocationCity":"MONTEREY","streetName":"CRAWFORD AVE","incidentAddressTextVersionStreet":"400 W CRAWFORD AVE","locationCoordinates":"36.152,-85.26974"}
[2026-03-04 23:30:27] [INFO] Number of extracted fields: 24
[2026-03-04 23:30:27] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
MFD
RESC'
[2026-03-04 23:30:27] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
MFD
RESC', Parsed IDs = ["PCFD","EMS","MFD","RESC"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-03-04 23:30:27] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","MFD","RESC"]
[2026-03-04 23:30:27] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-04 23:30:28] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-04 23:30:28] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","MFD","RESC"]
[2026-03-04 23:30: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-03-04 23:30:28] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-04 23:30:28] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-04 23:30:28] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-04 23:30:28] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-04 23:30:28] [INFO] Found existing IncidentTypeMapping with ID: 6994bbd5e66eb9406
[2026-03-04 23:30:28] [INFO] Found existing Dispatch with cADNumber '2026000597', ID: 69a8c088615b8a600 - will update instead of create
[2026-03-04 23:30:28] [INFO] Updated existing Dispatches record with ID: 69a8c088615b8a600
[2026-03-04 23:30:28] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024014_20260304_233022_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-04/PCFD_20260024014_20260304_233022_1.XML
[2026-03-04 23:30:28] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024014_20260304_233022_1.XML
[2026-03-04 23:30:28] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024014_20260304_233024.XML
[2026-03-04 23:30:28] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024014_20260304_233024.XML for user: 68f1466aed072ad4a
[2026-03-04 23:30:28] [INFO] File size: 6631 bytes
[2026-03-04 23:30:29] [INFO] Created FTPFiles record with ID: 69a8c0951e391fd36
[2026-03-04 23:30:29] [INFO] About to extract fields from XML. File size: 6631 bytes
[2026-03-04 23:30:29] [INFO] Number of mappings: 28
[2026-03-04 23:30:29] [INFO] Starting XML parsing. Content length: 6631
[2026-03-04 23:30:29] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-04 23:30:29] [INFO] Processing 28 field mappings
[2026-03-04 23:30:29] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-04 23:30:29] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-04 23:30:29] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-04 23:30:29] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-04 23:30:29] [INFO]   -> Found value: PCFD
EMS
MFD
RESC
[2026-03-04 23:30:29] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nMFD\nRESC"
[2026-03-04 23:30:29] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-04 23:30:29] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-04 23:30:29] [INFO]   -> Found value: 2026000597
[2026-03-04 23:30:29] [INFO]   -> Set field 'incidentInternalId' = "2026000597"
[2026-03-04 23:30:29] [INFO]   -> Set field 'dispatchRunNumber' = "2026000597"
[2026-03-04 23:30:29] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-04 23:30:29] [INFO]   -> Found value: SICK PERSON
[2026-03-04 23:30:29] [INFO]   -> Set field 'incidentTypeValue1' = "SICK PERSON"
[2026-03-04 23:30:29] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-04 23:30:29] [INFO]   -> Found value: 400
[2026-03-04 23:30:29] [INFO]   -> Set field 'incidentLocationStreetNumber' = 400
[2026-03-04 23:30:29] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-04 23:30:29] [INFO]   -> Found value: TN
[2026-03-04 23:30:29] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-04 23:30:29] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-04 23:30:29] [INFO]   -> Found value: 38574
[2026-03-04 23:30:29] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-03-04 23:30:29] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-04 23:30:29] [INFO]   -> Found value: MONTEREY MEDICAL
[2026-03-04 23:30:29] [INFO]   -> Set field 'businessName' = "MONTEREY MEDICAL"
[2026-03-04 23:30:29] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-04 23:30:29] [INFO]   -> No value found (null or empty)
[2026-03-04 23:30:29] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-04 23:30:29] [INFO]   -> Found value: 36.15200
[2026-03-04 23:30:29] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1520000000000010231815394945442676544189453125
[2026-03-04 23:30:29] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-04 23:30:29] [INFO]   -> Found value: -85.26974
[2026-03-04 23:30:29] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2697399999999987585397320799529552459716796875
[2026-03-04 23:30:29] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-04 23:30:29] [INFO]   -> Found value: 2026-03-04 17:28:43
[2026-03-04 23:30:29] [INFO]   -> Set field 'alarm' = "2026-03-04 17:28:43"
[2026-03-04 23:30:29] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-04 23:30:29] [INFO]   -> Found value: 2026-03-04 17:28:43
[2026-03-04 23:30:29] [INFO]   -> Set field 'dispatched' = "2026-03-04 17:28:43"
[2026-03-04 23:30:29] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-04 23:30:29] [INFO]   -> Found value: 2026-03-04 17:30:15
[2026-03-04 23:30:29] [INFO]   -> Set field 'enroute' = "2026-03-04 17:30:15"
[2026-03-04 23:30:29] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-04 23:30:29] [INFO]   -> No value found (null or empty)
[2026-03-04 23:30:29] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-04 23:30:29] [INFO]   -> No value found (null or empty)
[2026-03-04 23:30:29] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-04 23:30:29] [INFO]   -> Found value: N OAK ST/LOCUST ST
[2026-03-04 23:30:29] [INFO]   -> Set field 'incidentLocationCross' = "N OAK ST\/LOCUST ST"
[2026-03-04 23:30:29] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-04 23:30:29] [INFO]   -> Found value: TK21
[2026-03-04 23:30:29] [INFO]   -> Set field 'cADVehicleID' = "TK21"
[2026-03-04 23:30:29] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-04 23:30:29] [INFO]   -> Found value: 2026-03-04 17:30:13
[2026-03-04 23:30:29] [INFO]   -> Set field 'timedispatch' = "2026-03-04 17:30:13"
[2026-03-04 23:30:29] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-04 23:30:29] [INFO]   -> Found value: 2026-03-04 17:30:15
[2026-03-04 23:30:29] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-04 17:30:15"
[2026-03-04 23:30:29] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-04 23:30:29] [INFO]   -> No value found (null or empty)
[2026-03-04 23:30:29] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-04 23:30:29] [INFO]   -> No value found (null or empty)
[2026-03-04 23:30:29] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-04 23:30:29] [INFO]   -> No value found (null or empty)
[2026-03-04 23:30:29] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-04 23:30:29] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-04 23:30:29] [INFO]   -> Found value: 20260024014
[2026-03-04 23:30:29] [INFO]   -> Set field 'policeReportNumber' = "20260024014"
[2026-03-04 23:30:29] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-04 23:30:29] [INFO]   -> Found value: Event spawned from SICK PERSON.  [03/04/2026 17:28:43 MCLAYBURN2] [EMS] STOMACH PAIN WEAKNESS  [03/0...
[2026-03-04 23:30:29] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from SICK PERSON.  [03\/04\/2026 17:28:43 MCLAYBURN2] [EMS] STOMACH PAIN WEAKNESS  [03\/04\/26 17:27:46 JBOHANNON] Event spawned from SICK PERSON.  [03\/04\/2026 17:27:17 JBOHANNON] CHEVY CRUZE WHITE  [03\/04\/26 17:27:14 JBOHANNON]]"
[2026-03-04 23:30:29] [INFO]   -> Set field 'cADLog' = "Event spawned from SICK PERSON.  [03\/04\/2026 17:28:43 MCLAYBURN2] [EMS] STOMACH PAIN WEAKNESS  [03\/04\/26 17:27:46 JBOHANNON] Event spawned from SICK PERSON.  [03\/04\/2026 17:27:17 JBOHANNON] CHEVY CRUZE WHITE  [03\/04\/26 17:27:14 JBOHANNON]]"
[2026-03-04 23:30:29] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-04 23:30:29] [INFO]   -> Found value: MONTEREY
[2026-03-04 23:30:29] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-03-04 23:30:29] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-04 23:30:29] [INFO]   -> Found value: CRAWFORD
[2026-03-04 23:30:29] [INFO]   -> Set field 'streetName' = "CRAWFORD"
[2026-03-04 23:30:29] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-04 23:30:29] [INFO]   -> Found value: AVE
[2026-03-04 23:30:29] [INFO]   -> Set field 'streetType' = "AVE"
[2026-03-04 23:30:29] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-04 23:30:29] [INFO]   -> Found value: 400 W CRAWFORD AVE
[2026-03-04 23:30:29] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "400 W CRAWFORD AVE"
[2026-03-04 23:30:29] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-04 23:30:29] [INFO] Concatenating street name and type
[2026-03-04 23:30:29] [INFO]   -> Combined street name: CRAWFORD AVE
[2026-03-04 23:30:29] [INFO] Built locationCoordinates from lat/lng: 36.152,-85.26974
[2026-03-04 23:30:29] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nMFD\nRESC","incidentInternalId":"2026000597","dispatchRunNumber":"2026000597","incidentTypeValue1":"SICK PERSON","incidentLocationStreetNumber":400,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"businessName":"MONTEREY MEDICAL","nERISIncidentLatitude":36.1520000000000010231815394945442676544189453125,"nERISIncidentLongitude":-85.2697399999999987585397320799529552459716796875,"alarm":"2026-03-04 17:28:43","dispatched":"2026-03-04 17:28:43","enroute":"2026-03-04 17:30:15","incidentLocationCross":"N OAK ST\/LOCUST ST","cADVehicleID":"TK21","timedispatch":"2026-03-04 17:30:13","timeenroutetoscene":"2026-03-04 17:30:15","policeReportNumber":"20260024014","dispatchNotes":"Event spawned from SICK PERSON.  [03\/04\/2026 17:28:43 MCLAYBURN2] [EMS] STOMACH PAIN WEAKNESS  [03\/04\/26 17:27:46 JBOHANNON] Event spawned from SICK PERSON.  [03\/04\/2026 17:27:17 JBOHANNON] CHEVY CRUZE WHITE  [03\/04\/26 17:27:14 JBOHANNON]]","cADLog":"Event spawned from SICK PERSON.  [03\/04\/2026 17:28:43 MCLAYBURN2] [EMS] STOMACH PAIN WEAKNESS  [03\/04\/26 17:27:46 JBOHANNON] Event spawned from SICK PERSON.  [03\/04\/2026 17:27:17 JBOHANNON] CHEVY CRUZE WHITE  [03\/04\/26 17:27:14 JBOHANNON]]","incidentLocationCity":"MONTEREY","streetName":"CRAWFORD AVE","incidentAddressTextVersionStreet":"400 W CRAWFORD AVE","locationCoordinates":"36.152,-85.26974"}
[2026-03-04 23:30:29] [INFO] Number of extracted fields: 24
[2026-03-04 23:30:29] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
MFD
RESC'
[2026-03-04 23:30:29] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
MFD
RESC', Parsed IDs = ["PCFD","EMS","MFD","RESC"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-03-04 23:30:29] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","MFD","RESC"]
[2026-03-04 23:30:29] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-04 23:30:29] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-04 23:30:29] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","MFD","RESC"]
[2026-03-04 23:30:29] [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-03-04 23:30:29] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-04 23:30:29] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-04 23:30:29] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-04 23:30:29] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-04 23:30:29] [INFO] Found existing IncidentTypeMapping with ID: 6994bbd5e66eb9406
[2026-03-04 23:30:29] [INFO] Found existing Dispatch with cADNumber '2026000597', ID: 69a8c088615b8a600 - will update instead of create
[2026-03-04 23:30:29] [INFO] Updated existing Dispatches record with ID: 69a8c088615b8a600
[2026-03-04 23:30:29] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024014_20260304_233024.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-04/PCFD_20260024014_20260304_233024.XML
[2026-03-04 23:30:29] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024014_20260304_233024.XML
[2026-03-04 23:30:29] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024014_20260304_233024_1.XML
[2026-03-04 23:30:29] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024014_20260304_233024_1.XML for user: 68f1466aed072ad4a
[2026-03-04 23:30:29] [INFO] File size: 6631 bytes
[2026-03-04 23:30:30] [INFO] Created FTPFiles record with ID: 69a8c0964cc08855e
[2026-03-04 23:30:30] [INFO] About to extract fields from XML. File size: 6631 bytes
[2026-03-04 23:30:30] [INFO] Number of mappings: 28
[2026-03-04 23:30:30] [INFO] Starting XML parsing. Content length: 6631
[2026-03-04 23:30:30] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-04 23:30:30] [INFO] Processing 28 field mappings
[2026-03-04 23:30:30] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-04 23:30:30] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-04 23:30:30] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-04 23:30:30] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-04 23:30:30] [INFO]   -> Found value: PCFD
EMS
MFD
RESC
[2026-03-04 23:30:30] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nMFD\nRESC"
[2026-03-04 23:30:30] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-04 23:30:30] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-04 23:30:30] [INFO]   -> Found value: 2026000597
[2026-03-04 23:30:30] [INFO]   -> Set field 'incidentInternalId' = "2026000597"
[2026-03-04 23:30:30] [INFO]   -> Set field 'dispatchRunNumber' = "2026000597"
[2026-03-04 23:30:30] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-04 23:30:30] [INFO]   -> Found value: SICK PERSON
[2026-03-04 23:30:30] [INFO]   -> Set field 'incidentTypeValue1' = "SICK PERSON"
[2026-03-04 23:30:30] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-04 23:30:30] [INFO]   -> Found value: 400
[2026-03-04 23:30:30] [INFO]   -> Set field 'incidentLocationStreetNumber' = 400
[2026-03-04 23:30:30] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-04 23:30:30] [INFO]   -> Found value: TN
[2026-03-04 23:30:30] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-04 23:30:30] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-04 23:30:30] [INFO]   -> Found value: 38574
[2026-03-04 23:30:30] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-03-04 23:30:30] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-04 23:30:30] [INFO]   -> Found value: MONTEREY MEDICAL
[2026-03-04 23:30:30] [INFO]   -> Set field 'businessName' = "MONTEREY MEDICAL"
[2026-03-04 23:30:30] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-04 23:30:30] [INFO]   -> No value found (null or empty)
[2026-03-04 23:30:30] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-04 23:30:30] [INFO]   -> Found value: 36.15200
[2026-03-04 23:30:30] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1520000000000010231815394945442676544189453125
[2026-03-04 23:30:30] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-04 23:30:30] [INFO]   -> Found value: -85.26974
[2026-03-04 23:30:30] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2697399999999987585397320799529552459716796875
[2026-03-04 23:30:30] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-04 23:30:30] [INFO]   -> Found value: 2026-03-04 17:28:43
[2026-03-04 23:30:30] [INFO]   -> Set field 'alarm' = "2026-03-04 17:28:43"
[2026-03-04 23:30:30] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-04 23:30:30] [INFO]   -> Found value: 2026-03-04 17:28:43
[2026-03-04 23:30:30] [INFO]   -> Set field 'dispatched' = "2026-03-04 17:28:43"
[2026-03-04 23:30:30] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-04 23:30:30] [INFO]   -> Found value: 2026-03-04 17:30:15
[2026-03-04 23:30:30] [INFO]   -> Set field 'enroute' = "2026-03-04 17:30:15"
[2026-03-04 23:30:30] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-04 23:30:30] [INFO]   -> No value found (null or empty)
[2026-03-04 23:30:30] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-04 23:30:30] [INFO]   -> No value found (null or empty)
[2026-03-04 23:30:30] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-04 23:30:30] [INFO]   -> Found value: N OAK ST/LOCUST ST
[2026-03-04 23:30:30] [INFO]   -> Set field 'incidentLocationCross' = "N OAK ST\/LOCUST ST"
[2026-03-04 23:30:30] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-04 23:30:30] [INFO]   -> Found value: TK21
[2026-03-04 23:30:30] [INFO]   -> Set field 'cADVehicleID' = "TK21"
[2026-03-04 23:30:30] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-04 23:30:30] [INFO]   -> Found value: 2026-03-04 17:30:13
[2026-03-04 23:30:30] [INFO]   -> Set field 'timedispatch' = "2026-03-04 17:30:13"
[2026-03-04 23:30:30] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-04 23:30:30] [INFO]   -> Found value: 2026-03-04 17:30:15
[2026-03-04 23:30:30] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-04 17:30:15"
[2026-03-04 23:30:30] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-04 23:30:30] [INFO]   -> No value found (null or empty)
[2026-03-04 23:30:30] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-04 23:30:30] [INFO]   -> No value found (null or empty)
[2026-03-04 23:30:30] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-04 23:30:30] [INFO]   -> No value found (null or empty)
[2026-03-04 23:30:30] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-04 23:30:30] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-04 23:30:30] [INFO]   -> Found value: 20260024014
[2026-03-04 23:30:30] [INFO]   -> Set field 'policeReportNumber' = "20260024014"
[2026-03-04 23:30:30] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-04 23:30:30] [INFO]   -> Found value: Event spawned from SICK PERSON.  [03/04/2026 17:28:43 MCLAYBURN2] [EMS] STOMACH PAIN WEAKNESS  [03/0...
[2026-03-04 23:30:30] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from SICK PERSON.  [03\/04\/2026 17:28:43 MCLAYBURN2] [EMS] STOMACH PAIN WEAKNESS  [03\/04\/26 17:27:46 JBOHANNON] Event spawned from SICK PERSON.  [03\/04\/2026 17:27:17 JBOHANNON] CHEVY CRUZE WHITE  [03\/04\/26 17:27:14 JBOHANNON]]"
[2026-03-04 23:30:30] [INFO]   -> Set field 'cADLog' = "Event spawned from SICK PERSON.  [03\/04\/2026 17:28:43 MCLAYBURN2] [EMS] STOMACH PAIN WEAKNESS  [03\/04\/26 17:27:46 JBOHANNON] Event spawned from SICK PERSON.  [03\/04\/2026 17:27:17 JBOHANNON] CHEVY CRUZE WHITE  [03\/04\/26 17:27:14 JBOHANNON]]"
[2026-03-04 23:30:30] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-04 23:30:30] [INFO]   -> Found value: MONTEREY
[2026-03-04 23:30:30] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-03-04 23:30:30] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-04 23:30:30] [INFO]   -> Found value: CRAWFORD
[2026-03-04 23:30:30] [INFO]   -> Set field 'streetName' = "CRAWFORD"
[2026-03-04 23:30:30] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-04 23:30:30] [INFO]   -> Found value: AVE
[2026-03-04 23:30:30] [INFO]   -> Set field 'streetType' = "AVE"
[2026-03-04 23:30:30] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-04 23:30:30] [INFO]   -> Found value: 400 W CRAWFORD AVE
[2026-03-04 23:30:30] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "400 W CRAWFORD AVE"
[2026-03-04 23:30:30] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-04 23:30:30] [INFO] Concatenating street name and type
[2026-03-04 23:30:30] [INFO]   -> Combined street name: CRAWFORD AVE
[2026-03-04 23:30:30] [INFO] Built locationCoordinates from lat/lng: 36.152,-85.26974
[2026-03-04 23:30:30] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nMFD\nRESC","incidentInternalId":"2026000597","dispatchRunNumber":"2026000597","incidentTypeValue1":"SICK PERSON","incidentLocationStreetNumber":400,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"businessName":"MONTEREY MEDICAL","nERISIncidentLatitude":36.1520000000000010231815394945442676544189453125,"nERISIncidentLongitude":-85.2697399999999987585397320799529552459716796875,"alarm":"2026-03-04 17:28:43","dispatched":"2026-03-04 17:28:43","enroute":"2026-03-04 17:30:15","incidentLocationCross":"N OAK ST\/LOCUST ST","cADVehicleID":"TK21","timedispatch":"2026-03-04 17:30:13","timeenroutetoscene":"2026-03-04 17:30:15","policeReportNumber":"20260024014","dispatchNotes":"Event spawned from SICK PERSON.  [03\/04\/2026 17:28:43 MCLAYBURN2] [EMS] STOMACH PAIN WEAKNESS  [03\/04\/26 17:27:46 JBOHANNON] Event spawned from SICK PERSON.  [03\/04\/2026 17:27:17 JBOHANNON] CHEVY CRUZE WHITE  [03\/04\/26 17:27:14 JBOHANNON]]","cADLog":"Event spawned from SICK PERSON.  [03\/04\/2026 17:28:43 MCLAYBURN2] [EMS] STOMACH PAIN WEAKNESS  [03\/04\/26 17:27:46 JBOHANNON] Event spawned from SICK PERSON.  [03\/04\/2026 17:27:17 JBOHANNON] CHEVY CRUZE WHITE  [03\/04\/26 17:27:14 JBOHANNON]]","incidentLocationCity":"MONTEREY","streetName":"CRAWFORD AVE","incidentAddressTextVersionStreet":"400 W CRAWFORD AVE","locationCoordinates":"36.152,-85.26974"}
[2026-03-04 23:30:30] [INFO] Number of extracted fields: 24
[2026-03-04 23:30:30] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
MFD
RESC'
[2026-03-04 23:30:30] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
MFD
RESC', Parsed IDs = ["PCFD","EMS","MFD","RESC"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-03-04 23:30:30] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","MFD","RESC"]
[2026-03-04 23:30:30] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-04 23:30:30] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-04 23:30:30] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","MFD","RESC"]
[2026-03-04 23:30:30] [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-03-04 23:30:30] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-04 23:30:30] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-04 23:30:30] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-04 23:30:30] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-04 23:30:30] [INFO] Found existing IncidentTypeMapping with ID: 6994bbd5e66eb9406
[2026-03-04 23:30:30] [INFO] Found existing Dispatch with cADNumber '2026000597', ID: 69a8c088615b8a600 - will update instead of create
[2026-03-04 23:30:31] [INFO] Updated existing Dispatches record with ID: 69a8c088615b8a600
[2026-03-04 23:30:31] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024014_20260304_233024_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-04/PCFD_20260024014_20260304_233024_1.XML
[2026-03-04 23:30:31] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024014_20260304_233024_1.XML
[2026-03-04 23:50:12] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260024013_20260304_235012.XML
[2026-03-04 23:50:12] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260024013_20260304_235012.XML for user: 68f1466aed072ad4a
[2026-03-04 23:50:12] [INFO] File size: 5220 bytes
[2026-03-04 23:50:12] [INFO] Created FTPFiles record with ID: 69a8c534c90b04b29
[2026-03-04 23:50:12] [INFO] About to extract fields from XML. File size: 5220 bytes
[2026-03-04 23:50:12] [INFO] Number of mappings: 28
[2026-03-04 23:50:12] [INFO] Starting XML parsing. Content length: 5220
[2026-03-04 23:50:12] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-04 23:50:12] [INFO] Processing 28 field mappings
[2026-03-04 23:50:12] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-04 23:50:12] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-04 23:50:12] [INFO]   -> Found value: MFD
[2026-03-04 23:50:12] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD"
[2026-03-04 23:50:12] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-04 23:50:12] [INFO]   -> Found value: 2026000081
[2026-03-04 23:50:12] [INFO]   -> Set field 'incidentInternalId' = "2026000081"
[2026-03-04 23:50:12] [INFO]   -> Set field 'dispatchRunNumber' = "2026000081"
[2026-03-04 23:50:12] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-04 23:50:12] [INFO]   -> Found value: SICK PERSON
[2026-03-04 23:50:12] [INFO]   -> Set field 'incidentTypeValue1' = "SICK PERSON"
[2026-03-04 23:50:12] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-04 23:50:12] [INFO]   -> Found value: 400
[2026-03-04 23:50:12] [INFO]   -> Set field 'incidentLocationStreetNumber' = 400
[2026-03-04 23:50:12] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-04 23:50:12] [INFO]   -> Found value: TN
[2026-03-04 23:50:12] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-04 23:50:12] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-04 23:50:12] [INFO]   -> Found value: 38574
[2026-03-04 23:50:12] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-03-04 23:50:12] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-04 23:50:12] [INFO]   -> Found value: MONTEREY MEDICAL
[2026-03-04 23:50:12] [INFO]   -> Set field 'businessName' = "MONTEREY MEDICAL"
[2026-03-04 23:50:12] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-04 23:50:12] [INFO]   -> No value found (null or empty)
[2026-03-04 23:50:12] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-04 23:50:12] [INFO]   -> Found value: 36.15200
[2026-03-04 23:50:12] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1520000000000010231815394945442676544189453125
[2026-03-04 23:50:12] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-04 23:50:12] [INFO]   -> Found value: -85.26974
[2026-03-04 23:50:12] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2697399999999987585397320799529552459716796875
[2026-03-04 23:50:12] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-04 23:50:12] [INFO]   -> Found value: 2026-03-04 17:27:17
[2026-03-04 23:50:12] [INFO]   -> Set field 'alarm' = "2026-03-04 17:27:17"
[2026-03-04 23:50:12] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-04 23:50:12] [INFO]   -> Found value: 2026-03-04 17:28:22
[2026-03-04 23:50:12] [INFO]   -> Set field 'dispatched' = "2026-03-04 17:28:22"
[2026-03-04 23:50:12] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-04 23:50:12] [INFO]   -> No value found (null or empty)
[2026-03-04 23:50:12] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-04 23:50:12] [INFO]   -> No value found (null or empty)
[2026-03-04 23:50:12] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-04 23:50:12] [INFO]   -> Found value: 2026-03-04 17:50:04
[2026-03-04 23:50:12] [INFO]   -> Set field 'cleared' = "2026-03-04 17:50:04"
[2026-03-04 23:50:12] [INFO]   -> Set field 'inService' = "2026-03-04 17:50:04"
[2026-03-04 23:50:12] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-04 23:50:12] [INFO]   -> Found value: N OAK ST/LOCUST ST
[2026-03-04 23:50:12] [INFO]   -> Set field 'incidentLocationCross' = "N OAK ST\/LOCUST ST"
[2026-03-04 23:50:12] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-04 23:50:12] [INFO]   -> Found value: MFR
[2026-03-04 23:50:12] [INFO]   -> Set field 'cADVehicleID' = "MFR"
[2026-03-04 23:50:12] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-04 23:50:12] [INFO]   -> Found value: 2026-03-04 17:28:22
[2026-03-04 23:50:12] [INFO]   -> Set field 'timedispatch' = "2026-03-04 17:28:22"
[2026-03-04 23:50:12] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-04 23:50:12] [INFO]   -> No value found (null or empty)
[2026-03-04 23:50:12] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-04 23:50:12] [INFO]   -> No value found (null or empty)
[2026-03-04 23:50:12] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-04 23:50:12] [INFO]   -> Found value: 2026-03-04 17:50:04
[2026-03-04 23:50:12] [INFO]   -> Set field 'timeunitclear' = "2026-03-04 17:50:04"
[2026-03-04 23:50:12] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-04 23:50:12] [INFO]   -> No value found (null or empty)
[2026-03-04 23:50:12] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-04 23:50:12] [INFO]   -> Found value: 20260024013
[2026-03-04 23:50:12] [INFO]   -> Set field 'policeReportNumber' = "20260024013"
[2026-03-04 23:50:12] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-04 23:50:12] [INFO]   -> Found value: [EMS] STOMACH PAIN WEAKNESS  [03/04/26 17:27:46 JBOHANNON] Event spawned from SICK PERSON.  [03/04/2...
[2026-03-04 23:50:12] [INFO]   -> Set field 'dispatchNotes' = "[EMS] STOMACH PAIN WEAKNESS  [03\/04\/26 17:27:46 JBOHANNON] Event spawned from SICK PERSON.  [03\/04\/2026 17:27:17 JBOHANNON] CHEVY CRUZE WHITE  [03\/04\/26 17:27:14 JBOHANNON]]"
[2026-03-04 23:50:12] [INFO]   -> Set field 'cADLog' = "[EMS] STOMACH PAIN WEAKNESS  [03\/04\/26 17:27:46 JBOHANNON] Event spawned from SICK PERSON.  [03\/04\/2026 17:27:17 JBOHANNON] CHEVY CRUZE WHITE  [03\/04\/26 17:27:14 JBOHANNON]]"
[2026-03-04 23:50:12] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-04 23:50:12] [INFO]   -> Found value: MONTEREY
[2026-03-04 23:50:12] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-03-04 23:50:12] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-04 23:50:12] [INFO]   -> Found value: CRAWFORD
[2026-03-04 23:50:12] [INFO]   -> Set field 'streetName' = "CRAWFORD"
[2026-03-04 23:50:12] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-04 23:50:12] [INFO]   -> Found value: AVE
[2026-03-04 23:50:12] [INFO]   -> Set field 'streetType' = "AVE"
[2026-03-04 23:50:12] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-04 23:50:12] [INFO]   -> Found value: 400 W CRAWFORD AVE
[2026-03-04 23:50:12] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "400 W CRAWFORD AVE"
[2026-03-04 23:50:12] [INFO] Finished extracting fields. Total fields extracted: 25
[2026-03-04 23:50:12] [INFO] Concatenating street name and type
[2026-03-04 23:50:12] [INFO]   -> Combined street name: CRAWFORD AVE
[2026-03-04 23:50:12] [INFO] Built locationCoordinates from lat/lng: 36.152,-85.26974
[2026-03-04 23:50:12] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"MFD","incidentInternalId":"2026000081","dispatchRunNumber":"2026000081","incidentTypeValue1":"SICK PERSON","incidentLocationStreetNumber":400,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"businessName":"MONTEREY MEDICAL","nERISIncidentLatitude":36.1520000000000010231815394945442676544189453125,"nERISIncidentLongitude":-85.2697399999999987585397320799529552459716796875,"alarm":"2026-03-04 17:27:17","dispatched":"2026-03-04 17:28:22","cleared":"2026-03-04 17:50:04","inService":"2026-03-04 17:50:04","incidentLocationCross":"N OAK ST\/LOCUST ST","cADVehicleID":"MFR","timedispatch":"2026-03-04 17:28:22","timeunitclear":"2026-03-04 17:50:04","policeReportNumber":"20260024013","dispatchNotes":"[EMS] STOMACH PAIN WEAKNESS  [03\/04\/26 17:27:46 JBOHANNON] Event spawned from SICK PERSON.  [03\/04\/2026 17:27:17 JBOHANNON] CHEVY CRUZE WHITE  [03\/04\/26 17:27:14 JBOHANNON]]","cADLog":"[EMS] STOMACH PAIN WEAKNESS  [03\/04\/26 17:27:46 JBOHANNON] Event spawned from SICK PERSON.  [03\/04\/2026 17:27:17 JBOHANNON] CHEVY CRUZE WHITE  [03\/04\/26 17:27:14 JBOHANNON]]","incidentLocationCity":"MONTEREY","streetName":"CRAWFORD AVE","incidentAddressTextVersionStreet":"400 W CRAWFORD AVE","locationCoordinates":"36.152,-85.26974"}
[2026-03-04 23:50:12] [INFO] Number of extracted fields: 25
[2026-03-04 23:50:12] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD'
[2026-03-04 23:50:12] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD', Parsed IDs = ["MFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2026-03-04 23:50:12] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD"]
[2026-03-04 23:50:12] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-03-04 23:50:13] [INFO] SUCCESS: Routed to agency 'Monterey Fire Department' (ID: 68e67aaba2bb4565e) at INDEX 0 based on AgencyCode 'MFD'
[2026-03-04 23:50:13] [INFO] Fetched 1 stations from Stations module for agency 'Monterey Fire Department': ["68ffe49c256b67300"]
[2026-03-04 23:50:13] [INFO] Final routing: saasclientId = 68e67aaba2bb4565e, dispatchStationsIds = ["68ffe49c256b67300"], matchedAgencyIndex = 0
[2026-03-04 23:50:13] [INFO] Updated FTPFiles record saasclientId to routed agency: 68e67aaba2bb4565e
[2026-03-04 23:50:13] [INFO] Found existing IncidentTypeMapping with ID: 6994bb85b85899755
[2026-03-04 23:50:13] [INFO] Found existing Dispatch with cADNumber '2026000081', ID: 69a8c01a56819519e - will update instead of create
[2026-03-04 23:50:13] [INFO] Updated existing Dispatches record with ID: 69a8c01a56819519e
[2026-03-04 23:50:13] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260024013_20260304_235012.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-04/MFD_20260024013_20260304_235012.XML
[2026-03-04 23:50:13] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260024013_20260304_235012.XML
[2026-03-04 23:50:13] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260024013_20260304_235012_1.XML
[2026-03-04 23:50:13] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260024013_20260304_235012_1.XML for user: 68f1466aed072ad4a
[2026-03-04 23:50:13] [INFO] File size: 5220 bytes
[2026-03-04 23:50:14] [INFO] Created FTPFiles record with ID: 69a8c5362fb0c1cf2
[2026-03-04 23:50:14] [INFO] About to extract fields from XML. File size: 5220 bytes
[2026-03-04 23:50:14] [INFO] Number of mappings: 28
[2026-03-04 23:50:14] [INFO] Starting XML parsing. Content length: 5220
[2026-03-04 23:50:14] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-04 23:50:14] [INFO] Processing 28 field mappings
[2026-03-04 23:50:14] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-04 23:50:14] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-04 23:50:14] [INFO]   -> Found value: MFD
[2026-03-04 23:50:14] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD"
[2026-03-04 23:50:14] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-04 23:50:14] [INFO]   -> Found value: 2026000081
[2026-03-04 23:50:14] [INFO]   -> Set field 'incidentInternalId' = "2026000081"
[2026-03-04 23:50:14] [INFO]   -> Set field 'dispatchRunNumber' = "2026000081"
[2026-03-04 23:50:14] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-04 23:50:14] [INFO]   -> Found value: SICK PERSON
[2026-03-04 23:50:14] [INFO]   -> Set field 'incidentTypeValue1' = "SICK PERSON"
[2026-03-04 23:50:14] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-04 23:50:14] [INFO]   -> Found value: 400
[2026-03-04 23:50:14] [INFO]   -> Set field 'incidentLocationStreetNumber' = 400
[2026-03-04 23:50:14] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-04 23:50:14] [INFO]   -> Found value: TN
[2026-03-04 23:50:14] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-04 23:50:14] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-04 23:50:14] [INFO]   -> Found value: 38574
[2026-03-04 23:50:14] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-03-04 23:50:14] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-04 23:50:14] [INFO]   -> Found value: MONTEREY MEDICAL
[2026-03-04 23:50:14] [INFO]   -> Set field 'businessName' = "MONTEREY MEDICAL"
[2026-03-04 23:50:14] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-04 23:50:14] [INFO]   -> No value found (null or empty)
[2026-03-04 23:50:14] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-04 23:50:14] [INFO]   -> Found value: 36.15200
[2026-03-04 23:50:14] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1520000000000010231815394945442676544189453125
[2026-03-04 23:50:14] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-04 23:50:14] [INFO]   -> Found value: -85.26974
[2026-03-04 23:50:14] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2697399999999987585397320799529552459716796875
[2026-03-04 23:50:14] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-04 23:50:14] [INFO]   -> Found value: 2026-03-04 17:27:17
[2026-03-04 23:50:14] [INFO]   -> Set field 'alarm' = "2026-03-04 17:27:17"
[2026-03-04 23:50:14] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-04 23:50:14] [INFO]   -> Found value: 2026-03-04 17:28:22
[2026-03-04 23:50:14] [INFO]   -> Set field 'dispatched' = "2026-03-04 17:28:22"
[2026-03-04 23:50:14] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-04 23:50:14] [INFO]   -> No value found (null or empty)
[2026-03-04 23:50:14] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-04 23:50:14] [INFO]   -> No value found (null or empty)
[2026-03-04 23:50:14] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-04 23:50:14] [INFO]   -> Found value: 2026-03-04 17:50:04
[2026-03-04 23:50:14] [INFO]   -> Set field 'cleared' = "2026-03-04 17:50:04"
[2026-03-04 23:50:14] [INFO]   -> Set field 'inService' = "2026-03-04 17:50:04"
[2026-03-04 23:50:14] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-04 23:50:14] [INFO]   -> Found value: N OAK ST/LOCUST ST
[2026-03-04 23:50:14] [INFO]   -> Set field 'incidentLocationCross' = "N OAK ST\/LOCUST ST"
[2026-03-04 23:50:14] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-04 23:50:14] [INFO]   -> Found value: MFR
[2026-03-04 23:50:14] [INFO]   -> Set field 'cADVehicleID' = "MFR"
[2026-03-04 23:50:14] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-04 23:50:14] [INFO]   -> Found value: 2026-03-04 17:28:22
[2026-03-04 23:50:14] [INFO]   -> Set field 'timedispatch' = "2026-03-04 17:28:22"
[2026-03-04 23:50:14] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-04 23:50:14] [INFO]   -> No value found (null or empty)
[2026-03-04 23:50:14] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-04 23:50:14] [INFO]   -> No value found (null or empty)
[2026-03-04 23:50:14] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-04 23:50:14] [INFO]   -> Found value: 2026-03-04 17:50:04
[2026-03-04 23:50:14] [INFO]   -> Set field 'timeunitclear' = "2026-03-04 17:50:04"
[2026-03-04 23:50:14] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-04 23:50:14] [INFO]   -> No value found (null or empty)
[2026-03-04 23:50:14] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-04 23:50:14] [INFO]   -> Found value: 20260024013
[2026-03-04 23:50:14] [INFO]   -> Set field 'policeReportNumber' = "20260024013"
[2026-03-04 23:50:14] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-04 23:50:14] [INFO]   -> Found value: [EMS] STOMACH PAIN WEAKNESS  [03/04/26 17:27:46 JBOHANNON] Event spawned from SICK PERSON.  [03/04/2...
[2026-03-04 23:50:14] [INFO]   -> Set field 'dispatchNotes' = "[EMS] STOMACH PAIN WEAKNESS  [03\/04\/26 17:27:46 JBOHANNON] Event spawned from SICK PERSON.  [03\/04\/2026 17:27:17 JBOHANNON] CHEVY CRUZE WHITE  [03\/04\/26 17:27:14 JBOHANNON]]"
[2026-03-04 23:50:14] [INFO]   -> Set field 'cADLog' = "[EMS] STOMACH PAIN WEAKNESS  [03\/04\/26 17:27:46 JBOHANNON] Event spawned from SICK PERSON.  [03\/04\/2026 17:27:17 JBOHANNON] CHEVY CRUZE WHITE  [03\/04\/26 17:27:14 JBOHANNON]]"
[2026-03-04 23:50:14] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-04 23:50:14] [INFO]   -> Found value: MONTEREY
[2026-03-04 23:50:14] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-03-04 23:50:14] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-04 23:50:14] [INFO]   -> Found value: CRAWFORD
[2026-03-04 23:50:14] [INFO]   -> Set field 'streetName' = "CRAWFORD"
[2026-03-04 23:50:14] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-04 23:50:14] [INFO]   -> Found value: AVE
[2026-03-04 23:50:14] [INFO]   -> Set field 'streetType' = "AVE"
[2026-03-04 23:50:14] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-04 23:50:14] [INFO]   -> Found value: 400 W CRAWFORD AVE
[2026-03-04 23:50:14] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "400 W CRAWFORD AVE"
[2026-03-04 23:50:14] [INFO] Finished extracting fields. Total fields extracted: 25
[2026-03-04 23:50:14] [INFO] Concatenating street name and type
[2026-03-04 23:50:14] [INFO]   -> Combined street name: CRAWFORD AVE
[2026-03-04 23:50:14] [INFO] Built locationCoordinates from lat/lng: 36.152,-85.26974
[2026-03-04 23:50:14] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"MFD","incidentInternalId":"2026000081","dispatchRunNumber":"2026000081","incidentTypeValue1":"SICK PERSON","incidentLocationStreetNumber":400,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"businessName":"MONTEREY MEDICAL","nERISIncidentLatitude":36.1520000000000010231815394945442676544189453125,"nERISIncidentLongitude":-85.2697399999999987585397320799529552459716796875,"alarm":"2026-03-04 17:27:17","dispatched":"2026-03-04 17:28:22","cleared":"2026-03-04 17:50:04","inService":"2026-03-04 17:50:04","incidentLocationCross":"N OAK ST\/LOCUST ST","cADVehicleID":"MFR","timedispatch":"2026-03-04 17:28:22","timeunitclear":"2026-03-04 17:50:04","policeReportNumber":"20260024013","dispatchNotes":"[EMS] STOMACH PAIN WEAKNESS  [03\/04\/26 17:27:46 JBOHANNON] Event spawned from SICK PERSON.  [03\/04\/2026 17:27:17 JBOHANNON] CHEVY CRUZE WHITE  [03\/04\/26 17:27:14 JBOHANNON]]","cADLog":"[EMS] STOMACH PAIN WEAKNESS  [03\/04\/26 17:27:46 JBOHANNON] Event spawned from SICK PERSON.  [03\/04\/2026 17:27:17 JBOHANNON] CHEVY CRUZE WHITE  [03\/04\/26 17:27:14 JBOHANNON]]","incidentLocationCity":"MONTEREY","streetName":"CRAWFORD AVE","incidentAddressTextVersionStreet":"400 W CRAWFORD AVE","locationCoordinates":"36.152,-85.26974"}
[2026-03-04 23:50:14] [INFO] Number of extracted fields: 25
[2026-03-04 23:50:14] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD'
[2026-03-04 23:50:14] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD', Parsed IDs = ["MFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2026-03-04 23:50:14] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD"]
[2026-03-04 23:50:14] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-03-04 23:50:14] [INFO] SUCCESS: Routed to agency 'Monterey Fire Department' (ID: 68e67aaba2bb4565e) at INDEX 0 based on AgencyCode 'MFD'
[2026-03-04 23:50:14] [INFO] Fetched 1 stations from Stations module for agency 'Monterey Fire Department': ["68ffe49c256b67300"]
[2026-03-04 23:50:14] [INFO] Final routing: saasclientId = 68e67aaba2bb4565e, dispatchStationsIds = ["68ffe49c256b67300"], matchedAgencyIndex = 0
[2026-03-04 23:50:14] [INFO] Updated FTPFiles record saasclientId to routed agency: 68e67aaba2bb4565e
[2026-03-04 23:50:14] [INFO] Found existing IncidentTypeMapping with ID: 6994bb85b85899755
[2026-03-04 23:50:15] [INFO] Found existing Dispatch with cADNumber '2026000081', ID: 69a8c01a56819519e - will update instead of create
[2026-03-04 23:50:15] [INFO] Updated existing Dispatches record with ID: 69a8c01a56819519e
[2026-03-04 23:50:15] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260024013_20260304_235012_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-04/MFD_20260024013_20260304_235012_1.XML
[2026-03-04 23:50:15] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260024013_20260304_235012_1.XML
